第十章基于立体视觉的深度估计立体视觉立体成象我们将场景中同一点在两个不同图像中的投影点称为共轭对其中的一个投影点是另一个投影点的对应(correspondence)两幅图像重叠时的共轭对点的位置之差(共轭对点之间的距离)称为视差(disparity)通过两个摄象机中心并且通过场景特征点的平面称为外极(epipolar)平面外极平面与图像平面的交线称为外极线.立体成象立体成象FxzxlFxzBxrrlxxBFz由相似三角形可得合并两项,可得F是焦距,B是基线距离立体成象因此,各种场景点的深度恢复可以通过计算视差来实现.大角度立体方法——提高场景点深度计算精度的有效途径主要的问题有:随着基线距离的增加,两个摄象机的共同的可视范围减小场景点对应的视差值增大,则搜索对应点的范围增大,出现多义性的机会就增大.由透视投影引起的变形导致两个摄象机获取的两幅图像中不完全相同,这就给确定共轭对带来困难.立体成像的一般情况在实际中,两条外极线不一定完全在一条直线上,即垂直视差不为零两个摄像机的光轴不平行立体图像校正•立体图像对重新取样,使外极线对应于图像阵列的行立体图像校正将两图像投影到一个平面上就能得到理想的极线几何.左(右)摄象机中的每一个像素点分别对应于左(右)摄象机坐标系统中的一条射线。设Tl和Tr分别表示将左、右摄象机的射线变换到公共平面坐标系的刚体变换,确定每个图像的顶点在公共平面上的位置,创建新的左、右图像网格,将每一个网格点变换回原来的图像上.使用双变量线性内插方法内插像素值可确定公共平面上新的左、右图像中的像素点。平行光轴立体视觉系统Zw=0左摄象机左图像:参考右图像:目标右摄像机高度Zw视差景深Z基线视差公式P(X,Y,Z)pl(xl,yl)光心Olf=焦距像平面左摄像机B=基线景深平行光轴立体视觉系统f=焦距光心Orpr(xr,yr)像平面右摄像机dxBfDZ视差:dx=xr-xl立体匹配求解对应问题是立体成象系统的核心内容求解对应问题极富有挑战性,可以说是立体视觉最困难的一步.方法基于特征(点、线)的匹配(稀疏匹配)基于区域的匹配(稠密匹配)立体匹配的困难场景投影到两幅图像中并不总是一致的摄像机相关图像噪声、不同增益、不同对比度等等...视点相关透视畸变遮挡镜面反射复杂场景因素重复场景无纹理区域引入约束,减少搜索范围外极线约束一幅图像上的特征点一定位于另一幅图像上对应的外极线上将二维搜索转会为一维搜索问题在外极线的一个小邻域内进行搜索一致性约束对图像进行规范化处理(Normalization)设参考摄象机和其它摄象机的图像函数分别为jif,0jifk,和,则图像窗内规范化图像函数为:njmijifmn1122)),((1μ是图像窗内光强的平均值,σ是光强分布参数:nimjkkjifjif110),(),(相似估价函数为差值绝对值之和顺序约束如果在参考图像中点A在点B的左边=在目标图像中点A的匹配点也在点B的匹配点的左边对细小物体不成立ImagefromSunetal.CVPR05其它约束唯一性约束一幅图像(左或右)上的每一个特征点只能与另一幅图像上的唯一一个特征对应.连续性约束物体表面一般都是光滑的,因此物体表面上各点在图像上的投影也是连续的,它们的视差也是连续的.在物体边界处,连续性约束不能成立.特征匹配——稀疏在立体图像对中识别兴趣点(interestingpoint),而后在两幅图像中匹配相对应的点.识别兴趣点(interestingpoint)在图像中具有很大变化的区域内寻找兴趣点在以某一点为中心的窗函数中,计算其在不同方向上的变化量为避免将多个相邻点选为同一个特征对应的兴趣点,将特征点选在兴趣测度函数具有局部最大值的地方特征匹配对于左图像中的每一个特征…左图像角点线结构特征匹配在右图像中寻找…当相似度达到最大时的偏移量就是视差右图像角点线结构特征匹配——稀疏基于特征的立体匹配算法产生对应于图像特征点的场景稀疏深度图.仅仅能恢复用于求解共轭对的像素子集对应的特征点深度.要想得到其它点的深度值,必须通过使用有关计算方法来估算,如内插值技术.基于区域相关性的立体匹配(稠密)计算一幅图像的一个小窗函数内的像素与另一幅图像中具有同样的潜在对应特征的小窗函数的像素之间的相关值.具有最大相关值的小窗区域就是对应区域.只有满足外极线约束的区域才能是匹配区域.考虑到垂直视差的存在,应将外极线邻近的像素点也包括在潜在的匹配特征集中.立体匹配评价函数立体匹配评价函数稠密匹配对参考图像中每一点找到对应于场景中同一点的匹配像素,得到稠密的视差图算法评估以真实视差场为参照,对计算得到的视差场进行评估,统计视差场的准确度,以此反映匹配方法的性能稠密匹配的研究现状生长法松弛法相关窗法动态规划法马尔科夫随机场基于分割区域的算法生长法算法思想起源于人工智能中的“最小化承诺原则”,即不可靠的决策应该直到获得足够信息后才做出最终决定种子点生长种子区域生长优点快速不需要完整的三维代价矩阵缺点不能修正错误种子对遮挡区域和无纹理区域效果不理想生长法经典相关窗法对参考图像中每个点(xl,yl)定义以它为中心的窗口(xl,yl)左图像在目标图像中一定范围搜索匹配点…(xl,yl)右图像经典相关窗法…视差就是当相关值达到最大时的偏移量(xl,yl)dx(xr,yr)右图像经典相关窗法优点容易实现速度快缺点纹理稠密图像效果较好匹配窗口内的视差可能差别较大被遮挡区域不能正确估计视差经典相关窗法经典相关窗法结果自适应支持权值法格式塔心理学相似性准则接近性准则根据相似性和接近性设计邻近像素对匹配窗中心像素的权值[YoonCVPR05]在CIELab颜色空间的相似性:接近性:欧氏空间距离Weights:匹配代价累积公式自适应支持权值法0,,(,)(,)(,)(,)(,)(,)ppdppddddqNqNdddqNqNwpqwpqeqqEppwpqwpq(,)exp(())pqpqcpcgwpqk222()()()pqpqpqpqcLLaabb自适应支持权值法结果自适应支持权值法结果基于分割区域的自适应窗口加权法对参考图像进行分割对每个分割区域记录其在运行过程中的平均值求匹配窗中心像素的累积代价时,只需要看它属于哪个区域,找到相应区域的均值进行正常的均值移动运算以累积窗口内总的匹配代价sTrAsAsArA-自适应窗口加权法结果松弛法利用简单的匹配准则求得初始匹配根据匹配特征间的约束,利用迭代技术增强初始匹配结果,提高匹配的正确概率,从而达到解决解的歧义性的目的优点效果相对较好缺点计算代价大依赖于初始估计动态规划左图像右图像leftSrightSpp+dpleftSrightSpqts动态规划结果无顺序约束的动态规划Two-Pass动态规划[KimCVPR05]延扫描行正交方向(即列方向)作第二次动态规划“贴标签”,标签就是视差给特定像素分配一个标签有分配代价给临近像素分配一对标签有分离代价找到总的分配代价和分离代价之和最小图割算法置信传播算法马尔科夫随机场图割算法通过计算赋权图的最小割集求能量最小化以割代价为能量,求得的割集就是标签,通过最大流算法使能量迅速减少运行时间与像素数和标签数成线性关系近似地说,低维多项式stcutL(p)p“cut”xy标签xy视差标签图割算法图割算法结果在能量中包括遮挡项[KolmogorovICCV01]置信传播算法在马尔可夫网络上传播消息的迭代推导算法消息:反映邻近站点变量取值对该站点变量取值的影响对树结构有精确解,对有环图有较好的近似解DDDDVVVVD对称置信传播算法结果Middlebury评估网站排名第一(June2005)Middlebury评估网站排名第三(June2005)对称置信传播算法结果Middlebury评估网站排名第一(June2005)Middlebury评估网站排名第一(June2005)对称置信传播算法结果基于分割区域的算法隐含假设颜色平滑的区域内部视差能够用平滑的视差模型(常数、平面等等)代替视差不连续处与分割区域边缘相一致通常步骤图像分割初始视差计算根据初始视差估计每个视差平面参数根据定义能量以分割区域为整体采用合适算法优化基于分割区域的算法优点区域内的平滑是被强制执行的单眼线索所获得的视差边界在很多时候比单纯由视差估计的边界更为准确对遮挡区域匹配的鲁棒性也得到改善效率更高缺点基于分割区域的方法的分割假设并不一定总是正确的视差模型可能并不能表示区域真正的视差基于区域间协同优化的立体匹配算法输入立体图对采用鲁棒的视差平面拟合算法估计视差平面参数采用基于区域的自适应相关窗法计算初始视差对参考图像用mean-shift算法进行分割得到区域定义区域能量,综合考虑每一区域参数变化对整体总的能量变化影响,采用协同优化算法优化平面参数根据平面参数计算视差均值偏移(MeanShift)图像分割算法通过求MeanShift矢量的方向来得到梯度的方向,进而通过对其跟踪,得到密度最大的点,即聚类算法中的所谓模式点不同带宽对立体匹配的影响不同带宽对立体匹配的影响鲁棒的视差平面拟合算法RANSAC随机地从数据集S中选择s个数据点组成一个样本作为模型的一个例示确定在模型距离阈值t内的数据点集为一致集经过N次试验,选择最大一致集,并用的所有点重估模型经过RANSAC平面拟合后的视差图基于投票的鲁棒视差平面拟合算法通过对同一行的一对点计算,可以得到平面参数a的一个估计将所有同一行的估计值在一维的a参数空间进行投票,并对投票结果进行高斯平滑后从中选出得票最多的值作为参数a的最终估计对同一列的点通过计算,可以得到参数b的估计由上式可算出c,采用类似的投票方法可确定参数ccybxayxd),(xd/yd/RANSAC方法和投票方法平面拟合结果的比较。其中,红色横线表示投票方法的拟合错误率,蓝色折线表示RANSAC方法的拟合错误率经过投票平面拟合后的视差图采用基于投票的平面拟合法得到的视差图协同优化算法的基本原理R1R2R3R4R5R6R8R7R9R10)()()()(2211mmxExExExE协同优化算法的基本原理i为了使各子目标函数之间的优化结果能够保持一致,协同优化算法在优化每一子目标函数的时候,考虑与之相关联的其它子目标函数的优化结果对其的影响。)(min)()1(xEwxEjijxijiiii其中,表示合作强度,而则用于刻画传播的力度。ijw协同优化算法的基本原理,)()()1(min)()1()()1()()(xEwxExEkjijijkikikiki协同优化算法的迭代方程迭代过程不断进行直至算法收敛或执行完规定的迭代次数。由于对每一个区域的优化结果会在下一次迭代中向周边传播,经过若干次迭代后每一个优化变量在相关子目标函数中的最终取值将会取得一致。mi...2,1for基于区域间协同优化的立体匹配每个区域能量项定义其中,第1项是数据能量,第2项是遮挡能量,而第3项是平滑能量。idataoccludesmoothEEEE基于区域间协同优化的立体匹配lrandqmax(()(),()(),()())datapVVErprqgpgqbpbq其中,Vl和Vr分别表示当前区域在左右图像上的可见像素集,p、q为左右图像上相匹配的两个对应像素,r、g、b表示相应像素的RGB值。基于区域间协同优化的立体匹配cB()()10dispsmoothpdpdqE如果其它这里,Bc表示参考图像上当前区