




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
立体视觉与三维重建
立体视觉系统立体视觉(StereoVision)是从来自两个摄像机的一对图像中获取深度信息的过程,这些摄像机从不同但已知的位置观察同一场景。立体视觉被广泛用于三维导航、三维定位、目标追踪和机器人研究等领域。运动结构恢复(StructurefromMotion)是从来自同一摄像机的一对图像中获取深度和运动信息的过程,这些图像从不同位置查看同一场景。立体视觉系统-世界坐标系中被测目标表面上任一点P(Xw,Yw,Zw),在左相机坐标系中像面上的投影点为pL(uL,vL),在右相机坐标系中像面上的投影点为pR(uR,vR)。用有两个相机的双目视觉系统观察,并且如果能确定像点(uL,vL)和(uR,vR)对应于同一空间特征点P(Xw,Yw,Zw),就可以通过两个像点与相机光心所构成的两直线的交点计算出点P(Xw,Yw,Zw)的确切位置。立体视觉系统双目视觉系统可基于两个相机所采集的图像中两个同源点(HomologousPoints)之间的距离,由三角几何法重建空间三维信息。同源点是空间某点在不同图像中的成像点,又称为共轭点(ConjugatePoints)。它们在图像中的距离差异称为视差(Disparity)。立体视觉系统研究双目系统时一般先要明确研究过程所涉及的以下几种类型的坐标系:世界坐标系。预先在环境中选择的基准三维坐标系,用来描述相机和环境中物体的坐标位置。在双目视觉系统中,一般将左相机坐标系定义为世界坐标系。相机坐标系。以相机光心为原点,光轴为Z轴的三维坐标系。在双目系统中,左右两个相机坐标系可通过旋转和平移进行转换。图像坐标系。相机所成图像的二维坐标系,可以用像素数量描述,也可以用物理尺寸描述。对于相机坐标系中的某个三维空间点,可通过三角投影变换计算得到其在图像坐标系中像点的位置。立体视觉系统若定义左相机坐标系就是世界坐标系,那么世界坐标系中的点Pw(Xw,Yw,Zw)到左相机的图像坐标系中的位置可直接通过三角投影关系计算得到该点在右侧相机图像坐标系中的位置同样可以通过投影变换计算得到平视双目系统一个理想的简化情况假设两个相机相同并且与X轴对齐,我们能找到点Pw的深度Zw的表达式吗?只要左相机像面上的任意一点能在右相机像面上找到同源的匹配点,就可以根据视差确定该点的三维坐标。更进一步,只要被测目标像面上的所有点都可在另一相机中找到同源点,就可以确定被测目标的三维坐标平视双目系统立体视觉系统标定为了能利用立体视觉系统的视差计算三维深度信息,必须首先设法得到立体视觉系统的以下信息:相机的内部参数。包括各相机的焦距、光心以及畸变模型等。相机的外部参数。包括各个相机坐标系与世界坐标系之间的旋转和平移关系。相机间的相对位置关系。包括各个相机坐标系与其他相机坐标系之间的旋转和平移关系,以及多幅图像中同源像点所对应空间点的坐标等。立体视觉系统标定在实际工程实践当中,将获取上述各种信息的过程称为对立体视觉系统的校准(StereoCalibration)过程。为实现对立体视觉系统的校准,通常会让立体视觉系统的各个相机对同一校准点阵进行图像采集,然后根据点阵信息计算各种参数。设双目立体视觉系统中左右相机坐标系相对世界坐标系的旋转和平移矩阵分为(RL,tL)和(RR,tR),则三维世界坐标系中的点Pw(Xw,Yw,Zw)在两个相机坐标系中的坐标PL(XL,YL,ZL)和PR(XR,YR,ZR)可通过坐标旋转和平移得到。用矩阵表示为立体视觉系统标定一般立体视觉系统自然界中不存在两个相同的照相机,因为在制造过程中会引入两个照相机之间始终存在小的对准误差。在实践中,无法确切知道相机光心的确切位置。在水平轴上对齐两个相机非常困难为了使用立体相机,需要知道每个相机的内在外在参数,即相机之间的相对位姿(旋转,平移)→通过相机校准可以解决这个问题一般立体视觉系统为了估计
Pw的3D位置,可以构建左右摄像机的方程组三角剖分是在给定一组相应的图像位置和已知摄像机位姿的情况下确定点的3D位置的问题。一般立体视觉系统目标:识别左右图像中的对应点,它们是同一3D场景点的重投影典型相似性度量:归一化互相关(NCC),平方差总和(SSD),一致性变换一般立体视觉系统在二维图像上搜索在计算上非常昂贵!可以在一维中进行对应搜索吗?一般立体视觉系统极线几何理论可用于研究立体视觉系统各个相机图像中,同源像点之间的关系,它不仅在双目立体视觉图像的对应点匹配有着重要作用,而且在三维重建和运动分析中也具有广泛应用。立体视觉系统中的极线几何常涉及以下几个关键的定义:极线几何与立体匹配向量叉积采用两个向量并返回垂直于两个输入的第三个向量两个平行向量的叉积等于0向量叉积也可以表示为一个斜对称矩阵和一个向量的乘积极线几何理论
极线约束本质矩阵极线几何理论极线约束方程反映了相机坐标系中的两个同源像点p1(x1,y1)和p2(x2,y2)之间的约束关系本质矩阵E(EssentialMatrix)是一个大小为3×3,秩是2的矩阵本质矩阵实际上描述左右相机坐标系之间的旋转和平移关系。它只与相机之间的相对位置有关,与各个相机自身的焦距、光心和传感器像素大小等内部参数无关。本质矩阵仅适用于两个相机坐标系中的同源像点的物理坐标转换,而不能在它们的图像像素坐标之间建立联系。极线几何理论
极线约束基础矩阵极线几何理论极线几何理论立体匹配过程通过单相机和立体视觉系统的校准过程,可以得到同源像点在不同相机坐标系或图像坐标系中坐标之间的关系。要基于视差来计算空间点的深度信息,还需要进一步对图像进行调整(ImageRectification),使两个相机的图像共面且“行对齐”,以简化计算过程。平视双目系统模型虽然可极大地简化深度信息的计算,但它却是一个极为理想化的模型。现实世界中几乎无法使两个相机的像面完全共面,因此无法从物理上实现平视双目系统,而只能最大限度地按照其特点进行近似配置。不过,通过对图像进行畸变校正、旋转平移和行对齐等调整过程,却可以将“近似的平视双目系统”变换为近乎理想的平视双目系统。立体匹配过程立体匹配过程立体匹配过程假定左右相机图像之间的位置关系可由旋转矩阵R和平移向量T表示。让左右图像坐标分别旋转RL和RR,使它们均与两相机光心和投影中心所构成向量的和(亦为向量)平行。虽然分别旋转左右相机坐标可使两图像共面,但两共面图像中的像素行却并不一定对齐。这对实现后续的图像对准过程不利,因此还需要对两图像进行调整。立体匹配过程在左右相机采集到被测目标的原始图像后,图像调整过程会先对各种畸变进行矫正,然后调整左右图像使它们共面且行对齐。对于每个调整后的图像(c)中的整数坐标,图像调整过程都会从矫正图像(b)中找到对应坐标,然后映射到原始图像(a)中的浮点数坐标。然后再用其周围的整数坐标像素值通过插值算法得到浮点坐标处的像素值。而该像素值就作为调整后的图像(c)中整数坐标处的像素灰度。最后通常需要对调整后的左右图像进行剪裁(d),取出用来计算深度信息的交集部分。立体匹配过程立体匹配过程对应点匹配过程通常输出左右图像的视差图(DisparityMap)。视差图以立体视觉系统左右图像中任一幅图像为参考(通常取左图),其大小与参考图像大小相同,但各元素值为左右图像同源点视差值。由于两幅图像同源点之间视差值通常较小,因此一般都会通过一个因子对视差值进行倍增(如乘以16)再进行显示。由于平视双目视觉系统中空间点到相机的距离与视差成反比,因此视差图中的像素越亮(灰度值越大),则表示对应的空间点离相机越近;相反,较暗的像素则表示空间点离相机较远。立体匹配过程寻找对应像素点过程中常用的三条约束分别是:唯一性约束:左图像中的一个给定像素点不能对应于右图像中多于一个像素点单调次序约束:如果在左图像中一个像素位于另一个像素的左边(或者右边),那么在右图像中该像素的对应像素也位于另一像素对应像素的左边(或者右边),反之亦然,也即像素间的次序在左右图像中是保持不变的连续性约束:视差图在图像中的各个区域应该是连续变化的立体匹配过程立体匹配过程立体匹配过程常见的两种对应点匹配算法:块匹配算法(BlockMatching)和半全局匹配算法(Semi-GlobalMatching)。块匹配算法的执行速度较快半全局匹配算法则能提供间隔更小的视差图,并能适应细节较少或几乎无纹理的图像。立体匹配过程常见的两种对应点匹配算法:块匹配算法(BlockMatching)和半全局匹配算法(Semi-GlobalMatching)。块匹配算法的执行速度较快,半全局匹配算法则能提供间隔更小的视差图,并能适应细节较少或几乎无纹理的图像。块匹配算法可分为前置滤波(Prefiltering)、匹配(Correspondence)和后置滤波(Postfiltering)3个阶段。前置滤波主要用来减小图像中的亮度差异,增强图像中的高频细节。该过程可通过Sobel滤波器或归一化响应滤波器(NormalizedResponseFilter)来实现。立体匹配过程而使用该滤波器内核对图像增强时,采用以下方法取值:I=Min[Max(ISobel,-Icap),Icap]归一化响应滤波器通过在图像中滑动尺寸为5×5、7×7或其他奇数大小的窗口(最大为21×21),并通过以下方法来计算窗口中心位置的新像素值:I=Min[Max(ICenter-Iavg,-Icap),Icap]为降低噪声和其他因素的影响,在搜索匹配点时可在右图像中沿极线滑动一个小窗口,并计算左图像中同样大小的窗口内各特征像素点与右侧滑动窗口内各像素之间的绝对值差之和(SumofAbsoluteDifferences,SAD),最后从中选出SAD最小的窗口作为匹配窗口。立体匹配过程对应点匹配过程可通过下述步骤描述:(1)构造一个小窗口(类似卷积核)。(2)用窗口覆盖左边的图像,选择出窗口覆盖区域内的所有像素,包括特征像素。(3)同样用窗口覆盖右边的图像并选择出覆盖区域的像素点。(4)左边覆盖区域减去右边覆盖区域,并求出所有像素点差的绝对值之和(SAD)。(5)移动右边图像的窗口,重复步骤(3)和(4)。(6)找到这个范围内SAD值最小的窗口,即找到了左边图像的最佳匹配的像素块。立体匹配过程后置过滤包括两个步骤:首先,根据用户设定的视差独特性比例(UniquenessRatio)参数和纹理阈值(TextureThreshold)参数,滤除不符合条件的像素点。视差独特性比例参数用于描述有效匹配点的视差相对于其他像素点处视差的独特性,其取值范围为0~100,值越小说明匹配点相对其他像素的独特性越低。纹理阈值参数用来规定某一像素对应的有效匹配点处SAD应达到的最小值。然后再使用斑点滤波器(SpeckleFilter)对剩余像素点进行过滤。斑点滤波器(SpeckleFilter)检查每个像素周围用户指定的窗口范围内的像素,并剔除超出用户设定的斑点范围或窗口视差范围阈值参数的像素。立体匹配过程半全局匹配算法会先计算每个像素点的视差,组成视差图,然后再设置下面和视差图相关的全局能量函数,并使这个能量函数最小,以求解每个像素的最优视差。通过控制惩罚系数P1和P2,并使上述能量函数最小化,就能得到一个理想的视差图。然而,利用上述函数在一个二维图像中寻找最优解是一个极其复杂的问题,耗时特别大,因此需要将函数求解近似分解为多个一维的线性问题。而且每个一维问题都可以用动态规划来解决。因为1个像素有8个相邻像素,因此一般分解为8个一维问题。立体匹配过程若用Lr(p,d)为从当前
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石磨板施工方案(3篇)
- 女神节插花活动策划方案(3篇)
- 活动过程管理策划方案(3篇)
- 长治人证考试题库及答案
- 校园保安测试题目及答案
- 一年级小学生写国庆节的作文(7篇)
- 读流氓兔的故事350字13篇范文
- 四季景色描绘技巧与鉴赏教案
- 时间段与时刻的区别
- 以磨炼为话题的中考作文范文素材13篇
- 广东省广州市越秀区2024年八年级下学期期末英语试卷附答案
- 医疗器械售后服务能力证明资料模板
- (正式版)HGT 4144-2024 工业用二正丁胺
- 幼儿园低结构材料清单
- 注塑标准成型条件表电子表格模板
- 特种作业人员安全培训
- 《健康是1财富是》课件
- 压裂酸化安全要求
- 胆道引流管的护理查房
- 医用耗材赠送协议
- 急诊科质控会议记录
评论
0/150
提交评论