基于机器视觉的禽蛋脏污及裂纹检测系统设计
2020-06-27辛永信黄泳波
辛永信 黄泳波
摘 要:针对目前禽蛋脏污裂纹仍主要依靠人工目测挑选,导致效率低下等问题,以鸡蛋为试验样本,提出了一种基于Halcon视觉算法库的家禽禽蛋脏污裂纹自动识别检测系统。首先进行系统硬件选型,搭建检测平台;之后对工业摄像机进行单目相机内外参数标定;运用滤波、形态学等方法对畸变矫正之后的图像进行预处理;以频域滤波为核心算法,结合差分等思想对样本进行脏污及裂纹的检测;最后利用Microsoft Visual Studio软件开发平台,以C++为核心语言联合Halcon混合编程,构建图形环境软件平台。
关键词:机器视觉;缺陷检测;禽蛋;裂纹脏污
0 引言
我国是世界家禽禽蛋生产及消费大国,禽蛋蛋壳品质对于种蛋、新鲜蛋和各种蛋制品的品质来说是尤为重要的指标。优质禽蛋表面干净无裂纹,脏污破裂的禽蛋蛋壳无法保证蛋液干净卫生,微生物会侵入禽蛋内部,随着储藏期的延长禽蛋加速变质,进而发生严重的食品安全问题。现如今我国主要依靠工人在灯光下目测的方法挑选脏污开裂的禽蛋,这种传统方法不仅效率低下,容易造成视觉疲劳引起误判,而且人工成本高,因此,研究高速、高效、高精度的破损禽蛋自动化检测系统是现代蛋品检测技术的必然发展趋势。
本文基于Halcon视觉算法库以及微软基础类库,设计研究了一种家禽禽蛋脏污裂纹自动识别检测系统,通过图像矫正、Blob分析、频域滤波、图像差分等方法,对多个样本鸡蛋表面进行脏污裂纹检测试验,利用Microsoft Visual Studio软件开发平台,以C++为核心语言联合Halcon混合编程,编写MFC人机交互程序,显示检测结果。
1 检测流程及系统硬件
1.1 检测流程
禽蛋脏污及裂纹检测系统设计主要由构建硬件平台、相机标定、缺陷检测、设计软件平台4个过程组成,依次涉及系统硬件选型、标定原理及实现、图像矫正及预处理、脏污及裂纹不同缺陷检测算法的编写、MFC应用框架及UI界面设计等过程。
1.2 系统硬件
在机器视觉系统中,硬件的选型关系到图像采集速度以及分辨精度,工业相机及镜头的选择更是受到整个检测系统要求的制约。本系统选用的相机部分参数:CCD彩色,像元尺寸2.2 μm×2.2 μm,光谱范围400~1 030 nm,相机动态范围(相机动态范围表明相机探测光信号的范围)>70.1 dB,信噪比38.1 dB;镜头部分参数:焦距8 mm,相对孔径1.2,后截距7.53 mm,接口CS,光源采用白色同轴光。
2 相机标定
2.1 标定原理
由于镜头无法完全避免畸变且相机无法做到绝对水平,为了避免处理失真的缺陷,对系统检测准确率造成影响,需要在开始检测缺陷之前对相机进行标定,重建三维环境信息,在采集到缺陷图像后进行矫正。标定的主要目的就是求解相机内外参数:设相机坐标系是xoyz,设世界坐标系为XWYWZW,则有xoyz=R(XWYWZW)+T,其中T是空间平移向量(Tx,Ty,Tz),R是空间旋转矩阵R(a,b,c),式中T、R即相机外参,解得外参即可求解世界坐标系中任一点在相机坐标系中的坐标。同样保留相机坐标系xoyz,设图像物理坐标系XOY,设图像像素坐标系xfofyf,从相机坐标系xoyz到图像物理坐标系XOY是透视投影关系,即从三维坐标转换到平面坐标;图像物理坐标系XOY与像素坐标系xfofyf的关系是原点不同,坐标轴对应平行且同平面,度量单位各自为毫米及像素;通过四个坐标系的依次转换,就得到从世界坐标系XWYWZW转换到像素坐标系xfofyf的转换关系,即相机内参,所谓相机参数标定就是为了通过一次标定求得这些转换关系,之后采集的图像均可利用保存的内参外参进行矫正。
2.2 标定矫正
本系统设定世界坐标系为与试验架测试平台面重合的平面坐标系,利用gen_caltab算子生成一个各参数已知的标准2D圆形精密靶标标定板图像文件以及参数描述文件,借助Halcon Calibretion助手可获得成像后的各个特征点像素坐标系坐标,通过在测试平面不同角度对标定板拍摄成像,且保证每次采集的图像需覆盖完整标定板,从而建立多个方程求解,值得注意的是,在之后矫正及缺陷检测过程中,相机镜头与试验架测试平台的相对位置不允许发生改变,否则之前标定的相机外参将失效,进而影响图像矫正,缺陷区域将依旧失真。为了更加明显地展示标定矫正的效果,选用白底黑色矩形进行测试,未矫正及矫正后的图像如图1所示,可以看出原始矩形由于桶形失真造成的边线弯曲已被矫正。
3 缺陷检测
3.1 脏污检测
得到标定过的样本图像后即可对缺陷进行检测。常用的Blob分析算法主要依靠二值化、图像割补加减、形态学、连通性分析、特征值计算、场景描述等操作逐步逼近缺陷区域,但是由于前提是对灰度范围的筛选,当受到偏高或偏低光强影响,目标连通域灰度范围发生变化时,往往检测结果会产生较大误差。因此,为提高系统准确率及鲁棒性,本文对于禽蛋蛋壳表面的脏污检测以频域滤波为核心算法,通过傅里叶变换将空间域变换到频域,因为脏污区域一般为图像高频成分,因此选择低频段进行滤波,通过傅里叶逆变换从频域返回空间域,进而可得到缺陷增强区域。
滤波算法的实现:首先利用opimize_rft_speed对指定图像进行傅里叶变换速度优化;之后构造带通滤波器,先通过算子gen_gauss_filter连续构造两个高斯滤波器,其中Sigma1、Sigma2分别取12、0.01;通过sub_image对两滤波器灰度相减得到目标带通滤波器;rft_generic计算图像的频域变换;convol_fft用新滤波器在频域上做卷积运算;同理利用rft_generic做逆变换得到带通滤波后的空间域样本图像;之后通过gray_range_rect生成一个矩形掩膜,计算掩膜内像素点最大、最小灰度差,并输出到每个像素点以增强图像对比度。最后辅助Blob分析包括threshold全局阈值分割、connection区域连通、形态学算子、特征区域筛选等方法,对样本鸡蛋脏污孔洞进行ROI提取选中并显示,检测效果如图2所示。同时,针对上文提到的受光强影响问题,在试验环境恒定的前提下,改变同轴光源强度得到高光及低光影响的检测效果,因为该算法核心为频率是表征图像中灰度变化剧烈程度的指標,当灰度整体变化时检测系统有较强的稳定性,且系统单次检测的平均时间约为0.005 s,具有良好的实时检测性。
3.2 裂纹检测
裂纹检测的算法核心思想同样是频域滤波,但与上文脏污检测不同,裂纹检测涉及XLD轮廓的提取,关于频域滤波的原理及具体实现不再赘述。裂纹检测的主要流程为:首先进行预处理,将原图像通过decompose3拆分为R、G、B三个通道,根据裂纹的灰度特征,本次检测试验选用B通道图像;通过傅里叶变换算子生成频域图像,然后构造一个较大Sigma值的高斯滤波器(低通滤波器),通过频域滤波保留图像低频成分,由于设置的Sigma偏大(100~130),保留的低频成分较为纯净,得到的滤波图像会是一张各像素点灰度值均近似于背景灰度值的图像;再通过sub_image算子以B通道图像对滤波图像做差分处理,差分计算式为:
ImageSub:=(ImageMinuend-ImageSubtrahend)*Mult+Add
通过差分使得裂纹得到锐化,最后通过lines_gauss(Image : Lines : Sigma, Low, High, LightDark, ExtractWidth, LineModel, CompleteJunctions :)提取裂纹及纹宽,需要注意的是,其中Sigma为空间域高斯滤波系数。
本次试验通过calculate_lines_gauss_parameters算子計算,该Sigma取4.907 48效果最佳。裂纹检测效果如图3所示。由于在本裂纹检测算法中频域滤波只起到增强目标区域的作用,因此鲁棒性也相对不如脏污检测算法。
4 软件平台
本系统使用Microsoft Visual Studio professional 2015作为软件开发平台,以C++为核心语言联合Halcon混合编程,操作界面通过使用Microsoft Foundation Classes(MFC)作为应用程序框架开发,配置Halcon编程环境之后利用定时器实现消息循环过程;同时将图像处理算子及相关参数封装好,界面简洁,运行效果理想。
5 结语
禽蛋在日常生活中是必不可少的消费食材,而禽蛋蛋壳有脏污裂纹是影响其品质的重要因素之一,为了提高不合格禽蛋的检测效率,本文基于机器视觉设计了一种禽蛋脏污及裂纹检测系统,包括构建一个硬件平台,提出以频域滤波为核心的脏污孔洞裂纹等视觉识别算法,设计MFC人机交互软件界面,稳定性良好,检测速度快,可避免传统人工目测方式带来的诸多弊端,同时也适应禽蛋工业检测行业对禽蛋的基本质检要求,具有一定的实用价值。
[参考文献]
[1] 孙力,蔡健荣,李雅琪,等.禽蛋蛋壳品质无损检测方法研究进展[J].中国农业科技导报,2015,17(5):11-17.
[2] 姜勇,郭文川.基于DSP的鸡蛋蛋壳破损检测系统硬件设计[J].农机化研究,2008(8):103-105.
[3] 黄思博,蔡昭权,陈伽,等.基于HALCON的LED陶瓷基板缺陷检测系统[J].现代计算机,2019(16):48-53.
[4] 罗珍茜,薛雷,孙峰杰,等.基于HALCON的摄像机标定[J].电视技术,2010,34(4):100-102.
[5] 徐祥宇,刘玉婷,王超,等.基于机器视觉的食品缺陷检测系统研究[J].大连民族大学学报,2019,21(3):257-261.
[6] 任鹏霏,周传德,胡帅,等.HALCON图像处理在纸杯缺陷检测中的应用[J].自动化应用,2019(6):98-99.
[7] 司徒伟明,邹湘军,王成琳,等.基于OpenCV的木材表面缺陷检测系统[J].现代电子技术,2017,40(12):148-151.
收稿日期:2020-01-07
作者简介:辛永信(1999—),男,广东汕头人,研究方向:机器视觉,裂纹检测系统。