双目视觉基本原理
- 格式:pdf
- 大小:290.88 KB
- 文档页数:4
Bumblebee双目测量基本原理
一.双目视觉原理: 双目立体视觉三维测量是基于视差原理。
左图像右图像左像机光轴右像机光轴
基线距 BYY(,,)cccPxyz
leftXrightX 图 双目立体成像原理 其中基线距B=两摄像机的投影中心连线的距离;相机焦距为f。
设两摄像机在同一时刻观看空间物体的同一特征点(,,)cccPxyz,分别在“左眼”和“右
眼”上获取了点P的图像,它们的图像坐标分别为(,)leftleftleftpXY,(,)rightrightrightpXY。
现两摄像机的图像在同一个平面上,则特征点P的图像坐标Y坐标相同,即
leftrightYYY,则由三角几何关系得到:
()cleftccrightcccxXfzxBXfzyYfz (1-1)
则视差为:leftrightDisparityXX。由此可计算出特征点P在相机坐标系下的三维
坐标为:
leftc
c
cBXxDisparityBYyDisparityBfzDisparity
(1-2) 因此,左相机像面上的任意一点只要能在右相机像面上找到对应的匹配点,就可以确定
出该点的三维坐标。这种方法是完全的点对点运算,像面上所有点只要存在相应的匹配点,就可以参与上述运算,从而获取其对应的三维坐标。 二.立体视觉测量过程
1. 图像获取
(1) 单台相机移动获取
(2) 双台相机获取:可有不同位置关系(一直线上、一平面上、立体分布)
2. 相机标定:确定空间坐标系中物体点同它在图像平面上像点之间的对应关系。
(1) 内部参数:相机内部几何、光学参数
(2) 外部参数:相机坐标系与世界坐标系的转换
3. 图像预处理和特征提取
预处理:主要包括图像对比度的增强、随机噪声的去除、滤波和图像的增强、伪彩色处
理等;
特征提取:常用的匹配特征主要有点状特征、线状特征和区域特征等 4. 立体匹配:根据对所选特征的计算,建立特征之间的对应关系,将同一个空间物理点在
不同图像中的映像点对应起来。
立体匹配有三个基本的步骤组成:1)从立体图像对中的一幅图像如左图上选择与实际物
理结构相应的图像特征;2)在另一幅图像如右图中确定出同一物理结构的对应图像特征;3)
确定这两个特征之间的相对位置,得到视差。其中的步骤2是实现匹配的关键。 5. 深度确定
通过立体匹配得到视差图像之后,便可以确定深度图像,并恢复场景3-D信息。
三.Triclops库中的数据流程
Triclops库中的数据流程如下图所示。系统首先从相机模型中获得raw格式的图像,最
终将其处理成深度图像。在系统中有两个主要的处理模块。第一个处理模块是一个应用了低
通滤波、图像校正和边缘检测的预处理模块。第二个处理模块用来做立体匹配、结果确认和
亚像素插值。最后的处理结果就是一幅深度图像。
1.预处理(Pre-processing) 为了校正一幅图像,事先对其进行平滑是非常重要的。所以如果要校正一幅图像,事先
将低通滤波器打开是很好的方法。当然不使用低通滤波器同样可以校正图像,但校正后的图
像可能会出现混淆的现象。如果要提高处理速度,可以将低通滤波器关掉。
2.校正(Rectification)
校正是用来修正镜头所产生的畸变的。在原始图像中可以看到镜头所带来的这种畸变。
例如,场景中的一条直线在原始图像中会变成一条曲线,这种效果在图像的边角处尤为明显。
校正就是为了修正这种类型的畸变。
进一步来讲,如果没有正确的校正,那么沿着行或者列所做的特征搜索将可能产生错误
的结果。 3.边缘检测(Edge detection)
边缘检测为任选特性,它使用亮度的变化来匹配特征。当系统中的相机具有自动增益功
能时,这项功能是非常有用的。如果每个相机的自动增益的变化是不一致的,那么图像间的
绝对亮度是不一致的,而虽然绝对亮度是不一致的,但亮度的变化却是一个常数。因此边缘
检测适用于光照有很大变化的环境当中。虽然边缘检测可以改善检测的结果,但这相当于又
引入了另外的处理步骤,因此要权衡结果的改善状况和速度之间的关系来使用这项功能。
注意,确认功能仅在边缘检测模式下有效。 4.立体处理(Stereo processing)
使用绝对方差相关性计算:
22max
min22minmm
mmdrightleftddijIxiyjIxidyj
其中:mind和maxd是最小和最大视差(disparity) m是模板尺寸(mask size)
rightI和leftI是右边和左边的图像
5.视差范围(Disparity range)
视差范围是立体算法为了在两幅图像中搜寻最佳匹时,所搜寻的像素的范围。在Triclops
系统中0个像素的视差代表了无穷远处的物体。最大的视差定义了能被检测到的最近的物
体。我们需要根据实际的任务来设置合适的视差范围。减小视差范围可以加快系统的运行速
度,并降低误匹配的几率。 6.相关模板(Correlation mask) 相关模板是围绕着一个像素的一个正方形邻域,这个像素就是系统想要为其寻找匹配的
像素。我们可以设定这个相关模板的尺寸。大的模板会产生更密集更平滑的深度图像,然而,
在识别不连续深度位置的精度上会有所欠缺。另一方面,小的模板所产生的图像较为稀疏且
会有更多的噪声,但在定位不连续深度的时候会有上佳的表现。
为了生成相同的结果,模板的尺寸要与被处理图像的分辨率成一定的比例。就是说为了
得到具有可比性的结果,对于160x120图像的5x5的模板,对于320x240图像的时候模板要
增大到9x9。模板的尺寸必须是奇数。3x3,5x5,7x7是有效的模板尺寸,而4x4,6x6,8x8
则是无效的模板尺寸。Triclops提供了最大为15x15和最小为1x1的模板。另外,Triclops
中提供了一个新的用于实验的函数:troclopsSetAnyStereoMask,这个函数允许用户设置任意
尺寸的相关模板。 7.确认(Validation)
在一些情况下,例如封闭的缺乏变化的质地,是无法建立图像之间的相关的。如果相关
建立的不正确,那么测量的结果也就是不正确的了。为了避免不正确的测量,系统引入了两
个确认的方法: 质地确认(Texture validation)是基于相关模板的质地的水平的,它决定了视差值是否
有效。如果质地的水平不足以产生一个正确的匹配,这个像素就会被声明为无效。 唯一性确认(Uniqueness validation)是指对于一个特定像素的最佳匹配和这个相关模板
下的其他匹配比起来是不是足够好。即使相关模板的质地满足要求,由于封闭的原因,
可能还是得不到正确的匹配。如果相关的结果不足够强,这个像素就会被声明为无效。
用户可以设定两个阈值来控制确认的严格程度—一个是质地另一个是唯一性。