一种流水作业平台烟条自动视觉检测与计数方法与流程

文档序号:12551911阅读:227来源:国知局
一种流水作业平台烟条自动视觉检测与计数方法与流程

一种流水作业平台烟条自动视觉检测与计数方法,用于精确分割物流车间分拣线上每个烟条的区域,并统计实时采集视频中经过数据采集区域的条烟总数,属于机器视觉工业应用领域。



背景技术:

“机器视觉”是人工智能正在快速发展的一个分支。简单说来,机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是通过机器视觉产品(即图像摄取装置,分CMOS和CCD两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,得到被摄目标的形态信息,根据像素分布和亮度、颜色等信息,转变成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。

基于流水作业平台的物流车间烟条自动视觉检测与计数,是机器视觉在工业应用中的一个重要分支。在烟草行业中的物流中心,每天都需要根据用户订单分拣烟条。目前烟草行业中的物流中心分拣线,普遍使用机械自动分拣货物,在人工核对订单准确性。然而传动平台运行速度快,流量大,人工核对订单困难且准确度低。因此,可以使用机器视觉的方法自动检测条烟信息,将检测结果传送给图像识别模块进一步处理,完成订单的核对。

然而在在拍摄的视频中,会遇到很多不同类型的烟条,烟条间存在不同的摆放状态。所以研究人员们在设计算法时,既要克服单个烟条区域特征的变化、还要克服条烟间相互连接带来的分割困难。

近些年来有不少的研究机构和企业对转动平台条烟的识别进行研究,其中从图像中检测出烟条的具体位置信息是特征提取与类别判断的基础。然而现有的研究主要集中在特征提取与类别判断上,缺乏对烟条检测与计数的研究;目前仅有的是基于Hough直线检测的方法,该方法也仅仅讨论了视野中仅有一条独立的烟存在的情况,且算法耗时多,准确率较低,不易推广使用。



技术实现要素:

本发明针对上述不足之处提供了一种流水作业平台烟条自动视觉检测与计数方法,解决现有技术无法适应烟条摆放复杂的状况,特别是对于基于特征提取、边缘识别类方法,当烟条在高速传送带上密集排布时有烟条区域边界重合的情况,现有方法因通过烟条线条边缘特征进行检测而容易受到提取和识别效果的严重影响以导致不能够正确区分多个烟条并清楚地计数烟条,并且其算法存在耗时高、准确性差的问题。

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

一种流水作业平台烟条自动视觉检测方法,获取背景差分后二值烟条图像帧的连通域,再按帧序依次将每个二值烟条图像帧的连通域分为存在相对大小的类、按类取连通域的外接矩形、对相对小类进行区域增长得到完整的存在条烟的区域,接着分别根据相对大类连通域面积大小设置对应的阈值条件,然后由阈值条件满足情况选择地分割相对大类的连通域,确定计数条烟区域的顶点信息并累计烟条数量,最后获得视频中通过的所有烟条数量及烟条所在区域顶点信息。

进一步地,还包括以下步骤:

步骤1:设置初始参数,读入背景图像g(x,y),并进行非均匀光照校正处理,得到增强的背景图像g'(x,y);

步骤2:循环读入视频图像f(x,y),根据所选取的初始参数获得与背景图像相同位置的局部图像f1(x,y),再进行非均匀光照校正处理得到增强的局部图像f1'(x,y);

步骤3:令增强的局部图像f1'(x,y)与增强的背景图像g'(x,y)差分,再对差分后图像进行阈值处理得到二值图像b(x,y);

步骤4:对二值图像b(x,y)进行膨胀处理得到生长后的二值图像b1(x,y),提取生长后的二值图像b1(x,y)中的连通区域轮廓C;

步骤5:对生长后的二值图像b1(x,y)中的连通区域进行双阈值处理,依据连通区域轮廓C(i)面积S(i)去除噪声,并将连通区域分成两类Cl、Cs,对应面积大小为Sl、Ss

步骤6:计算包含轮廓Cl(j)的外接矩形Rl(j),大连通区域数量Nl=|Cl|,j=1,2,...,Nl,计算包含轮廓Cs(k)的外接矩形Rs(k),小连通区域数量Ns=|Cs|,k=1,2,...,Ns,去除连通区域两端的小连通域数量,得到连通区域中心小连通区域Ns';

步骤7:如果小连通区域数量Ns'=0,则执行步骤9,否则执行步骤8;

步骤8:在外接矩形Rs附近选取种子像素点,进行区域生长,在二值图像中保留包含小连通区域的生长结果,执行步骤5;

步骤9:如果大连通区域数量Nl>0,执行步骤10,否则执行步骤13;

步骤10:对大连通区域细分割,结合图像帧序列中已计数烟条所在区域的顶点信息P'o计算未计数的单条烟区域的顶点信息Po

步骤11:如果存在未计数条烟区域,执行步骤12,否则执行步骤13;

步骤12:保存或输出当前分割结果并计数,并更新已计数烟条所在区域的顶点信息P'o=Po

步骤13:根据视频图像条烟运动速度估计下一帧图像中的已计数烟条所在区域的顶点信息P'o

步骤14:如果视频结束,输出视频分割累计结果,否则执行步骤2。

进一步地,所述步骤1和步骤2中,非均匀光照校正处理的公式为:

其中I(i,j)为输入RGB图像中的一个彩色像素点,minI(i,j)是为坐标(i,j)处像素RGB三通道中的最小值,N为图像每一行的像素个数,M为图像上每一列的像素个数,像素点的每个通道都减去三通道中的最小值。

进一步地,所述步骤3中,计算二值图像公式如下:

其中||f1'(i,j)-g'(i,j)||1为坐标(i,j)处f1'(i,j)与背景像素g'(i,j)差分的一范数,Th为二值化的阈值,若当前像素点与背景差分的一范数大于阈值Th即为前景b(i,j)=1,否则b(i,j)=0。

进一步地,所述步骤5中,连通区域双阈值处理公式如下:

其中C[k]为第k个连通区域轮廓,area(C[k])为轮廓C[k]所包含的区域像素数,即区域面积,Tharea1,Tharea2为高低阈值,其中Tharea1<Tharea2,如果Class[k]=0表示轮廓k包含的区域属于噪声,Class[k]=1表示轮廓包含连通区域面积较小,Class[k]=1表示轮廓包含连通区域面积较大。

进一步地,所述步骤8中,区域生长的公式如下:

其中Th2为区域生长阈值,N8(b(i,j))表示像素f(i,j)的八邻域,(n,m)为二值图像b(n,m)的领域中存在前景像素点的位置,f(x0,y0)为区域生长的种子点,||f(i,j)-f(x0,y0)||1为当前像素点与种子点差值的一范数,b(n,m)=0代表当前像素与种子像素差距过大,仍然为背景像素,b(n,m)=1表示,当前像素与种子像素相似,成为新的前景像素。

进一步地,所述步骤10中,连通区域细分割具体步骤如下:

(101)定义传送带运动方向为从左到右,图像左上角为原点;

(101.1)寻找j*使得外接矩形Rl(j*)顶点坐标xj*>xj(j=1,2,...,Nl&j≠j*);

(101.2)计算外接矩形Rl(j*)对应的四个顶点P[m],m=0,1,2,3,四个顶点顺序为左下角、左上角、右上角,右下角,计算轮廓Cl(j*)的近似多边形曲线Aj*

(102)根据近似多边形曲线Aj*包含的轮廓点与四个顶点P[m]的相对位置关系,将近似多边形曲线Aj*包含的连通区域进一步分割为多个四边形组成的集合,每个四边形为一条烟所在区域;

(103)若在已计数烟条所在区域信息P'o左边存在完整的条烟区域,则最接近P'o的区域为当前分割结果,即单条烟区域Po,若已计数烟条所在区域信息P'o左边没有完整单条烟区域,则当前图像不存在未计数条烟。

与现有技术相比,本发明的优点在于:

一、本发明不仅获得了当前帧图像中存在烟条的区域信息,还结合已计数烟条区域的顶点信息、连通区域近似多边形顶点信息、条烟尺寸信息,精确地找出了当前帧图像内未计数烟条的四个顶点,视频中通过的每个烟条仅捕获一次,准确计算视频中通过的烟条数量,算法结构简单,运算量少,处理速度快,检测效率高;

二、解决了烟条摆放复杂,相互重叠粘连对烟条检测的影响,本发明使用彩色图像阈值分割检测烟条所在区域,然后将区域轮廓顶点进一步划分,得到单条烟区域的顶点信息;本发明倾向于从整体到局部的处理方式,而现有技术倾向于从局部到整体的处理方式(如找出边缘等细节特征,再进一步处理得到整体区域信息);由于局部信息数量多,结构复杂,易受环境影响,难以提取完整,因此从局部到整体过程处理复杂、且精确度不高;提取边缘等局部信息对环境要求高,往往需要条烟摆放间隔大,不利于工业应用;本发明不需要改变现有条烟检测线使得条烟大空隙摆放,易于推广使用且显著降低了烟条检测线所用时间;

三、首次使用连通区域尺寸信息进行双阈值处理,使用区域生长辅助提取完整条烟区域,并根据轮廓顶点进一步分割连通区域,以得到独立的条烟区域,该方法速度快,精确度高、易实现;

四、容易编码,可以跨平台在各类系统下运行。

附图说明

图1为本发明的方法流程图;

图2为本发明中的背景图像g(x,y);

图3为本发明中背景图像经光照处理后的图像g'(x,y);

图4为本发明视频中的一帧原始图像f(x,y);

图5为本发明中原始图像中待处理的局部图像f1(x,y);

图6为本发明中局部图像f1(x,y)经光照处理后的图像f1'(x,y);

图7为本发明中f1'(x,y)与g'(x,y)差分,进行阈值处理得到二值图像b(x,y);

图8为本发明中对b(x,y)进行膨胀处理得到图像b1(x,y);

图9为本发明b1(x,y)中的连通区域轮廓图;

图10为本发明中烟条检测结果图。

具体实施方式

下来结合附图和实施例对本发明作进一步说明。

一种流水作业平台烟条自动视觉检测与计数方法,包括以下步骤:

步骤1:设置初始参数,读入背景图像g(x,y),如图2所示,并进行光照非均衡矫正处理,得到g'(x,y),如图3所示,光照处理的公式为:

其中I(i,j)为输入RGB图像中的一个彩色像素点,minI(i,j)是为坐标(i,j)处像素RGB三通道中的最小值,N为图像每一行的像素个数,M为图像上每一列的像素个数,像素点的每个通道都减去三通道中的最小值。

步骤2:循环读入视频图像f(x,y),如图4所示,根据参数选取与背景图像相同位置的局部图像f1(x,y),如图5所示,进行光照处理得到f1'(x,y),如图6所示,光照处理的公式为:

其中I(i,j)为输入RGB图像中的一个彩色像素点,minI(i,j)是为坐标(i,j)处像素RGB三通道中的最小值,N为图像每一行的像素个数,M为图像上每一列的像素个数,像素点的每个通道都减去三通道中的最小值。

步骤3:令f1'(x,y)与g'(x,y)差分,进行阈值处理得到二值图像b(x,y),如图7所示,计算二值图像公式如下:

其中||f1'(i,j)-g'(i,j)||1为坐标(i,j)处f1'(i,j)与背景像素g'(i,j)差分的一范数,Th为二值化阈值,若当前像素点与背景差分的一范数大于阈值Th即为前景b(i,j)=1,否则

b(i,j)=0。

步骤4:对b(x,y)进行膨胀处理得到b1(x,y),如图8所示,提取b1(x,y)中的连通区域轮廓C,如图9所示;

步骤5:对二值图像中的连通区域进行双阈值处理,依据C(i)面积S(i)去除噪声,并将连通域分成两类Cl、Cs,对应大小Sl、Ss,连通区域双阈值处理公式如下:

其中C[k]为第k个连通区域轮廓,area(C[k])为轮廓C[k]所包含的区域像素数,即区域面积,Tharea1,Tharea2为高低阈值,其中Tharea1<Tharea2,如果Class[k]=0表示轮廓k包含的区域属于噪声,Class[k]=1表示轮廓包含连通域面积较小,Class[k]=1表示轮廓包含连通域面积较大。

步骤6:计算包含轮廓Cl(j)的外接矩形Rl(j),大连通区域数量Nl=|Cl|,j=1,2,...,Nl,计算包含轮廓Cs(k)的外接矩形Rs(k),小连通区域数量Ns=|Cs|,k=1,2,...,Ns,去除区域两端的小连通域数量,得到区域中心小连通域Ns';

步骤7:如果Ns'=0,则执行步骤9,否则执行步骤8;

步骤8:在Rs附近选取种子像素点,进行区域生长,在二值图像中保留包含小连通域的生长结果,执行步骤5,区域生长的公式如下:

其中Th2为区域生长阈值,N8(b(i,j))表示像素f(i,j)的八邻域,(n,m)为二值图像b(n,m)的领域中存在前景像素点的位置,f(x0,y0)为区域生长的种子点,||f(i,j)-f(x0,y0)||1为当前像素点与种子点差值的一范数,b(n,m)=0代表当前像素与种子像素差距过大,仍然为背景像素,b(n,m)=1表示,当前像素与种子像素相似,成为新的前景像素。

步骤9:如果Nl>0,执行步骤10,否则执行步骤13;

步骤10:连通区域细分割,结合P'o计算未计数的单条烟区域Po,视频中连续图像序列检测结果如图10所示,其中矩形框为包含当前检测烟条的区域,圆圈为烟条的四个顶点位置检测结果,连通区域细分割具体步骤如下:

(101)定义传送带运动方向为从左到右,图像左上角为原点;

(101.1)寻找j*使得外接矩形Rl(j*)顶点坐标xj*>xj(j=1,2,...,Nl&j≠j*);

(101.2)计算外接矩形Rl(j*)对应的四个顶点P[m],m=0,1,2,3,四个顶点顺序为左下角、左上角、右上角,右下角,若该区域已经进入二值图像b1(x,y)后半区域,则计算轮廓Cl(j*)的近似多边形曲线Aj*,否则不处理该区域,输出该帧结果,不存在进入视野中心且未计数的条烟;

(101.3)在近似多边形曲线Aj*包含的所有点中,寻找与外接矩形顶点P[0]、P[1]最近邻的轮廓点计算当前连通域的左边缘与已计数区域的左边缘间距是否大于一条烟宽,即当前连通域是否存在未计数区域,公式如下:

Paccur=Aj*[n]s.t.min||Aj*[n]-Pappro||1n=0,1,2,...,NA

其中Pappro为待求顶点的近似值,||·||1为向量一范数,||Aj*[n]-P[0]||1为两点间的距离,通过距离约束,在近似多边形曲线Aj*中寻找待求顶点Pappro更精确位置信息Paccur;NA为近似多边形曲线Aj*所包含的顶点数目,为Aj*中与P[0]、P[1]最邻近的顶点标号,每个顶点坐标都包含x,y两个坐标值,若B=1则执行(102)获得条烟区域顶点信息,否则删除该连通区域信息,剩余连通域的数量Nl=Nl-1,若Nl>0则执行(101.1)继续寻找下个待分割连通区域,若Nl=0则输出该帧结果,不存在未计数条烟区域;

(102)根据近似多边形曲线Aj*包含的轮廓点与四个顶点P[m]的相对位置关系,Aj*包含的连通区域进一步分割为多个四边形组成的集合,每个四边形为一条烟所在区域;若连通区域的右边缘未到达图像边界,则以外接矩形右边顶点P[2]、P[3]分别初始条烟顶点近似信息当连通域左边缘未到达图像边界,则使用外接矩形坐标顶点P[0]、P[1]初始烟条顶点近似信息若左右两边都到达图像边界,则使用前一个已计数条烟位置推算该帧烟条近似位置右顶点在近似多边形曲线Aj*中寻找与近似顶点最临近的点,若满足条件则更新近似顶点信息未精确顶点信息,否则使用近似顶点信息,由已知顶点信息推算近似顶点信息公式如下:

其中Pright和Pleft是相对位置关系,由位于相对右边的精确顶点x坐标减去烟宽W推算相对左边顶点x坐标x轴方向相邻顶点y坐标变化不大,因此推算近似顶点位置时令同理可得从已知相对左边顶点计算相对右边顶点近似位置时,等于加上烟宽W,y坐标

(103)若在已计数条烟区域顶点信息P'o左边存在完整的条烟区域,则最接近P'o的区域为当前分割结果Po,若P'o左边没有完整单条烟区域,则当前图像不存在未计数条烟。

步骤11:如果存在未计数条烟区域,执行步骤12,否则执行步骤13;

步骤12:保存或输出当前分割结果并计数,并另P'o=Po

步骤13:根据运动速度估计下一帧图像中,已计数烟条所在区域信息P'o

步骤14:如果视频结束,输出视频分割累计结果,否则执行步骤2。

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