计算机视觉:小结
本专栏用了八篇文章,对计算机视觉中常用的方法进行了介绍。
Encoder:【计算机视觉】1. 张正友平面标定法
Encoder:【计算机视觉】2. 特征点检测:Harris, SIFT, SURF, ORB
Encoder:【计算机视觉】3. 目标跟踪:光流法
Encoder:【计算机视觉】4. 卡尔曼滤波
Encoder:【计算机视觉】 5. 立体视觉与三维重建
Encoder:【计算机视觉】6. 图像处理的基础知识
Encoder:【计算机视觉】7. 目标跟踪:背景减除、粒子滤波、meanshift
Encoder:【计算机视觉】8. 边缘检测与Hough变换
前面五篇文章基本上搭建起了计算机视觉的脉络,即:
- 摄像机标定并消除畸变
- 提取图像中的特征点
- 用光流法对目标点进行追踪,并引入卡尔曼滤波,在包含噪声的观测序列中估计系统的状态
- 在多幅图像中建立对应点对,然后重构场景中的三维坐标
- 对摄像机进行校正,并获取深度信息
接下来的三篇文章是对以上内容的扩展:
- 计算机视觉涉及到大量的对数字图像进行处理的操作,因而我们用一篇文章介绍了图像处理中的基本算法
- 目标跟踪问题中,除了光流法外,还有背景减除和Meanshift等常用算法;除了使用卡尔曼滤波的思路,还可以使用贝叶斯滤波和粒子滤波
- 我们有时不仅对“点”特征感兴趣,还对边缘、边界等特征感兴趣,这样就要用到Canny边缘检测、边界跟踪、Hough变换等算法
本文是对以上内容进行的梳理与总结。
张正友平面标定法
我们首先介绍了利用齐次坐标对空间中的点进行描述的方法,使用齐次坐标的目的,是为了利用矩阵变换,不仅能表示伸缩与旋转,还能够表示平移。齐次变换矩阵
欧拉角适合用于表示两个坐标系之间的旋转。欧拉角方法根据一切旋转都能分解为三次绕空间中不同轴的旋转的原理,表明了一切坐标系的取向,都可以用三个欧拉角来表示。我们同时推导出了由 欧拉角到 旋转矩阵的转换关系。
接着,我们介绍了摄像机模型下的几个坐标系,并通过几何光学原理,推导出uv垂直和uv不垂直两种情况下的 摄像机内参数模型,并表示为矩阵K。然而,我们一般描述一个三维点,由于相机可能一直在运动,所以我们并不是基于摄像机坐标系下对其描述。我们通常是在世界坐标系下进行描述。 摄像机外参数模型就是将物体在世界坐标系中的位置,变换到摄像机坐标系下。摄像机外参数矩阵是一个四阶矩阵
则摄像机参数矩阵(单应矩阵)
Note. 单应性变换(homography transform)就是一个平面到另一个平面的 映射关系。在标定问题里,单应矩阵包括摄像机内外参数矩阵。
接着,我们首先介绍了直接线性变换(DLT)标定法求取摄像机的内外参数,介绍这一方法的目的在于让大家熟悉对于在摄像机标定问题中常见的这类线性方程组的一般求解过程,也就是线性最小二乘的一般思路。
与DLT标定相比,张正友平面标定法放宽了对uv坐标的限制(认为u不一定垂直于v),并考虑了畸变的影响。总体思路是:先不考虑畸变,标定摄像机参数,得到参数的线性初值;然后利用线性初值,进行非线性标定,得到畸变参数。
最后,由于结果可能存在高斯噪声,所以使用最大似然估计进行优化。优化问题化为一个非线性最小二乘问题,我们介绍了求解这类问题的三种基本算法:最速下降法、高斯-牛顿法和Levenburg-Marquardt算法。
特征点提取
我们介绍了四种特征点,其中,Harris角点检测、SIFT算法和SURF算法是计算机视觉中十分经典的特征点算法,其意义已经超越了算法本身,成为计算机视觉研究中的一种范式(paradigm),而ORB算法则因其处理速度而得到了广泛应用。尽管随着目前深度学习如火如荼地发展,SIFT、SURF这类特征提取方法越来越多的被深度神经网络替代,但是,这些方法本身的研究思路,对于我们在计算机视觉和机器学习领域进行更深入的研究,和对现有算法的改进,是非常有用的。可以参考:
目前火热的Deep Learning会灭绝传统的SIFT/ SURF的特征提取的算法吗?www.zhihu.comHarris角点检测
角点特征是最早被提出的特征点。角点检测的基本思想是最小化角点响应函数
其中w为窗函数(window function),I为图像梯度,那么E就表示了 灰度变化的剧烈程度,Harris角点检测定义窗口函数为二维高斯函数,并通过泰勒展开考察微小移动
自相关矩阵M描述了图像局部区域的灰度变化趋势,E可以看做一个椭圆,可以通过椭圆的形状来判定角点。
1994年,Shi和Tomasi对Harris角点检测进行了改进,即定义角点响应函数R=min (λ1,λ2),该改进是计算适合跟踪的优质特征(good features to track),使得特征分布更均匀,其检测精度是亚像素级别的。
SIFT
1999年Lowe提出了SIFT(Scale-invariant feature transform,尺度不变性特征变换)特征检测算法,并于2003年对其完善总结;2006年,Bay等人对SIFT算法进行了改进,提升其效率,提出了SURF(Speeded Up Robust Features,加速鲁棒性特征)算法。
SIFT特征检测的步骤:
- 检测尺度空间的极值点
- 精确定位特征点(Keypoint)
- 设定特征点的方向参数
- 生成特征点的描述子(128维向量)
首先利用高斯金字塔生成尺度空间,通过尺度空间理论模拟图像数据的多尺度特征 ,以高斯函数为实现尺度变换的唯一线性核,则二维图像I(x, y)的尺度空间
定义高斯差分(difference of Gaussian, DoG)算子
其中
检测尺度空间的极值点,利用DoG函数在尺度空间的Taylor展开式(拟合函数)为:
求导并让方程等于零,可以得到极值点的偏移量为:
对于这样得到的极值点,首先要舍去高斯差分算子绝对值很小(一般指|D(hat X)|<0.03)的点,然后通过主曲率分析去除边缘响应过大的极值点。
接下来对L(x,y,σ)进行差分,得到邻域梯度方向直方图(这里常用Roberts算子计算),进而确定特征的方向参数。当图像发生旋转时,特征点的主方向相对于像素的梯度方向不变;将多幅待匹配的图像都旋转到令特征点方向为0的位置再匹配,使特征具有旋转不变性。
现在我们将坐标轴方向旋转为特征点的方向,以特征点为中心取窗口,通过高斯加权增强特征点附近像素梯度方向信息的贡献,即在4 × 4的小块上计算梯度方向直方图( 取8个方向),计算梯度方向累加值,形成种子点,构成4× 4 × 8= 128维特征向量。SIFT特征对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性。
SURF
SURF特征(Speeded Up Robust Features,加速鲁棒性特征)是对SIFT特征的进一步优化:
- 基于Hessian矩阵构造金字塔尺度空间,
- 利用箱式滤波器(box filter)简化二维高斯滤波,不需要再进行降采样;
- 通过Haar小波特征设定特征点主方向,这样构建的特征描述子就是64维的;
- SURF构造的金字塔图像与SIFT有很大不同,就是因为这些不同才加快了其检测的速度。SIFT采用的是DOG图像,而SURF采用的是Hessian矩阵行列式近似值图像,也写作DOH算子。
在SIFT算法中,每一组(octave)的图像大小是不一样的,下一组是上一组图像的降采样(1/4大小);在每一组里面的几幅图像中,他们的大小是一样的,不同的是他们采用的尺度不同。而且在模糊的过程中,他们的高斯模板大小总是不变的,只是尺度改变。对于SURF算法,图像的大小总是不变的,改变的只是高斯模糊模板的尺寸,当然,尺度也是在改变的,但不需要降采样过程,节省时间。
为了保证旋转不变性,在SURF中,不统计其梯度直方图,而是统计特征点领域内的Harr小波特征,并给这些响应值赋高斯权重系数,使得靠近特征点的响应贡献大,而远离特征点的响应贡献小,然后60度范围内的响应相加以形成新的矢量,遍历整个圆形区域,选择最长矢量的方向为该特征点的主方向。
在特征点周围取正方形框,方框的方向为特征点主方向,把方框分为16个子区域,在每个子区域统计水平方向和垂直方向的haar小波特征,在每个子区域计算haar小波特征的水平方向值之和,水平方向绝对值之和、垂直方向值之和、垂直方向绝对值之和,构成16× 4=64维特征向量。
在完成采集后,还需要建立图像的特征点数据库,每个特征点的数据结构包括:位置坐标、尺度、方向、特征向量(128或64维);为新图像的每个特征点在数据库中逐个匹配,即根据特征向量的欧氏距离在数据库中寻找其最近邻和次近邻特征点,若最近邻距离或次近邻距离大于某一阙值,则特征匹配成功。
ORB
ORB特征是将FAST特征点的检测方法与BRIEF特征描述子结合起来,并在它们原来的基础上做了改进与优化。ORB算法的速度大约是SIFT的100倍,是SURF的10倍。ORB(Oriented FAST and Rotated BRIEF)是一种快速特征点提取和描述的算法。包括:
Oriented FAST:
- 提取FAST特征。
- 训练一个决策树,筛选出最优的FAST特征点。
- 非极大值抑制去除局部较密集特征点。
- 建立金字塔,来实现特征点的多尺度不变性。
- 使用矩(moment)法来确定FAST特征点的方向。
Rotated BRIEF:
- 在使用oFast算法计算出的特征点中包括了特征点的方向角度。假设原始的BRIEF算法在特征点SxS(一般S取31)邻域内选取n对点集。经过旋转角度θ旋转,得到新的点对,在新的点集位置上比较点对的大小形成二进制串的描述符。
- 为了解决描述子的可区分性和相关性的问题,ORB使用统计学习的方法来重新选择点对集合。
光流法
跟踪是在图像序列或视频里对其中的特征点进行追踪的过程,光流(optical flow)是目标、场景或摄像机在连续两帧图像间运动时造成的目标的运动。它是图像在平移过程中的二维矢量场,是通过二维图像来表示物体点三维运动的速度场,反映了微小时间间隔内由于运动形成的图像变化,以确定图像点上的运动方向和运动速率。光流提供了恢复运动的线索。
光流法主要依赖于三个假设:
- [亮度恒定] 图像中目标的像素强度在连续帧之间不会发生变化。
- [时间规律] 相邻帧之间的时间足够短,以至于在考虑运行变化时可以忽略它们之间的差异。
- [空间一致性] 相邻像素具有相似的运动。
我们介绍了两种光流获取方法:Lucas-Kanade算法和Farneback算法。
卡尔曼滤波
目标跟踪需要在包含噪声的观测序列中估计时变系统的状态,这种估计称为滤波估计。滤波估计中最经典的算法就是卡尔曼滤波,我们对基本的卡尔曼滤波进行了详细的推导,并介绍了两种“进阶”的卡尔曼滤波方法,EKF算法和UKF算法。
立体视觉与三维重建
Structure from motion
立体视觉问题的基本步骤,就是在完成摄像机标定后,在多幅图像中建立对应点对,然后重构场景中的三维坐标。这一过程也称为Structure from motion(SFM),即由一系列包含着视觉运动信息(motion signals)的多幅二维图像序列(2D image sequences)估计三维结构(3D model)的技术。
我们首先根据对极几何推出了基础矩阵的关系式
八点法,五点法等可以求出闭式解的前提是已经知道确切的点对。但实际情况中往往存在大量的噪声,点与点不是精确地对应甚至出现一些错误匹配。为了解决这个问题,需要使用光束平差法(Bundle Adjustment)。
图像I1中点p1在图像I2中的对应点p2在某条极线上,但确切位置不知。视差(stereo)定义为|p1-p2|,场景中接近点P和Q ,图像中的对应点为p1和p2,q1和q2 ,若已知p1和p2对应,则视差差别的绝对值||p1−p2 |-|q1−q2 ||应较小。
空间点重建问题可以描述为,设摄像机已完成标定,参数矩阵分别为M1,M2,已知p1(u1,v1),p2(u2,v2),求点在三维空间中的坐标。三维重建是相机成像过程的逆过程,即从像素坐标系中某一像素点反向映射成世界坐标系中的空间点。
先从图片中提取特征点并进行匹配,然后进行优化求解,这类方法称为特征法或 间接法。由于提取、匹配的过程中耗时很大,因此有人提出是否能不计算关键点或描述子,直接根据图像的像素信息来计算相机运动,这类方法称为 直接法。
- 立体视觉就是由两幅或多幅二维图像恢复物体三维几何形状的方法
- 用C1和C2两个摄像机同时观察P点,P点是两条直线的交点,这就唯一确定了它的三维位置
- 投影矩阵为
和的双摄像机的基础矩阵与投影矩阵为和的双摄像机基础矩阵只相差一个常数因子,认为它们相同,即可认为基础矩阵与世界坐标系的选择无关。重建步骤:
- 由双摄像机所得图像的对应点,计算基础矩阵F
- 将基础矩阵F分解为
- 设双摄像机的投影矩阵为
,然后据此重建三维空间点
摄像机校正与深度映射
摄像机校正的目的
- 对两个摄像机的图像平面重投影,使得它们精确落在同一个平面上
- 使图像平面共面且水平对准,极点位于无穷远处
Bouguet算法,是将旋转和平移矩阵分解成左右相机各旋转一半的旋转和平移矩阵分解的原则是使得,左右图像重投影造成的畸变最小,左右视图的共同面积最大。
从2D到3D,需要通过三角测量获取深度信息,其前提是:
- 摄像机前向平行排列
- 已标定、无畸变的立体成像系统,两个摄像机焦距相同
- 两个摄像机的像平面精确位于同一平面,光轴严格平行
- 两幅图像是行对准的
图像处理的基础知识
- 直方图均衡化(histogram equlization),目标是创建一幅在整个亮度范围内具有相同亮度分布的图像。
- 距离变换(distance transform),给出图像中的每个像素与某个图像子集的距离。
- 图像阈值化,将灰度图像转为二值图像。
- 形态学(morphology),是以形态为基础对二值图像进行分析的数学工具,基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状,以达到图像分析和识别的目的。
- 连通区域检测,得到连通区域的标记。
接着,我们引入了图像卷积的概念,这是一种在数字图像处理中被广泛使用的方法。利用傅里叶变换的卷积定理可以实现卷积与 FFT 的互相转化。既然卷积与傅里叶变换可以互化,那么将图像与某些特定的卷积核(kernel)进行卷积(或将这些矩阵看做卷积掩膜, mask),就可以实现滤波的效果。我们把微分算子(包括Roberts算子、Prewitt算子、Sobel算子)和拉普拉斯算子写成了卷积核的形式。我们着重介绍了以下几种滤波方法:
- 均值滤波:通过图像的局部邻域平均完成滤波
- 中值滤波:用像素点邻域灰度值的中值来代替该像素点的灰度值
- 高斯滤波:基于高斯函数的形状形成卷积掩模
- 箱式滤波:每个元素的值是该像素邻域内的像素和
图像金字塔就是为了以多分辨率来解释图像而诞生的一种简单有效的方法。一幅图像的金字塔,是以一系列以金字塔形状排列的分辨率初步降低的图像的集合。金字塔的底部是待处理图像的高分辨率的表示,而顶部是低分辨率的表示。
- 区域的分裂过程对应于金字塔的降采样(pyramid-down)过程,即自上而下(top-down)的采样,可以使用差分高斯算子(DoG)作为掩膜来实现,称为高斯金字塔。
- 区域的归并过程对应于金字塔的升采样(pyramid-up)过程,即自下而上(bottom-up)的采样,可以使用差分拉普拉斯算子作为掩膜来实现,称为拉普拉斯金字塔。拉普拉斯金字塔是高斯金字塔的逆过程,作用是重建高斯金字塔。
- 区域的降采样对第i层图像金字塔进行高斯内核卷积,将所有偶数行和列去除,得到的图像即为第i+1层的图像,显而易见,结果图像只有原图的四分之一,向下取样会逐渐丢失图像的信息,缩小图像。
- 区域的升采样将图像在每个方向扩大为原来的两倍,新增的行和列以0填充,使用先前同样的内核(乘以4)与放大后的图像卷积,获得 “新增像素”的近似值,得到的图像即为放大后的图像,但是与原来的图像相比会发觉比较模糊,因为在缩放的过程中已经丢失了一些信息,如果想在缩小和放大整个过程中减少信息的丢失,就需要与原图进行比较。
图像分割,常用的方法是分水岭算法(watershed)。
目标跟踪:背景减除、粒子滤波、meanshift
背景减除(background subscription)目的在于区分场景背景和场景运动,从而进行运动检测。基于混合高斯模型的背景建模将图像中的每个像素看成是从混合高斯分布样本中采样得到的随机变量。
在卡尔曼滤波中,我们建立的模型
具有这样两条性质
- [状态量的马尔可夫性] k时刻状态量只与k-1时刻的状态量有关
- [观测量的条件独立性] k时刻观测值只与k时刻状态值有关
如果我们把位置和观测建模为概率分布,即
根据贝叶斯定理
这里
这种方法也就是所谓的批处理贝叶斯方法。但是这种方法每次都要拿所有的测量值来重新计算概率分布,对于计算机是个沉重的负担。因此,有了改进的基于递归的贝叶斯滤波方法
其中
这个后验分布,将作为估计k+1时刻位置的先验分布,从而开始下一轮的递归解算。
粒子滤波的结构实际上就是加入蒙特卡罗方法(Monte Carlo method,即以某时间出现的频率来指代该事件的概率)的卡尔曼滤波,该方法的基本思想是用一组样本(或称粒子)来近似表示系统的后验概率分布,然后使用这一近似的表示来估计非线性系统的状态。采用此思想,在滤波过程中粒子滤波可以处理任意形式的概率,而不像卡尔曼滤波只能处理线性高斯分布的概率问题。粒子滤波的一大优势也在于此。
粒子滤波的三个重要步骤为
- [粒子采样] 从建议分布中抽取一组粒子
- [粒子加权] 根据观测概率分布,重要性分布以及贝叶斯公式计算每个粒子的权值
- [估计输出] 估计输出系统状态的均值协方差等
此外 ,为了应对粒子退化现象,还采用了重采样等策略。
Mean shift算法中,特征空间中数据最密集的地方,对应于概率密度最大的地方,且概率密度的质心就可以被视为是概率密度函数的局部最优值,也就是要求的聚类中心。
对于每一个样本点,计算以它为中心的某个范围内所有样本点的均值,作为新的中心(这就是shift,即圆心的漂移),移动直至收敛。这样每一轮迭代,中心都会向数据更密集的地方移动,直到最后稳定收敛到样本的“质心”。
将meanshift算法扩展到连续图像序列,就是camshift算法。它将视频的所有帧做meanshift运算,并将上一帧的结果,即搜索窗的大小和中心,作为下一帧meanshift算法搜索窗的初始值;如此迭代下去,就可以实现对目标的跟踪。
特征检测及其应用
Canny的边缘最优化准则
- [检测标准(最大信噪比准则)] 要有好的检测结果,不丢失,也不应有虚假的边缘;
- [定位标准(最优过零点准则)] 实际边缘位置与检测到的边缘位置间的偏差最小;
- [单响应标准(多峰值响应准则)] 对实际上的同一边缘要有低的响应次数。
Canny以一维形式为例,给出了三条准则的数学表达式,将寻找最优滤波器的问题转换为泛函的约束优化问题。Canny边缘检测通过阈值化确定突出的边缘,若滤波结果超出或低于阈值,则噪声引起的单边缘虚假响应会使检测出的边缘不连续,Canny通过滞后阈值化处理解决该问题:
- 图像的响应大于高阈值,它一定是边缘
- 图像的响应小于低阈值,它一定不是边缘
- 图像的响应在高低阈值之间,如果它与大于高阈值的像素相连,它也可能是边缘
- 高、低阈值可根据对信噪比的估计确定
此外,我们还介绍了边缘图像阈值化方法、有方向边缘数据的非最大抑制、边缘检测算子输出的滞后过滤、边缘松弛等操作;并介绍了内边界、外边界和扩展边界跟踪算法。
Hough变换的基本原理是基于点-线的对偶性质,如果我们设直线的法向量模值为ρ,相角为θ,那么直线上的任一点(x,y)满足ρ=x cosθ+y sinθ,如果以任意x,y为参数,θ为自变量,ρ为因变量,那么上式就是周期为2π的正弦曲线簇。
曲线簇有且只有唯一交点,其对应的ρ, θ值即为直线的ρ, θ参数。由于三角函数的周期性,我们对θ进行细分,将参数空间细分为m×n个累加单元,初始化累加器矩阵Q,例如考虑ρ ∈[-20,20]且为整数,则m=41;以10°为步长,则n=36;对每一组ρ, θ值,遍历图像上的点并进行“投票”,就能将直线检测出来。
此外,我们还讨论了Hough变换检测多条直线、检测圆、检测圆锥曲线,以及基于概率的Hough变换等多种推广形式。
参考文献
主要参考书目
Hartley,R. Zisserman,A. Multiple View Geometry in Computer Vision. Cambridge University Press. 2002
(中文版:Hartley,R. Zisserman,A. 计算机视觉中的多视图几何[M]. 安徽大学出版社, 2002.)
Forsyth,D. Ponce,J. Computer Vision: A Modern Approach. (Second Version)2011
(中文版:Forsyth,D. Ponce,J. 计算机视觉:一种现代方法[M]. 电子工业出版社, 2012.)
A.Mordvintsev, K.Abid: OpenCV Python Tutorial, opencv.org, 2017, HTML版见 http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_tutorials.html
Solem J.E.: Programming Computer Vision with Python, O'Reilly, 2012
(中文版:Solem J.E. Python计算机视觉编程[M]. 人民邮电出版社, 2014.)
高翔,张涛 等.视觉SLAM十四讲:从理论到实践[M].电子工业出版社.2017
参考论文
以下列出了我们上面提到的一些经典算法的相关论文。
张正友平面标定法 Zhang, Zhengyou. "A flexible new technique for camera calibration." IEEE TPAMI 22(11):1330-1334, 2000.
Levenburg-Marquardt算法 Marquardt, Donald W. "An Algorithm for Least Square Estimation of Non-Linear Parameters." Journal of the Society for Industrial & Applied Mathematics 11(2):431-441, 1963.
Moravec角点检测 H. P. Moravec, Towards Automatic Visual Obstacle Avoidance, International Joint Conference on Artificial Intelligence, p. 584, 1977.
Harris角点检测 Harris, C. J. "A combined corner and edge detector." Proc Alvey Vision Conf 3:147-151, 1988.
亚像素级角点检测 Shi, Jianbo. "Good Feature to Track." IEEE Conference on Computer Vision and Pattern Recognition 1994.
SIFT特征 Lowe, David G. "Distinctive Image Features from Scale-Invariant Keypoints." International Journal of Computer Vision 60(2):91-110, 2004.
Lowe, David G. "Object Recognition from Local Scale-Invariant Features." iccv IEEE Computer Society, p.1150, 1999.
SURF特征 Bay, Herbert, T. Tuytelaars, and L. V. Gool. "SURF: speeded up robust features." European Conference on Computer Vision, p.404-417, 2006.
FAST特征 Rosten, Edward, and T. Drummond. "Machine learning for high-speed corner detection." ECCV, p.430-443, 2006.
BRIEF特征 Calonder, Michael, et al. "BRIEF: binary robust independent elementary features." European Conference on Computer Vision p.778-792, 2010.
ORB特征 Rublee, Ethan, et al. "ORB: An efficient alternative to SIFT or SURF." IEEE International Conference on Computer Vision IEEE, p.2564-2571, 2012.
Lucas-Kanade算法 Lucas, Bruce D., and T. Kanade. "An iterative image registration technique with an application to stereo vision." International Joint Conference on Artificial Intelligence, p.674-679, 1981.
Farneback算法 Farneback, Gunnar. "Two-frame motion estimation based on polynomial expansion." Scandinavian Conference on Image Analysis, p.363-370, 2003.
Kalman滤波(原论文) Kalman, R. E. "A New Approach to Linear Filtering and Prediction Problems." Journal of Basic Engineering Transactions 82:35-45, 1960.
Kalman滤波(综述,包括对EKF的介绍) Welch, G. "An introduction to the Kalman filter." Course Notes of ACM SIGGRAPH 8(7):127-132, 1995.
UKF(无迹Kalman滤波) Merwe, R. Van Der, and E. A. Wan. "The square-root unscented Kalman filter for state and parameter-estimation." IEEE International Conference on Acoustics, Speech, and Signal Processing, 6:3461-3464, 2002.
对极几何(综述) Zhang, Zhengyou. "Determining the Epipolar Geometry and its Uncertainty: A Review." International Journal of Computer Vision 27(2):161-195, 1998.
八点法 Hartley, Richard I. "In Defense of the Eight-Point Algorithm." IEEE TPAMI 19(6):580-593, 1997.
RANSAC算法 Fischler, Martin A., and R. C. Bolles. Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography. ACM, 1981.
光束平差法 Triggs, Bill, et al. "Bundle Adjustment: A Modern Synthesis." International Workshop on Vision Algorithms: Theory and Practice, 298-372, 1999.
ROF降噪 Rudin, Leonid I., S. Osher, and E. Fatemi. "Nonlinear total variation based noise removal algorithms." Eleventh International Conference of the Center for Nonlinear Studies on Experimental Mathematics : Computational Issues in Nonlinear Science, 259-268, 1992.
Meanshift算法 Comaniciu, D., and P. Meer. "Mean Shift: A Robust Approach Toward Feature Space Analysis." IEEE Transactions on Pattern Analysis and Machine Intelligence, 603-619, 2002.
Cheng, Yizong. "Mean Shift, Mode Seeking, and Clustering." IEEE TPAMI 17(8):790-799, 1995.
Camshift算法 Allen, John G, R. Y. D. Xu, and J. S. Jin. "Object tracking using CamShift algorithm and multiple quantized feature spaces." The Workshop on Visual Information Processing Australian Computer Society, 3-7, 2004.
Canny边缘检测 Canny, J. A Computational Approach to Edge Detection. IEEE Computer Society, 1986.
Hough变换 Duda, R., and P. Hart. "Using the Hough transforms to detect lines and curves in pictures." Commun. ACM, 11-15, 1972.
HOG特征 Dalal, N., and B. Triggs. "Histograms of oriented gradients for human detection." IEEE Computer Society Conference on Computer Vision & Pattern Recognition, 886-893, 2005.