微软输入法词库
微软自定义词库文件保存在:C:\Users\用户名\AppData\Roaming\Microsoft\InputMethod\Chs 下;
机器学习包括有(supervised learning),无监督学习(unsupervised learning),和半监督学习().
在*有监督学习中,数据是有标注的,以(x, t)的形式出现,其中x是输入数据,t是标注.正确的t标注是, 错误的标记则不是。(也有人将所有标注数据都叫做ground truth)
由的数据则是由(x, y)的形式出现的。其中x为之前的输入数据,y为模型预测的值。
因此如果标注数据不是ground truth,那么loss的计算将会产生误差,从而影响到模型质量。
就是参考标准,一般用来做error quantification。比方说要根据历史数据预测某一时间的温度,ground truth就是那个时间的真实温度。error就是(predicted temperature - real temprature)。
Ground truth当然还可以用来做reinforcement learning,就是在学习中加入奖励机制。比方说程序的输出越接近ground truth,用来产生这个结果的数据的weight越大。
Ground truth是摄影、测量与遥感学领域常用词汇,其解释就是字面意思:地面真值,地面实况;延伸到图像处理、机器学习等其他领域一般表示真实值,正确答案(或正确测量数据)。它是一个正确的基准值,一般用来进行误差估算和效果评价。
有监督学习中,输入的训练数据会有相应的ground truch(真实值,标签),在计算loss的时候,需要将预测值和这个真实值进行对比从而计算距离。
就是人工标注的结果。比如目标检测中,模型预测的框是要和ground truth(也就是人工标注的框)做比较的。
MPJPE是“Mean Per Joint Position Error”,即“平均(每)关节位置误差”。
MPJPE常常用于3D Human Pose Estimation算法的评价指标,这个指标越小则可认为这个3D人体姿态估计*算法越好*。
消融实验是什么?请问计算机视觉里的消融实验(ablation experiment)是什么意思?
” 术语“消融研究”通常用于,尤其是相对复杂的神经网络,如R-CNN。我们的想法是通过删除部分网络并研究网络的性能来了解网络。“ - Robert Long
在机器学习,特别是复杂的的背景下,已经采用“消融研究”来描述去除网络的某些部分的过程,以便更好地理解网络的行为。
自从Keras深度学习框架的主要作者Francois Chollet在2018年6月发布twtter以来,该术语受到了关注:
消融研究对于研究至关重要 。
理解系统中的因果关系是产生可靠知识的最直接方式(任何研究的目标)。消融是一种非常省力的方式来研究因果关系。如果您采用任何复杂的深度学习实验设置,您可能会删除一些模块(或用随机的模块替换一些训练有素的功能)而不会降低性能。消除研究过程中的噪音:进行消融研究。无法完全理解您的系统?很多活动部件?想确定它的工作原因是否与您的假设密切相关?尝试删除东西。花费至少约10%的实验时间来诚实地反驳你的论文。
事件相机原理:
事件相机是一款新型传感器。不同于传统相机拍摄一幅完整的图像,事件相机拍摄的是“事件”,可以简单理解为“像素亮度的变化”,即事件相机输出的是像素亮度的变化情况。
事件相机制作的目的就是:敏感地捕捉到运动的物体。
事件相机英文名为:Event-based Camera,或简称为Event Camera,缩写为EB。有时也称作DVS(Dynamic Vision Sensor “动态视觉传感器”)、DAVIS(Dynamic and Active-Pixel Vision Sensor)等。
传统相机,无论是CMOS传感器,还是CCD传感器,亦或是RGBD相机,都有一个参数:帧率。它们是以恒定的频率拍摄获取图像。这样,即使帧率能够达到1KHz,那也具有1ms的延时。所以传统相机存在一定的延迟问题。除此之外,传统相机需要通过一定时间的曝光,使感光器件积累一定的光子,那么在曝光时间之内如果物体在高速运动,则会产生模糊,这也是传统相机的一个问题。另外,传统相机的动态范围较低,具体表现为在光线极差或者亮度极高时,相机获取的信息有限。
事件相机的最基本的原理,即:当某个像素的亮度变化累计达到一定阈值后,输出一个事件。这里强调几个概念:a) 亮度变化:说明事件相机的输出和变化有关,而与亮度的绝对值没有关系;b) 阈值:当亮度变化达到一定程度时,将输出数据,这个阈值是相机的固有参数。
下面重点解释什么是一个“事件”。事件具有三要素:时间戳、像素坐标(x,y)与极性。一个事件表达的是“在什么时间,哪个像素点,发生了亮度的增加或减小”。
事件相机回传的信息我们称为事件(Event),一个事件所具有的格式是一个向量,
如下:
事件相机便是这样异步地回传如上所示的事件。何为异步?就是不同于传统相机同时地回传所有像素值,事件相机不同事件回传的时刻是不同的,可以看到上述事件中有一个值t i,便是这个事件发生的时间。事件相机的工作机制是,当某个像素所处位置的亮度值发生变化时,相机就会回传一个上述格式的事件,其中前两项为事件的像素坐标,第三项为事件发生的时间戳,最后一项取值为极性(polarity)0、1,(或者-1、1)代表亮度是由低到高还是由高到低,也常被称作Positive or Negtive Event,又被称作On or Off Event。就这样,在整个相机视野内,只要有一个像素值变化,就会回传一个事件,这些所有的事件都是异步发生的(再小的时间间隔也不可能完全同时),所以事件的时间戳均不相同,由于回传很简单,所以和传统相机相比,它具有低时延的特性,可以捕获很短时间间隔内的像素变化。
当场景中由物体运动或光照改变造成大量像素变化时,会产生一系列的事件,这些事件以事件流(Events stream)方式输出。事件流的数据量远小于传统相机传输的数据,且事件流没有最小时间单位,所以不像传统相机定时输出数据,具有低延迟特性。下面的图揭示了事件相机与传统相机的成像的不同。

(动图:左侧为有一个黑色斑块的圆盘,匀速旋转时,右上方的传统相机会定时拍摄完整的图像,下方事件相机的输出会仅输出变化,即黑斑的运动。当圆盘不转时,传统相机依旧傻傻的拍摄图像,而事件相机不会产生任何输出)
下面这幅图展示了实际事件相机拍摄的数据,红色和蓝色分别表示当前像素亮度的增加或减小。这幅图是将一段时间内的事件流累积获得的一组事件。

由于事件相机的成像原理,我们可以发现只要亮度一有变化就会输出,且仅输出变化的数据占用了很小的带宽,同时由于事件相机更擅长捕捉亮度变化,所以在较暗和强光场景下也能输出有效数据。事件相机具有低延迟(< )、高动态范围( )、极低功耗( )等特性。
3、事件相机发展与研究现状
事件相机诞生于1990年,那个时间许多研究人员探讨动物感知环境的方式,发现对变化更为敏感,所以设计出了实验室用的事件相机。
三角测量
使用对极约束估计了相机的运动,在得到运动之后,我们需要用相机的运动估计特征点的空间位置。在单目SLAM(定位与建图)中,仅仅通过单张图像无法获得像素深度信息,需要通过三角测量来估计其深度。
三角测量(Triangulation)是视觉定位中,已知多个相机位置和空间中一点的投影点,进一步求该点3D位置的方法。三角测量是Pose Estimation的相反过程,求出相机位置后,图像中其它特征点的3D位置可以由这种方法一一求出。

如图,已知R0,R1两台相机的信息和同一特征点p的投影点x0、x1,p的位置应该就是两条射线的交点。
而实际情况中,由于存在多台相机(多张不同位置拍摄的照片),所有射线往往并不恰好交于一点,此时需要写出误差公式,将目标问题表示为最小化误差的优化问题,用最小二乘法求出p的最优值。具体公式参见《Computer Vision: Algorithms and Applications》一书第七章。
体素网格是用固定大小的立方块作为最小单元,来表示三维物体的一种。
a. 点云是三维空间(xyz坐标)点的集合。
b. 体素是3D空间的像素。量化的,大小固定的点云。每个单元都是固定大小和离散坐标。
c. mesh是面片的集合。
d. 多视图表示是从不同模拟视点渲染的2D图像集合。
1.KL散度
用来衡量两个分布之间的差异,等于一个交叉熵减去一个信息熵(交叉熵损失函数的由来)

1.1 KL散度的性质
非负性(用Jenson‘s inequality 证明)
不对称性,即KL(P||Q)≠KL(Q||P)
1.2 KL散度的问题即JS散度的引出
正是由于KL散度的不对称性问题使得在训练过程中可能存在一些问题,为了解决这个问题,我们在KL散度基础上引入了JS散度
2. JS(Jenson’s Shannon)散度
一般地,JS散度是对称的,其取值是 0 到 1 之间。如果两个分布 P,Q 离得很远,完全没有重叠的时候,那么KL散度值是没有意义的,而JS散度值是一个常数。这在学习算法中是比较致命的,这就意味这这一点的梯度为 0。梯度消失了。



为什么会出现两个分布没有重叠的现象

迁移学习
迁移学习(Transfer learning) 顾名思义就是把已训练好的模型(预训练模型)参数迁移到新的模型来帮助新模型训练。考虑到大部分数据或任务都是存在相关性的,所以通过迁移学习我们可以将已经学到的模型参数(也可理解为模型学到的知识)通过某种方式来分享给新模型从而加快并优化模型的学习效率不用像大多数网络那样从零学习。
其中,实现迁移学习有以下三种手段:
Transfer Learning:冻结预训练模型的全部卷积层,只训练自己定制的全连接层。
Extract Feature Vector:先计算出预训练模型的卷积层对所有训练和测试数据的特征向量,然后抛开预训练模型,只训练自己定制的简配版全连接网络。
Fine-tuning:冻结预训练模型的部分卷积层(通常是靠近输入的多数卷积层,因为这些层保留了大量底层信息)甚至不冻结任何网络层,训练剩下的卷积层(通常是靠近输出的部分卷积层)和全连接层。