----追光逐电 光赢未来----
我用结构光模块做过实验,主要考虑有效工作距离,精度和视场角是否满足需求。
本文对结构光(Structured Light)技术做一个比较全面的简介。
结构光三维成像的硬件主要由相机和投射器组成,结构光就是通过投射器投射到被测物体表面的主动结构信息,如激光条纹、格雷码、正弦条纹等;然后,通过单个或多个相机拍摄被测表面即得结构光图像;最后,基于三角测量原理经过图像三维解析计算从而实现三维重建。
利用红外相机像素点信息求解被测物体深度信息需要经过:机构光解码、像素、空间坐标转换;为了满足获取深度信息的实时性,结构光模块内部一般会有一枚专用的处理芯片,用于计算并输出实时信息。
基于结构光的三维成像,实际上是三维参数的测量与重现,主要是区别于纯粹的像双目立体视觉之类的被动三维测量技术,因而被称为主动三维测量。因为他需要主动去投射结构光到被测物体上,通过结构光的变形(或者飞行时间等)来确定被测物的尺寸参数,因此才叫做主动三维测量,嗯,相当主动。
首先,结构光的类型就分为很多种,既然是结构光,当然是将光结构化,简单的结构化包括点结构光,线结构光以及简单的面结构光等。复杂一点的结构化就上升到光学图案的编码了。结构光投射到待测物表面后被待测物的高度调制,被调制的结构光经摄像系统采集,传送至计算机内分析计算后可得出被测物的三维面形数据。其中调制方式可分为时间调制与空间调制两大类。时间调制方法中最常用的是飞行时间法,该方法记录了光脉冲在空间的飞行时间,通过飞行时间解算待测物的面形信息;空间调制方法为结构光场的相位、光强等性质被待测物的高度调制后都会产生变化,根据读取这些性质的变化就可得出待测物的面形信息。
下面以一种应用广泛的光栅投影技术(条纹投影技术)为例来阐述其具体原理。条纹投影技术实际上属于广义上的面结构光。其主要原理如下图所示, 即通过计算机编程产生正弦条纹,将该正弦条纹通过投影设备投影至被测物,利用CCD相机拍摄条纹受物体调制的弯曲程度,解调该弯曲条纹得到相位,再将相位转化为全场的高度。当然其中至关重要的一点就是系统的标定,包括系统几何参数的标定和CCD相机以及投影设备的内部参数标定,否则很可能产生误差或者误差耦合。因为系统外部参数不标定则不可能由相位计算出正确的高度信息。
总体而言,结构光主要可以分为两类
1. 线扫描结构光;
2. 面阵结构光。
1. 线扫描结构光
1.1 数学基础
先来看一个简单的二维下的情况:
由上图可知:
可得
将之推广至三维空间中
:
由小孔成像模型有
由三角测量原理又有
两式联立则有
最后可得
1.2 应用
代入平面方程中,可得
2. 面阵结构光
1. 时序编码;
2. 空间编码。
2.1 时序编码
注意观察即可看到gray code和binary code在前几行像素上的不同
转换算法:
个条带的影响。如下图中M = 3, N = 3时图中有27条条带。
由以上的介绍也可以得出时序编码结构光的优缺点:优点:
· 高精度;
缺点:
· 只适用于静态场景;
· 需要拍摄大量影像。
2.2 空间编码
2.2.1 德布鲁因序列 (De Bruijn) 序列
的循环编码,n为一个编码值的长度。举例:最简单的,k = 2时,采用二进制符号(0, 1),编码值的长度n = 2,可以得到一个长度为
的循环序列:[0, 0, 1, 1]。此时,我们得到4个长度为2的不同的编码:[0, 0], [0, 1], [1, 1], [1, 0].因此,某种结构光就可以按照该德布鲁因序列进行编码。而获得的结构光影像中,以上4个像素的编码为[0, 0, 1, 1],通过一个大小为2的滑动窗口(假定一个结构光光斑或光束的宽度是一个像素)即可获取每个像素的编码值。同样地,如果是经过极线校正的双目图像,只需要搜索对应的行即可,此时只要求编码在x轴上不具备重复性。此时的结构光就是竖直条带状的。当然,为了提高编码效率,也可以使用灰度图、彩色图像等比0-1编码具有更多可能编码值的投影方式。例如,对于RGB影像,采用二进制编码(即某种颜色只有 有、无 两种状态),则共有
k = 5, n = 3)的结构光序列:
2.2.2 二维空间编码
德布鲁因序列是一种一维编码,可以将之扩展到二维空间中,使得对于一个x * y大小的二维空间,其中一个w * h大小的子窗口所包含的编码值在这整个二维编码序列中只出现一次。
· 无需多张照片,只需要一对影像即可进行三维重建。可以满足实时处理,用在动态环境中。
缺点
· 易受噪声干扰:由于反光、照明等原因可能导致成像时部分区域等编码信息缺失;
· 对于空间中的遮挡比较敏感;
· 相较于时序编码结构光精度较低。
来源:机器视觉视觉
申明:感谢原创作者的辛勤付出。本号转载的文章均会在文中注明,若遇到版权问题请联系我们处理。
----与智者为伍 为创新赋能----
联系邮箱:uestcwxd@126.com
QQ:493826566