双目摄像技术分析--突破光学与尺寸的极限
背景知识运动模糊
钓寒江雪整理
Figure 1 水平方向运动模糊50像素(图像已经缩小)
Figure 2 水平方向运动模糊10像素(图像已经缩小)
Figure 3 软件模拟水平方向运动模糊5像素(图像已经缩小)
Figure 4 软件模拟无运动模糊(图像已经缩小)
Figure 5 软件模拟运动模糊对比(图像无缩放,左上:无运动模糊,右上:运动模糊5像素,左下:运动模糊10像素,右下运动模糊50像素)钓寒江雪整理
Figure 6 软件模拟运动模糊对比(图像无缩放,左上:无运动模糊,右上:运动模糊5像素,左下:运动模糊10像素,右下运动模糊50像素)钓寒江雪整理
Figure 7 软件模拟运动模糊对比(左上:无运动模糊,右上:运动模糊5像素,左下:运动模糊10像素,右下运动模糊50像素)钓寒江雪整理
Figure 8 运动模糊(左30毫秒,右50毫秒)
Figure 9 运动模糊(左10毫秒,右30毫秒)
图像配准
配准是寻找从一个数据集到另一个数据集的转换关系的问题。大部分这类直接形式中,这两组数据集的维度相同(例如,我们配准3D数据到3D数据或者2D数据到2D数据),转换方式有旋转,平移,也可能有缩放。好的方法对此类问题非常有用。很多案例中人们希望知道一个在与自己具有相同维度的数据集中的目标的位姿—世界坐标中的位置和方向。例如,我们有一个病人体内的MRI(核磁共振)图像(3D数据集),我们希望叠加在真实病人的画面上以指导外科手术。这种情况下,我们希望知道旋转,平移,缩放模型,用以将一个图像叠加在另外一个图像上(钓寒江雪翻译)。还有个例子,我们可能有一个2D图像模板,我们想在一副航拍图像中找到该模板,我们同样需要知道旋转平移和缩放关系,以将一副图像叠加在另外一个副上。我们可能也使用匹配质量打分的方式来表示我们是否建立了正确的匹配关系。我们使用搜索和发现位姿恒常性特性来解决此类问题。位姿恒常性是指刚性物体中不同特征集反应该物体相同的位姿。结果,刚性物体配准问题变得简单很多,因为我们只需找到一小部分特征来估计物体的位姿(钓寒江雪翻译),且我们能用其他部分来确认该位姿。
该问题一个重要的变种是在投影关系下实施配准。这种情况下我们看到一个3D物体的图像,且需要将该物体配准到图像。通常,这个问题能够用同维度数据集配准的搜索算法来解。这里我们需要借助一种有时被称为摄像机恒常性的特性的帮助,摄像机恒常性意思是图像中的所有特征在都是同一个摄像机拍摄的(钓寒江雪翻译)。摄像机恒常兴意味着,刚性物体到图像的匹配搜索问题被大大简化,因为我们只需要一小撮特征来估计物体的位姿和摄像机的标定,且我们可以用其他剩余的特征来确认位姿。
最复杂的配准问题是要处理能发生形变的物体。这种情况下,配准两个数据集的转换模型是个大家族(译者注:不只旋转,平移,缩放,投影)。搜索特定转换相对而言更加复杂。配准可形变土体是医疗图像分析的一个核心技术,因为人体组织可形变且通常在不同的成像模式下对相同的身体部分进行成像。
刚性物体配准
假设我们有两个点集,源集与目标集。目标集是源集的旋转,平移及缩放版本,且其中可能有噪点。我们希望计算该旋转,平移及缩放量。
这个问题可以直接表达为公式,如果我们知道到的映射,记为目标点集合中某点索引到源集中第i个点(钓寒江雪翻译)。这种情况下,我们可以计算一个最小二乘方程,最小化
其中s是缩放因子,是旋转,是平移。如果目标没有缩放,我们设s=1。
我们能可以用数值优化的方法解该优化问题,虽然该问题有解析解。Horn(1987b)认为平移两可以从中心点恢复,旋转和缩放可以从点集的各类矩中得到。事实上,这篇文章认为如果目标是源的旋转平移和缩放版本,点到点的映射关系无关紧要。这个案例违背了配准问题,但是实际中并不常见。
更普遍地,S是一个从几何结构中采样到的点集,T是一个从相同结构的旋转平移缩放版本中采样的的点集。例如,S可能是物体的集合模型,T是通过立体重构或者激光测距的方式获得。另一个例子,S和T可能是从不同的3D图像解剖结构数据集中通过特征检测齐获得。不同例子中,我们相信S是T的旋转平移及缩放版。但是T中的点未必对应S中的点。更糟糕,采样过程意味着我们无法准确估计矩。所以Horn的算法不行。还有糟糕的事情,数据集可能包含较大的误差和错误外点。
记
该数据集通过源集的旋转平移与缩放得到。在解决该问题的方法中,中大部分点需要靠近T中的一个点。且提供一个映射关系。我们通过估计映射关系来搜索正确的转换关系,然后通过估计得转换关系来估计映射关系,然后重复。我们也可以选择一小部分数据来搜索,然后用以估计转换关系。
迭代最近点
此刻,假设我们没有外点。我们期望对于任意,存在最近点。如果我们使用一个合理的转换估计,距离不能太大。注意点的索引依赖于j, 但也依赖于特定的转换参数,记最近点索引为,假设我们估计的转换欢喜为http://upload.semidata.info/new.eefocus.com/article/image/2015/03/10/54febb7b09c9a-thumb.png。然后我们迭代地精细化估计结果:(a)转换S中的点;(b)逐一找到T中对应的最近点;以及(C)最小二乘法重新估计转换参数。这催生了一个迭代算法,根据文献 Besl and McKay (1992),称为迭代最近点算法iterated closestpoints。该算法可以明确地收敛到正确答案(钓寒江雪翻译)。
实际应用中,它确实可以。两个点集可以助其改善其性能。首先,重估计过程不需要收敛以使算法有用。例如,我们不需要完整地估计转换关系,我们做一次梯度下降。这稍微改善了转换关系,且修改了最近点映射关系。其次,我们不需要再最小化过程中使用全部的点。特殊地,如果最近点相对较远,最好在下一步的最小2乘法中抛弃这些点。这会使算法更鲁棒。
你可能会认为与其说这是个算法不如说是个算法模板;大量特征可以被成功地修改。例如,它可以用来在数据结构中小心地加速保持对最近点的跟踪。另一个例子,一个可选的用于改善鲁棒性的策略,是使用M估计器取代最小二乘误差项。事实上,该算法不需要S和T的点集。例如,它相对直接地用于S是网格点,T是点集的案例(Besl and McKay 1992)。另外,有良好的证据表明我们优化的关于(s, θ, t)的目标函数在实际应用中性能良好。例如,虽然它不是可微的(因为最近点改变,导致微分步长变化),2阶方法如牛顿方法或者LBFGS在实际引用中事实上表现更好。
通过映射关系搜索转换关系
迭代最近点重复估计源集于目标集的映射关系,然后用以估计转换关系。就我们所见,该搜索方法面临很多局部极小值。另一个方法是搜索映射空间。这看起来似乎没有前途,因为有大量的映射关系,但是在刚性物体的案例中,较小的映射集足以配准整个物体。另一个直接考虑映射的优势是我们可以直接使用标记进行作用而不是点。例如,我们映射中放置线段,角,甚至如斑点(blobs)点状特征。这类标记可能改变细节,但对整个算法影响微小。
很小的源标记集与目标标记集进行映射,足以估计转换关系。集合的尺寸依赖于转换关系及标记本身。我们参考可用于计算转换关系的称谓帧支持群frame-bearing group一群标记。表12.1给出了2D-2D帧支持群的例子,且表12.02给出了3D到3D案例的例子。这也将在未来的运用中进一步拓展。
现在我们假设我们在源和目标中有帧支持群。进一步,如果我们有标记集的映射关系,我们可以计算源之于目标的相应的转换关系(钓寒江雪翻译)。只能有一个可能的映射关系。例如,如果群是先或者点,我们只能把源线(点)放置在与目标线(点)映射的位置。但是可能有多种可能的映射;例如群由3个点组成,但是有6种可能性。
如果一个群或者映射错误,大部分的源标记将转换到远离目标的位置。但是如果正确,很多或者大部转换过的源标记将落在目标标记附近。这意味着我们可以用RANSAC(10.4.2),重复地使用如下步骤,分析结果:
[*] 为目标和源随机选择帧支持群,
[*] 计算源与目标单元的映射关系(如果有多个,我们随机选择),然后计算转换关系。
[*] 使用该转换关系转换源集没,并与目标进行比较打分只。
如果我们实施足够多次,我们极大可能可以在好的群之间获得好的映射结果,且我们也可以检查每个分数用以分辨优劣。从好的映射关系,我们可以分辨源与目标的匹配对,最终根据最小2乘法计算转换关系。
应用:建立图像拼接
一个拍摄大而壮观的目标的细节的方法是拍摄很多张小的图像,并将其拼接到一起。过去的做法常常是将照片冲印,然后堆叠贴在软木板上,用以吻合。这引入了图像拼接,一系列重叠的图像。图像拼接现在能用数字图像配准的方法实施。
表1 3D-3D帧支持群.假设我们在源和目标中都有一个群,且有一个映射关系;从而,我们可以唯一地估计转换关系。
Figure 10 左图,机场上空航拍视频帧。这些帧被矫正并拼接在右图,其中显示(a)全局可见结构(b)飞机飞行路径。这个图最作为Figure1发表在“Video Indexing Based on Mosaic Representations,”by M. Irani and P. Anandan, Proc. IEEE, v86 n5, 1998, _c IEEE, 1998.
一个应用是创建大型图像。也有几个其他重要的应用。例如,假设我们用在飞机垂直安装的一个的摄像机拍摄了一些图像(钓寒江雪翻译);然后如果我们一帧一帧配准这些图像,我们不但可以得到飞机可见的图像,还可以呈现飞机的路径,如图Figure 12.1所示。另一个例子, 假如我们我们有一个获取视频的固定的摄像机。逐帧配准后,我们可以估计(a)运动物体,(b)背景,且用新的方式向观众呈现(figure 12.2)。还有个例子,我们能够构建圆柱面全景图像,模仿圆柱面摄像机拍摄的图像。甚至球面全景图像,模拟球面球面摄像机拍摄的图像。全景图像的一个特性看起来像一个视角的图像,容易查询提取信息。特别地,容易使用全景图像模仿摄像机旋转聚焦点时之所见。
创建拼接式图像配准的一个重要应用。在最简单的例子中我们希望配准两张图像我们先找到标记,然后确定哪些点是匹配额,然后选择转换关系,并最小化2次匹配误差。Brown and Lowe(2003)给出了寻找标记的策略。他们找到感兴趣点,然后计算领域的SIFT特征,然后使用近似最临近点方法寻找匹配对,一小组匹配点足以拟合映射关系。
figure 11 左图,空中飞机拍摄的视频帧(钓寒江雪翻译)。这些帧被矫正并拼接到右图,其中显示(a)视频中飞机飞行轨迹和(b)观察者的飞行轨迹。注意拼接显示了飞机移动速度(可看到每一个飞机拼接实体间距多远;如果间距远,说明移动快)。
这类有两种有用的转换关系。最简单的例子中,摄像机是一个垂直平移的摄像机,且它被平移。这意味着图像标记平移(钓寒江雪翻译),因为我们只需要估计图像之间的平移量,另一个复杂的例子,摄像机是一个绕其焦点旋转的透视的摄像机。如果我们对该摄像机一无所知,这个I1和I2的关联部分是一个面投影转换关系,又称单应变换。了解更多关于摄像机及环境信息,能够得到更紧的约束条件的转换(钓寒江雪翻译)。
在单应坐标中,转换关系将点I1中的X1=映射到I2中的。转换关系的形式是3x3行列式非零的矩阵。记为H。我们用平面上4个对应点估计元素值。记为第I1中第i个点,对应,现在我们有式
Figure 12
如果我们叉乘并相减,我们根据每一组映射点对的未知矩阵入口得到单应线性方程,例如:
这个系统给出了H大小的(up to scale,原文)求解方法(我们工作在单应坐标系下)。这是一个根据少量点估计H好的方法, 但当我们有一大堆映射点对时,可能得不到最准确的解。这种情况下,我们应该最小化H的函数
其中g是判别函数,如果我们有外点的话,这不是个好主意,或者一个M估计器。这个函数值关于H的大小是不变的(意思是H矩阵的元素统一放大或者缩小都不影响函数值),所以我们需要一个归一化的形式(钓寒江雪翻译)。我们可以设置一个量为1来归一化(不是个好主意,因为这带来了偏置量),或者要求Frobenius 范数等于1。好的估计单应矩阵的软件已经可以在Web上获得。Manolis Lourakis在http://www.ics.forth.gr/~lourakis/homest/发表了一个 C/C++ 库; there is a set of MATLAB functions for multiple view geometry at一个MATLAB多视几何函数集,http://www.robots.ox.ac.uk/~vgg/hzbook/code/,作者是 David Capel, Andrew Fitzgibbon, Peter Kovesi, Tomas Werner, Yoni Wexler, and Andrew Zisserman.
最后,OpenCV也有单应估计方法。
如果有超过2张图像,配准图像到拼接图像更有意思。想想我们有三个图像,我们能够配准图像1到图像2,然后图像2到图像3。但是如果图像3具有一些图像1所具有的特征,这可能是不明智的做法。记为图像2到图像1的转换关系(依次类推)。问题是可能不是图像2到图像1的转换关系的好的估计。在三张图像的情况下,误差可能不是那么大,但是能累加。
为了解决误差累加的问题,我们需要使用全部的误差值一次估计所有的配准数据。这个动作叫做绑定调整(bundle adjustment),依靠分析运动中结构的相关项实施(章节8.3.3)。一个自然方法是选择一个坐标帧,图像帧再其内工作-例如,第一帧图像,然后搜索一系列其他图像与第一幅图像的匹配关系,并最小化点对误差平方和。例如,记为第j元组,它由图像i中及图像k中组成。我们可以通过最小化下式估计和,
(其中,如果没有外点,g是一致的,否则是M估计器),然后用转换关系配准。注意,随着图像数量增加,这个方法可能带来大的和差的优化问题(钓寒江雪翻译),很可能出现局部最小值,所以需要从一个好的转换估计值开始。配准独立图像对能够提供这样的起始点。一旦图像已经配准到另外一副图像,我们能得到一单张全景图像,然后小心地混叠像素以处理由镜头系统导致的空间亮度变化(图12.5)。
基于模型的视觉:使用投影配准刚性物体
MODEL-BASED VISION: REGISTERING RIGID OBJECTS WITH PROJECTION我们现在已经可以用图像配准刚性物体。这个问题的解决方法在实际应用中很有用, 因为它们允许我们根据摄像机估计图像中已知物体的位置,方向,缩放,尽管物体身上的图像特征有很多不确定性。这类算法能够和世界产生作用,在系统中特别有用。例如,如果我们希望移动一个物体到特定位置,或者抓住它,根据摄像机知道它的数据真的特别有用。我们使用相同的方法来解决3D物体到3D物体的配准,方法重复:找到一个群;恢复转换关系;对全部源实施转换;然后对源于目标的相似度打分。最后我们输出得分最好的转换结果。更进一步,如果最好的转换关系得分较好,那么物体就在那儿(那儿就是估计出的位姿);如果不好,他就不是(不在那儿)。
源由多个基于某些几何结构的标记组成,而是基于几何结构的旋转平移及缩放版的标记组成。我们想得到实际的旋转,平移及缩放。通常该问题涉及很多http://upload.semidata.info/new.eefocus.com/article/image/2015/03/10/54fec07199aec-thumb.png中的外点,因为我们不知道特征是否真的来自该物体。几乎所有的标记都是点或者线段;对于http://upload.semidata.info/new.eefocus.com/article/image/2015/03/10/54fec0715c1e7-thumb.png,这些由物体的几何模型决定,而对于http://upload.semidata.info/new.eefocus.com/article/image/2015/03/10/54fec071998a9-thumb.png,则来自边缘点或者边缘点的拟合线(我们能使用Chapter 10的这些机制获得这些线)(钓寒江雪翻译)。这个案例有两个不同的特性。我们不能估计全部的转换参数(通常也无关紧要),且它也很难得到令人满意的源与目标的相似度评分。
有很多方法可以估计转换参数。细节依赖于我们是否标定摄像机,以及我们使用了何种摄像机模型。在最简单的案例中,我们使用了垂直的摄像机,标定基于未知的尺度,沿着Z轴俯视摄像机坐标系。我们无法估计3D目标的深度,因为改变深度不改变图像。我们不能独立于摄像机的缩放尺度判定物体的尺度,因为同时改变这两个参数能得到相同的图像。例如,我们放大物体一杯,同时缩小摄像机的像元,我们得到的图像点具有相同的坐标值。因此,我们不能影响上述搜索过程背后的因果关系。例如,我们建立源与目标的正确的映射关系,然后,源标记将停止在靠近或者在目标标记的上方。这意味着使用了上述RASANC风格的方法。相似地,如果我们提供了准确的转换参数(我们能设置摄像机缩放参数为1),我们就可以估计深度。
在单个垂直摄像机的案例中,基于未知缩放值得标定,三个映射点对已经足够估计旋转量。两个可观测的平移及缩放(参考联系,给出了另一个帧群组)。在大部分应用中,深度在物体间的变换相对于物体的深度要小的多。这意味着,一个透视摄像机能够能被弱透视变换近似模型来近似。这等同于单个垂直摄像机,标定到一个未知的尺度。如果摄像机的尺度已知,也就可以恢复出无图的深度。
Figure 13 一个平面物体被配准到图像。左图中,一个物体的图像;中图中,一个图像中包含物体的两个实例,及其他材料(聚类中常见的例子)。特征点被检测了,且两个群组-在这个案例中,三点集-被搜索;每个映射给出了一个从模型到图像的变换。满意的映射对齐了很多模型边缘点与图像边缘点,在左图中,这是为什么这个方法有时候被称为“对齐”。这个图像来自该主题的早期的论文,但是受到当时落后的再生技术的影响。这个图像最早作为Figure 7发表在“Object recognition using alignment,” D.P. Huttenlocher and S. Ullman, Proc. IEEE ICCV, 1986. c IEEE, 1986.
验证: 比较转换与玄然后的源图与目标图
实际应用中,用来搜索转换关系的RANSAC-风格的搜索算法主要的难点在于配准3D目标与一个图像,一个好的评分方法比较难以得到(钓寒江雪翻译)。计算评分函数的方法是直接的,如果我们启用渲染,一个通用目的用于根据模型生成图像的方法的描述,包含所有的从绘线到给图像物理地精确地着色工作。我们获得估计得转换模型,应用到模型,然后使用摄像机模型渲染转换后的物体模型。我们实施渲染,并与图像进行比较。难点在于比较方式(这决定我们需要渲染什么)。
我们需要一个能够说明所有已知图像迹象的评分函数。这要能包含难以确定确定型的标记(角点或者边缘点),或者图像纹理的迹象。如果我们知道所有的物体在其之下被观测的光照条件。我们可能可以使用像素亮度(实际条件下,这几乎行不通)。通常,关于光照我们所能知道全部就是亮度足够时,我们能找到一些标记,这也是为什么我们有配准假设需要检验。这意味着这些比较被要求在在光照变换条件下是鲁棒的。显然,实践中,最重要的检验是渲染物体的轮廓,然后比较其边缘点。
一个自然检验方法是根据摄像机模型叠加物体的轮廓边缘到图像,然后根据这些点与真实图像边缘点的比较对假设模型进行评分,通常的评分是靠近的实际的边缘点的预测的轮廓边缘碎片的长度。这在摄像机框架下是旋转平移不变性的,这是个好事,但是随缩放因子变化,但未必是坏事。通常允许图像边缘点知在他们方向与对应的模型边缘方向相近时贡献评价分值。这个原则是对边缘点描述越详细,人们更容易知道它是否来自该物体。
在线段中包含不可见的轮廓可不是个好主意,因此,渲染需要删除隐藏的线。由于轮廓内边缘在差的光照条件下可能对比度低,所以使用了轮廓。这意味着轮廓的缺失表现的是光照的条件而非物体的存在性。
边缘存在性检验可能很不可靠,甚至方向信息也不能真正解决该难题。当我们投影一个模型边界到一个图像时,轮廓附近的边缘的缺失是一个模型不存在于此的可靠的信号。但是轮廓附近存在边缘却不是关于模型存在于此的可靠的信号(钓寒江雪翻译)。例如,在纹理区域,有很多边缘点组合在一起,这意味着,多纹理区域中,每个模型的每个位姿都可能会得到高的检验评分值。注意即使评分考虑边缘方向也无济于事。
我们能够调整边缘检测器来重度平滑纹理强度,以期纹理区域的消失。这是个危险的规避方法,因为这常常会影响对比度灵敏度,从而也会导致物体消失。然而,这个方法在可接受的程度下有效果,被广泛地应用。
参考文献:
COMPUTER VISIONA MODERN APPROACHsecond editionDavid A. Forsyth
University of Illinois at Urbana-ChampaignJean PonceEcole Normale Supérieure
与非网原创内容,谢绝转载!
页:
[1]