一种基于彩色编码的单目多线结构光光平面匹配方法
发明人:李余诚
技术领域
本发明属于光学三维测量技术领域,具体涉及一种基于彩色编码的单目多线结构光光平面匹配方法。
背景技术
三维测量属于精密测量技术研究领域中的一部分,在工业生产和社会生活中发挥着重要作用。
近些年来,随着医疗、生物、工业的发展,对精密测量的精度和速度等提出了更高的要求。目前的三维测量方法可大致分为两种:接触式与非接触式。接触式三维测量系统主要以坐标测量仪为代表,测量精度高、效果好,但技术路线较为复杂,且对环境要求较高,使用场景受限。非接触式测量则因设备简单、测量速度快等特点,被广泛运用。
多线结构光作为非接触式三维测量技术方案中的一种,目前存在以下几项技术缺点:
1)多线结构光经过物体表面调制后,激光条纹相互交错,难以判断图像中的激光条纹中心点所属的实际光平面;
2)利用双目立体视觉的方法进行光平面匹配,需要使用两个相机,设备成本较大,且匹配运算量巨大、鲁棒性较差;
3)现有的颜色编码激光条纹方案,根据不同的激光颜色辨别光平面。虽然只使用了一个摄像机,但此方法对物体表面要求较高,尤其当线数较多且分布密集时,激光条纹存在颜色串扰、镜面反射、光干涉、易被物体表面颜色湮没等问题。
发明内容
本发明的内容在于克服上述现有的技术缺点,提出了一种基于彩色编码的单目多线结构光光平面匹配方法,包括如下步骤:
1)搭建结构光系统并进行标定。结构光系统包括相机、投影仪、终端及待测物体。搭建完成后,对系统进行简单调整并完成系统参数标定。
2)终端生成多线结构光投影图案。投影图案中结构光线数为8的正整数倍。线结构光的颜色编码方式为:8条激光线为一个周期,每个周期中含有绿色(用0标记此颜色)和蓝色(用1标记此颜色)两种颜色的线条,并按照“00001111”或“11110000”的顺序进行排列。在相邻的激光线之间,有黑暗的部分将它们彼此分开。激光线之间被予以相同大小的间隔,且各激光线之间相互平行。投影图案按此周期循环重复,以形成多线结构光的RGB编码模式。多线结构光RGB编码公式如下:
其中,L为图案中一个周期内x方向的长度,I(x)的值为0表示绿色,为1表示蓝色。
3)终端输出图案至投影仪,投影仪将多线结构光图案投影到待测物体表面。相机采集待测物体表面图片,并将图片输出至终端。
4)终端对相机采集的图片进行激光中心线提取。此处常采用极值法、灰度重心法、Steger算法等方法进行激光中心线提取,具体方法选择不做限制。
5)针对提取到的激光线中心点,记其总数目为N、每个点灰度值大小为f(x,y)。寻找每一个激光线中心点左右两边最邻近的、灰度值大小为0.9*f(x,y)的像素点坐标,分别记其为(xL,yL)和(xR,yR)。通过这两个坐标作差得到该激光线中心点所在激光条纹光带的粗略宽度di。将图中所求全部di取均值,即可得全图平均激光条纹光带宽度d(d取与其最接近的奇数)。具体为:
6)终端对相机采集得到的图片进行RGB颜色空间到HSV颜色空间的转换。以d*d大小的高斯权重矩阵为卷积核,在H颜色通道对每一行所提取到的激光线中心点依次进行卷积。以每个激光线中心点卷积后得到的H颜色通道值为纵坐标,其在该行激光线中心点的顺序索引为横坐标,构建针对每一行的“H通道值—顺序索引”波形图。
7)对每一行构建的“H通道值—顺序索引”波形图进行波峰波谷检测,并利用相邻周期的顺序索引差值应为8,对所求所有波峰波谷进行筛选。最终得到的波峰为投影图案中每周期第二或第三条蓝色激光线所在位置,它代表着四条相邻蓝色激光线投影到待测物体上蓝色色调最显著的地方;得到的波峰为投影图案中每周期第二或第三条绿色激光线所在位置,它代表着四条相邻绿色激光线投影到待测物体上绿色色调最显著的地方。
8)判断波峰波谷处对应的具体光平面编号。在波形图上选取波峰左右两侧各两个邻近点,删除其中H通道值最小的一个点,将剩下的三个点连同波峰点共同组成一个四点判断列表。该四点判断列表对应着投影图案中,每周期中的四条相邻蓝色激光线。其中波峰点在四点判断列表中所在的索引,即对应着其在四条相邻蓝色激光线中所在的索引。再结合此波峰点在采集照片中所在大致位置,判断其属于投影图案中的第几周期,进而求得其在全图激光线中的具体编号。波谷点的具体光平面编号判断方法同理。
9)根据现有的波峰波谷点的光平面编号结果,对图中剩余激光线中心点进行编号。剩余激光线中心点编号方法采用顺序编号,即已知某一激光线中心点光平面编号为j,则其右侧最邻近的一个激光线中心点光平面编号为j+1。
10)利用激光线的连续性,过滤噪声点和错误编号点,并将错误编号点重新编号。
11)计算待测物体表面三维点云数据,完成待测物体三维重建工作。
本发明的技术效果是毋庸置疑的,本发明提供的一种基于彩色编码的单目多线结构光光平面匹配方法与传统多线结构光光平面匹配方法相比,具有以下有益效果:
1)本发明适用各种传统多线结构光能使用的场景,且在保持与传统多线结构光光平面匹配方法精度相一致的情况下,具有较好的稳定性。
2)本发明在保证多线结构光光平面匹配正确率的情况下,可大幅度增加投影图案中多线结构光的线数,进而能从单帧图片中提取出更为稠密的点云,提高了三维重建的效率。
3)本发明对待测物体表面的要求大幅降低,对投影后存在的激光颜色串扰、镜面反射、光干涉、激光颜色易被待测物体表面颜色湮没等现象,仍具有较好的光平面匹配正确率。
附图说明
图1为本发明的单目结构光测量系统示意图;
图2为本发明的三维测量流程示意图;
图3为本发明使用的彩色编码多线结构光投影图案示意图;
图中:终端1、相机2、投影仪3、待测物体4。
具体实施方法
下面结合实施例对本发明作进一步说明,但不应该理解为本发明上述主题范围仅限于下述实施例。在不脱离本发明上述技术思想的情况下,根据本领域普通技术知识和惯用手段,做出各种替换和变更,均应包括在本发明的保护范围内。
本实施例公开一种基于彩色编码的单目多线结构光光平面匹配方法,其实现步骤如下:
步骤1、按照图1搭建结构光系统,结构光系统包括终端1、相机2、投影仪3、待测物体4,对系统进行简单调整并完成系统参数标定。
步骤2、参见图3,所述终端生成符合条件的多线结构光图案后发送给投影仪,投影仪将多线结构光图案投影到待测物体表面。相机2采集待测物体表面图片,并将图片输出至终端。多线结构光RGB编码公式如下:
其中,L为图案中一个周期内x方向的长度,I(x)的值为0表示绿色,为1表示蓝色。
步骤3、终端对相机采集的图片进行激光中心线提取。提取方法为极值法,公式如下:
其中,f(i,j)为图像f在(i,j)位置处的像素值,k 表示横坐标为i的列中灰度值超过阈值的坐标个数。
步骤4、针对提取到的激光线中心点,记其总数目为N、每个点灰度值大小为f(x,y)。寻找每一个激光线中心点左右两边最邻近的、灰度值大小为0.9*f(x,y)的像素点坐标,分别记其为(xL,yL)和(xR,yR)。通过这两个坐标作差得到该激光线中心点所在激光条纹光带的粗略宽度di。将图中所求全部di取均值,即可得全图平均激光条纹光带宽度d(d取与其最接近的奇数)。具体为:
步骤5、终端对相机采集得到的图片进行RGB颜色空间到HSV颜色空间的转换。以d*d大小的高斯权重矩阵为卷积核,在H颜色通道对每一行所提取到的激光线中心点依次进行卷积。以每个激光线中心点卷积后得到的H颜色通道值为纵坐标,其在该行激光线中心点的顺序索引为横坐标,构建针对每一行的“H通道值—顺序索引”波形图。
步骤6、对每一行构建的“H通道值—顺序索引”波形图进行波峰波谷检测,并利用相邻周期的顺序索引差值应为8,对所求所有波峰波谷进行筛选。最终得到的波峰为投影图案中每周期第二或第三条蓝色激光线所在位置,它代表着四条相邻蓝色激光线投影到待测物体上蓝色色调最显著的地方;得到的波峰为投影图案中每周期第二或第三条绿色激光线所在位置,它代表着四条相邻绿色激光线投影到待测物体上绿色色调最显著的地方。
步骤7、判断波峰波谷处对应的具体光平面编号。在波形图上选取波峰左右两侧各两个邻近点,删除其中H通道值最小的一个点,将剩下的三个点连同波峰点共同组成一个四点判断列表。该四点判断列表对应着投影图案中,每周期中的四条相邻蓝色激光线。其中波峰点在四点判断列表中所在的索引,即对应着其在四条相邻蓝色激光线中所在的索引。再结合此波峰点在采集照片中所在大致位置,判断其属于投影图案中的第几周期,进而求得其在全图激光线中的具体编号。波谷点的具体光平面编号判断方法同理。
步骤8、根据现有的波峰波谷点的光平面编号结果,对图中剩余激光线中心点进行编号。剩余激光线中心点编号方法采用顺序编号,即已知某一激光线中心点光平面编号为j,则其右侧最邻近的一个激光线中心点光平面编号为j+1。
步骤9、利用激光线的连续性,过滤噪声点和错误编号点,并将错误编号点重新编号。
步骤10、计算待测物体表面三维点云数据,完成待测物体三维重建工作。
图1
图2
图3