一种基于机器视觉的竹条缺陷检测方法与流程

文档序号:14727398发布日期:2018-06-19 12:13阅读:243来源:国知局

本发明涉及一种视觉检测技术领域的方法,更具体地,为一种基于机器视觉的竹条缺陷检测方法。



背景技术:

中国的竹林面积达500多万公顷,竹子对人们生活的重要性有着源远流长的历史,古代诗人苏东坡曾说过“宁可食无肉,不可居无竹”,竹子不仅对人们的生活有着深远的影响,还对生态功能和农村经济的发展起十分重要的作用。它广泛的用于各个方面当中,如:竹地板、竹门、竹窗、竹制的生活用品等等。但是,在生长过程中竹子出现虫蛀孔洞、裂缝、发霉等问题,而且经过多层的加工程序后会产生一系列缺陷,如在基材加工中存在竹青、留白、斜切等情况。当前工业生产的所有竹条大多数由传统的人工进行筛选,工人用肉眼观察,由于变化的环境、漫长的工作时间,会使人产生视觉疲劳,影响竹产品的质量。

目前,基于视觉检测技术在玻璃、薄膜、钢板、锯条等工业缺陷检测上已得到了广泛的应用,但应用于竹条检测方面较少。2015年7月15日中国专利文献号CN105158258A记载了一种基于视觉的竹条缺陷检测方法,通过形态学处理分割得到虫洞/霉斑缺陷,在无虫洞/霉斑缺陷的条件下进入竹条的裂缝缺陷检测,计算连通区域的一些几何特性,设置相应的阈值,判断逐条是否合格。该方法检测效率快,稳定性高,但对于不同地方和产地的竹条,其缺陷类型会各式各样的,对其它类型缺陷如竹青、斜切、留白、刮痕等不能进行有效的检测。面对多种不同的缺陷没法实行针对性的检测,在竹制品加工生产中难以推广。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于机器视觉的竹条缺陷检测方法,能够减少企业用工的数量、提高效率,针对性的对各种缺陷实行检测。

为实现上述目的及其他相关目的,本发明提供一种基于机器视觉的竹条缺陷检测方法,该方法包括以下步骤:

步骤S1建立用于竹条识别的神经网络结构,得到用于识别竹条青黄面的识别模型;

步骤S2采集待测竹条的原始图像;

步骤S3对待测竹条的原始图像进行归一化处理;

步骤S4将归一化处理后的图像数据进行特征提取;

步骤S5将所述步骤S4提取的特征输入到步骤S1中所述的识别模型中,判断待测竹条图像的青黄面情况,并根据判断结果分别进行竹青和留白的缺陷检测。

优选地,所述步骤S2后还包括步骤S21,将原始图像转化为彩色图像f。

优选地,在所述步骤S21还包括预处理步骤:

利用中值滤波去除竹条图像的孤立噪声、保留边缘细节信息;

将彩色图像f转换到HSV颜色空间,并对各通道进行直方图均衡化,再合成得到均衡化后的HSV图像fh。

优选地,在所述步骤S5中,若检测得到的结果为青面时,进行竹青缺陷检测,具体包括以下子步骤:

将彩色图像f转化为灰度图像f1;

对竹条进行裁剪,得到包含整体竹条的感兴趣ROI区域;

对竹条的倾斜度进行修正,以使竹条图像呈水平位置;

采用自适应上下阈值的canny算法检测灰度图像f1的边缘,如果边缘的长度大于阈值Length,则对所述边缘进行擦除和过滤操作;筛选出竹条的上下边缘和疑似竹青的边缘,计算上下边缘与竹青边缘的最大宽度Width和竹青的长度Long,并由此得到竹青区域的面积S;

若该竹条的平均灰度与缺陷区域灰度值差K大于15且竹青区域的面积S大于检测区域的0.5%时,判断所述缺陷为竹青缺陷。

优选地,在灰度图像f1中利用radon变换沿水平方向积分投影检测灰度图像f1中的直线Lines,计算竹条的倾斜角度,用仿射变换对灰度图像f1进行旋转,以使竹条图像呈水平位置。

优选地,在所述步骤S5中,若检测得到的结果为黄面时,进行留白缺陷检测,具体包括以下子步骤:

将竹条分成若干部分,对每部分检测区域采用一维最大类间方差法得到参考阈值Th,由该参考阈值Th生成三个亮度较高种子点,利用区域生长算法对缺陷区域进行分割,得到分割后缺陷区域;

若区域生长后缺陷区域与竹条的平均灰度值差E阈值大于12且缺陷区域面积阈值为所在区域的30%至60%,则判断该缺陷为留白缺陷。

优选地,利用数学形态学的方法对分割后的缺陷部分进行处理。

优选地,在利用区域生长算法对缺陷区域进行分割时,还包括通过计算竹节的跃变特征判断是否存在竹节,若不存在竹节则以缺陷区域与竹条的平均灰度值差和缺陷区域的面积作为特征对竹条进行检测。

优选地,所述竹节的判断方法为:判断每相邻10列的灰度均值差equal,若equal大于10,则生长区域灰度变化的计数值totalA将自动计数;否则局部区域灰度变化的计数值totalB自动计数;当totalA大于0小于3并且totalB大于0时,判断其为竹节,否则判断其不为竹节。

优选地,若存在竹节,则先使用背景填充竹节区域,再以缺陷区域与竹条的平均灰度值差和缺陷区域的面积来进行判断。

如上所述,本发明的一种基于机器视觉的竹条缺陷检测方法,具有以下有益效果:

本发明能够快速的对竹条进行识别与分类。本发明简单易行,在光照条件不变的情况下。能较快的实现了竹条的有效检测,增加了竹制品加工自动化程度,提高了工业生产的效率。

附图说明

图1为本发明的缺陷检测流程框图;

图2为竹青检测流程图;

图3为留白检测流程图;

图4为竹青缺陷示意图;

图5为留白缺陷示意图;

图6为改进lbp算法的过程简图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

实施例一

请参阅图1,本发明提出一种基于机器视觉的竹条缺陷检测方法,具体包括以下步骤:

步骤S1建立用于竹条识别的神经网络结构,得到用于识别竹条青黄面的识别模型。

于本实施例中,所述步骤S1具体包括以下子步骤:

S11获取若干帧竹条的原始竹条图像作为竹条样本。具体地,通过主控板触发摄像机采集8位通道的Bayer格式图像,图像格式转换成24位RGB格式,并进行Gamma校正以调整为适合人眼的彩色图像f。

S12图像滤波和增强。具体地,利用中值滤波去除竹条图像的孤立噪声和保留边缘细节信息,将彩色图像f转换到HSV颜色空间,并对各通道进行直方图均衡化,再合成得到均衡化后的HSV图像fh。

S13归一化和特征提取。具体地,将竹条样本全部统一归一化为900x280大小的训练样本图像fg,计算具有可分性、独立性、可靠性的特征。选取竹条青黄面在灰度、颜色、纹理上具有良好可区分度来进行相关的特征提取。根据大量采集到各类竹条图像中,灰度上提取了f1的均值、方差、极大值;颜色上提取了fh的色调(H)、饱和度(S)、强度(V)的均值、V的极小值;纹理上提取了由改进lbp算子得到的四方向、距离为1的对比度特征值。综合考虑样本训练的时间和识别效果,设计了适用于识别竹条青黄面的人工神经网络结构;网络结构为3层,输入层11个节点,隐层25个节点,输出层2个节点,训练模型采用有监督的BP算法,并把前述11个特征值归一化输入到网络结构中训练得到识别模型。

步骤S2采集待测竹条的原始图像。

于本实施例中,所述步骤S2后还包括步骤S21,将原始图像转化彩色图像f。

于本实施例中,所述步骤S21后还包括预处理步骤,具体地,

步骤S211利用中值滤波去除竹条图像的孤立噪声、保留边缘细节信息;

步骤S212将彩色图像f转换到HSV颜色空间,并对各通道进行直方图均衡化,再合成得到均衡化后的HSV图像fh。

通过对图像的预处理,能有效的增强局部竹条的缺陷区域,为后续的检测打下了基础。

步骤S3对待测竹条的原始图像进行归一化处理。

根据随机输入的竹条样本,因为抽取的竹条图像大小不一,为了避免误判,需要先统一所有样本,利用双线性插值将它们归一化为900x280大小的训练样本图像fg。

步骤S4将归一化处理后的图像数据进行特征提取,特征提取与所述步骤S13相似。

为了提取明显的颜色特征,对预处理后的彩色图像fh分离成包含色调(H)、饱和度(S)、亮度(I)的三通道图像。将含有丰富色彩信息的H通道和B通道进行融合,再统计融合后的图像灰度统计特性,并把其灰度值均值作为竹条识别的重要特征。

利用改进的lbp算子:在原来3x3领域的前提下,再增加一层4x4的领域,把先求出2x2领域的第一个待比较值的均值并标记,然后向右移1位再求出中心领域C的第二个待比较值并标记。以此类推,直到中心比较值领域内的8个像素点都被标记后即可得到8位无符号数。其中表示如图6所示。

步骤S5将所述步骤S4提取的特征输入到步骤S1中所述的识别模型中,判断待测竹条图像的青黄面情况,并根据判断结果分别进行竹青和留白的缺陷检测。

青黄面的判断方法为:神经网络的输出预测为out=[x1,x2],根据输出矢量out的最大值及其标识符判断该竹条是青面还是黄面。

具体地,当最大值为x1时,判断该面为青面;当最大值为x2时,判断该面为黄面。

若检测得到的结果为青面时,进行竹青缺陷检测。在进行竹青缺陷检测时,由于竹条置于纯黑色的背景颜色当中,所以首先把(1)中彩色图像f灰度化得到f1,接着对竹条进行裁剪以便简化计算,得到包含整体竹条的感兴趣区域,为了准确的计算竹青的长度、宽度、面积等几何特征,需要先对竹条实现倾斜度修正,在灰度图中实行radon变换沿水平方向积分投影检测f1中直线Lines(直线Lines代表的是竹条的上下沿水平方向的边缘),计算竹条的倾斜角度,有仿射变换对f1旋转,以使竹条图像呈水平位置。

其中根据竹条的长度分别提取位于直线始端和末端相间隔为10个像素的点5个,分别为(x0,y0),(x5,y5),(x10,y10),(x15,y15),(x20,y20)和(xn,yn),(xn-5,yn-5),(xn-10,yn-10),(xn-15,yn-15),(xn-20,yn-20),有以下公式计算竹条的斜率和倾斜度:

角度(弧度)Du阈值限制在和之间时,能够较好地筛选出准确的偏移角度。

采用自适应上下阈值的canny算法检测灰度图像f1的边缘,如果边缘的长度Length小于5大于1000(以像素点为单位),则对所述边缘进行擦除和过滤操作;筛选出竹条的上下边缘和疑似竹青的边缘,计算上下边缘与竹青边缘的最大宽度Width和竹青的长度Long,并由此得到竹青区域的面积S;

若该竹条的平均灰度值差K大于15且竹青区域的面积S大于检测区域的0.5%时,判断所述缺陷为竹青缺陷。

若检测得到的结果为黄面时,进行留白缺陷检测。在进行黄面的留白检测时,由于竹条较长,把长竹条分成8部分,分别进行检测,对每部分检测区域采用一维最大类间方差法得到参考阈值Th,由该阈值生成三个亮度较高种子点,利用区域生长算法对缺陷区域进行分割,得到分割后缺陷区域。

但是分割后一般会存在一些毛刺,需要运用数学形态学的方法将其去除以免影响检测结果。形态学处理包括一次闭运算和一次腐蚀操作,闭运算采用的是3x3的核结构元素;腐蚀操作采用1x4的核结构元素。

由于分割过程中缺陷和竹节可能会同时出现,这时竹节也会被分割,而竹节的区域分布较为固定,通过计算竹节的跃变特征可以知道是否为竹节,若不是,则以缺陷区域与竹条的平均灰度差E和缺陷区域面积erea作为特征,对每帧循环进行8次上述检测,若有一部分竹条被检测出为缺陷竹条,为了节省计算时间,则跳过后面部分竹条的留白缺陷检测,直接判断是否为缺陷竹条。同时判断如果还有竹条还未完成检测,则继续检测。

若区域生长后疑似缺陷区域与竹条的平均灰度差E阈值一般为大于12,缺陷区域面积erea阈值为所在区域的30%至60%,则判断该缺陷为留白缺陷。计算竹节的跃变特征,需要统计每相邻10列的均值差equal,若equal大于10,则totalA将自动计数;否则totalB自动计数。当totalA大于0小于3并且totalB大于0时,判断其为竹节。

如果通过N=8次循环后竹条没有被判断为缺陷,则检测结果为合格竹条。接着发送检测结果信号并判断是否检测完成或进入下一竹条检测。

为了节约时间,则跳过后面部分竹条的留白缺陷检测,直接判断为缺陷竹条。同时判断如果还有竹条还未完成检测,则继续下一根检测。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

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