一种基于机器学习的结构光在线密集三维重建方法与流程

文档序号:21412382发布日期:2020-07-07 14:49阅读:326来源:国知局
一种基于机器学习的结构光在线密集三维重建方法与流程

本发明属于三维重建技术领域,具体涉及一种基于机器学习的结构光在线密集三维重建方法。



背景技术:

结构光三维重建技术是获取物体表面形貌数据的主要途径之一:通过投影仪向物体表面投射编码结构光图案,并利用相机采集其图像;对图像进行结构光解码,计算相机采集图像与投影仪图像之间的像素对应关系;根据该对应关系,基于摄影测量学原理,重建物体表面三维形貌。

根据编码方式的不同,结构光三维重建方法可分为时间编码结构光三维重建方法和空间编码结构光三维重建方法。时间编码结构光一般为多幅结构光图案组成的图像序列,根据时间序列信息计算相机图像与投影仪图像之间的像素对应关系,优势在于重建精度较高,但由于投影多幅结构光图案耗费时间,因此不适用于动态场景三维重建。空间编码结构光通过一幅图案即可获取相机图像与投影仪图像之间的像素对应关系,是目前三维重建方法中唯一有可能实现在线密集三维重建的方法,但由于其将所有信息压缩至一幅结构光图案中,解码难度较大,使得结构光三维重建系统性能不稳定,尤其是彩色结构光三维重建系统受物体表面曲率、材料反射率等因素影响较大。

为了解决上述问题,发明了一种基于机器学习的结构光在线密集三维重建技术,提高了相机-投影仪结构光三维重建系统的计算效率和稳定性。



技术实现要素:

本发明的一个目的是解决至少上述问题和/或缺陷,并提供至少后面将说明的优点。

为了实现根据本发明的这些目的和其它优点,提供了一种基于机器学习的结构光在线密集三维重建方法,包括以下步骤:

步骤s1、相机-投影仪系统的参数标定:其系统参数标定的具体过程如下:

s11、将一组灰度条纹图投射到静止的棋盘格标定板表面,并利用相机采集图像,

s12、利用四步相移法对相机采集的序列图像进行结构光解码,计算其对应的相位图,

s13、计算相机采集图像与投影仪图像之间的像素点对应关系,

s14、变换棋盘格标定板的位置和姿态,并重复步骤s11~s13,

s15、利用立体视觉标定方法,解算相机-投影仪系统的所有参数;

步骤s2、采集图像:利用投影仪将编码结构光投射到待测的物体表面上,并利用相机采集被物体表面调制后的结构光图像;

步骤s3、图像预处理:对采集到的图像进行噪声的去除,提高图像质量;

步骤s4、颜色识别:建立用于判别颜色的神经网络模型,该模型包括输入层、隐藏层和输出层,所述输入层中包含图像中的每个像素点颜色特征;将该神经网络模型记为颜色分类器,将相机采集图像中的每个像素点颜色特征输入颜色分类器,完成颜色识别;

步骤s5、颜色滤波:对图像进行行扫描,以第i行为例,从左至右检测光条边缘,从而计算得到光条宽度:如果当前光条宽度小于其相邻光条宽度的一半,则将当前光条的颜色设置为黑色;

步骤s6、中心线检测:执行过程如下:

s61、将指定颜色的光条置为白色,其余颜色置为黑色,从而将彩色图像转换为二值图像,

s62、对二值图像进行中值滤波,窗口大小为3pixel×3pixel,

s63、对图像进行轮廓搜索,

s64、对图像进行行扫描,在各个光条轮廓范围内搜索亮度最大值,

s65、基于灰度重心法计算光条中心线,

s66、改变指定的颜色,重复步骤s61~s65,完成对六种颜色的光条中心线检测;

步骤s7、索引判别;执行过程如下:

s71、计算指定的中心线与其它中心线之间的像素距离,

s72、搜索距离指定中心线最近的两条中心线,

s73、相邻三种颜色的光条在序列中只出现一次,基于此,可确定出指定中心线在编码结构光中的索引,

s74、改变指定的中心线,重复步骤s71~s73,完成对所有中心线的索引判别;

步骤s8、相位解缠:记任意两条相邻的中心线为li和li+1,i和i+1表示中心线在光条序列中的索引,为li和li+1上同一行像素点,i(x,y)表示像素点p(x,y)的亮度值;若像素点满足以下约束,则将该像素点记为之间的波谷点

i(x-2,y)≥i(x-1,y)≥i(x,y)≤i(x+1,y)≤i(x+2,y)

解缠相位可通过如下公式计算得到:

遍历所有中心线,即可解算得到相机采集图像对应的相位图;

步骤s9、亚像素匹配:由于投影仪图像中每列像素点亮度相同,即投影仪图像中每列的相位相同;记pc(x,y)为相机采集图像中某像素点,相位为pc(x,y),其在投影仪图像中的对应点pp(x,y)必然在直线x=xp上,xp通过如下公式计算:

t表示光条宽度,单位为像素,同时,pp(x,y)点也必然在pc(x,y)对应的对极线上,其直线方程可通过如下公式计算得到:

le=[abc]t=f[pc1]t

f为基础矩阵,通过步骤s1标定得到,直线x=xp和直线le的交点即为像素点pc(x,y)在投影仪图像上的对应点:

遍历相机采集图像上的所有像素点,得到其在投影仪图像中的对应点,即可得到对应点集合;

步骤s10、基于摄影测量学中的三角交会算法,对对应点集合中的每一组匹配点对进行交会,解算其空间三维坐标,进而完成对物体表面的密集三维重建。

优选的是,所述相机-投影仪系统的所有参数包括:相机和投影仪的主点坐标、等效焦距、像差系数以及相机坐标系和投影仪坐标系之间的变换矩阵、基础矩阵、本质矩阵。

优选的是,所述噪声的去除方法为:采用窗口大小为3pixel×3pixel的均值滤波器对图像噪声进行去除。

优选的是,所述输入层包括以下内容:

输入层的输入变量记为xi(i=1,2,…,16,17),表示相机采集图像中每个像素点的颜色特征,x1、x2、x3分别对应像素点红、绿、蓝三个通道的亮度值;

通过如下公式:

x4=0.41x1+0.36x2+0.18x3

x5=0.21x1+0.71x2+0.07x3

x6=0.02x1+0.12x2+0.95x3

x7=0.30x1+0.59x2+0.11x3

x8=0.713(x1-x7)+128

x9=0.564(x3-x7)+128

可以计算得到xi(i=4,5,…,16,17)的值。

优选的是,所述隐藏层包括以下内容:

隐藏层的变量记为zh(h=1,2,…,39,40),可通过如下公式计算得到:

其中,wh0是偏倚项,whi为输入层各个变量对应的权重,所述权重参数可通过数据集训练得到,为激活函数。

优选的是,所述输出层包括以下内容:

输出变量记为yj(j=0,1,2,3,4,5,6,7),表示当前像素的颜色判别结果,“0”表示置为黑色,“1”表示置为红色,“2”表示置为绿色,“3”表示置为蓝色,“4”表示置为品红色,“5”表示置为黄色,“6”表示置为青色;yj由如下公式计算得到:

vj0为偏倚项,vjh为隐藏层各变量对应的权重,所述权重参数可通过数据集训练得到,f(z)为激活函数,与隐藏层中的激活函数相同。

本发明至少包括以下有益效果:

本发明在保证相机-投影仪系统三维重建精度和点云稠密度的同时,能够提高系统的稳定性和计算效率,有助于实现对物体表面变形等动态场景的在线测量。

本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。

附图说明:

图1为本发明提供的彩色编码结构光示意图;

图2为本发明提供的结构光解码流程图;

图3为本发明提供的亚像素匹配流程图;

图4为本发明提供的基于机器学习的结构光在线密集三维重建流程图;

图5为本发明提供的相机-投影仪三维重建系统结构示意图。

具体实施方式:

下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。

应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不配出一个或多个其它元件或其组合的存在或添加。

如图1-5所示的一种基于机器学习的结构光在线密集三维重建方法,包括以下步骤:

步骤s1、相机-投影仪系统的参数标定:其系统参数标定的具体过程如下:

s11、将一组灰度条纹图投射到静止的棋盘格标定板表面,并利用相机采集图像,

s12、利用四步相移法对相机采集的序列图像进行结构光解码,计算其对应的相位图,

s13、计算相机采集图像与投影仪图像之间的像素点对应关系,

s14、变换棋盘格标定板的位置和姿态,并重复步骤s11~s13,

s15、利用立体视觉标定方法,解算相机-投影仪系统的所有参数,所述相机-投影仪系统的所有参数包括:相机和投影仪的主点坐标、等效焦距、像差系数以及相机坐标系和投影仪坐标系之间的变换矩阵、基础矩阵、本质矩阵;

步骤s2、采集图像:利用投影仪将如图1所示的编码结构光投射到待测的物体表面上,并利用相机采集被物体表面调制后的结构光图像;

步骤s3、图像预处理:受相机自身硬件和外部环境干扰,采集的图像包含噪声,本发明中采用窗口大小为3pixel×3pixel的均值滤波器对图像进行预处理,可以有效的消除图像噪声,提高图像质量;

步骤s4、颜色识别:建立用于判别颜色的神经网络模型,该模型包括输入层、隐藏层和输出层:

其中,输入层的输入变量记为xi(i=1,2,…,16,17),表示相机采集图像中每个像素点的颜色特征,x1、x2、x3分别对应像素点红、绿、蓝三个通道的亮度值,xi(i=4,5,…,16,17)通过如下公式计算得到:

x4=0.41x1+0.36x2+0.18x3

x5=0.21x1+0.71x2+0.07x3

x6=0.02x1+0.12x2+0.95x3

x7=0.30x1+0.59x2+0.11x3

x8=0.713(x1-x7)+128

x9=0.564(x3-x7)+128

隐藏层的变量记为zh(h=1,2,…,39,40),可通过如下公式计算得到:

其中,wh0是偏倚项,whi为输入层各个变量对应的权重,所述权重参数可通过数据集训练得到,f(x)为激活函数:

输出层的输出变量记为yj(j=0,1,2,3,4,5,6,7),表示当前像素的颜色判别结果,“0”表示置为黑色,“1”表示置为红色,“2”表示置为绿色,“3”表示置为蓝色,“4”表示置为品红色,“5”表示置为黄色,“6”表示置为青色;yj由如下公式计算得到:

vj0为偏倚项,vjh为隐藏层各变量对应的权重,所述权重参数可通过数据集训练得到,f(z)为激活函数,与隐藏层中的激活函数相同

将该神经网络模型记为颜色分类器,将相机采集图像中的每个像素点颜色特征输入颜色分类器,完成颜色识别;

步骤s5、颜色滤波:对图像进行行扫描,以第i行为例,从左至右检测光条边缘,从而计算得到光条宽度:如果当前光条宽度小于其相邻光条宽度的一半,则将当前光条的颜色设置为黑色;

步骤s6、中心线检测:执行过程如下:

s61、将指定颜色的光条置为白色,其余颜色置为黑色,从而将彩色图像转换为二值图像,

s62、对二值图像进行中值滤波,窗口大小为3pixel×3pixel,

s63、对图像进行轮廓搜索,

s64、对图像进行行扫描,在各个光条轮廓范围内搜索亮度最大值,

s65、基于灰度重心法计算光条中心线,

s66、改变指定的颜色,重复步骤s61~s65,完成对六种颜色的光条中心线检测;

步骤s7、索引判别;执行过程如下:

s71、计算指定的中心线与其它中心线之间的像素距离,

s72、搜索距离指定中心线最近的两条中心线,

s73、相邻三种颜色的光条在序列中只出现一次,基于此,可确定出指定中心线在编码结构光中的索引,

s74、改变指定的中心线,重复步骤s71~s73,完成对所有中心线的索引判别;

步骤s8、相位解缠:记任意两条相邻的中心线为li和li+1,i和i+1表示中心线在光条序列中的索引,为li和li+1上同一行像素点,i(x,y)表示像素点p(x,y)的亮度值。若像素点满足以下约束,则将该像素点记为之间的波谷点

i(x-2,y)≥i(x-1,y)≥i(x,y)≤i(x+1,y)≤i(x+2,y)

解缠相位可通过如下公式计算得到:

遍历所有中心线,即可解算得到相机采集图像对应的相位图;

步骤s9、亚像素匹配:由于投影仪图像中每列像素点亮度相同,即投影仪图像中每列的相位相同;记pc(x,y)为相机采集图像中某像素点,相位为pc(x,y),其在投影仪图像中的对应点pp(x,y)必然在直线x=xp上,xp通过如下公式计算:

t表示光条宽度,单位为像素,同时,pp(x,y)点也必然在pc(x,y)对应的对极线上,其直线方程可通过如下公式计算得到:

le=[abc]t=f[pc1]t

f为基础矩阵,通过步骤s1标定得到,直线x=xp和直线le的交点即为像素点pc(x,y)在投影仪图像上的对应点:

遍历相机采集图像上的所有像素点,得到其在投影仪图像中的对应点,即可得到对应点集合。

步骤s10、基于摄影测量学中的三角交会算法,对对应点集合中的每一组匹配点对进行交会,解算其空间三维坐标,进而完成对物体表面的密集三维重建。

这里说明的设备数量和处理规模是用来简化本发明的说明的。对本发明的基于机器学习的结构光在线密集三维重建方法的应用、修改和变化对本领域的技术人员来说是显而易见的。

尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1