摘要:利用结构光获取待测物体的三维信息,其操作简便、成本较低、能够快速成像,在保护文物、生物医疗、逆向工程等领域有广泛的应用。为了在三维重构场景下快速获取待测物体的三维信息,设计了一种无标定的嵌入式三维视觉系统,利用数字微镜器件高速开关特性,产生基于时间调制的格雷码结构光,实现了无标定三维信息的快速获取。其中包括结构光编码、图像二值化、结构光解码、结构光畸变量获取和生成三维点云等步骤。实验结果表明,该系统极大简化了三维信息的获取步骤和运算过程。
关键词:数字微镜器件;结构光;嵌入式;系统设计;无标定算法;三维信息获取
0 引言
目前获取物体的三维信息方式主要为无接触式。大部分无接触式测量方法均采用光学进行测探,在保护待测物体不受损坏的同时还可以大幅提高三维信息获取的速度。
无接触式三维测量方法分为主动式测量和被动式测量。被动式测量时通过多个相机经过校准后从多个不同的角度对待测物体成像,并通过对比图像之间关系来获取待测物体的三维信息。但是被动式测量获取的三维信息质量取决于物体本身纹理,因此该方法成像密度低,质量差。主动式测量则使用一个相机代替多个相机,通过投射一系列特定图案的结构光到待测物体表面,可以使相机可拍摄的纹理数目大幅增加,且能够根据具体环境设置结构光的纹理图案和纹理数目。因此,主动式测量能够摆脱对物体本身纹理的依赖,减小了设备复杂度,大幅提高了三维信息获取的质量和速度。
在物体三维信息提取之前,还需要对系统中的图像捕获设备和产生结构光的投影设备进行标定,此标定过程需要耗费大量的时间和计算资源。因此可以通过产生多种不同的结构光,通过相互之间的对比关联获取物体的三维信息,从而回避繁琐复杂的设备标定操作。因此需要可以高速产生结构光的投影设备代替普通投影仪来加速图像采样过程。
数字微镜器件集成微机电系统和空间光调制于一体,凭借其高速的开关速度,非常适用于需要高速产生结构光的主动式无标定三维信息测量之中。本文将介绍自主研发设计,集成ARM和FPGA的数字微镜驱动系统,通过分析待测物体三维信息获取的原理,利用此系统能够快速、准确地完成待测物体三维信息的提取。
1 嵌入式三维信息采集系统
1.1 嵌入式硬件系统组成与数字微镜器件介绍
整个三维信息采集系统由以多核嵌入式ARM架构芯片为核心的系统控制及图像处理模块、以FPGA为核心的结构光模组驱动模块、数字微镜光学投影模块、图像捕获模块构成,功能结构如图1所示。嵌入式系统控制图像捕获模块与结构光驱动威廉希尔官方网站 的同步,使得投影模块将结构光图案投射到待测物体上时,图像捕获模块可以立即进行图像捕获,减少时间冗余,提高图像采集速度,本系统使用了多核嵌入式ARM架构芯片处理捕获得到的图像,使整个系统小巧、便携、方便多场景使用。
在三维信息采集系统完成结构光图案的投射和图像捕获后,系统对捕获的含有待测物体表面图案畸变信息的图片进行处理,分别包括图像二值化、结构光解码、获取畸变量和三维信息提取等步骤。
图1 系统功能结构图
如图2所示,硬件系统采用了FPGA作为数字微镜驱动芯片,高通IMX系列CPU作为主处理器,两片芯片各带有两片DDR3,和USB、eMMC等外设。FPGA负责驱动数字微镜芯片和数字微镜复位芯片,通过高速LVDS接口与数字微镜器件进行通信。i.MX系列CPU在视频捕获、视频处理方面较为成熟,系统采用两路摄像头作为图片或视频输入源,兼容了最新的MIPI接口,以满足不同摄像头的输入要求,可适应多场景使用。主处理器在成功提取待测物体的三维信息后,通过USB口上传至电脑显示三维还原结果。
图2 硬件系统结构图
数字微镜器件是一种由CMOS衬底、转动铰链、镜架、弹簧端点、反射镜构成的快速、反射式光开关,其结构如图3所示。
图3 数字微镜器件结构图
镜子共有三种状态,当镜子无旋转角度时,为初始状态;当镜子旋转+12°时,为开状态,反射来自光源的光到投射屏幕上;当镜子旋转-12°时,为关状态,反射来自光源的光到光吸收装置中,投射屏幕呈现黑色效果(不同数字微镜器件其偏转角度有所不同)。镜子的旋转角度由CMOS输出信号决定,如图4所示,数字微镜的镜片由偏置电极施加偏置电压,这样当CMOS存储单元输出逻辑为“0”或“1”所形成的寻址电压时,寻址电极处形成电场力,转动铰链带动镜子旋转,直到达到弹簧端点为止。数字微镜器件的高速开关特性使其适用于高速投影方面的应用。本系统所采用的是0.7英寸,分辨率为1024 X 768的数字微镜器件,输入时钟频率为400 MHz,数据接口位宽为32 bit,控制位宽2 bit,数据传输速率高达25.6 Gpbs,二进制图案帧率高达32 kHz,完全满足本系统要求。
图4 数字微镜器件原理图
1.2 工作原理分析
如图5所示,结构光向参考平面照射一束光带,光带经过待测物体时形成畸变,通过相机捕获这一畸变量,就可以得到这一束光带经过的待测物体的高度。经过多组不同数目、不同图案的光带照射后,可较全面的获取待测物体的三维信息。设相机平面与参考平面比例系数为K,结构光与参考平面的法线夹角为θ,待测物体表面P点的高度为H,结构光在待测物体表面P点引起的畸变量为d,相机成像对应的畸变量为d',则可以得到d'与实际待测物体表面高度H的关系为公式(1)和公式(2)所示:
图5 结构光扫描示意图
1.3 结构光编解码方案
从上节可知,为了区分每条光带的位置,可以对光带进行编码,最直接的方式是采用不同灰阶进行编码,但如果采用灰阶编码,则对相机分辨率和环境要求很高,在解码时会遇到很大困难。因此可以连续将多幅结构光产生的二进制光栅图案,“1”代表投射白色光束,“0”代表投射黑色光束,以比特面的形式按权重顺序投射在待测物体表面,光栅按照黑白相间水平或垂直排布。通过相机捕获光栅图案即可确定每条光带的编码值,从而得到光栅在待测物体表面的畸变信息。若投影水平像素个数为M的垂直光栅图案,则可由公式(3)生成,x,y表示图像坐标,n表示第n幅投影图像。结果如图6所示。
图6 二进制结构光编码图案
光栅图案的编码方案分为直接二进制编码和格雷码编码。如图7所示,由于直接二进制编码会有像素点始终处于黑白光栅的边缘,因此这种编码方式对噪声十分敏感。而格雷码编码方式则不会产生这种情况,误差会大大减小。且在同等权重的比特面中,格雷码的光栅宽度比直接二进制码的宽度大一倍,简化了相机的图像捕获难度。
图7 直接二进制编码与格雷码编码图案对比
格雷码编码可由直接二进制码异或逻辑得到,如公式(4)所示。
2 基于数字微镜器件的三维信息获取设计
2.1 捕获图像的二值化算法
在图像捕获设备捕获到所有的携带有畸变信息的光栅图案后,首先要做的是图像二值化,方便后续处理。此处共有两种二值化方案,一种为取结构光投射全白图案和投射全黑图案投射时捕获的图像亮度平均值,如公式(5)所示。
另一种二值化方法是使用互为反相的结构光图案投射在物体表面,采用互补结构光光栅图案分别投射到待测物体表面,比较两幅图像中的像素点,如第一幅图像的亮度值大于第二幅图像,则认为坐标为(x,y)的像素点p(x,y)= 1,反之,p(x,y)= 0。互为反相的结构光图案使需要投射的图像数目加倍,但可以省去二值化阈值的计算,避免亮度不均匀时造成的阈值不准确,使图像二值化更准确快捷。且由于数字微镜器件的快速开关性能,投射加倍图像增加的时间可忽略不计。二值化前后如图8所示。
图8 图像二值化前后对比
2.2 结构光解码及畸变量获取
图像二值化的工作完成后,首先要将格雷码编码的图像还原成直接二进制码编码的图像,然后根据图像中的畸变光带提取出待测物体的畸变信息。
其中,格雷码还原为二进制码的编码图像过程如公式(6)所示,为公式(4)的逆过程。
格雷码还原为二进制码的图像如图9所示。
图9 还原后的二进制码图像
最后,利用公式(7)可以从还原得到的二进制编码图像提取其中的光栅图案的畸变量。
由于图像捕获设备与参考平面及待测物体间不可能完全平行,会存在一定的角度,导致水平方向上的一个线性畸变,若想消除这个畸变,则需要事先使用不同高度的标准待测物体得到其线性畸变参数。经过试验测量,得到其线性畸变参数如图10所示。
图10 标准水平畸变
将待测物体的畸变量对应为待测物体高度,并使用之前的畸变量与水平坐标的线性系数进行修正。
最后,为了去除环境背景的影响,事先将不含有待测物体的环境进行上述二值化、编解码、畸变量提取和水平畸变矫正等操作,然后用含有待测物体的处理结果减去环境背景,可得到仅由待测物体产生的畸变量,经过畸变量与水平坐标的线性系数修正,去除环境背景的影响,可以令无标定的三维视觉系统精度得到提高。畸变量转换为三维图像如图11所示。
图11 还原三维图像
3 结束语
本文介绍了自主设计的,以ARM + FPGA为架构,基于数字微镜器件的嵌入式三维信息采集系统,相比于普通的投影仪,本系统的投影刷新速度更快,控制接口众多,便携,适用于多种场合。本文还提出了一种三维信息获取算法,通过利用结构光的快速开关特性,大幅提高了三维信息获取速度。但本系统也存在一系列的不足之处。在二值化过程中,阴影区域可以采用一定的算法加以剔除,使最后的成像更为精确。此外,由于本系统采用了无标定算法,在提高三维信息获取速度的同时,精度也有所降低。由此提出的改进算法为,可以通过投射水平方向光栅、斜向光栅等多种光栅图案,充分利用数字微镜器件的高速开关性能,在短时间内快速采集不同结构光图案的畸变图片,并进行处理,将从不同图案中提取的畸变量进行联合处理,可快速恢复出精确度更高的三维图像。
全部0条评论
快来发表一下你的评论吧 !