双目立体视觉原理大揭秘(二)
——三维重构
双目立体视觉是一门有着广阔应用前景的学科,根据双目立体视觉CCAS提供的思路及组成原理,随着光学、电子学以及计算机技术的发展,将不断进步,逐渐实用化,不仅将成为工业检测、生物医学、虚拟现实等领域的关键技术,还有可能应用于航天遥测、军事侦察等领域。目前在国外,双目体视技术已广泛应用于生产、生 活中。双目立体视觉是计算机视觉的一个重要分支,单从双目视觉的应用来说,主要分为四大部分:
一 双目视觉导航、定位;二 三维重构;三 双目立体测量;四 空间三维立体跟踪。
前文介绍过基于双目立体视觉的导航、定位原理,本文再介绍下基于CCAS双目立体视觉的三维重构。
基于双目立体视觉的三维重构其基本原理也是模拟人眼并利用空间几何模型推导出相应的算法来解决实际问题。本文以服装设计中关于人体轮廓还原案例做一说明。为了便于理解,本文仅说明案例中一个视角的双目系统,下图是已经重构完成的模型:
很容易发现,上图的三维模型是获取实际物体的轮廓角点,得到各个角点的三维坐标然后重构而成。一般在这种项目中需要用到多套双目视觉系统,因为一套系统是无法获取到物体的所有特征点的。单独一套系统获取到多个点坐标后再进行坐标转换,从而实现精确的三维重构。
基于双目视觉的三维重构,其典型特点是:一、需要获取的特征点较多;二、速度要求不高,一般几分钟或更多时间才完成一个模型重构;三、对现场光照条件要求较高。根据双目立体视觉CCAS的原理,一般分为以下步骤:
第一、相机标定。首先先对双目系统中的每一个相机进行标定,确认相机的畸变系数和内参矩阵。因为不同的相机、镜头在拍摄图像时的畸变和参数都不同,所以需要通过标定确认所选相机的参数。一般用二阶畸变系数k1、k2内参矩阵来衡量。
第二、双目标定。得到单相机的参数后,再预备一个已知世界坐标系(一般用高精度双目标定板)作为参考,用双相机从不同的角度去拍摄该标定板。两相机拍摄的是相同物体,单由于角度不同,必然产生不同的两张图像,分别计算两张图像的图像坐标再和实际标定板的坐标匹配就可以得到当前双相机的位置参数。一般用平移向量和旋转矩阵来描述。
到目前为止,双目系统的标定工作就完成了,也可以叫该系统在当前位置下的初始化设置。接下来就可以用该双目系统去对具体物体进行拍摄处理了。
第三、提取双相机视场范围内的特征点。在本案例中,通过有效光照对服装褶皱处的角点进行图像处理(二值化、边缘提取、去噪等)后,得到一系列特征点在左右相机图像中的平面坐标X、Y。
第四、根据双目立体视觉CCAS的立体匹配原理——极限约束公式。把第三步提取到的特征点在左右相机视场中的X、Y坐标带入,就可以实现同名点匹配(同名点:物体上相同特征点在左右相机中的点)。根据之前已经标定好的平移向量、旋转矩阵参数,就可以计算出这些特征点的X、Y、Z坐标。
第五、将得到特征点的三维坐标放入三维坐标系就可以得到物体的轮廓模型。当然提取的特征点越多,模型的精度就越高,同时对相机的分辨率要求也越高。
最后对精度做一说明:不管是基于双目系统做什么样的应用,精度是所有项目都需要考虑的。一般来说,最终的精度受以下几点影响:相机的分辨率、被测物的大小、相机基线距离和工作距离(具体概念可参照CCAS使用说明)、现场光照条件、图像分割算法。基于双目视觉的三维重构就讲这么多,后面继续说基于双目视觉的“立体测量”和“空间三维跟踪”。