一种多目点云三维重建方法、装置及其设备与流程

文档序号:16214494发布日期:2018-12-08 08:10阅读:278来源:国知局
一种多目点云三维重建方法、装置及其设备与流程

本发明涉及工业机器视觉领域,尤其涉及一种多目点云三维重建方法、装置及其设备。

背景技术

目前,在工业领域的三维成像问题中,主要通过结构光对目标打纹理,然后利用视觉技术对目标进行三维重构。现有通常采用的方法有线结构光法和面结构光法两种方法,相机可选择单目或者多目相机。线结构光法主要采用单条或者多条线光打在目标物体上,然后对目标进行三维重构,该方法的缺陷是在x、y方向上的精度较差因为对进行结构光扫描的运动机构存在较大偏差。面结构光法主要采用投影光机对目标进行打指定的纹理,然后通过编解码纹理对目标进行三维重构,该方法虽然在x、y和z方向上能达到高精度,然而在视野广度方面存在着局限性,因此也不能够快速的对物体进行定位三维重构。



技术实现要素:

有鉴于此,本发明的目的在于提供一种多目点云三维重建方法、装置及其设备,旨在能精确、快速地对物体进行三维重构,以方便后续的工业自动化处理。

本发明解决上述技术问题所采用的技术方案如下:

本发明的第一方面提供一种多目点云三维重建方法,该方法包括:

启动投影光机o用于投影条纹光图像,启动k台相机c1,c2,...,ck用于拍摄灰度图像;

采集图像;

生成两两相机下的点云;

点云融合;

其中,k为偶数自然数。

在一些实施例中,所述采集图像具体包括:

初始化计数器q=0;

控制光机o投射第q幅结构面光图iq0;

触发k台相机采集图片,获得k张带有结构光的灰度图,机构面光图和灰度图像图表示为子集合sq={iq0,iq1,...,iqk}。

在一些实施例中,所述生成两两相机下的点云包括步骤:

对于每组相机ck,ck+1,其中k为自然数范围[1,k-1]中的一个值,根据相位法,利用灰度图像集{i0k,i1k,...,i(q-1)k}和{i0k+1,i1k+1,...,i(q-1)k+1},生成在相机ck坐标系下的点云集合pk;

剔除点云集合中的噪声点。

在一些实施例中,所述剔除点云集合中的噪声点具体包括:

对于每个点云集合pk中的点,分别投影到其对应的另外一个相机图像像素点,并解析相位,从而确定该点是否为噪声点;如果是噪声点,则将对应的点从点云集合pk中删除,从而得到新的点云集合p′={p′1,p′2,...,p′k}。

在一些实施例中,所述方法还可包括步骤:

对于相机c1,根据相位法,利用灰度图像集{i01,i11,...,i41},计算图像在(u1,v1)位置的相位值θ(u1,v1):

其中,i41(u1,v1),i21(u1,v1),i11(u1,v1),i31(u1,v1)分别表示图像i41,i21,i11,i31在(u1,v1)位置的像素灰度值,取值范围是[0,255]的自然数集合。

在一些实施例中,所述解析相位值包括:

如果相位值|θ(u2i,v2i)-θ(u1i,v1i)|<δθ,则从点云集合pk中删除该像素点,从而得到新的点云集合p′1。

在一些实施例中,所述点云融合包括步骤:将所有的点云p′={p′1,p′2,...,p′k}融合到投影仪坐标系下,从而得到点云集合pmerge。

在一些实施例中,点云融合包括步骤:过滤点云集合pmerge中的离群点,从而得到新的点云集合p′merge。

本发明的第二方面还提供一种多目点云三维重建装置,包括:

图像采集模块,用于同步采集多目图像;

双目三维点云模块,用于生成两两相机下的三维点云;

点云融合模块,用于将所有的点云融合到投影仪坐标系下,从而得到新的点云集合;

以及输出模块,用于输出新的点云集合。

本发明的第三方面还提供一种多目点云三维重建设备,该设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述方法中任一项所述方法中的步骤。

本发明实施例提供的一种多目点云三维重建方法、装置及其设备通过结构光技术并结合多视角图像生成三维点云,从而精确、快速地对物体进行了三维重构,以方便后续的工业自动化处理。该方法使用简单,对物体进行三维重构的速度快、精度高,在实际工业应用环境中易于应用和实施。

附图说明

图1为本发明实施例的多目点云三维重建方法流程图;

图2为本发明实施例多目点云三维重建装置结构示意图;

图3为本发明实施例生成两两相机下的点云的方法流程图;

图4为本发明实施例剔除点云集合中的噪声点的方法流程图;

图5为本发明实施例另一多目点云三维重建装置结构示意图;

图6为本发明实施例多目点云三维重建装置结构框图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

针对于现有技术中对目标进行三维重构精度不高或在视野广度方面存在局限性的问题,本发明提出一种多目点云三维重建方法、装置以及设备,能精确、快速地对物体进行三维重构,从而方便后续的工业自动化处理。

实施例一:

本发明提供的一种多目点云三维重建方法,请参阅图1,具体包括以下步骤:

s1:同步采集图像

s11启动投影光机o用于投影条纹光图像,启动k台相机c1,c2,...,ck用于拍摄灰度图像;其中k为偶数自然数。

具体地,在一实施例中还包括启动补光系统,所述补光系统根据实际环境部署,根据工作环境而使用,当环境需要进行补光时则开启使用。投影光机o用于投影条纹光图像,投射的图像宽和高的像素分辨率分别为1280和1024。k台相机c1,c2,...,ck用于拍摄灰度图像,拍摄的图像宽和高的像素分辨率分别为1028和1024。其中所有相机公用一台投影仪,且相机与投影仪的视野在指定的拍摄距离下,具有最大的共同视野。

s12采集图像。

采集q组图像,q为偶数自然数,具体步骤如下:

s121初始化计数器q=0。

s122通过串口信号控制光机投射第q幅结构面光图iq0。同时地,通过软件或者硬件同步触发k台相机采集图片。获得k张带有结构光的灰度图,即iq1,...,iqk,机构面光图和灰度图像图表示为子集合sq={iq0,iq1,...,iqk}。

重复步骤s122,通过步骤s122采集q组机构面光图和灰度图像图的子集合图像,记为u={s0,s1,...,sq-1}。

s2:生成两两相机下的点云。

s21对于每组相机ck,ck+1,其中k为自然数范围[1,k-1]中的一个值,根据相位法,利用灰度图像集{i0k,i1k,...,i(q-1)k}和{i0k+1,i1k+1,...,i(q-1)k+1},生成在相机ck坐标系下的点云集合pk。

s22剔除点云集合中的噪声点。

具体地,对于每个点云集合pk中的点,分别投影到其对应的另外一个相机图像的像素点,并解析相位,从而确定该点是否为噪声点。如果是噪声点,则将对应的点从点云集合pk中删除,从而得到新的点云集合p′={p′1,p′2,...,p′k}。

s3:点云融合

s31根据投影仪与各个相机的外参数,将所有的点云集合p′={p′1,p′2,...,p′k}融合到投影仪坐标系下,从而得到点云集合pmerge。

s32利用k邻近法,过滤点云集合pmerge中的离群点,从而得到新的点云集合p′merge。

s4输出新的点云集合p′merge。

采用本发明所述方法,可以有效地对各种工业工件进行三维重建,目标三维模型可以较为完整地重建出来,该方法计算速度快,重构精度高,从而大大提高了三维视觉在工业视觉中的应用。

实施例二:

下面以2台相机加一台投影仪为例来说明本发明三维重建目标的具体详细方法。本方案提出一种多目点云三维重建方法,主要是基于光切法来实现,采用本发明实施例一所述方法能提高目标三维重建的精度、速度以及目标点云的完整性。具体的方法步骤如图1所示:

下面结合附图1对本发明技术方案实施作进一步的详细描述:

s1:同步采集图像

s11启动投影光机o用于投影条纹光图像,启动相机c1,c2用于拍摄灰度图像;

具体地,如图2所示,启动补光系统、投影光机以及所有相机。补光系统根据实际环境部署,据工作环境而使用,当环境需要进行补光时则开启使用。投影光机o用于投影条纹光图像,投射的图像宽和高的像素分别率分别为1280和1024。2台相机c1,c2用于拍摄灰度图像,拍摄的图像宽和高的像素分别率分别为1028和1024。其中所有相机公用一台投影仪,且相机与投影仪的视野在指定的拍摄距离下,具有最大的共同视野。

s12采集图像。

采集q=4组图像,步骤如下:

s121初始化计数器q=0。

s122通过串口信号控制光机投射第q幅结构面光图iq0。同时地,通过软件或者硬件同步触发2台相机采集图片。获得2张带有结构光的灰度图,并通过两个相机的外参数,对图像进行立体矫正,得到配准后的图像,即iq1,iq2,将机构面光图和灰度图像图表示为子集合sq={iq0,iq1,iq2}。

重复上述步骤s122,采集q组机构面光图和灰度图像图的子集合图像,记为u={s0,s1,...,sq-1}。

s2:生成两两相机下的点云。

请参阅图3,具体步骤如下:

s21对于相机c1,根据相位法,利用灰度图像集{i01,i11,...,i41},计算图像在(u1,v1)位置的相位值θ(u1,v1):

其中,i41(u1,v1),i21(u1,v1),i11(u1,v1),i31(u1,v1)分别表示图像i41,i21,i11,i31在(u1,v1)位置的像素灰度值,取值范围是[0,255]的自然数集合。

由于相机c1,c2下采集的图像已经立体矫正对齐,因此两个相机的矫正图片具有相同的纵坐标值,因此在c2相机下的图像,在v1行的u1附近[u1-δu,u1+δu],计算所有的位置点的相位值,并找到相位值与θ(u1,v1)相同的图像位置(u2,v1)。

具体地步骤为:

s211在[u1-δu,u1+δu]区间的每个元素u,计算相机c2图像在位置(u,v1)的相位值:

其中,i42(u,v1),i22(u,v1),i12(u,v1),i32(u,v1)分别表示图像i42,i22,i12,i32在(u,v1)位置的像素灰度值,取值范围是[0,255]的自然数集合。

s212如果|θ(u,v1)-θ(u1,v1)|<δ,则赋值u2=u,跳转至执行步骤s213;判断是否有未遍历的元素,如果仍有未遍历的元素,则跳转至继续执行步骤s211;否则返回执行步骤s21,继续计算相机c1图像的下一个像素点。本实例中δ取值为0.01,但不限于该值,本发明实施例中,δ取值范围为大于0.001,小于1。

s213在图像点(u1,v1)位置,相机c1和c2的视差为u2-u1,计算在相机c1下的像素点(u1,v1)所对应的空间三维坐标。

那么在相机c1下的像素点(u1,v1)所对应的空间三维坐标(x1,y1,z1)为:

其中b为两个相机的基线,f为标准化像素下的焦距。

根据上述步骤s21计算相机c1下的所有像素点的空间三维坐标点,从而构成了在相机c1坐标系下的点云集合p1。

s22剔除点云集合中的噪声点。

请参阅图4,具体步骤如下:

s221计算每个点云集合p1中的点pi=(xi,yi,zi)投影到相机c1图像像素点(u1i,v1i);

对于每个点云集合p1中的点pi=(xi,yi,zi),投影到相机c1图像像素点(u1i,v1i),即:

其中m1为相机c1的内参数3x3矩阵。

s222解析像素(u1i,v1i)的相位值,即:

s223将点pi=(xi,yi,zi)投影到相机c2图像的像素点(u2i,v2i),即:

其中,m2为相机c2的内参数3x3矩阵;t21为相机c1到相机c2的4x4变换矩阵。

s224解析像素(u2i,v2i)的相位值,即:

如果|θ(u2i,v2i)-θ(u1i,v1i)|<δθ,两者的相位差小于δθ,本实施例δθ取值为0.02(但不限于该值)。则从点云集合pk中删除,从而得到新的点云集合p'1。

s3:点云融合

s31根据投影仪和相机的外参变换矩阵,将所有的点云p′1转换融合到投影仪坐标系下,从而得到点云集合p″1,进而输出点云集合结果为p″1。

s32利用k邻近法,过滤点云集合p″1中的离群点,从而得到新的点云集合p″merge。

s4:输出新的点云集合p″merge。

本发明实施例提供的一种多目点云三维重建方法及装置通过结构光技术并结合多视角图像生成三维点云,从而精确、快速地对物体进行了三维重构,以方便后续的工业自动化处理。该方法使用简单,对物体进行三维重构的速度快、精度高,在实际工业应用环境中易于应用和实施。

实施例三

请参阅图5,下面进一步以4台相机加一台投影仪为例来说明本发明三维重建目标的具体详细方法,本方案提出一种多目三维重建方法,主要基于光切法,通过使用该方法能有效提高三维重建的精度、速度和点云完整性。具体的方法步骤与实施例一、实施例二基本相同,请参阅图1所示。

下面结合附图1、附图3以及附图5对本发明实施例方案作进一步的详细说明。

具体步骤如下:

s1:同步采集图像

s11启动投影光机o用于投影条纹光图像,启动相机c1,c2,c3,c4用于拍摄灰度图像;

具体地,如图5所示,启动补光系统、投影光机以及所有相机。补光系统根据实际环境部署,据工作环境而使用,当环境需要进行补光时则开启使用。投影光机o用于投影条纹光图像,投射的图像宽和高的像素分别率分别为1280和1024。4台相机c1,c2,c3,c4用于拍摄灰度图像,拍摄的图像宽和高的像素分别率分别为1028和1024。其中所有相机公用一台投影仪,且相机与投影仪的视野在指定的拍摄距离下,具有最大的共同视野。

s12采集图像。

采集q=4组图像,步骤如下:

s121初始化计数器q=0。

s122通过串口信号控制光机投射第q幅结构面光图iq0。同时地,通过软件或者硬件同步触发4台相机采集图片。获得4张带有结构光的灰度图,并通过两个相机的外参数,对c1,c2相机的图像进行立体矫正,得到配准后的图像,即iq1,iq2;以及对c3,c4相机的图像进行立体矫正,得到配准后的图像,即iq3,iq4。将结构面光图和灰度图像图表示为子集合sq={iq0,iq1,iq2,iq3,iq4}。

重复步骤s122,通过步骤s122采集q组机构面光图和灰度图像图的子集合图像,记为u={s0,s1,...,sq-1}。

s2:生成两两相机下的点云。

s21对于相机c1,根据相位法,利用灰度图像集{i01,i11,...,i41},计算图像在(u1,v1)位置的相位值θ(u1,v1):

其中,i41(u1,v1),i21(u1,v1),i11(u1,v1),i31(u1,v1)分别表示图像i41,i21,i11,i31在(u1,v1)位置的像素灰度值,取值范围是[0,255]的自然数集合。

由于相机c1,c2下采集的图像已经立体矫正对齐,因此两个相机的矫正图片具有相同的纵坐标值,因此在c2相机下的图像,在v1行的u1附近[u1-δu,u1+δu],计算所有的位置点的相位值,并找到相位值与θ(u1,v1)相同的图像位置(u2,v1)。具体地步骤为:

s211在[u1-δu,u1+δu]区间的每个元素u,计算相机c2图像在位置(u,v1)的相位值:

其中,i42(u,v1),i22(u,v1),i12(u,v1),i32(u,v1)分别表示图像i42,i22,i12,i32在(u,v1)位置的像素灰度值,取值范围是[0,255]的自然数集合。

s212如果|θ(u,v1)-θ(u1,v1)|<δ,则赋值u2=u,跳转至执行步骤s213;判断是否有未遍历的元素,如果仍有未遍历的元素,则跳转至继续执行步骤s211;否则返回执行步骤s21,继续计算相机c1图像的下一个像素点。本实施例例中,δ取值为0.01,但不限于该值。

s213在图像点(u1,v1)位置,相机c1和c2的视差为u2-u1,计算在相机c1下的像素点(u1,v1)所对应的空间三维坐标(x1,y1,z1)。

在相机c1下的像素点(u1,v1)所对应的空间三维坐标(x1,y1,z1)为:

其中b为两个相机的基线,f为标准化像素下的焦距。

根据上述步骤s21计算相机c1下的所有像素点的空间三维坐标点,从而构成了在相机c1坐标系下的点云集合p1。

s22剔除点云集合中的噪声点。

请参阅图4,具体步骤如下:

s221对于每个点云集合p1中的点pi=(xi,yi,zi),投影到相机c1图像像素点(u1i,v1i),即:

其中m1为相机c1的内参数3x3矩阵。

s222解析像素(u1i,v1i)的相位值,即:

s223将点pi=(xi,yi,zi)投影到相机c2图像像素点(u2i,v2i),即:

其中,m2为相机c2的内参数3x3矩阵;t21为相机c1到相机c2的4x4变换矩阵。

s224解析像素(u2i,v2i)的相位值,即:

如果|θ(u2i,v2i)-θ(u1i,v1i)|<δθ,两者的相位差小于δθ,,则从点云集合pk中删除该像素点,从而得到新的点云集合p′1。本实施例中δθ取值为0.02(但不限于该值)。

s23根据上述步骤s21和s22,同样地以c3,c4相机作为一组,计算在c3相机坐标系下的点云集合p′3。

s3:点云融合

s31根据投影仪与各个相机的外参数,已知相机c1在投影仪坐标系下的变换矩阵为相机c3在投影仪坐标系下的变换矩阵为将所有的点云p′1,p′3融合到投影仪坐标系下,即对于点云p′1的每一个点,分别应用变换,对于点云p′3的每一个点,分别应用变换,得到的所有坐标点构成的集合记为pmerge。

s32利用k邻近法,过滤点云集合pmerge中的离群点,,从而得到新的点云集合p′mrge。本实施例中,最小邻近点点个数为3,但不限于该值,最小邻近点的取值范围为大于1,小于10。

s4输出新的点云集合p′merge。

本发明实施例提供的一种多目点云三维重建方法及装置通过结构光技术并结合多视角图像生成三维点云,从而精确、快速地对物体进行了三维重构,以方便后续的工业自动化处理。该方法使用简单,对物体进行三维重构的速度快、精度高,在实际工业应用环境中易于应用和实施。

实施例四

本发明实施例还提供一种多目点云三维重建装置,请参阅图6,所述装置包括如下模块:

图像采集模块10,双目三维点云模块20、点云融合模块30以及输出模块40。

所述图像采集模块10,用于同步采集多目图像;

具体地,所述图像采集模块10包括相机和透镜光机,所述相机用于拍摄目标图像的灰度图像,所述投影光机用于投影条纹光图像,所述图像采集模块10用于采集同时带有结构光的灰度图。

所述双目三维点云模块20,用于生成两两相机下的三维点云。

所述双目三维点云模块20包括生成单元201以及噪声剔除单元202。

所述生成单元201,用于对每组相机ck,ck+1,利用灰度图像集{i0k,i1k,...,i(q-1)k}和{i0k+1,i1k+1,...,i(q-1)k+1},生成在相机ck坐标系下的点云集合pk。

所述噪声剔除单元202,用于剔除点云集合中的噪声点。

具体地,对于每个点云集合pk中的点,分别投影到其对应的另外一个相机图像像素点,并解析相位,从而确定该点是否为噪声点。如果是噪声点,则将对应的点从点云集合pk中删除,从而得到新的点云集合。

所述点云融合模块30,用于将所有的点云融合到投影仪坐标系下,从而得到点云集合。

所述点云融合模块30包括融合单元301以及过滤单元302。

所述融合单元301,用于将所有的点云融合到投影仪坐标系下,从而得到点云集合。

所述过滤单元302,用于过滤点云集合中的离群点,从而得到新的点云集合。

所述输出模块40,用于输出过滤掉离群点后的新的点云集合。

本发明所述多目三维重建装置通过图像采集模10同步采集多目图像,然后由双目三维点云模块20生成两两相机下的三维点云,通过点云融合模块30将所有的点云融合到投影仪坐标系下,从而得到点云集合,对物体进行三维重构。通过使用该装置能有效提高三维重建的精度、速度和点云完整性。通过使用本发明所述装置能精确、快速地对物体进行了三维重构,从而方便后续的工业自动化处理,并且识别精度高。

实施例五:

根据本发明的一个实施例提供的一种多目点云三维重建设备,该设备包括处理器、计算机可读存储介质以及其上存储的计算机程序,所述计算机程序被处理器执行时实现上述多目三维重建方法中的步骤,具体步骤如实施例一中描述所述,在此不再赘述。

本实施例中的存储器可用于存储软件程序以及各种数据。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

根据本实施例的一个示例,上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于一计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。该存储介质包括但不限于磁碟、优盘、光盘、只读存储记忆体(read-onlymemory,rom)等。

以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

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