一种双目三维重构方法及系统与流程

文档序号:12472258阅读:323来源:国知局
一种双目三维重构方法及系统与流程

本发明属于机器视觉三维重构与模型加工技术领域,特别涉及一种双目三维重构方法及系统。



背景技术:

三维重构一直是计算机视觉的重要研究领域之一。近年来,三维重构技术的研究取得了巨大的进步,通过其构建的三维模型被应用于模型加工、服装制造、医学成像、文物保护、影视特效、计算机游戏等多种领域。目前,基于计算机视觉的三维重构方法按照光照条件可分为被动式和主动式。被动式方法不提供额外光源,仅在自然光条件下的通过相机采集图像并处理,主要分为单目视觉方法和双目视觉方法。单目视觉方法根据相机成像原理计算被测点与摄像机的距离,但是需要对物体表面的数据进行三个维度的测量,效率低下,过于繁琐,不利于实际应用,而双目视觉法的原理类似人的双眼,用两个完全相同的相机采集得到同一对象的两幅图像,根据被测对象上同一空间点在两幅图像的视差获取其三维数据。双目视觉的被动式测量方法虽然可以达到较好的恢复效果但是算法较为复杂,而且对自然光照下的图像的特征具有很强的依赖性。主动式方法是通过主动向待测对象提供固定方向和能量的光源照射,以便在其上产生易于识别和分析的特征信息,然后通过相机获取经过待测对象表面反射的图像信息来计算其三维数据。根据光源不同,主动式方法可分为点结构光法、线结构光法、多线结构光法等。点结构光法一次只能测得目标上一个点的三维信息,要测得目标整个三维信息耗时太长,效率低下,不利于实际应用;线结构光法虽然一次可获得目标上一条光条的全部三维信息,但存在相机盲区问题;多线结构光虽然能避免相机盲区问题,提高图像处理效率,但是增加了标定的复杂性和光条匹配问题。



技术实现要素:

为了克服上述现有技术的缺点,本发明的目的在于提供一种双目三维重构方法及系统,能够实现对人或物体快速精确地三维重构并打印出其三维模型。

为了实现上述目的,本发明采用的技术方案是:

一种双目三维重构方法,包括如下步骤:

通过红外一字激光器向待测对象发射激光红外,利用两部水平对称分布在红外光发射源两边的相机同时采集在待测对象上的红外光条图像;

控制待测对象以竖向为轴水平匀速转动一周,两部相机采集到的图像序列,分别根据红外光条中心提取算法得到每幅图像红外光条的中心;

利用得到的红外光条中心,通过相机测距模型、三维测量模型以及三维坐标转换分别计算两部相机对应的待测对象的点云数据;

将两部相机得到的点云数据进行融合并去除点云噪点;

根据双目融合后的点云数据,通过曲面重建算法得到待测对象的三维模型。

所述红外光条中心提取算法包括如下步骤:对采集到的红外光条图像进行空间转换并分离得到不同通道的图像;对明度通道图像进行自适应阈值分割;通过中值滤波去除阈值分割后图像中的噪点;采用灰度重心法提取红外光条中心坐标,计算公式为:

其中,M(xi,yi)为(xi,yi)处的灰度值,m为横截面内像素点的个数,xk为灰度重心坐标,n为横截面的所在行数,yk为灰度重心坐标xk对应的纵坐标;判断红外光条的位置,去除图像中无用的红外光条。

所述相机测距模型作用是通过两个相机结合红外线结构光的方式进行三维

测量,模型公式为:

其中,a=f+Offset·tanα,b=PixelSize·tanα,c=Sf·tanα-S·Offset,e=S·PixelSize,f为相机焦距,Offset为成像平面中心偏移量,PixelSize为相机像素尺寸,S为相机光心O与激光器中心的距离,(xp,yp)为目标点B通过光心投影在相机成像平面上的点D在相机图像中的坐标,α为相机光轴延长线与相机光心O和激光器中心连线的夹角,d为目标点B到激光器平面的距离;采用非线性拟合的方式,确定测距模型式参数并对模型的精度进行验证。

所述三维测量模型作用是通过两个相机结合红外线结构光的方式进行三维测量,模型公式为:

h=|H-yp|·T

其中,h为目标点B的高度,H为相机图像高度,l为相机光心到通过三维坐标系原点且与相机成像平面平行的平面的距离;

所述三维坐标转换公式如下:

其中,(xw_p,yw_p,zw_p)为图像中光条上的某一点像素坐标(xp,yp)转换的三维坐标,L为红外激光器中心到通过三维坐标系原点且与激光器平面平行的平面的距离,β为激光器平面中心A与三维坐标原点Ow连线相对于三维坐标xw正方向的夹角。

所述将两部相机得到的点云数据进行融合并去除点云噪点的方法是:将两部相机根得到的点云数据整合到一个文件中,去除具有相同三维坐标的点云数据,然后计算点云数据中每个点到其八邻域点的平均距离,假设所有点的平均距离服从高斯分布,通过设定阈值,去除点云数据中的噪点和离群点。

所述曲面重建算法包括如下步骤:

定义八叉树,使用八叉树结构存储点云数据;

设置函数空间,对八叉树的每个节点设置空间函数F,用所有节点函数F的线性和表示向量场V;

创建向量场,通过向量场V逼近指示函数的梯度;

求解泊松方程,方程的解采用拉普拉斯矩阵迭代求出;

提取等值面,估计采样点的位置,用其平均值进行等值面提取得到三维模型。

本发明还提供了基于所述双目三维重构方法的系统,被测对象9设置在精密转台10上,包括工控机1和红外一字激光器8,红外一字激光器8发射激光红外照射在被测对象9上,工控机1连接装有红外滤光片的相机一5和相机二7控制二者工作采集照射在被测对象9上的红外光条图像,工控机1与精密转台10连接控制其带动被测对象9在相机采集图像时匀速转动一周,在系统装置外壳3内部集成有3D打印机,通过成品口2得到3D打印机打印完成的被测对象9的三维模型,在红外一字激光器8上方设置有用于三维重构前期参数标定以及调整被测对象9在精密转台10上位置的一字激光器6。

所述系统装置外壳3上有与工控机1连接的触摸屏显示器4,实时显示三维重建过程以及3D打印过程,并选择三维重构模式。

本发明可通过如下方式进行模型加工:根据所述双目三维重构方法得到被测对象9的三维模型,将其保存为STL文件并设置相关打印参数发送给3D打印机,然后工控机驱动3D打印机工作,从而得到被测对象9的三维模型。

与现有技术相比,本发明双目三维重构及智造系统装置采用双目视觉外加红外线结构光的方法进行三维重构,通过两个相机同时采集精密转台上被测对象上的红外光条,分别对两个相机采集到的图像进行处理,得到图像中红外光条的中心坐标,根据三维测量模型计算得到被测对象的点云数据,对两个相机分别得到的点云数据进行融合并去除噪点,根据处理后的点云数据进行曲面重建生成被测对象三维曲面模型,将三维曲面模型保存为STL文件发送给打印机,设置相关打印参数,驱动3D打印机打印得到被测对象的三维模型。三维重构时采用双目视觉加红外结构光的方法,与单目线结构光法相比,既可以避免是视野盲区问题,又保证了测量精度;与双目视觉方法相比,不再需要对两个相机采集到的图像进行繁琐的特征匹配,计算视差,提高了测量速度。在对设计的三维测量模型进行验证时,测量误差为0.456mm,相对误差为0.0323%。同时,本发明将三维重构与3D打印集成与一体,与现有的一些三维重构设备相比,可快速、高效地得到待测对象的三维实物模型,便于实际工程中对已经存在的实物对象进行模型重建以及模型加工。

附图说明

图1为本发明的系统装置结构示意图。

图2为本发明的相机测距原理示意图。

图3为本发明的三维测量模型原理图。

图4为本发明的三维坐标转换原理图。

图5为发明的红外光条中心提取算法流程图。

图6为本发明的曲面重建算法流程图。

具体实施方式

下面结合附图和实施例详细说明本发明的实施方式。

如图1所示,本发明双目三维重构系统包括一个工控机1,工控机1连接装有红外滤光片的相机一5和相机二7,红外一字激光器8照射在被测对象9上产生红外光条,工控机1与精密转台10连接,在相机一5和相机二7采集被测对象9上红外光条图像时,工控机1控制精密转台10以匀速转动一周,系统装置外壳3内部集成有3D打印机,可以通过成品口2得到3D打印机打印完成的被测对象9的三维模型,系统装置外壳3上的触摸屏显示器4与工控机1连接,可以实时显示三维重建过程以及3D打印过程,也可以选择三维重构模式:人像模式和物体模式,系统装置外壳3上一字激光器6用于三维重构前期参数标定以及调整待测对象在精密转台10上的位置,本发明将工控机1、触摸屏显示器4、相机一5、相机二7、红外一字激光器8、一字激光器6以及3D打印机等集成于一体,可以快速实现对实物对象的三维建模与模型加工。

基于该系统装置,三维重构是通过双目结合红外线结构光的方式实现,如图2所示,相机测距的方法如下:

选取待测对象被红外线结构光照射后产生的红外光条上的某一点B进行分析,d为目标点B到激光器平面的距离,右相机光心O与激光器平面共面,且到激光器中心的距离为S,线段OF为相机光轴延长线,光轴与相机成像平面相交于C,目标点B通过光心投影在在相机成像平面上的点D,根据图3中几何关系可知:

d=S·tan(α-θ) (1)

其中:f为相机焦距,x为成像点距离相机成像平面边界的距离。

由式(1)和(2)可得:

设点D在相机图像中的坐标为(xp,yp),则有:

x=xp·PixelSize+Offset (4)

其中:PixelSize为相机像素尺寸,Offset为成像平面中心偏移量。

将式(4)代入式(3)可得:

令a=f+Offset·tanα,b=PixelSize·tanα,c=Sf·tanα-S·Offset,e=S·PixelSize,则相机测距模型可写为:

根据建立的相机测距模型,采用非线性拟合的方式,确定模型式参数,具体做法为:首先通过张氏标定法得到相机的内参矩阵以及相机手册得到相机的像素尺寸PixelSize和相机焦距f,然后将激光线打到前面上并用相机采集激光线图像,接着将本系统装置在0.4m到1.5m之间移动,采集15组图像并提取图像中激光线的像素坐标,根据像素坐标与测得的真实距离,通过非线性拟合得到模型式(6)的参数a、b、c和e对应的数值,最后将激光线像素坐标根据测距模型求出的距离与实际距离比较,对模型的精度进行验证,验证结果为上述双目测距模型的测量误差为0.456mm,相对误差为0.0323%,可以达到实际应用的精度要求。

根据上述相机测距模型可以得到红外光条上某一点B到红外激光器平面的距离d,然后需要通过三维测量模型得到点B的高度h,如图3所示,三维测量的方法如下:

令h=|BM|,y=|ED|,根据图中几何关系可知:

其中:OP⊥ED,OQ⊥BM,f=|OC|,l=|OK|。

由式(7)和式(8)可得:

其中:y为成像点到相机成像平面另一边界的距离,f为相机焦距,l为相机光心到通过三维坐标系原点且与相机成像平面平行的平面的距离。

结合图2和图3所示,根据几何关系可得:

其中:L=|AG|为红外激光器中心到通过三维坐标系原点且与激光器平面平行的平面的距离。

又因点D在相机图像中的坐标为(xp,yp),则有:

y=|H-yp|·PixelSize (11)

将式(11)代入式(9)并根据可得:

h=|H-yp|·T (12)

其中:H为相机图像高度,

如图4所示,点B三维坐标计算方法如下:根据上述相机测距模型和三维测量模型可以得到点B到激光器平面的距离d以及点B的高度h,在计算三维坐标时,假设物体在转台上固定,系统装置以固定速度绕着物体旋转一周,因为这与系统装置位置固定,物体在转台上匀速旋转一周效果完全相同,则点B的三维坐标计算公式为:

又因r=L-d,并将式(6)和式(12)代入式(13)得:

其中β为激光器平面中心A与三维坐标原点Ow连线相对于三维坐标xw正方向的夹角。

此时,便可以根据图像中光条上的某一点像素坐标(xp,yp),通过式(14)计算得到其对应的在三维坐标(xw_p,yw_p,zw_p)。

上述相机测距模型和三维测量模型都是根据一个红外激光器和一个相机之间的关系推导确定的,本发明提供的系统装置使用了两个相机进行图像采集,目的是避免单个相机的视野盲区,根据图1和图2所示,两个相机关于红外激光器镜面对称,因此测距原理及三维测量原理完全相同,这里只选择其中一个相机进行原理分析,不再赘述。

确定了图像坐标与三维坐标的转换关系之后,通过本发明提供的系统装置对待测对象的三维重构及模型加工过程如下:

将待测对象放置在精密转台上,打开一字激光器,观看待测对象在转台上旋转一周是否出现光条丢失的现象,如果出现光条丢失的情况,应该调整待测对象在转台上的位置,以保证其旋转一周时刻都有光条出现在其表面,这样做是保证三维重构时可以得到待测对象完整的三维点云信息。

在矫正完待测对象的位置之后,便关闭一字激光器,打开红外激光器,工控机驱动精密转台匀速转动一周,通过两个相机实时采集待测对象上红外光条信息,并保存采集到的图像序列。

由于获取到的图像中红外光条较宽并非单像素宽度,所以需要对图像中的红外光条进行细化处理,提取光条的中心坐标。如图5所示,红外光条中心提取做法如下:

对相机采集到的红外光条图像进行空间转换,将彩色图像由RGB模型转换为HSV模型并分离得到明度V通道的图像;对明度通道图像进行自适应阈值分割;通过中值滤波去除阈值分割后图像中的噪点;采用灰度重心法提取红外光条中心坐标;判断红外光条的位置,去除图像中无用的红外光条。

灰度重心法提取光条中心的公式为:

其中:M(xi,yi)为(xi,yi)处的灰度值,m为横截面内像素点的个数,xk为灰度重心坐标,n为横截面的所在行数,yk为灰度重心坐标xk对应的纵坐标。

根据以上得到的数据,本发明三维点云数据生成、曲面重建及模型加工的过程如下:

根据光条中心坐标(xk,yk),通过式(14)计算得到其对应的三维坐标:

分别确定两个相机测距模型、三维测量模型参数,根据张氏标定法得到的相机内参矩阵以及相机手册确定f,PixelSize,H,通过非线性拟合得到的测距模型参数a,b,c,e,根据式(10)并结合模型参数b=PixelSize·tanα,e=S·PixelSize确定T,计算公式如下:

β为激光器平面中心A与三维坐标原点Ow连线相对于三维坐标xw正方向的夹角,计算公式如下:

其中,PicNum为转台转动一周相机采集到的图像总数,curPicNum为相机当前图像的帧序号。

根据上述方法便可以分别得到两个相机的三维点云数据,对双目点云数据进行融合与去噪的过程如下:将两个相机的点云数据整合到一个文件中,去除具有相同三维坐标的点云数据,然后计算点云中每个点到其八邻域点的平均距离,假设所有点的平均距离服从高斯分布,通过合理设定阈值,去除点云数据中的噪点和离群点。

根据双目融合后的点云数据进行三维曲面重建,如图6所示,包括如下步骤:定义八叉树,使用八叉树结构存储点云数据;设置函数空间,对八叉树的每个节点设置空间函数F,用所有节点函数F的线性和表示向量场V;创建向量场,通过向量场V逼近指示函数的梯度;求解泊松方程,方程的解采用拉普拉斯矩阵迭代求出;提取等值面,估计采样点的位置,用其平均值进行等值面提取得到三维模型。

根据曲面重建得到的三维模型进行3D打印的方法是:将被测对象的三维模型保存为STL文件并设置相关打印参数发送给3D打印机,然后工控机驱动3D打印机工作,从而得到被测对象的三维模型。

通过以上的步骤,可实现对人或物体的三维重构生成其三维模型并可3D打印得到其三维实物模型。

值得注意的是,上述的具体实施方式用于解释说明本发明,仅为本发明的优选实施方案,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改、等同替换、改进等,都属于本发明的保护范围。

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