一种基于梯度方向直方图的瓶口缺陷检测方法与流程

文档序号:11730175阅读:383来源:国知局
一种基于梯度方向直方图的瓶口缺陷检测方法与流程

本发明涉及机器视觉与视频图像处理技术领域,更具体地说,涉及一种基于梯度方向直方图的瓶口缺陷检测方法。



背景技术:

传统工业检测领域的瓶口缺陷检测多以人工肉眼检测为主,然而人眼视觉易疲劳导致漏检、误检,且人工成本较高,效率低,可靠性差,这与大规模集成工业化生产极不协调,利用计算机视觉和图像处理算法自动进行瓶口缺陷检测,能有效解决这一问题。

目前,基于边缘检测的瓶口缺陷检测方法,如canny边缘检测结合阈值化,由于瓶口缺陷尺寸很小,缺陷定义不明,易将边缘毛刺误判为缺陷或误将细小缺陷当作噪点干扰而滤除,即使采用优化阈值化方法也难以区分实际缺陷和图像边缘干扰,检测时间也较长。基于特征提取的方法检测瓶口缺陷,如连通域操作,环形瓶口定位等,具有较好的排除瓶口外边缘干扰的能力,但对亮色斑点鲁棒性较差;基于模板匹配的瓶口缺陷检测系统,计算量巨大,耗时过长,难以适应工业检测。

为实现自动化瓶口缺陷检测,需要达到较高的时效性和可靠性,集成化程度高,并便于工业管理,据统计,仅有少部分算法达到工业检测要求,例如通过sobel算子计算梯度的定位瓶口圆环,多次sobel操作提取其缺陷像素点,进行分类器操作确定缺陷位置。

经检索,关于瓶口缺陷检测目前也有较多专利公开,如中国专利号zl201510589588.3,申请日为2015年9月16日,发明创造名称为:一种残差分析动态阈值分割的瓶口缺陷检测方法;该申请案首先提出随机圆评估方法用于实现瓶口区域定位;随后,对极坐标变换展开所得的瓶口目标图像进行强烈平滑处理,平滑前后的瓶口目标图像进行差分,形成一个随原始瓶口目标图像灰度值变化的阈值曲面,用该曲面对瓶口目标图像进行动态阈值分割;最后,对分割后的二值图像进行区域连通性检测,根据连通区域的高、宽和面积判断其是否为缺陷。该方法对图像中识别目标的灰度值变化、干扰有很好的适应能力,且执行速度较快。但该申请案算法较复杂,不便于推广应用。



技术实现要素:

1.发明要解决的技术问题

本发明要解决的问题是:现有瓶口缺陷检测依赖人工观察,效率低下,误检率高;现有通过各种复杂算法进行高正确率的瓶口缺陷检测的方法运算量较大,不满足工业生产的实时性要求;能够快速检测瓶口缺陷的方法仅能应对高质量瓶口图像,对复杂纹理瓶口图像效果较差。总结而言,现有检测方法难以做到高效率,高可靠性和高应用价值的兼容,提出了一种基于梯度方向直方图的瓶口缺陷检测方法,本发明利用梯度方向直方图对样本瓶口图像计算特征向量,设置支持向量机作为分类器,快速判定检测窗口是否合格,定位并统计瓶口缺陷,与传统检测算法相比,减少算法运行耗时,实现缺陷快速准确检测。

2.技术方案

为达到上述目的,本发明提供的技术方案为:

本发明的一种基于梯度方向直方图的瓶口缺陷检测方法,对样本图像提取固定尺寸单元格、区块、窗口,通过计算窗口内像素点的梯度方向直方图获取样本图片特征向量,输入支持向量机进行训练,提取特征用于瓶口缺陷检测。

更具体地,本发明的一种基于梯度方向直方图的瓶口缺陷检测方法,首先将瓶口圆环部分拉伸成矩形,再进行剪裁拼接以减小矩形的宽高差距,把修正后的矩形作为样本图片,对有缺陷和无缺陷样本图片分别进行gamma校正,以规范化样本图像,将样本图片分割成多个窗口,分别统计窗口内的梯度方向直方图分布,得到特征向量,利用支持向量机形成分类器,用于后续瓶口图片的缺陷检测;然后,对待检测瓶口图像,通过梯度方向直方图求取每个检测窗口的特征向量,结合预先形成的分类器,判定当前窗口是否存在缺陷,对整幅瓶口图像统计缺陷个数并标识,判定当前瓶口是否为缺陷瓶口。

更进一步地,所述的特征向量的获取方法为:首先求取单元格内像素点(x,y)的梯度幅值g(x,y),梯度角度θ(x,y),绘制梯度方向直方图,形成特征向量,再对区块中的所有单元格特征进行合并,获取区块的特征向量,进行归一化,再将窗口内所有区块进行合并,获取窗口区域内的特征向量。

更进一步地,瓶口圆环部分拉伸成矩形的具体步骤为:

1)在圆环中,角度为θ的扇形对应长度为α的圆弧,即每弧度圆心角对应圆弧长度为转换过程中,θ取2π,即整个圆环;

2)瓶口圆环内外半径差为r,拉伸后的矩形宽度为r,高度为圆环外圆周长,原圆环内圆也被拉伸为外圆周长,缺失像素使用线性插值计算得出;

3)对拉伸后的矩形瓶口进行纵向裁剪,裁剪长度为矩形高度的六分之一,再进行拼接,拼接后的矩形宽度为6r,高度为外圆周长的六分之一。

更进一步地,利用梯度方向直方图算法求取图像特征向量的具体步骤为:

1)求取图像中点(x,y)的梯度幅值g(x,y)和方向θ(x,y):

gx(x,y)=i(x+1,y)+i(x-1,y)

gy(x,y)=i(x,y+1)+i(x,y-1)

其中,i(x,y)表示图像在某一像素点的灰度值,gx(x,y)表示该像素点水平方向梯度幅值,gy(x,y)表示该像素点竖直方向梯度幅值;

2)然后计算每个直方图通道bink上的梯度分量vk(x,y):

vk(x,y)=∑g(x,y),θ(x,y)∈bink。

更进一步地,进行瓶口缺陷检测的具体步骤如下:

1)利用瓶口模板图像,训练学习用于缺陷检测的特征向量:

以无缺陷瓶口的图像建立训练集,对各幅图像,计算单元格内所有像素点(x,y)的g(x,y),θ(x,y),规定图像的直方图通道数量为n,对每一个像素点(x,y)在n个直方图通道上进行加权投票,根据g(x,y)计算加权系数,根据θ(x,y)确定投票通道,构建单元格内像素点的梯度方向直方图,将一个区块内的所有单元格进行合并,组成区块的特征向量{f(cm,bn)|m=0,1,2,ncells-1;n=0,1,2,…nbins},其中,cm表示区块内的第m个单元格,ncells表示一个区块内的单元格数量,bn表示单元格内的第n个直方图通道,nbins表示一个单元格内的直方图通道数量,将区块的特征向量组合,形成检测窗口的特征向量{f(cm×k,bn)|m=0,1,2,ncells-1;k=0,1,2…nblocks-1;n=0,1,2,…nbins},其中cm×k表示窗口内的第m×k个单元格,nblocks表示一个窗口内的区块数量;

2)采用支持向量机svm作为分类器,获取数量为l的训练集{(xiyi),i=0,1,2…l-1}作为二类别样本,如果根据样本图片的特征向量形成的描述子属于第一类,则标记为正(yi=1),表示缺陷瓶口,否则标记为负(yi=-1),表示合格瓶口;

3)对图像进行多次金字塔降采样,每一幅图像获取特征值作为svm分类器判定依据返回给上一级;

4)对每一张待检测的瓶口图像,进行滑动窗口检测,并获取当前滑动窗口的特征向量{f(cm×k,bn)|m=0,1,2,ncells-1;k=0,1,2…nblocks-1;n=0,1,2,…nbins},其中:

其中,cellsize表示单元格宽度和高度,blocksize表示区块的宽度和高度,blockstep表示区块在窗口内移动时的步长,windowsize表示窗口的宽度和高度;每一窗口进行检测标记,统计瓶口图像缺陷个数,返回标识符表示当前瓶口是否合格。

更进一步地,步骤六中采用支持向量机svm作为分类器,获取数量为l的训练集,l为500;检测窗口尺度大小设置为:

更进一步地,构建单元格内像素点梯度方向直方图时,对每一通道进行加权方法为:

其中,(x,y)表示计算当前像素点,θk表示直方图第k通道,xi+1-xi表示当前计算像素点(x,y)的水平相邻单元格的横坐标距离,yj+1-yj表示当前计算像素点(x,y)竖直相邻单元格的纵坐标距离。

3.有益效果

采用本发明提供的技术方案,与已有的公知技术相比,具有如下显著效果:

本发明的一种基于梯度方向直方图的快速瓶口缺陷检测方法,既满足实时性又具有较高正确率。主要创新在于:1)将瓶口圆环部分拉伸成矩形,并进行裁剪拼接修正宽高比,便于检测窗口滑动获取特征向量;2)首次提出利用梯度方向直方图算法快速获取瓶口图像特征向量用于缺陷检测,由梯度方向直方图将任意大小瓶口图像转化为检测窗口特征向量提取,减小运行开销;3)使用梯度方向直方图算法时,本发明先做光线矫正,去除光照干扰,并进行直方图通道加权和归一化,多次提取边缘像素点信息,进一步提高检测精度。

附图说明

图1为本发明中瓶口圆环拉伸步骤原理图;

图2为本发明进行瓶口缺陷检测的流程框图;

图3中的(a)为瓶口圆环部分图像,图3中的(b)为拉伸拼接后的效果图;

图4中的(a)为实施例1待检测瓶口图像,图4中的(b)为检测效果图;

图5中的(a)~(d)为本发明方法与其它现有技术方法的检测结果对比图。

具体实施方式

为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。

本发明的一种基于梯度方向直方图的瓶口缺陷检测方法,对任意大小样本图像提取固定尺寸单元格(例如8*8像素),区块(例如16*16像素),窗口(例如32*32像素),通过计算窗口内像素点的方向梯度直方图获取样本图片特征向量,作为支持向量机特征用于瓶口缺陷检测。具体为:首先,将瓶口圆环部分拉伸成矩形,再进行剪裁拼接以减小矩形的宽高差距,把修正后的矩形作为样本图片,对有缺陷和无缺陷样本图片分别进行gamma校正,以规范化样本图像,将样本图片分割成多个窗口(例如32*32像素),分别统计窗口内的梯度方向直方图分布,得到特征向量,利用支持向量机形成分类器,用于后续瓶口图片的缺陷检测;然后,对待检测瓶口图像,通过梯度方向直方图求取每个检测窗口的特征向量,结合预先形成的分类器,判定当前窗口是否存在缺陷,对整幅瓶口图像统计缺陷个数并标识,判定当前瓶口是否为缺陷瓶口。

其中,特征向量的获取方法为:首先求取单元格内像素点(x,y)的梯度幅值g(x,y),梯度角度θ(x,y),绘制梯度方向直方图,形成特征描述子,再将区块内所有单元格进行合并,再将窗口内所有区块进行合并,获取当前检测窗口区域内的特征向量。

本发明一方面基于梯度方向直方图的原理,提取瓶口图像中的像素点梯度信息,实现瓶口缺陷的实时检测,另一方面通过插值和归一化的方法,提高缺陷像素点的作用域,实现瓶口缺陷的准确定位,兼顾了工业应用的实时性和缺陷检测的准确性。主要包括基于梯度方向直方图的特征向量提取、支持向量机分类器训练和基于特征向量的瓶口缺陷检测三个部分。下面将结合实施例对本发明进行具体介绍。

实施例1

结合图2,本实施例首先对瓶口圆环部分拉伸成矩形,再进行剪裁拼接以减小矩形的宽高差距,把修正后的矩形作为样本图片,对有缺陷和无缺陷样本图片分别进行gamma校正,规范化样本图像,将样本图片分割成多个窗口(例如32*32像素),分别统计其梯度方向直方图分布,得到特征向量,利用支持向量机形成分类器,用于后续瓶口图片的缺陷检测。然后,对待检测瓶口图像,通过梯度方向直方图求取每个检测窗口的特征向量,结合预先形成的分类器,判定当前窗口是否存在缺陷,对整幅瓶口图像统计缺陷个数并标识,判定当前瓶口是否为缺陷瓶口,具体实施过程如下:

1、将瓶口圆环部分拉伸为矩形

1)在圆环中,角度为θ的扇形对应长度为α的圆弧,即每弧度圆心角对应圆弧长度为如图1所示,转换过程中,θ取2π,即整个圆环;

2)瓶口圆环内外半径差为r,拉伸后的矩形宽度为r,高度为圆环外圆周长。原圆环内圆也被拉伸为外圆周长,缺失像素使用双线性插值计算得出;

3)对拉伸后的矩形瓶口进行纵向裁剪,裁剪长度为矩形高度的六分之一,再进行拼接,拼接后的矩形宽度为6r,高度为外圆周长的六分之一。

2、基于梯度方向直方图的特征向量提取

一般情况下,合格瓶口图像的梯度方向直方图分布在固定方向上,对其中任意检测窗口,理想状态下,获取的特征向量都应满足标志位为负(yi=-1),在二类别分类器中属于无缺陷类别,而缺陷的出现会打破梯度方向直方图的规律性和统一性,出现随机方向上的数值,使得最终获取的检测窗口的特征向量的标志位为正(yi=+1)。因此本实施例采用梯度方向直方图求取单元格内像素点(x,y)的梯度幅值g(x,y),梯度角度θ(x,y),绘制梯度方向直方图,形成特征向量,再将区块内所有单元格进行合并,形成区块特征向量,再将窗口内所有区块进行合并,获取窗口区域内的特征向量,结合svm分类器作为瓶口缺陷检测方案。

利用梯度方向直方图算法求取图像特征描述子的具体步骤为:

1)求取图像中像素点(x,y)的梯度幅值g(x,y)和方向θ(x,y):

gx(x,y)=i(x+1,y)+i(x-1,y)

gy(x,y)=i(x,y+1)+i(x,y-1)

其中,i(x,y)表示图像在某一像素点的灰度值,gx(x,y)表示该像素点水平方向梯度幅值,gy(x,y)表示该像素点竖直方向梯度幅值;

2)然后计算每个直方图通道(bink)上的梯度分量vk(x,y):

vk(x,y)=∑g(x,y),θ(x,y)∈bink。

构建单元格内像素点梯度方向直方图时,对每一通道进行加权,以扩大缺陷像素点的作用域:

其中(x,y)表示计算当前像素点,θk表示直方图第k通道,xi+1-xi表示当前计算像素点(x,y)的水平相邻单元格的横坐标距离,yj+1-yj表示当前计算像素点(x,y)竖直相邻单元格的纵坐标距离。

3、基于特征向量的瓶口缺陷检测

1)利用瓶口模板图像,训练学习用于缺陷检测的特征描述子:

以无缺陷瓶口的图像建立训练集,对各幅图像,计算单元格内所有像素点(x,y)的g(x,y),θ(x,y),规定图像的直方图通道数量为n,对每一个像素点(x,y)在n个直方图通道上进行加权投票,根据g(x,y)计算加权系数,根据θ(x,y)确定投票通道,构建单元格内像素点的梯度方向直方图,将一个区块内的所有单元格进行合并,组成区块的特征向量{f(cm,bn)|m=0,1,2,ncells-1;n=0,1,2,…nbins},其中,cm表示区块内的第m个单元格,ncells表示一个区块内的单元格数量,bn表示单元格内的第n个直方图通道,nbins表示一个单元格内的直方图通道数量,将区块的特征向量组合,形成检测窗口的特征向量{f(cm×k,bn)|m=0,1,2,ncells-1;k=0,1,2…nblocks-1;n=0,1,2,…nbins},其中cm×k表示窗口内的第m×k个单元格,nblocks表示一个窗口内的区块数量。

2)采用支持向量机svm作为分类器,获取数量为l的训练集{(xiyi),i=0,1,2…l-1}作为二类别样本,l在实验过程中暂定为500,如果根据样本图片的特征向量形成的描述子属于第一类,则标记为正(yi=1),表示缺陷瓶口,否则标记为负(yi=-1),表示合格瓶口。

3)对图像进行多次金字塔降采样,每一幅图像获取特征值作为svm分类器判定依据返回给上一级;

4)对每一张待检测的瓶口图像,进行滑动窗口检测,并获取当前滑动窗口特征向量{f(cm×k,bn)|m=0,1,2,ncells-1;k=0,1,2…nblocks-1;n=0,1,2,…nbins},其中:

每一窗口进行检测标记(yi=±1),统计瓶口图像缺陷个数,返回标识符表示当前瓶口是否合格。本实施例中,检测窗口尺度大小设置为:

其中,cellsize表示单元格宽度和高度,blocksize表示区块的宽度和高度,blockstep表示区块在窗口内移动时的步长,windowsize表示窗口的宽度和高度。

图3为瓶口圆环部分图像和拉伸拼接后的效果图。待测瓶口图像为环形瓶口拉伸后拼接而成,宽度为438,高度为500。图4中的(a)、(b)两幅图,分别为待检测瓶口图像和缺陷检测效果图,图4展示了本发明检测结果,缺陷被标记出。图5中的(a)、(b)、(c)、(d)分别对应为待测瓶口图像,基于梯度方向直方图的瓶口缺陷检测效果图,基于特征提取的瓶口缺陷检测效果图和基于边缘检测的瓶口缺陷效果图。由图5可以看出,基于特征提取的瓶口缺陷检测算法难以区分缺陷和亮色斑点而造成漏检,基于边缘检测的瓶口缺陷检测方法,易将边缘毛刺误判为缺陷,即使采用优化阈值化方法也难以区分实际缺陷和图像边缘干扰,检测时间也较高。相较于其他方法,本实施例平均每幅图像处理时间仅需100ms,而基于边缘检测和特征提取的检测方法耗时平均为300ms,兼顾了工业应用的实时性和缺陷检测的准确性。

以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的方式及实施例,均应属于本发明的保护范围。

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