一种基于图像分割的工件定位与识别的方法与流程

文档序号:11144794阅读:657来源:国知局
一种基于图像分割的工件定位与识别的方法与制造工艺

本发明涉及一种基于图像分割的工件定位与识别的方法,属于机器视觉领域。



背景技术:

随着计算机技术、数字图像处理的迅速发展,机器视觉在国民经济、科学研究及国防建设领域都有着广泛的应用。机器视觉作为工业机器人获得外接环境信息的主要手段,它可以提高工业生产的柔性和自动化程度,其最大的优点是与被观测对象无接触,对观测对象不会带来损伤,另外机器人可以在恶劣环境用于代替人工不知疲倦、始终如一的观测被检测对象。传统的装配生产线上,装配机器人的操作都是通过逐点示教才能完成生产线上的物料搬运、装配以及各工位之间工件转移和上下料,只能做一些固定的动作,但是工业现场环境复杂,工件位姿随机摆放,实际目标工件的位置与理想工件位姿极易存在偏差,致使工业机器人无法顺利完成操作任务。这些机器人利用各种传感器来进行控制,称为敏感控制机器人。进行装配操作时,所有的动作都要预先设定,同时要求工件位置、包装箱的位置和方向放置得非常严格。为此要有价格昂贵的夹具或固定机构,还需要有精心设计的特殊传送带。

将视觉系统引入工业机器人,可以大大地扩展机器人的使用性能和应用范围,使机器人在完成指定任务的过程中,具有更大的适应性,也使得工业生产现代化、智能化。在实际应用中,需要机械手能根据工件实际的位置动态调整抓取操作,因此,设计了一种基于图像分割的工件定位与识别方法,通过视觉系统捕获工件图像,采用最小外接矩形定位的方法,计算出工件的位置,以及偏转角度,实时发送工件的位置信息给机器人。从而使机器人根据图像处理结果,做出相应的动作,抓取工件。



技术实现要素:

针对现有方法中存在的上述不足,本发明要解决的技术问题是提供一种基于图像分割的工件定位与识别的方法。

本发明为实现上述目的所采用的技术方案是:一种基于图像分割的工件定位与识别的方法,包括以下步骤:

图像预处理阶段:去除输入图像中的噪音,对图像进行平滑操作;根据平滑后图像的灰度级像素个数,得到平滑后图像前景与背景灰度的两个最大值,基于两个最大值的对应灰度进行图像增强,用以增强图像的前景与背景的对比度;根据图像中前景与背景灰度的期望,进行阈值分割;

工件区域定位与分割阶段:对阈值分割后的二值图像进行局部区域填充与被包围区域填充;提取填充后图像的边缘,使用最小外接矩形框出图像中的工件区域,对最小外接矩形的工件区域进行分割,分割出图中含有工件区域的子图像,作为特征提取的图像,提取不变矩特征与几何特征;根据提取出的特征训练分类器,对工件特征进行分类。

所述基于两个最大值的对应灰度进行图像增强,通过以下公式计算:

其中,图像的灰度级数为0~M,背景色为白色,前景色为黑色,a为在0~M/2中灰度直方图最大值对应的灰度值,b为在M/2~M中灰度直方图最大值对应的灰度值,f(x,y)为输入图像的灰度值,级数为0~M,g(x,y)为图像增强后的灰度值,级数为0~M,其中M=255的条件下,c、d的值根据人眼能够分辨的像素设置。

所述阈值分割,包括以下步骤:

设直方图数组为Hist[256],灰度值为i的像素个数为ni=Hist[i],灰度值在[0~T]间的总像素数为N,灰度值为i的像素的概率为:

灰度值在[T+1~255]之间像素的总数为M,则灰度值为i的像素的概率为:

求的最大值max{sum[i],i∈[0~255]}对应的i,其中,

所求得的i即为图像分割阈值T,根据T进行图像阈值分割。

所述局部区域填充分为纵向局部填充和横向局部填充;

所述纵向局部填充:设黑色为前景,白色为背景,如果同一列两个黑点之间的像素全部是白色且两点间的像素长度不大于预设填充阈值,则填充为黑色;

所述横向填充:设黑色为前景,白色为背景,如果同一行两个黑点之间的像素全部是白色且两点之间的距离不大于预设填充阈值长度的区域,则填充为黑色。

所述被包围区域填充具体为:设白色点为背景,黑色点为前景,如果白色连通区域到达边缘点,则该区域不被包围;如果白色连通区域不能到达边缘点,则该区域被包围,被包围区域填充为黑色。

所述对最小外接矩形的工件区域进行分割:

根据最小外接矩形与源图像坐标系x轴的角度θ,对工件区域进行切割,根据几何关系,源图像对应工件区域图像的像素:

m=pt[2].y+i*cosθ+j*sinθ

n=pt[2].x-j*cosθ+i*sinθ

dst.pixel(i,j)=src.pixel(m,n)

其中,m、n是源图像中的坐标,i、j是工件区域图像的像素坐标,0≤i<dst.width,0≤j<dst.height,dst.width是工件区域图像的宽,dst.height是工件区域图像的长,dst.pixel(i,j)是工件区域图像的灰度值,src.pixel(m,n)是源图像的灰度值,pt[2]是工件区域图像坐标系的原点。

所述提取子图像的不变矩特征:

设已切割出大小为M*N的目标数字图像f(i,j)的二维(p+q)阶矩定义为

其中p=0,1,2,…和q=0,1,2,…是整数,相应的(p+q)阶中心矩定义为:

式中p=0,1,2,…和q=0,1,2,…,其中

由ηpq表示的归一化中心矩定义为

式中,其中(p+q)=2,3,…

由二阶矩和三阶矩推出如下7个不变矩组:

φ1=η2002

φ3=(η30-3η12)2+(3η2103)2

φ4=(η3012)2+(η2103)2

φ5=(η30-3η12)(η3012)[(η3012)2-3(η2103)2]+

(3η2103)(η2103)[3(η3012)2-(η2103)2]

φ6=(η2002)[(η3012)2-(η2103)2]+

113012)(η2103)

φ7=(3η2103)(η3012)[(η3012)2-3(η2103)2]+

(3η1230)(η2103)[3(η3012)2-(η2103)2]

所述几何特征包括圆度、连通区域的细长度和连通区域的矩形拟合因子;

所述圆度用于衡量图形的周边复杂程度,计算公式如下:

其中,p为图形周长,A为周长所围的面积;

所述细长度是区域外接矩形的长宽比,区域外接矩形是一个包围缺陷形状的面积最小的矩形,细长度的计算公式如下:

其中,a、b分别是最小外接矩形的宽与长;

矩形拟合因子R是反映工件矩形度的参数:

其中,Ao是工件所在区域面积,Ar是工件最小外接矩形的面积。

所述分类器为基于高斯径向基的支持向量机。

本发明具有以下优点及有益效果:

1.给出工件的具体位置,准确度高。经过一系列的预处理,工件区域填充后,增加了工件区域完整性,使用最小外接矩形框出工件区域,并切割出去含有工件区域的子图像,给出工件的偏移角度。

2.算法速度快,实时性好。预处理过程中,高斯平均算子平滑,基于直方图两个最大值对应灰度的图像增强算法与基于最大平方和的阈值分割算法设计简单,时间复杂度低,计算量小。

3.分类准确。使用基于高斯径向基核函数的支持向量机,速度较快。对于大多说情况都是一个较好的选择。

4.适应性强。本方法适用于生产线上各种工件的定位与分类,包括螺母,钥匙,垫片等。

附图说明

图1是工件定位与识别流程图;

图2是六角螺母原图;

图3是图2基于直方图两个最大值对应灰度的灰度拉伸图;

图4是图3基于最大平方和的阈值分割算法图;

图5是图4局部区域填充图;

图6是图5被包围区域填充图;

图7图8图9图10是图2切割出的六角螺母图;

图11是方形螺母原图;

图12是图11基于直方图两个最大值对应灰度的灰度拉伸图;

图13是图12基于最大平方和的阈值分割图;

图14是图13局部区域填充图;

图15是图14被包围区域填充图;

图16是基于最小外接矩形分割出的方形螺母;

图17是最小外接矩形分割图;

图18是被包围区域填充算法流程图。

具体实施方式

下面结合附图及实施例对本发明做进一步的详细说明。

本发明用于工件的定位与识别,其定位与识别流程图如图1所示。

图像预处理阶段:首先去除图像噪音的滤波器为高斯平滑算子,高斯平滑算子模板是通过高斯关系式来设置的。坐标x,y处的高斯函数g利用方差σ2根据下式来控制:

通过,此式计算模板中的权值,得到高斯平滑模板。其中,σ2的大小与模板大小人为设置。

把已经平滑的图像,使用基于直方图两个最大值的对应灰度的图像增强算法进行灰度拉伸,设图像的灰度级数为0~M,背景色为白色,前景色为黑色,前景背景的灰度值是直方图中最多的像素,在0~M/2中找到一个直方图最大值对应的灰度值a,在M/2~M中找到一个直方图最大值对应的灰度值b,根据两个区域的峰值对应的像素,进行对比度增强。输入图像f(x,y)的灰度级别为0~M级,图像增强后图像g(x,y)的灰度也为0~M级,区间[a,b]、[c,d]分别为源图像与增强图像的某一灰度区间,其中M=255的条件下,设置c=10,d=245,c、d的值是根据人眼能够分辨的像素设置。

得到的对比度很强的图像,进行最大平方和阈值分割。设以灰度值T为阈值,将直方图按T分成两段。其中[0~T]之间的灰度期望值为u0,[T+1~255]的灰度期望为u1,[0~T]之间灰度的概率和为w0,[T+1~255]之间灰度的概率和为w1。存在阈值T,T∈[0~255]使得的值最大,以阈值T将源图像二值化,当前像素的灰度大于阈值T设为白色,小于阈值T设为黑色。

设直方图数组为Hist[256],灰度值为i的像素个数为ni=Hist[i],则:

for(int t=0;t<img.width;t++)

for(int k=0;k<img.height;k++)

if(i==img.pixel(x,y))

Hist[i]++;

灰度值在[0~T]间的总像素数为N,对应的概率为:

灰度值在[T+1~255]之间像素的总数设为M,则灰度值为i的像素的概率为:

设可求得最大平方和对应的阈值T,求出max{sum[i],i∈[0~255]}对应的i即为所求。

工件区域定位与分割阶段:阈值分割后的图像,存在工件区域不连通的问题与虫洞现象。给出局部区域填充算法,修复二值图像中工件区域不连通的部分,使目标区域连接成一个连通区域。该方法分为纵向局部填充和横向局部填充。黑色为前景,白色为背景,横向填充:同一行两个黑点之间的像素全部是白色且两点之间的距离不大于10像素长度的区域,则填充为黑色;纵向填充:同一列两个黑点之间的像素全部是白色且两点间的像素长度不大于10,则填充为黑色。

针对虫洞现象,给出被包围区域填充算法。设白色点为背景,黑色点为前景。如果白色连通区域到达边缘点,则该区域不被包围,如果白色连通区域不能到达边缘点,则该区域被包围,被包围区域填充为黑色。采用四邻域的方法,判断区域是否连通。

如图17所示,工件区域完全联通之后,通过建立凸外形并且旋转外形以寻找给定2D点集的最小面积的包围矩形。根据条形码区域最小外接矩形的角度,对该区域进行切割,给出基于最小外接矩形的工件区域分割算法。根据几何关系,源图像对应目标图像的像素,得公式:

m=pt[2].y+i*cosθ+j*sinθ

n=pt[2].x-j*cosθ+i*sinθ

dst.pixel(i,j)=src.pixel(m,n)

其中,m、n是源图像中的坐标,i、j是目的图像的像素坐标,0≤i<dst.width,0≤j<dst.height,pt[2]是工件区域图像坐标系的原点。

特征提取与分类阶段:已分割出的工件图像,提取出不变矩特征与几何特征,对提出的特征样本集,使用基于高斯径向基(RBF)的支持向量机进行训练。

高斯核函数为:

对应的支持向量机是高斯径向基函数(Radial basis function)的分类器。在此情形下,分类决策函数成为:

实施例:将本发明方法在PC上进行仿真验证,所用的编程软件为VS2010,opencv2.4.9,VC++编程,选择工件有钥匙、四角螺母、六角螺母等。

主要的测试环境如下:

操作系统:Microsoft Windows7

CPU:Pentium(R)Dual-Core

主频:2.93GHz

内存:2G

本实施例以典型工件方形螺母、六角螺母和钥匙的定位与识别为例,进行工件区域的分割与特征提取。

以六角螺母如图2、方形螺母如图11的分割与识别为例,具体流程如下:

采集方形螺母、六角螺母与钥匙三种不同工件的图片,根据图像预处理、工件区域定位与分割、特征提取与分类的步骤处理图像。如图3是对图2使用基于直方图两个最大值对应灰度的对比度增强图,图4是对图3基于最大平方和的阈值分割图,图5是图4的局部填充图,图6是图5的被包围区域填充图,如图18是被包围区域填充算法的流程图,判断当前白色区域是否达到边缘点,不到达边缘则是被包围区域,设置该区域灰度为黑色,否则,保持该区域灰度不变,图7~图10是分割出六角螺母子图像。之后,提取各种工件的不变矩特征与几何特征特征,每种工件的特征可以提取多组,每个特征组对应的一个工件类别,多个特征组形成一个特征集,对特征集进行训练。训练时,先给出样本集中每组特征的类别,并把特征组与对应的类别写入txt文件中,使用基于高斯径向基(RBF)核函数的支持向量机训练样本集。

训练好分类器后,输入新的图像,提取到该图像中工件区域子图像的特征组后,根据已经训练好的分类器,对本组新特征进行分类。

通过分析,可以得到如下结论:

1.本发明方法可以保证工件定位的准确度的要求,可以分割出倾斜的工件,给出工件所在最小外接矩形的中心位置,与工件的倾斜角。如图12是由图11的对比度增强图,图13是图12的最大平方和阈值分割,图14是图13的局部区域填充,图15是图14的被包围区域填充。由图11可以看出,方形螺母与图像的水平线存在一个倾斜角,从分割出的方形螺母如图16可以看出,本发明基于最小外接矩形的工件区域分割算法,不但可以给出工件的准确位置,而且可以准确分割出含有工件区域的子图像。

2.本发明方法算法简单,执行效率高。图像处理阶段,使用的是基于高斯平滑算子模板、基于直方图的灰度拉伸、基于最大平方和的阈值分割算法,以及局部区域填充算法和被包围区域填充算法,算法设计简单,时间复杂度低,计算量小;图像定位与分割阶段,使用最小外接矩形分割算法,不需要对原图像扫描,只需用工件区域子图像坐标,计算出原图像坐标,把源图像坐标处像素的灰度值作为当前子图像当前坐标处像素的灰度值,计算量小。

3.分类准确,适用性强。基于高斯径向基核函数的支持向量机也是大多数时候的选择,具有训练速度快,分类准确的特点。通过对方形螺母、六角螺母和钥匙的分类可以看出,本发明可以使用多中工件的定位与分类工作。

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