《双目立体视觉》PPT课件.ppt
1,第6章双目立体视觉,6.1双目立体视觉原理6.2双目成象和视差6.3基于区域的双目立体匹配6.4基于特征的双目立体匹配6.5视差图误差检测与校正,2,立体视觉主要研究如何借助(多图象)成象技术从(多幅)图象里获取场景中物体的距离(深度)信息,6.1双目立体视觉原理,3,6.1双目立体视觉原理,六个模块 六项工作1.摄象机标定2.图象获取3.特征提取 立体视觉借助不同观察点对同一景物间的视差来帮助求取3-D信息(特别是深度信息)。所以需要判定同一景物在不同图象中的对应关系选择合适的图象特征以进行多图象间的匹配,4,6.1 双目立体视觉原理,六个模块 六项工作4.立体匹配 根据对所选特征的计算来建立特征间的对应关系,从而建立同一个空间点在不同图象中的象点之间的关系,并由此得到相应的视差图象5.3-D信息恢复 根据得到的视差图象,可以进一步计算深度图象,并恢复场景中的3-D信息,5,6.1双目立体视觉原理,六个模块 六项工作6.后处理 3-D信息常不完整或存在一定的误差(1)深度插值 只能恢复出图象中特征点处的视差值(2)误差校正(见后)(3)精度改善象素级视差到亚象素级的视差,6,获得同一场景的两幅视点不同的图象 双目横向模式 双目横向会聚模式 双目纵向模式,6.2双目成象和视差,7,双目横向模式,摄象机坐标系统和世界坐标系统重合 象平面与世界坐标系统的XY平面也是平行 两个镜头中心间的连线称为系统的基线B,8,1.视差和深度,双目横向模式,9,1.视差和深度 3-D空间点在两个摄象机的公共视场(视角不同,被摄物的形状,摄影环境)测距精度 x1e=x1+e,d1e=x1+e+x2+B=d+e,双目横向模式,10,2.角度扫描成象 象素是按镜头的方位角和仰角均匀分布的 可借助镜头的方位角来表示物象的空间距离,双目横向模式,11,两个单目系统绕各自中心相向旋转,双目横向会聚模式,12,两个摄象机是沿光轴线依次排列 基本排除由于遮挡造成的3-D空间点仅被一个摄象机看到的问题 公共视场的边界很容易确定,双目纵向模式,13,直接用单点灰度搜索会受到图象中许多点会有相同灰度、图象噪声等因素影响而不实用模板匹配 双目立体匹配,6.3基于区域的双目立体匹配,14,模板匹配,相关函数 对f(x,y)和w(x,y)幅度值的变化比较敏感 相关系数,15,双目立体匹配,1.极线约束 C和C“之间的连线称光心线,光心线与左右象平面的交点E和E”分别称为左右象平面的极点光心线与物点W在同一个平面中,这个平面称为极平面,极平面与左右象平面的交线L和L分别称为物点W在左右象平面上投影点的极线,16,双目立体匹配,2.匹配影响因素(1)由于景物自身形状或景物互相遮挡的原因,用左图象确定的某些模板不一定能在右图象中找到完全匹配的位置。此时常需根据其他匹配位置的匹配结果来插值这些无法匹配点的数据(2)不同模板图象应有不同模式。但在平滑区域得到的模板图象具有相同或相近的模式,使匹配有不确定性,并导致产生误匹配。此时可需要将一些随机的纹理投影到这些表面上以将平滑区域转化为纹理区域,17,双目立体匹配,3.光学特性计算利用灰度信息进一步计算物体表面的光学特性N为表面面元法线方向的单位向量S为点光源方向的单位向量V为观察者视线方向的单位向量反射亮度I(x,y)为合成反射率(x,y)和合成反射量RN(x,y)的乘积,18,双目立体匹配,3.光学特性计算第一项散射效应,第二项镜面反射效应H为镜面反射角方向的单位向量向量H反映出视线向量V的变化,19,6.4基于特征的双目立体匹配,基于区域方法的缺点是依赖于图象灰度的统计特性,所以对景物表面结构以及光照反射等较为敏感 基本方法动态规划匹配,20,基本方法,典型方法的主要步骤(1)用边缘检测寻找物体的轮廓线,并在轮廓线上确定特征点(2)利用立体匹配方法匹配各特征点(3)对匹配点求视差,获取匹配点的深度(4)利用获得的匹配点进行深度插值,以进一步得到其它各点的深度,21,特征点提取:平移、旋转、缩放、仿射不变性 1.SUSAN角点提取;2.harris角点提取;3.SIFT尺度不变特征提取,基本方法,22,1SUSAN边缘检测,原理USAN:Univalue Segment Assimilating Nucleus核同值区:相对于模板的核,模板中有一定的区域与它有相同的灰度,23,1)USAN原理,USAN的面积携带了关于图象中核象素处结构的主要信息 当核象素处在图象中的灰度一致区域,USAN的面积会达到最大。该面积当核处在直边缘处约为最大值的一半,而当核处在角点处则为最大值的1/4使用USAN面积作为特征起到了增强边缘和角点的效果,24,2)SUSAN边缘检测,SUSAN:最小(Smallest)核同值区检测模板:37个象素,半径为3.4象素,25,2)SUSAN边缘检测,检测对模板中的每个象素进行得到输出的游程和(running total)边缘响应几何阈值G=3Smax/4,其中Smax是S所能取的最大值,26,2)SUSAN边缘检测,边缘方向的确定根据非零强度的象素确定边缘的方向点A和B都是标准的边缘点,各落在边缘的一边从USAN重心到模板核的矢量与边缘局部方向垂直,27,2)SUSAN边缘检测,边缘方向的确定根据非零强度的象素确定边缘的方向点C落在两个边缘的中间USAN是沿边缘方向的细条,找最长的对称轴,28,2)SUSAN边缘检测,特点有噪声时的性能较好 不需要计算微分对面积计算中的各个值求和(积分)非线性响应特点易自动化实现控制参数的选择简单 参数的任意性较小,29,Harris角点检测算子是Moravec角点检测算子的改进.Harris算子用高斯函数代替二值窗口函数,对离中心点越近的像素赋于越大的权重,以减少噪声影响。Moravec算子只考虑了每隔45度方向,Harris算子用Taylor展开去近似任意方向。,2Harris角点检测,30,2 Harris角点检测算法的步骤:,1.)计算图像的方向导数,分别保存为两个数组Ix以及Iy,这里可以使用任何方法,比较正统的是使用Gaussian函数,因为在Harris角点检测的推导过程中默认是采用了Gaussian函数作为其计算图像偏导数的方法。当然使用简单的Prewitt或者Sobel算子也没有关系。,31,2 Harris角点检测算法的步骤:,2.)为每一个点计算局部自相关矩阵 u(x,y)=Ix(x,y)2*W Iy(x,y)Ix(x,y)*W;Ix(x,y)Iy(x,y)*W Iy(x,y)2*W;这里*W代表以x,y为中心与高斯模板W做卷积,而这个模板的大小则需要你自己指定。,32,2 Harris角点检测算法的步骤:,3.)如果这个u的两个特征值都很小,则说明这个区域是个平坦区域。如果u的某个特征值一个大一个小,则是线,如果两个都很大,那么就说明这是个角点。Harris提供了另一个公式来获取这个点是否是角点的一个评价:corness=det(u)-k*trace(u)2;,33,2 Harris角点检测算法的步骤:,4.)这个corness就代表了角点值,其中k是你自己取的一个固定的变量,典型的为0.04,0.06之间。当然在求取了每个点的corness以后,最好再做一个极大值抑制,这样的效果比直接设置一个阀值要好。,34,3 SIFT尺度不变特征提取:,2004年,David.Lowe总结了已有基于不变量技术的特征检测方法,正式提出了一种基于尺度空间的,对图像平移、旋转、缩放、甚至仿射变换保持不变性的图像局部特征,,35,3.SIFT尺度不变特征提取:,1)尺度空间极值检测David.Low等人为了更加高效地在尺度空间检测到稳定的特征点,在1999年提出利用不同尺度的高斯差分方程同图像进行卷积,求取尺度空间极值,即D(x,y,)=(G(x,y,k)-G(x,y,)*I(x,y)=L(x,y,k)-L(x,y,),36,3 SIFT尺度不变特征提取:,2)精确定位特征点的位置 当然这样产生的极值点并不都是稳定的特征点,因为某些极值点响应较弱,而且DOG算子会产生较强的边缘响应。通过拟和三维二次函数以精确确定特征点的位置和尺度(达到亚像素精度),同时可以去除低对比度的关键点和不稳定的边缘响应点,以增强匹配稳定性、提高抗噪声能力。,37,3 SIFT尺度不变特征提取:,3)确定特征点的主方向 利用关键点邻域像素的梯度方向分布特性为关键点指定方向参数,使算子具备旋转不变性。在以特征点为中心的邻域窗口内采样,并用梯度方向直方图来统计邻域像素的梯度方向。梯度直方图的范围是0360,其中每10一个柱,总共36个柱。梯度方向直方图的峰值则代表了该特征点处邻域梯度的主方向,即作为该特征点的主方向。在梯度方向直方图中,当存在另一个相当于主峰值80%能量的峰值时,则将这个方向认为是该特征点的辅方向。一个特征点可能会被指定具有多个方向(一个主方向,一个以上辅方向),这可以增强匹配的鲁棒性。,38,3 SIFT尺度不变特征提取:,4)生成特征描述符,首先将坐标轴旋转为特征点的方向,以保证旋转不变性;接下来以特征点为中心取1616的窗口(特征点所在的行和列不取),39,特征点匹配:1.相关匹配;2.欧式距离;,基本方法,40,基本方法,1.相关匹配;第一幅图像特征点左邻域窗与第二幅图像特征点右邻域窗进行相似度比较,并进行对称性测试,互相进行相似度计算,只有当两个匹配集中的对应点完全一致时,才视为有效匹配。1)灰度差的平方和,41,基本方法,2)归一化的灰度差的平方和3)灰度互相关,42,2.欧式距离;,基本方法,43,基本方法,3-D空间坐标中一个特征点W(x,y,z)通过正交投影后在左右图上分别为:按先平移再旋转的坐标变换对u计算,44,基本方法,平行于XZ平面的一个平面图:,45,注意:仅由稀疏的匹配点并不能唯一地恢复物体外形示例:过这4个点的曲面可以有无穷多个,基本方法,46,顺序性约束:物体可见表面上的特征点与它们在两幅成象图象上投影的顺序正好反过来有遮挡时,图象上投影的顺序不满足顺序性约束,动态规划匹配,47,建立在两条极线上确定的多个特征点之间的对应关系将匹配各特征点对的问题描述为一个在由特征点对应结点的图(graph)上搜索最优路径的问题,动态规划匹配,48,6.5视差图误差检测与校正,视差图产生误差周期性模式、光滑区域的存在,以及遮挡效应、约束原则的不严格性,等等通用快速的视差图误差检测与校正算法直接对视差图进行处理 与产生该视差图的具体立体匹配算法独立计算量仅仅与误匹配象素点的数量成正比,49,1.误差检测顺序匹配约束,6.5视差图误差检测与校正,对点P和Q的Z坐标的限制,50,1.误差检测 检测匹配交叉(顺序匹配约束未满足)区域令PR=fR(i,j)和QR=fR(k,j)为fR(x,y)中第j行中任意两象素,则其在fL(x,y)中的匹配点可分别记为PL=fL(i+d(i,j),j)和QL=fL(k+d(k,j),j)。定义C(PR,QR)为PR和QR间的交叉标号,如果顺序匹配约束满足记为C(PR,QR)=0;否则记为C(PR,QR)=1。对应象素点PR的交叉数(cross number)Nc,6.5视差图误差检测与校正,51,2.误差校正 假设fR(i,j)|i p,q是对应PR的交叉区域,则该区域内所有象素点的总交叉数(total cross number)Ntc为:校正交叉区域中误匹配点(零交叉校正算法)(1)找出具有最大交叉数的象素fR(l,j):,6.5视差图误差检测与校正,52,2.误差校正(2)确定对匹配点fR(k,j)的新搜索范围fL(i,j)|i s,t(3)从该搜索范围中找到能够减小总交叉数Ntc的新匹配点(4)用新匹配点来校正d(k,j),消除对应当前最大交叉数象素的误匹配,6.5视差图误差检测与校正,53,2.误差校正 例,6.5视差图误差检测与校正,54,2.误差校正交叉区域:fR(154,j),fR(162,j)总交叉数:Ntc 28(1)具有最大交叉数的象素:fR(160,j)(2)新匹配点 fR(160,j)的搜索范围为:fL(i,j)|i 181,190,6.5视差图误差检测与校正,55,2.误差校正(3)对应fR(160,j)且能够减小Ntc的新匹配点fL(187,j)(4)将对应fR(160,j)的视差值d(160,j)校正为 d(160,j)=XfL(187,j)XfR(160,j)=27,6.5视差图误差检测与校正,