单目结构光三维视觉测量系统研究
1. 概述
基于单目结构光的三维视觉测量系统采用投影正弦相移光栅加格雷码光栅的方式进行三维测量,整个测量系统由计算机、投影仪、摄像机、图像采集卡和被测物体组成。首先,投影仪将结构光投射至被测物体表面。然后,使用摄像机采集视野内的调制结构光光栅图案,由于被测物体表而各点高度不间,投射结构光的相位发生/偏移,采集到的结构光图案中位含有由被测物体表面轮廓引起的调制信息。最后,使用数字图像处理与计算机视觉算法对采集到的调制光栅图像进行分祈处理,得到被测物体表面三维信息。
2. 项目实施方案
2.1 论文查阅与研究
仔细阅读了《单目结构光三维视觉测量系统研究》-胡华虎,《单摄像机单投影仪结构光三维测量系统标定方法》-耿楷真,《线结构光三维建模相机标定方法》-何祥贤,《光栅投影三维测量关键技术研究》-王建华,《基于编码结构光的三维测量技术研究》-吴加凤,《基于数字光栅投影的结构光三维测量技术与系统研究》-李中伟,《数字投影结构光三维测量方法研究》-张万祯和在网上查阅了一些相关的资料。
2.2 项目流程
1, 硬件(相机+投影仪)的搭建,包括投影仪和摄像机的同步触发;
2, 相机的标定;
3, 投影仪的标定以及系统的标定;
4, 编码图案的生成,例如基于格雷码+相移的结构光pattern生成;
5, 将编码图案烧录进投影仪中;
6, 投射图案到物体上并拍摄被调制后的图案;
7, 解码图案并生成点云文件;
8, 点云后处理操作,包括三角化等处理;
9, 显示重建效果
3. 项目实施/开发过程
3.1 开发日志
准备和初步调试了项目所需要的仪器设备——DLP4500投影仪,balser相机,所用到的软件——QT,Pylon,LightCrafter4500。深入研究了结构光编码中关于格雷码的编码方案和基本原理,结构光编码中关于相移法以及格雷码结合相移法的编码方案和基本原理,光栅图案生成与采集和基本原理,正弦光栅调制图像非正弦化问题,格雷码图像解码,最优掩码图像的原理,相移法图像解码,相移编码加格雷编码解码的原理,系统参数标定,摄像机标定的原理,设计参数坐标系,基于分块单应性矩阵的投影仪标定。实现摄像机硬件触发参数设置,设计投影仪和相机的接线。正确连接投影仪和相机触发信号输入输出引脚,让相机稳定接收来自投影仪的触发信号。
3.2 QT软件GUI界面设计
下载并配置了QT软件,并学习如何使用和操作。更进一步学习QT软件的使用,掌握设计GUI界面的其他控件。通过自学和浏览QT软件的使用步骤,初步尝试了使用QT设计GUI界面,明白了信号与槽的原理,实现了设计一个按钮触发的功能。尝试设计了控制balser相机的GUI界面,目前功能还没实现,计划实现的功能有1.实现相机的连接2.打开相机的外部触发模式,接受来自DLP4500的触发信号,实现投一张图案拍一张图片,并将图片保存在当前文件夹中。尝试设计了单目结构光三维重建的GUI界面,显示每个模块的界面(“首页”,“图像采集”,“标定”,“解码”,“重建”,“帮助”)。在QT项目的.pro文件中添加如下代码,导入相应的lib文件,测试相机和投影仪的连接情况:使用pylon软件查看balser相机是否连接成功,使用LightCrafter4500软件调试投影仪的投影,导入相关的头文件。编写代码,打开外部触发模式,设置相应的触发参数,让相机能有效处理触发信号,实现触发拍照。
3.3 结构光编码和格雷码
结构光编码从实现原理角度分类,大致可分为两大类:时间编码方案和空间编码方案。其中时间编码方案是最常用的编码方案,该方案根据投射图案的时间顺序进行编码,将一系列的编码图案连续投射至被测物体表面,每一像素点的编码值均通过一系列编码图案上对应位置处的像素值确定。时间编码方案中主要包括二进制编码、灰度编码、相移编码和格雷码等。这种编码方案容易实现,可以获得较髙的测景精度,抗干扰能力较强,能够适应各种复杂测量 环境,且鲁棒性较高。但是,该方案需要投射多幅编码图案,因此测量效率较低,使得该方案仅适用于对静态场景的三维测量。空间编码方案大多采用单一的编码图案,只需要投射单幅编码图案即可完成三维信息的测量。图案中每个像素点的编码值可根据其邻域内其他像素点的信息确定,如颜色信息、几何信息等,若邻域内其它像素点的信息丢失,则会导致解码错误。空间编码方案主要包括非正式编码、DeBmijin序列编码和M-阵列编码等。由于空间编码方案只需要投射单 幅编码图案,因此测量效率高,适用于动态场景的三维测量。但是,由于单幅编码图案携带的信息有限,所以该编码方案测量精度不高、鲁棒性较低、容易引入测量误差,且编码和解码过程比较复杂。比如若存在遮挡关系或者阴影,容易 使得某些点的编码信息不能正确的获得,造成解码错误,因此该编码方案不适用 于环境复杂场景。格雷码(Gray code)是由Frank Gray等人于1953年提出,该编码与二进制编码一样都只用1和0组成。在一组二进制数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码。并且,在格雷码中,最大数与最小数之间也仅有一位数不同,即“首尾相连”,所以也称为循环码或反射码。它是一种可靠性编码,两个码字之间的汉明距离为1,是一种错误最小化的编码方式。格雷码也可以与二进制、十进制编码相互转换,如表3.2为格雷码与二进制码和十进制码之间的对应转换关系。
3.4 光栅图案生成与采集和基本原理
在理论上.要使得格雷码的解码周期即编码格雷码光栅划分的条纹区域与解码得到的相位主值周期一致,必须使得格雷码光栅最小栅距为相移光栅周期的4倍,并且编码光栅与相移光栅的投射范围必须严格一致。
由于环境光、被测物体表面纹理以及投影仪投射系统和摄像机采集系统多方面的因素影响,如一般商用投影仪灯泡亮度调节范围有限、8bit工业摄像机的CCD传感器接收光的能力有限。因此,在获取正弦调制光栅图案的过程中,采集到的图像中会出现过亮和过暗的区域,表现到每一个像素点上的现象为:编码结构光图像上灰度值较大的像素点在采集到的调制图像中像素值均为255;编码结构光图像上灰度值较小的像素点在采集到的调制图像中像素值均为0。从而造成采集的调制图像非正弦化。
3.5 格雷码图像解码
格雷码的解码过程可以看作是编码过程的逆过程。在编码中,需要将二进制码值转换为格雷码;解码的基本思路就是将摄像机采集到的格雷码值转换为二进制码值。通常,这种转换有两种方法,一种是查表法,即通过表格列出格雷码值和二进制码值之间的一一对应关系,该方法较简单,但在程序中实现表格查找开销较大,不宜实际应用;另一种方法是公式法,此方法较方便,是最常用的转换方法。
对于采集到的格雷码图案,解码过程大致可分为三步:
(1)选用合适的二值化方法对采集到的格雷码图案进行二值化,将图像转换为只有两个灰度等级0和1的二值图像,则每个像素点对应的图案序列中的0或1编码即为该像素的格雷码编码值。如图3.13所示为按时间顺序投射的4幅格雷码光栅,图片下方即为每个像素点的编码值。
(2)将格雷码转换为二进制码。
(3)将二进制码转换为对应的十进制数,做为解码结果。
版权声明:
1.大文斗范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《单目结构光三维视觉测量系统研究》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。
