一种基于轮廓特征的仓储箱体识别与定位方法与流程

文档序号:21782934发布日期:2020-08-07 20:15阅读:227来源:国知局
一种基于轮廓特征的仓储箱体识别与定位方法与流程

本发明涉及机器视觉的识别与定位领域,尤其是一种基于深度相机的箱体货物识别与定位方法。



背景技术:

当前,现有的基于多目相机的物体识别和定位设备,大部分采用不同传感器采集的立体匹配图像来获取每个像素在空间中的位置,这样会导致成本高,运行速度慢,系统太复杂性等问题。

物体分割大部分是基于彩色图像进行凸包提取的方法实现,该处理方法需要考虑物体表面色彩和纹理,在遇到背景颜色与物体类似的情况时容易产生误判,箱体货物由于纹理特征不明显采用一般的彩色相机较难捕捉到其特征点。



技术实现要素:

本发明针对现有技术的以上缺陷或改进需求,提供了一种基于轮廓特征的仓储箱体识别与定位方法,该方法计算量小、实时性强,并且能够适应日常生活场景。

本发明的目的可以通过如下技术方案实现:

一种基于轮廓特征的仓储箱体识别方法,包括以下步骤:

(1)采集箱体货物的彩色图像c和深度图像d;

(2)对彩色图像c前景分割得到多个颜色区域ri,对深度图像d前景分割得到多个深度块dj;将深度块dj映射到彩色图像c上,标记落入同一深度块dj的颜色区域ri,并将其合并作为最终的箱体货物前景图像;

(3)对箱体货物前景图像作直线边缘检测,并以矩形为轮廓目标对边缘进行连接,得到候选目标闭合轮廓;

(4)从候选目标闭合轮廓中选取满足预定箱体矩形特征者,即为箱体识别结果。

进一步地,所述步骤(4)的具体实现方式为:

(41)分别提取每个候选目标闭合轮廓ci的最小外接矩形ri,计算外接矩形ri的面积和闭合轮廓ci的面积之间的比值若αi大于给定阈值代表轮廓矩形近似的程度不高,则将ci从候选目标闭合轮廓序列中去除;

(42)针对剩余候选目标闭合轮廓ci的最小外接矩形ri,计算其高度hi和宽度wi的比值βi=hi/wi,若符合判断候选目标轮廓ci为目标箱体轮廓,即为箱体识别结果;其中,分别为矩形高度宽度比值的上下阈值。

进一步地,所述步骤(3)直线边缘检测的具体实现方式为:

首先计算所述箱体货物前景图像每个像素点的水平线角度;

然后依据所述水平线角度用区域生长方法将所述箱体货物前景图像分割为若干连通域,每个连通域中所有像素点的水平线角度不能超过容忍值τ,记连通域为直线支撑区域;

对所述直线支撑区域进行验证:

计算成线点密度d=k/n,k为直线支撑区域内水平线方向角度与主惯性轴方向相同的像素点个数,n为直线支撑区域内的像素点总数;

若d大于或等于阈值即判定此区域为有效支撑区域;

若d小于阈值计算直线支撑区域起始位置相邻像素点间的梯度方向标准偏差,将容忍值τ更新为所述标准偏差,缩小直线支撑区域面积,重新从起始位置进行区域生长形成新的直线支撑区域;再次对所述直线支撑区域进行验证,直至满足d大于或等于阈值

最后根据矩形度对有效支撑区域进行筛选和完善,得到直线边缘检测结果。

进一步地,还对检测到的直线段作筛除和合并处理,具体的实现方式为:

用li表示直线段:li{si(x1,y1),ei(x2,y2),di,θi},其中,si(x1,y1)和ei(x1,y1)分别为线段的起点和终点坐标;θi为向量和x轴方向间的夹角为线段和水平线间的角度;线段的长度当di小于阈值dthresh时,滤除该线段;

进一步判定,给定平行线段夹角的容差阈值为θthresh,若|θi-θj|<θthresh或者π-|θi-θj|<θthresh,则保留该线段,否则滤除该线段;

遍历保留的线段集合,使用欧氏距离计算线段li和lj两个端点间的距离d1、d2、d3、d4,取dmin=min(d1,d2,d3,d4),dmax=max(d1,d2,d3,d4);若dmin<dthresh且dmax>di并且dmax>dj,则将线段li和lj合并为一个新线段lnew,然后以lnew替代li;循环上述过程,直到所有保留线段都遍历完成。

进一步地,对于直线支撑域中存在分支的情况,使用基于直方图统计的矩形分支去除方法,在一个直线支撑区域判断有效后,在垂直于支撑域的方向上,统计成线点的投影数量,按照成线点的不同分布建立相应的直方图,进而剔除分支。

进一步地,还对所述步骤(1)所述彩色图像作灰度和滤波处理,以增强感兴趣区域和去除有噪点区域。

轮廓特征的仓储箱体定位方法,首先按照前文所述方法识别箱体轮廓,再按照如下方式进行箱体定位:

对识别的箱体平面矩形框按照比例μ1收缩,则箱体平面矩形框四个顶点a0、b0、c0、d0对应的收缩点为p0、p1、p2、p3,将该四个收缩点作为位姿识别的特征点,获取四个特征点在相机坐标系下的坐标;

以识别的箱体平面矩形框的中心点为原点,建立物体坐标系oo-xoyozo,计算四个特征点在物体坐标系下的坐标以及相机坐标系到物体坐标系的偏移向量

根据四个特征点分别在相机坐标系和物体坐标下的坐标,计算相机坐标系到物体坐标系的旋转变换关系

依据相机坐标系到物体坐标系的偏移向量以及相机坐标系到物体坐标系的旋转变换关系计算得到相机坐标系下箱体目标的姿态和位置

进一步地,还按照如下方式进行箱体尺寸计算:依据四个特征点在相机坐标系下的坐标,计算箱体高度、长度和宽,再将所述长度和宽度按照比例1/μ1放大。

本发明与现有技术相比,具有如下优点和有益效果:

1、本发明采用深度图像,避免了多目相机在识别过程中复杂的计算。计算量小,速度快,实时性好,可靠性高,成本低。在立体匹配系统中,不需要通过不同传感器采集的图像来获得每个像素在空间中的位置,只需要一台深度相机就可以直接获得每个像素在相机坐标系中的位置。

2、本发明将箱式货物的深度图像和彩色图像相结合,提高在深度图像中提取到的箱体货物的轮廓转换到彩色图像中,在彩色图像中实现箱体货物的匹配和识别,最后将彩色图像中识别到的箱体货物对应到点云图像中,实现箱体货物的定位,在匹配的过程中,采用随机抽样一致性算法剔除了预匹配过程中的误匹配点,提高了箱体货物识别的精确度。

3、本发明在候选目标闭合轮廓中依据箱体矩形特征进行筛选,优选地,利用边界追踪算法来进行箱体轮廓提取,首先以边界上的任意一点作为起点,沿着顺时针方向找到其附近的边界点,然后回到起点,最终提取得到图像中的闭合边界轮廓。根据箱体的有用特征,包含箱体的稳定矩形特征,箱体尺寸大小范围和箱体尺寸的长宽比信息等,验证提取候选轮廓的合理性,从而防止检测错误,提高了箱体货物识别的可靠性。

4、在检测轮廓时,由于托盘和光线阴影的干扰,仍然会存现与箱体货物无关的直线段;另外,由于箱体外轮廓的不规则,导致提取到的箱体外轮廓直线段也会存在凸凹不平。作为优化,对检测箱体的直线段进行处理和合并之后,可以筛除多余的直线段,从而得到箱体货物的大致轮廓,获得外轮廓包裹效果较好的箱体货物,对去除繁杂线段有较好的辅助作用。

5、作为优化,本发明对获得的彩色图像c进行预处理,包括灰度和滤波处理,增强感兴趣区域,去除有噪点区域,从而获得方便后续分析的高质量图像。

附图说明

图1为本发明一种基于轮廓特征的仓储箱体识别与定位方法的总流程图。

图2为本发明中在环境中通过深度相机识别仓储箱体的示意图。

图3为本发明中一个实施例的结构光深度相机测量系统成像图。

图4为本发明中基于迭代验证的直线特征检测算法流程图。

图5为本发明中直线段合并情况分类示意图。

图6为本发明中轮廓最小外接矩形示意图。

图7为本发明中仓储箱体位姿和尺寸计算的示意图。

在所有附图中,相同的附图标记表示相同的元件或结构。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及较佳实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

图1为本发明一种基于轮廓特征的仓储箱体识别与定位方法较佳实施例的总流程图。图2为本发明中在环境中通过深度相机识别仓储箱体的示意图。其中,直角坐标系ow-xwywzw为世界坐标系,直角坐标系oc-xcyczc为深度相机坐标系。本发明的实施方案主要包括以下步骤:

1)通过运行深度相机对箱体货物采图,获得箱体货物的深度图像d和彩色图像c,其中d、c图像的分辨率均相同;

2)对上述获得的彩色图像c进行预处理,包括灰度和滤波处理,增强感兴趣区域,去除有噪点区域,从而获得方便后续分析的高质量图像;

3)对上述预处理之后的图像进行基于深度图像的背景分割,使用阈值分割法对深度图像进行预分割,来对前景物体和背景区域进行初步的轮廓估计,通过多阈值分块获得的粗轮廓。对彩色图像c前景分割得到多个颜色区域ri,将深度块dj映射到彩色图像c上,标记落入同一深度块dj的颜色区域ri,并将其合并作为最终的箱体货物前景图像;

4)对上述背景分割之后的图像利用直线检测算法对所述待识别物体图像进行边缘检测,获取直线集合;

5)对上述直线检测之后的图像进行直线处理,去除多余的直线,并将这些几乎平行和相邻的线段合并,然后以边界上的任意一点作为起点,沿着顺时针方向找到其附近的边界点,然后回到起点,最终提取得到图像中的候选目标闭合轮廓;

6)对上述轮廓提取的矩形候选轮廓进行合理性验证,根据箱体的有用特征,包含箱体的稳定矩形特征,箱体尺寸大小范围和箱体尺寸的长宽比信息等,通过箱体轮廓的最小外接矩形对箱体轮廓进行提取及验证,进而完成箱体的识别;

7)对上述识别到箱体的四个顶点按一定比例收缩得到矩形平面上四个特征点坐标,根据深度图像对应点的深度坐标计算特征点的三维坐标,通过四个特征点的三维坐标计算箱体的位姿和尺寸;

8)将上述箱体货物在相机坐标系中的位置信息,进行坐标系变换,转换到世界坐标系当中,实现箱体货物的定位。

下面将对其逐一进行解释说明。

所述步骤1)通过运行深度相机对箱体货物进行采图,本步骤中,深度相机可以采集彩色图像c和深度图像d,通过自带的api函数,考虑箱体货物的识别速度,将深度图像和彩色图像的分辨率设置为480×360。

图3是根据本发明中一个实施例的结构光深度相机测量系统成像图。左边是红外发射器,其焦距为f,光心记作oc,将红外发射器成像平面的坐标系记作xlolyl,右边为红外接收传感器,其焦距为f′,红外接收传感器成像平面的坐标系为xroryr。其中,oc、ol和or在同一水平面上,并且xl、yl轴和xr、yr轴相互平行,两个成像平面分别为il和ir。

所述步骤2)通过获得的彩色图像c进行预处理,其中,预处理的方法为:

对彩色图像进行灰度化处理,使其变成仅具有黑白之间各种灰度级的灰度图像。在本发较佳实施例中使用加权平均方法根据重要性为rgb分配不同的权重,并对rgb值进行加权,按照如下公式进行灰度处理:gray=wr×r+wg×g+wb×b。其中,wr、wg、wb分别表示r、g、b三个像素的权重值,优选地,取wr=0.299、wg=0.587、wb=0.114。

使用自适应高斯滤波对上述图像进行滤波处理,以减小图像中的噪声干扰,普通高斯滤波的方差参数σ是一个固定值,自适应高斯滤波就是利用图像的局部特征来选择合适的σ,定义图像中任意一个像素点(x,y),自适应高斯滤波器的表达式为:

其中,方差σ和高斯核的大小l是事先定好的常数,优选地,取σ=1、k=1,即可得3×3阶高斯滤波。自适应高斯滤波器的目标就是选择一个折中的σ使目标函数达到最优。

本发明实施例采用阈值分割和形态学处理的算法,在深度图像中剔除背景平面,分割出前景箱体货物,能够实现箱体货物与背景平面的快速分离与提取,可以提高箱体货物识别与定位的效率和精准性。

所述步骤3)对预处理之后的图像进行基于深度图像的背景分割,本步骤中,根据深度相机的测量范围设置阈值δ1、δ2,对于深度图像坐标系上任一点(x,y),按照如下公式去除过远的深度数据:

上式中,f(x,y)为深度图像的距离值,δ1和δ2为阈值。其中,根据深度相机的识别范围δ1和δ2的取值范围为0.3m≤δ1≤δ2≤8m。通过以上方法可以初步滤除深度图像d中过远的背景信息,得到预分割之后的前景箱体大致轮廓。

将分割后的深度前景区域投影到分割后的彩色图像上。如果彩色图像区域的一半以上的区域ri位于深度块ui上,就判定颜色区域ri在深度块ui上,只有同一深度块上的对象才能合并在一起,将合并之后的图像作为分割后的前景图像。

所述步骤4)对背景分割之后的图像利用直线检测算法对所述待识别物体图像进行边缘检测,图4为本发明较佳实施例中基于迭代验证的直线特征检测算法流程图,具体的步骤为:

使用直线检测算法进行直线检测。首先计算所述箱体货物前景图像每个像素点的水平线角度;然后依据所述水平线角度用区域生长方法将所述箱体货物前景图像分割为若干连通域,每个连通域中所有像素点的水平线角度不能超过容忍值τ,记连通域为直线支撑区域。在生成直线支撑区域时,要先开始直线支撑区域的验证,成线点的密度为:d=k/n,其中,k为直线支撑区域内水平线方向角度与主惯性轴方向相同的像素点个数,n为直线支撑区域内的像素点总数。

当d大于或等于阈值时,即认为此区域是有用的支撑域。但是如果d小于阈值需要重新选择最大容差τ和直线支撑区域半径r的值,来继续检测缺漏的直线,优选地,取阈值的大小为

当d小于阈值时,计算支撑区域起始位置相邻像素点间的梯度方向标准偏差,以此值替换之前的最大容差值τ作为新的最大容差值,然后从这个起始位置再进行直线支撑区域生长的过程(缩小直线支撑区域面积),重新计算近似矩形和成线点的密度d,与阈值比较大小,判断是否为有效的直线支撑区域。

对于直线支撑域中存在分支的情况,使用基于直方图统计的矩形分支去除方法,在一个直线支撑区域判断有效后,在垂直于支撑域的方向上,统计成线点的投影数量,按照成线点的不同分布建立相应的直方图,进而剔除分支。在找到分支所在位置后,需要压缩分支位置的小矩形宽度,使其和其他等分矩形宽度一样,这样可以使直线支撑域的整体矩形宽度减小,进而提高直线检测的精度。

所述步骤5)对直线进行处理和合并,图5为为本发明中直线段合并情况分类示意图。首先对直线段进行定义,线段包含以下特性:起点、终点、线长、线与水平线之间的夹角,用公式li表示任何线段:li{si(x1,y1),ei(x2,y2),di,θi}。其中,si(x1,y1)和ei(x1,y1)分别为线段的起点和终点坐标。线段的长度di用欧氏距离来计算:另外,当di小于阈值dthresh时,对线段进行滤除。向量和x轴方向间的夹角为线段和水平线间的角度θi,范围θi∈[0,180°)。

遍历有效线段集合中的线段,选择剩余线段lj{sj(xs,ys),ej(xe,ye),dj,θj}进行合并判断,给定平行线段夹角的容差阈值为θthresh,若|θi-θj|<θthresh或者π-|θi-θj|<θthresh,则判定合格,否则将线段剔除。有序遍历有效线段集合中的线段li,用欧氏距离计算li和lj两个端点间的距离大小d1、d2、d3、d4,取dmin=min(d1,d2,d3,d4)dmax=max(d1,d2,d3,d4)。然后进行判断:dmin<dthresh且dmax>di并且dmax>dj。若符合判断,就将线段li和lj合并为一个新线段lnew,然后以lnew替代li。循环上述过程,直到所有有效线段都遍历完成。以边界上的任意一点作为起点,沿着顺时针方向找到其附近的边界点,然后回到起点,最终提取得到图像中的闭合矩形轮廓。

所述步骤6)对箱体轮廓进行提取和验证,图6为本发明中轮廓最小外接矩形示意图。分别提取每个闭合轮廓ci的最小外接矩形ri,然后计算外接矩形的面积和闭合轮廓面积之间的比值大小若αi大于给定的阈值代表轮廓矩形近似的程度不高,则将ci从候选轮廓序列中去除。

在对候选轮廓进行一定的筛除之后,对剩余候选轮廓ci最小外接矩形ri计算高度宽度比值βi=hi/wi,然后通过比较大小进行筛选,若符合就判断候选轮廓ci为目标箱体轮廓。其中,分别为矩形高度宽度比值的上下阈值。

通过上述直线处理、线段合并和轮廓检测等步骤,能够有效提取出灰度图中箱体边缘轮廓的最小外接矩形,最后将灰度图中提取到的矩形框坐标映射到彩色图像中,假设识别到的矩形数量为m个,每个矩形的四个顶点在相机图像坐标系下的坐标分别为ai(x0+4i,y0+4i)、bi(x1+4i,y1+4i)、ci(x2+4i,y2+4i)、di(x3+4i,y3+4i)(i=0,1,…,k),以其中一个矩形a0b0c0d0为例,类比矩形质心法,可以求得矩形形心在图像坐标系下的坐标oobj0(xobj0,yobj0),其中,xobj0=(x0+x1+x2+x4)/4,yobj0=(y0+y1+y2+y4)/4。

所述步骤7)对箱体位姿进行计算,图7为本发明中仓储箱体位姿和尺寸计算的示意图。由于识别矩形框的顶点通常为箱体的边缘点,这些点很可能位于箱体实际的顶点的外边,导致深度信息缺少。因此利用识别平面中矩形框四个顶点a0、b0、c0、d0的收缩点p0、p1、p2、p3作为位姿识别的特征点。四个特征点在成像平面的成像点分别为c0、c1、c2、c3,考虑到实际箱体货物的层数和堆数不确定,将一堆箱体货物的长度和宽度定义为l2和l1,高度定义为h。

设物体坐标系的原点oo为矩形a0b0c0d0的中心,μ1为收缩比例系数(0<μ1<1),优选地,取μ1=0.8。(ua,va)为点a0在像素坐标系下的坐标,那么oo和特征点p0、p1、p2、p3在虚拟成像平面像素坐标系上的坐标(i=0,1,2,3)为:

根据以下公式可以计算出特征点p0、p1、p2、p3在相机坐标系下的三维坐标

其中,f为相机焦距,(u0,v0)为相机光心坐标,(u,v)为特征点在像素坐标系下的坐标,(xc,yc,zc)为特征点在相机坐标系下的坐标。

然后,按照以下步骤建立物体坐标系oo-xoyozo:

a)xo轴上的单位向量为:

其中,向量的模长。

b)p1p2方向的单位向量为:

c)zo轴上的单位向量为向量的叉乘:

d)yo轴上的单位向量为向量的叉乘:

在建立完物体坐标系后,在物体坐标系下点p0、p1、p2、p3的坐标值可以由向量的点乘计算,以点p0为例:

同样的,p1、p2、p3在物体坐标系下的坐标也可以通过上式求得。

在得到p0、p1、p2、p3点在相机坐标系和物体坐标系下的三维坐标后,通过svd奇异值分解就能计算获得从相机坐标系到物体坐标系的旋转变换关系

进而通过[u,s,v]=svd(h)进行奇异值分解得到

相机坐标系到物体坐标系的偏移向量可以根据点的转换关系,经过以上步骤,即可求得相机坐标系下箱体目标的姿态和位置进而完成了箱体的位姿计算。

所述步骤(7)对箱体尺寸进行计算。

a)箱体的高度计算。仓储箱体的识别平面有两种情况,分别为识别平面1和识别平面2,都可以计算箱体的高度,以识别平面1为例,p1p2的实际长度可以勾股定理计算得到:

因为p1p2是通过矩形边长bc按比例μ2(0<μ2<1)缩小得到的,所有bc边的长度为:

|bc|=|p1p2|/μ2

因此,箱体的高度h计算得到,即为bc边的长度,优选地,取μ2=0.8。

b)箱体宽度计算。在实际取货过程中,移动机器人需要从箱体的宽边进行取货,也就是识别平面1对应的宽边,同理,p2p3的实际长度为:

cd边的长度为:

|cd|=|p2p3|/μ2

从而,箱体的宽度l1计算得到,即为cd边的长度。

c)箱体长度计算

箱体的长度对应识别平面2的宽边,计算方法和箱体宽度计算方法同理。至此,即可计算获得箱体的长宽高l2、l1和h,完成了箱体的尺寸计算。

所述步骤8)中对箱体位姿转换到世界坐标系下,将相机坐标系下仓储箱体的位置坐标转换为世界坐标系下的坐标,将标定后获得的外参数矩阵和计算得到的箱体货物在相机坐标系中的坐标进行以下运算:

其中,xc、yc、zc表示识别到的箱体货物在深度相机坐标系中的位置分量,xw、yw、zw表示物体在世界坐标系中的位置分量,分别是相机的旋转矩阵和偏移矩阵,均为相机的外参数。

通过求解可以得到箱体货物在世界坐标系下的坐标ow(xw,yw,zw),即可获得箱体货物在世界坐标系中的空间坐标信息。

以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明专利构思加以等同替换或改变,都属于本发明专利的保护范围。

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