公开/公告号CN108180825A
专利类型发明专利
公开/公告日2018-06-19
原文格式PDF
申请/专利权人 中国科学院沈阳自动化研究所;
申请/专利号CN201611120332.9
申请日2016-12-08
分类号G01B11/00(20060101);G01B11/26(20060101);G06T7/70(20170101);G06T7/80(20170101);
代理机构21002 沈阳科苑专利商标代理有限公司;
代理人王倩
地址 110016 辽宁省沈阳市东陵区南塔街114号
入库时间 2023-06-19 05:42:43
法律状态公告日
法律状态信息
法律状态
2019-07-26
授权
授权
2018-07-13
实质审查的生效 IPC(主分类):G01B11/00 申请日:20161208
实质审查的生效
2018-06-19
公开
公开
技术领域
本发明属于计算机视觉领域,具体的说涉及一种基于线结构光的长方体形物体三维识别与定位方法。
背景技术
随着我国国民经济的快速发展,自动化生产已经成为未来的发展趋势。利用机器人代替人工自动纠正物体位置,节约生产成本的同时,亦提高了生产效率和安全系数,降低了工人劳动强度,成为越来越多企业的理想选择。
为了实现机器人自动纠正物体位置,需要测量物体的姿态,然后传递给机器人,引导机械手进行纠正。结构光测量方法实时性强,设备简单,受到越来越多的重视,特别在测量设备的体积、重量、功耗等方便要求比较严格的应用场合,结构光测量更加体现了其自身优势。
结构光测量方法是作为一种主动式光学测量技术,主要原理是利用结构光投射器向被测物体表面投射可控制的光点、光条或光面,通过图像传感器(比如摄像机)获取图像,根据系统的几何关系,运用三角原理计算得到物体的三维坐标。根据结构光投射器向被测物体表面投射结构为可控制的光点、光条或光面,可将结构光分为点结构光、线结构光和面结构光。点结构光测量方法需要逐点扫描物体进而进行测量,随着被测物体的增大,图像获取和处理时间将会急剧加大,难以实现实时测量;面结构光提供的三维坐标点数据量非常大,计算时间亦会随之增加。因此,线结构光更适用于工程应用。
恶劣的生产环境,严重的噪声污染,长方体形物体的长度、宽度、高度又随意变化,一般测量方法的精度很难满足实际要求。因此本文研究一种能够实时、自动的识别定位长方体形物体的方法。
发明内容
为解决生产环境中严重的噪声污染,长方体形物体的长度、宽度、高度以及表面颜色、图案又随意变化等情况对测量精度的影响,本发明提供一种测量精度高,速度快,鲁棒性强,且能实时、自动地实现长方体形物体三维识别与定位方法。
本发明为实现上述目的所采用的技术方案是:一种基于线结构光的长方体形物体三维识别与定位方法,通过结构光测量传感器实现传送带上长方体形物体位置的测量,包括以下步骤:
利用结构光测量传感器定时扫描传送有长方体形物体的传送带并获取图像;
利用重心法提取图像中的结构光,得到图像上的结构光测量数据;
确定长方体形物体的结构光测量数据,进而得到长方体形物体水平方向上左右端点的图像坐标;
将左右端点图像坐标转换为三维空间坐标;
将不同时间获取的长方体形物体的结构光测量数据进行拼接形成目标图像;
对目标图像进行分割得到长方体形物体目标;
确定长方体形物体的长边中心三维坐标及其旋转角度。
所述线结构光测量传感器所投射的射线是1个。
所述利用重心法提取图像中的结构光包括以下步骤:
Cu=u>
其中,Cu为测量结构光的u方向坐标,Cv为测量结构光的v方向坐标,*表示乘法,I(u,v)为图像(u,v)位置处的灰度值,且满足以下约束条件,
I(u,v)>TI>
TI为灰度阈值,n为满足约束条件的点个数。
所述确定长方体形物体的结构光测量数据包括以下步骤:
选取Cv<Tv的点即为长方体形物体的结构光坐标,Cv为测量结构光的v方向坐标,Tv为阈值;
所述得到长方体形物体水平方向上左右端点的图像坐标之后,优化端点图像坐标,包括以下步骤:
设定包含物体的感兴趣区域ROI;
对于左端点(uleft,vleft),将u坐标从uleft-1开始遍历至感兴趣区域ROI的最左端,分别代入重心法中的Cu,并将约束条件中的灰度阈值改为TI/2,利用重心法得到结构光测量数据;当某个u坐标对应的所有v坐标灰度值均小于TI/2时,则停止遍历,此时的u+1点即为左端点;
对于右端点(uright,vright),将u坐标从uright+1开始遍历至感兴趣区域ROI的最右端,分别代入重心法中的Cu,并将约束条件中的灰度阈值改为TI/2,利用重心法得到结构光测量数据;当某个u坐标对应的所有v坐标灰度值均小于TI/2时,则停止遍历,此时的u-1点为右端点。
所述对目标图像进行分割得到长方体形物体目标包括以下步骤:
同时满足以下四个约束条件时,此时得到的图像即为含有单个长方体形物体目标的图像:
其中,
所述确定长方体形物体的长边中心三维坐标及其旋转角度包括以下步骤:
已知长方体形物体Object的左、右端点三维坐标分别为{(xleft,yleft,zleft)|(xleft,yleft,zleft)∈Object},{(xright,yright,zright)|(xright,yright,zright)∈Object},
根据左端点,将其分成两部分,
根据右端点,将其分成两部分,
将A、B、C、D四部分数据分别通过下式进行最小二乘法直线拟合:
式中,xi、yi为端点集A或B或C或D的水平、垂直方向坐标,n表示端点集数据个数;a、b为直线方程ax+by+1=0系数,用于确定端点集A、B、C、D拟合的直线方程系数,即直线A、B、C、D的系数;直线角度α为,
α=arctan(-a/b) (31)
用于确定长方体形物体的旋转角度。
设长方体形物体的长度L、宽度W,两个不同长度的边长Dist1、Dist2如下:
式中,aa、ba为直线A的系数,(xd,yd)为D中某点坐标;fabs表示绝对值;(xb,yb)为B中某点坐标;ac、bc为直线C的系数;
如果Dist1>Dist2,则L=Dist1,W=Dist2;长方体形物体的角度θ为,
θ=(αc+αb)/2>
式中,αb、αc分别为直线B、C的角度;
长边中心坐标(xLC,yLC,zLC)为,
xLC=(xL+xR)/2>
yLC=(yL+yR)/2>
式中,(xL,yL)为A直线与C直线的交点坐标,(xR,yR)为C直线与D直线的交点坐标,nc为C中数据个数;
如果Dist1<Dist2,则L=Dist2,W=Dist1,长方体形物体的角度θ为,
θ=(αa+αd)/2>
式中,αa、αd分别为直线A、D的角度;
长边中心坐标(xLC,yLC,zLC)为,
xLC=(xL+xR)/2>
yLC=(yL+yR)/2>
式中,(xL,yL)为A直线与B直线的交点坐标,(xR,yR)为A直线与C直线的交点坐标,na为A中数据个数;
长方体形物体的型心坐标(xC,yC,zC)为,
其中,nb、nd分别为端点集B、D中的数据个数;
本发明具有以下优点及有益效果:
1.采用结构光测量传感器、CCD相机和PC机实现长方体形物体的三维识别与定位,具有测量精度高、设备简单、实时性强的特点。
2.虽然结构光测量数据受噪声污染严重,但依旧能够准确地确定目标的左右端点坐标,具有良好的抗干扰性能。
3.对长方体形物体自身的约束小,其长度、宽度、高度以及表面颜色、图案可以随意变化。
附图说明
图1为本发明的整体流程图;
图2为长方体形物体视觉检测系统示意图;
图3为线结构光扫描的长方体形物体目标拼接分割示意图;
图4为视觉传感器坐标转换示意图。
具体实施方式
下面结合附图及实施例对本发明的一种基于线结构光的长方体形物体三维识别与定位方法做进一步的详细说明。
本发明面向工业传送带上的长方体形目标识别定位问题,提出了一种基于线结构光的长方体形物体三维识别与定位方法:利用结构光测量传感器定时扫描传送带,获取图像;利用重心法提取图像中的结构光数据;确定长方体形物体的结构光数据,进而得到其左右端点图像坐标;对左右端点图像坐标进行精细化处理;左右端点图像坐标转换为三维空间坐标;图像拼接;长方体形物体目标分割;计算长方体形物体的长边中心三维坐标(或型心三维坐标)及旋转角度。本发明可以实现传送带上长方体形物体位姿的在线、实时、自动、非接触测量,测量速度快、系统柔性好,精度适中;对物体自身约束小,长度、宽度、高度以及表面颜色、图案可以随意变化;传送带上物体位置可以随意变化;对噪声具有鲁棒性。
如图1所示,一种基于线结构光的长方体形物体三维识别与定位方法,用于实现传送带上长方体形物体位置的测量,包括以下步骤:
利用线结构光测量传感器定时扫描,获取图像;
利用重心法提取图像中的结构光,得到结构光测量数据;
确定长方体形物体的结构光测量数据,进而得到长方体形物体水平方向上左右端点的图像坐标;
对上述左右端点图像坐标进行精细化处理;
将精细化处理后的左右端点图像坐标转换为三维空间坐标;
结构光图像进行拼接处理;
长方体形物体目标分割;
计算长方体形物体的长边中心三维坐标(或型心三维坐标)及其旋转角度。
所述定时时间间隔,需要根据实际情况自行确定。
线结构光测量传感器所投射的射线是1个。
结构光提取方法采用重心法,
Cu=u>
其中,Cu为测量结构光的u方向坐标,Cv为测量结构光的v方向坐标,I(u,v)为图像(u,v)位置处的灰度值,且满足以下约束条件,
I(u,v)>TI>
其中,TI为灰度阈值,可以根据结构光成像情况确定,本文选择TI=40。
长方体形物体的结构光测量数据,根据扫描在长方体形物体的结构光和扫描在传送带的结构光的成像位置差异性,长方体形物体的结构光测量数据应该满足以下约束条件,
Cv<Tv>
其中,Tv为长方体形物体的结构光测量数据图像v方向上应该满足的阈值,可以根据相机前端与长方体形物体上表面间的距离确定,本文选择Tv=335。
端点图像坐标进行精细化处理,对于左端点(uleft,vleft)而言,u坐标从uleft-1开始变化,直至感兴趣区域ROI的最左端,再次利用重心法计算结构光测量数据,不同的是,灰度阈值变为TI/2,那么此时计算得到的左端点即为最终的左端点坐标;对于右端点(uright,vright)而言,u坐标从uright+1开始变化,直至感兴趣区域ROI的最右端,再次利用重心法计算结构光测量数据,这里灰度阈值亦为TI/2,那么此时计算得到的右端点即为最终的右端点坐标。
一般情况下,摄像机镜头有畸变,只考虑一阶径向畸变,畸变图像坐标为(xd,yd),理想图像坐标为(xu,yu),则
xu=xd(1+k1r2)>
yu=yd(1+k1r2)>
式中,k1为径向畸变系数,
三维摄像机坐标(xc,yc,zc)到理想图像坐标(xu,yu)的转换为:
式中,f为摄像机的有效焦距,ρ为比例常数。
世界坐标(xw,yw,zw)到摄像机坐标(xc,yc,zc)的转换为:
式中,R是3×3的旋转矩阵,由坐标旋转角α、β、γ决定,T是平移矢量。R和T分别决定了摄像机的方向和位置。
图像拼接,当没有检测到长方形物体的结构光时,图像拼接过程结束。
长方体形物体目标分割,同时满足以下四个约束条件时,目标分割过程结束,
其中,
已知长方体形物体Object的左右端点三维坐标,{(xleft,yleft,zleft)|(xleft,yleft,zleft)∈Object},{(xright,yright,zright)|(xright,yright,zright)∈Object},对于左端点,可根据几何特征将其分成两部分,
式中,xi、yi为端点集的水平和垂直方向坐标,n表示端点集数据个数,a、b为直线方程ax+by+1=0系数,则直线角度α为,
α=arctan(-a/b) (58)
长方体形物体的长度L、宽度W为,
式中,aa、ba分别为A直线系数,(xd,yd)为D中某点坐标。如果Dist1>Dist2,则L=Dist1,W=Dist2。长方体形物体的角度θ为,
θ=(αc+αb)/2>
式中,αb、αc分别为B、C直线的角度。长边中心坐标(xLC,yLC,zLC)为,
xLC=(xL+xR)/2>
yLC=(yL+yR)/2>
式中,(xL,yL)为A直线与C直线的交点坐标,(xR,yR)为C直线与D直线的交点坐标,nc为C中数据个数。
如果Dist1<Dist2,则L=Dist2,W=Dist1,长方体形物体的角度θ为,
θ=(αa+αd)/2>
式中,αa、αd分别为A、D直线的角度。长边中心坐标(xLC,yLC,zLC)为,
xLC=(xL+xR)/2>
yLC=(yL+yR)/2>
式中,(xL,yL)为A直线与B直线的交点坐标,(xR,yR)为A直线与C直线的交点坐标,na为A中数据个数。
长方体形物体的型心坐标(xC,yC,zC)为,
本发明的一种基于线结构光的长方体形物体三维识别与定位方法,利用CCD相机采集线结构光扫描的图像,并用重心法提取结构光测量数据,确定长方体形物体的结构光数据,得到其左右端点坐标,并对其进行精细化处理,然后将其由图像坐标转换为三维空间坐标,最后拼接分割出长方体形物体,计算其长边中心三维坐标(或型心三维坐标)及旋转角度。具体包括如下步骤:
1.测量系统的标定
定义图像坐标系为Ou,摄像机坐标系为Oc,建立Oc到Ou之间的变换关系,即摄像机的内参数矩阵;定义世界坐标系为Ow,建立Ow到Oc之间的变换关系,即摄像机的外参数矩阵。在摄像机内参数矩阵标定过程中,只考虑摄像机镜头的径向畸变。
2.图像采集及图像处理
如图2所示,利用CCD相机定时采集线结构光扫描的图像,并用重心法提取结构光测量数据,
Cu=u>
其中,Cu为测量结构光的u方向坐标,Cv为测量结构光的v方向坐标,I(u,v)为图像(u,v)位置处的灰度值,且满足以下约束条件,
I(u,v)>TI>
其中,TI为灰度阈值,可以根据结构光成像情况确定,本文选择TI=40。图像水平方向为u方向,垂直方向为v方向。
3.确定长方体形物体的结构光数据及左右端点坐标
根据扫描在长方体形物体的结构光和扫描在传送带的结构光v方向成像的差异性,长方体形物体的结构光测量数据应该满足以下约束条件,
Cv<Tv>
其中,Tv为长方体形物体的结构光测量数据图像v方向上应该满足的阈值,可以根据相机前端与长方体形物体上表面间的距离确定,本文选择Tv=335。确定长方体形物体的结构光数据后,即可得到其左右端点图像坐标。
4.端点坐标精细化处理
第三步计算得到的左右端点图像坐标的精度不够,需要对其进行精细化处理。对于左端点(uleft,vleft)而言,u坐标从uleft-1开始变化,直至感兴趣区域ROI的最左端,再次利用重心法计算结构光测量数据,不同的是,灰度阈值变为TI/2,那么此时计算得到的左端点即为最终的左端点图像坐标;对于右端点(uright,vright)而言,u坐标从uright+1开始变化,直至感兴趣区域ROI的最右端,再次利用重心法计算结构光测量数据,这里灰度阈值亦为TI/2,那么此时计算得到的右端点即为最终的右端点图像坐标。
5.图像坐标转换为空间坐标
如图4所示,一般情况下,摄像机镜头都有畸变,只考虑一阶径向畸变,设畸变图像坐标为(xd,yd),理想图像坐标为(xu,yu),则
xu=xd(1+k1r2)>
yu=yd(1+k1r2)>
式中,k1为径向畸变系数,
三维摄像机坐标(xc,yc,zc)到理想图像坐标(xu,yu)的转换为:
式中,f为摄像机的有效焦距,ρ为比例常数。
世界坐标(xw,yw,zw)到摄像机坐标(xc,yc,zc)的转换为:
式中,R是3×3的旋转矩阵,由坐标旋转角α、β、γ决定,T是平移矢量。R和T分别决定了摄像机的方向和位置。
6.图像拼接
第一次图像中检测到长方体形物体的结构光,图像拼接过程即开始,直至检测不到长方形物体的结构光时,图像拼接过程结束。
7.目标分割
长方体形物体目标分割,当同时满足以下四个约束条件时,该过程结束,
其中,
8.计算长边中心三维坐标(或型心三维坐标)及角度
{(xleft,yleft,zleft)|(xleft,yleft,zleft)∈Object},{(xright,yright,zright)|(xright,yright,zright)∈Object}是长方体形物体Object的左右端点三维坐标。对于左端点,可根据几何特征将其分成两部分,
式中,xi、yi为端点集的水平和垂直方向坐标,n表示端点集数据个数,a、b为直线方程ax+by+1=0系数,则直线角度α为,
α=arctan(-a/b) (85)
长方体形物体的长度L、宽度W为,
式中,aa、ba分别为A直线系数,(xd,yd)为D中某点坐标。如果Dist1>Dist2,则L=Dist1,W=Dist2。长方体形物体的角度θ为,
θ=(αc+αb)/2>
式中,αb、αc分别为B、C直线的角度。长边中心坐标(xLC,yLC,zLC)为,
xLC=(xL+xR)/2>
yLC=(yL+yR)/2>
式中,(xL,yL)为A直线与C直线的交点坐标,(xR,yR)为C直线与D直线的交点坐标,nc为C中数据个数。
如果Dist1<Dist2,则L=Dist2,W=Dist1,长方体形物体的角度θ为,
θ=(αa+αd)/2>
式中,αa、αd分别为A、D直线的角度。长边中心坐标(xLC,yLC,zLC)为,
xLC=(xL+xR)/2>
yLC=(yL+yR)/2>
式中,(xL,yL)为A直线与B直线的交点坐标,(xR,yR)为A直线与C直线的交点坐标,na为A中数据个数。
长方体形物体的型心坐标(xC,yC,zC)为,
机译: 三维=物体形式记录方法,例如工业检查任务,例如物体识别
机译: 识别三维物体形状的方法和装置
机译: 识别三维物体形状描述的方法