基于动态参数控制的结构光三维扫描系统
2013-10-08沈杭锦吴以凡吴燕萍
沈杭锦,吴以凡,张 桦,吴燕萍
(杭州电子科技大学计算机应用技术研究所,浙江杭州310018)
0 引言
随着光学技术和计算机技术的兴起和发展,光学三维测量法已成为测量三维物体尺寸的发展方向,它具有测量快速、准确等特点[1],其中结构光三维测量方法以其自动化程度高、造价低廉等优点广泛用于CAD、逆向工程、快速原形等领域[2]。格雷码结构光测量法是编码结构光测量法中一个重要分支,格雷码编码结构光编码简单健壮,测量范围大,不受物体表面高低起伏的影响[3]。基于格雷码结构光三维扫描系统要求实验场景是封闭不透光的暗室,如文献[1]中的三维人体测量系统都要求实验环境为暗室。但实际实验环境往往存在外界光照,被测物体表面接收到除来自投影仪以外的光照,导致物体表面光照强度过强,从而导致在结构光扫描过程中拍摄得到的照片变得亮度过高或者产生曝光过度。基于此问题,本文提出动态控制参数这一方法,即利用软件编程实现对摄像头的增益水平调整和投影仪的投射光强调整,得到曝光正常且拍摄清晰的物体表面照片,从而得到精确的实验数据。
1 系统设计
1.1 系统硬件平台
本文使用投影仪和摄像头构建与被测物体成三角关系的测量系统,由投影仪向被测物体表面投射格雷码结构光条纹,并由摄像头拍摄被物体调制后的变形条纹图片。系统硬件平台及系统示意图如图1所示。图1(a)(d)分别为摄像头、投影仪、三角支架、结构光扫描示意图。
图1 系统硬件平台及系统框架
1.2 系统软件处理流程
本文以张正友棋盘格标定算法对摄像头和投影仪进行标定,分别得到摄像头和投影仪的内参矩阵和畸变系数。接着由投影仪投射出一张全白图片到被测物体表面并由摄像头进行拍摄,将拍摄到的图片进行示直方图分析,判断是否曝光过度,若曝光过度,则减小摄像头增益水平和投影仪的投射光强这两个动态参数使拍摄到的照片质量达到最佳。然后进行格雷码结构光三维扫描,由投影仪依时间序列向被测物体表面投射格雷码编码图案,由摄像头拍摄投射到被测物体表面的时间序列编码图案[5],计算机对拍摄到的一系列图片结合三角测量法原理[6]计算得出物体表面的空间三维坐标值并通过点云图片形式呈现出来。
动态控制摄像头增益和投影仪投射光强的格雷码结构光三维扫描系统的流程图如图2所示。
图2 系统流程图
以三角测量法为原理的被测物体表面的空间三维坐标值的计算公式为:
式中,摄像头象素行数N和列数M可人为设定,象素坐标n,m可以在图像上得到,投射角α通过格雷码的编码和解码计算得到,其他参数可以通过摄像头和投影仪标定得到。当点的数量足够多的时候,就可以得到被测物体表面的三维坐标信息。
2 实验结果及分析
本文在Visual Studio 2010开发环境下结合OpenCV进行软件平台的开发,通过编程实现对摄像头的增益水平和投影仪的投射光强的实时调节。
在实际拍摄过程中,由于实验环境中存在自然光,物体表面接收到了这些光源的照射,则会导致物体表面出现高反光的情况。图3(a)(d)分别为投影仪投射出全白图案时摄像头拍摄到的照片、直方图分析图、格雷码解码后深度信息图、三维坐标点重构后点云图片。若此时维持与暗室相同的摄像头增益水平和投影仪投射光强时,从图3(a)中可以发现热水瓶表面出现了强烈的反光。对此时的照片通过直方图处理分析发现,直方图中央和中央偏右的地方出现了两个非常明显的波峰,说明照片出现了曝光过度的情况。若此时不减小摄像头的增益水平或者投影仪的投射光强而进行结构光三维扫描,得出的结果如图3(c)、(d)图片所示。从图3(c)、(d)可以发现,热水瓶解码后的深度信息图表面丢失了很多纹理细节并且边缘轮廓模糊,最后导致三维点云重构后点云稀疏同时产生很多噪声。
图3 未调节参数拍摄图片及扫描结果
为了得到理想的深度信息图片和清晰的点云重构图片,减小摄像头的增益水平同时降低投影仪的投射光强,再次进行拍摄并进行相应的直方图处理。图4(a)(d)分别为投影仪投射出全白图案时摄像头拍摄到的照片、直方图分析图、格雷码解码后深度信息图、三维坐标点重构后点云图片。从图4(a)、(b)两张图片发现,摄像头拍摄到的图片亮度明显变暗,热水瓶表面没有出刺眼的反光,并且从其对应的直方图中也没有出现异常凸起的波峰,说明此时照片没有出现曝光过度的情况。然后进行结构光三维扫描,得到深度信息图片和点云重构图片。从图4中可以明显发现,当减小摄像头的增益水平或者投影仪的投射光强后,解码出来的热水瓶表面呈现出更多的纹理细节并且轮廓清晰,点云显得更加紧密细致。
图4 动态调节参数后拍摄图片及扫描结果
3 结束语
本文使用格雷码编码结构光进行物体的三维扫描,通过摄像头和投影仪标定得出的参数结合格雷码解码计算得到物体表面的三维坐标值并以点云图片呈现。针对实验拍摄过程中物体表面受到外界光照的影响这个问题,通过动态控制扫描过程中的两个参数,即减小摄像头的增益水平和投影仪的投射强度,经实验发现,该方法可有效提高被测物体表面三维坐标值的计算精度,使点云重构后更加完整。
[1]陈益松,夏明,林琳.光栅相移法用于三维人体测量的实验研究[J].纺织学报,2013,34(6):83-87.
[2]于晓洋,吴海滨,尹丽萍,等.格雷码与相移结合的结构光三维测量技术[J].仪器仪表学报,2007,28(12):2 152-2 157.
[3]陈彦军,左旺孟,王宽全,等.结构光编码方法综述[J].小型微型计算机系统,2010,31(9):1 856-1 863.
[4]Zhang Zhengyou.A flexible new technique for camera calibration [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(11):1 330 -1 334.
[5]张超,杨华民,韩成,等.基于格雷码结构光的编解码研究[J].长春理工大学学报(自然科学版),2009,32(4):635-638.
[6]陈益松,夏明.光学三角测量法及其在人体测量中的应用[J].纺织学报,2012,33(12):95-101.