APP下载

基于Halcon 的硒鼓缺陷检测与一维尺寸测量

2014-01-25朱先锋潘洪军

吉林大学学报(信息科学版) 2014年3期
关键词:硒鼓插值矩形

朱先锋,潘洪军

(浙江海洋学院数理与信息学院,浙江舟山 316000)

基于Halcon 的硒鼓缺陷检测与一维尺寸测量

朱先锋,潘洪军

(浙江海洋学院数理与信息学院,浙江舟山 316000)

为实现硒鼓表面缺陷检测和尺寸测量的自动化,运用图像处理算法中的数学形态学算子对硒鼓表面点缺陷和线缺陷进行精确检测与分类,并根据亚像素测量方法对硒鼓尺寸进行精确测量,通过机器视觉专用软件Halcon和.NET开发了硒鼓缺陷自动检测与尺寸测量系统。测试结果表明,该方法与应用像素级测量法相比,其精度提高1~2个像素,具有精度高、稳定性强等优点。

形态学算子;缺陷检测;亚像素测量

0 引 言

随着图像处理技术的飞速发展,非接触式测量应运而生,非接触式测量主要包括激光三角测量法[1]、工业CT测量法[2]和机器视觉测量法[3,4]等,其中机器视觉测量法是人工智能与测量技术相结合的智能测量法。非接触式测量可以消除人工测量时对硒鼓表面的损伤和擦伤等,因此,越来越多的产业借助计算机图像处理技术和非接触式测量,实现了产业生产的自动化检测。由于不受工人的心理因素干扰,客观、可靠、重复性高、非接触无损伤,不仅提高了检测效率,而且提高了检测的精度,能自动检测一些人肉眼无法识别的缺陷和差异。硒鼓检测正是其中一项极其重要的应用。

硒鼓在加工过程中,需要对成品或半成品进行表面缺陷检测以及几何尺寸的测量,要求具有较高的精度、较快的速度和较强的稳定性。笔者主要运用强大的机器视觉图像处理软件Halcon,结合.NET采用图像处理技术,如blob分析、形态学、匹配、测量、识别和立体视觉等,为硒鼓表面缺陷检测和一维尺寸测量提供了高速、高精度、可靠性高的方法。笔者运用数学形态学知识[5,6],并结合了一维测量等方法,运用Halcon软件,实现了对硒鼓表面点缺陷、线缺陷以及硒鼓的长和直径精确检测与测量。Halcon能测量的精度可以达到亚像素级别。

1 系统流程

机器视觉检测系统主要包括5部分:图像采集、图像预处理、缺陷检测、尺寸测量和软件集成。整个系统流程如图1所示。

图1 机器视觉检测系统流程图Fig.1 Flow chart ofmachine vision inspection system

2 基于Halcon的硒鼓缺陷检测与一维尺寸测量

2.1 图像采集

图像采集[7]主要负责把真实的能量图像转化为能被计算机处理和存储的数字图像[8]。图像的采集可分为两种方式:1)直接从计算机硬盘中读取图片,通过read_image便可从文件中读取硒鼓图片;2)实时地在线读取硒鼓图片,先通过open_framegrabber指明图像采集接口名称,再通过grab_image实时抓取硒鼓图片。在通过摄像机实时抓取图片时,摄像机的成像平面应尽量平行于被测硒鼓平面,否则会产生较大的径向畸变和切向畸变[9],摄像机必须进行标定[10]。采集到的硒鼓图片如图2所示。

图2 硒鼓源图Fig.2 Source image of the toner cartridge

2.2 图像预处理

2.2.1 图像灰度化

图像采集得到的图片是RGB 3通道的彩色图片,为便于后续的图像处理,需要将RGB彩色图片通过rgb1_to_gray转换为灰度图像,灰度化原理为加权平均法则

其中g为灰度图像的像素灰度值;R为红色通道值;G为绿色通道值;B为蓝色通道值。灰度图像主要用于硒鼓边缘的亚像素提取。

2.2.2 图像分解

图像分解是指将RGB 3通道彩色图片通过decompose3分解成3幅单通道的图片,分别为红色通道图(R)、绿色通道图(G)、蓝色通道图(B)。分解出的图(R)主要用于硒鼓的一维测量。

2.2.3 图像去噪

通常情况下,采集到的图片都含有噪声,噪声[11]会影响硒鼓边缘的提取,引起假边缘。因此需要对灰度化和分解后的图片进行平滑滤波[12],以滤去噪声,如中值滤波、均值滤波和高斯滤波[13]等。

2.2.4 亚像素级边缘提取

使用算子 edges_sub_pix(GrayImage,Edges,‘lanser2’,0.1,20,40)通过 lanser2 递归滤波器对硒鼓区域进行阶跃边缘的亚像素级边缘提取[14],直接返回由像素点组成的边缘,具有亚像素精度。edges_sub_pix算子使用类似滞后阈值算法,振幅大于高阈值的点被选做边缘点,振幅小于低阈值的点被舍弃,其他的点如果与提取的边缘点相连,则被选做边缘点。提取的亚像素级硒鼓边缘如图3所示。

图3 硒鼓亚像素边缘Fig.3 Sub-pixel edge of the toner cartridge

2.3 硒鼓缺陷检测

2.3.1 图像平滑

根据边缘提取区域,利用算子change_domain或reduce_domain便可得到除去背景的硒鼓图像。为防止噪声对缺陷检测的影响,需要对此硒鼓图像进行一次均值滤波,以滤去部分噪声。均值滤波算法又叫邻域平均法[15],是一种比较容易实现的图像平滑算法,基本思想是用窗口内像素的灰度平均值代替窗口中心点像素灰度值,即

其中D为遍历的窗口;n为窗口内像素个数;g(x,y)为每个像素灰度值;g'(x,y)为均值平滑后每个像素灰度值。

均值滤波是一种低通滤波器,也是一种典型的线型滤波器。这里所用的均值滤波是指滤波器矩阵中各像素系数都相等的空间均值滤波器(有时也称为盒滤波器),滤波模板采用11×11像素的平滑滤波器。对图像边缘像素采取直接映射的方法保留。

2.3.2 动态阈值二值化

由于灰度化后的硒鼓图中的缺陷与正常部分的灰度值差异较小,因此,寻找一个固定阈值将缺陷部位分离出来比较困难。此方案选择的是图像平滑后在局部邻域内进行局部动态阈值二值化[16],局部邻域由均值滤波器确定。在每个局部邻域内将满足条件go≥gt+f的像素点提取出来。其中go为原始灰度图的像素值;gt为均值滤波后灰度图的像素值;f为自定义设置的像素值偏移量。

最优范围为5<f<40,若f值过小,则包括噪声在内的很多小区域都会被提取出来;f过大,则容易导致提取不到区域,此方案中f=8。

动态阈值二值化提取出的区域并不都是缺陷区域,需要进行一次开运算,将误检测的较小点除去。通过以上几个步骤便可以将缺陷检测出来,然后通过似圆度C区分出线缺陷和点缺陷。C的取值范围为[0,1],C越接近1,表明该区域越接近于圆,该试验取C在[0.28,1]范围内的缺陷看作点缺陷,取C在[0.01,0.28]范围内的缺陷看作线缺陷。计算如下

其中F为缺陷面积;Dmax为缺陷中线点到缺陷轮廓线的最大距离;π为圆周率。

2.3.3 缺陷检测

经过以上几个步骤的处理,即可将缺陷检测出来,并可求出点缺陷和线缺陷的面积和中心点坐标(见图4)。图5和图6为缺陷放大图片。为突出提取效果,将原图像的缺陷部位放大后显示出来(见图7和图8)。

图4 缺陷精确提取效果图Fig.4 Renderings of accurately extracting defects

图5 点缺陷Fig.5 Point defects

图6 线缺陷Fig.6 Line defects

图7 源图点缺陷Fig.7 Point defects of source image

图8 源图线缺陷Fig.8 Line defects of source image

2.4 硒鼓一维尺寸测量

笔者采用的基于Halcon的一维尺寸测量方法通过红色通道图像[17]达到测量目的。

2.4.1 Region of Interest(ROI)内边缘提取

利用算子 fit_rectangle2_contour_xld(SelectedXLD,‘regression’,- 1,0,0,3,2,Row,Column,Phi,Length1,Length2,PointOrder)拟合2.2.4步骤提取的亚像素边缘的外接矩形并返回外接矩形的相关参数。根据拟合的外接矩形的角度 Phi,通过算子 gen_rectangle2(ROI,Row,Column,Phi+rad(90),Length11,Length21)在硒鼓区域产生一个矩形感兴趣区域ROI,矩形感兴趣区域与硒鼓边缘的外接矩形相互垂直(见图9)。在矩形感兴趣区域内每间隔一个像素建立一条投影的线段,线段的长度等于ROI的宽度,这些线段称为等距线。在每条等距线上取线段中点并连接起来,形成带有方向的线段,称作剖面线,线段的方向代表矩形感兴趣区域的方向(见图10)。

图9 矩形感兴趣区Fig.9 Region of interest

图10 ROIFig.10 Region of interest

然后根据算子 gen_measure_rectangle2(Row,Column,Phi,Length11,Length21,Width,Height,Interpolation,MeasureHandle)创建测量目标,测量目标即矩形感兴趣区域所覆盖的区域,测量目标的各个属性值通过MeasureHandle句柄调用。在测量目标内沿着每条等距线计算等距线上的灰度均值,由这些灰度均值组成的序列称为剖面线。

如果等距线不是水平或垂直的,则等距线上的灰度值需要进行插值。插值类型主要包括3种,分别为最邻近插值法[18]、双线性插值法[19]和双立方插值法[20]。最简单的插值算法是最邻近插值法,又称为零阶插值。它输出的像素灰度值等于距离其映射位置最近的输入像素灰度值,即取插值点的4个邻点中距离最近的邻点灰度值作为该点的灰度值。最邻近插值算法速度最快,但精度不够高。双线性插值是利用需要处理的插值像素点周围4个像素点的相互关系,通过双线性算法计算得到的。如图11所示,已知(0,0)、(0,1)、(1,0)、(1,1)4 个点的灰度值,由相邻像素的灰度值f(0,0)和f(1,0)在X方向上线性插值求出(x,0)的灰度值f(x,0),由另外两个相邻像素f(0,1)和 f(1,1)在 X 方向上线性插值求出(x,1)的灰度值 f(x,1),最后由 f(x,0),f(x,1)在 Y 方向上进行线性插值得到(x,y)的灰度值f(x,y)。在同一行内根据待插值像素点与其前后的原图像像素点的位置距离进行加权法线性插值;行间根据待插值行与其上下的原图像行间的距离进行加权法线性插值。

双立方插值就是在一维空间,在宽和高方向上做两次插值,双立方插值采用三次多项式。定义在矩形网格上的某个小矩形[xi-1,xi][yi-1,yi]的双立方插值函数共有16项,其对应矩阵的右边各元素,表示如下

图11 双线性插值原理Fig.11 Bilinear interpolation principle

给定(xi-1,yi-1)、(xi-1,yi)、(xi,yi-1)、(xi,yi)4 个点的函数值 f(xi-1,yi-1)、f(xi-1,yi)、f(xi,yi-1)、f(xi,yi),以及两个一阶差分值和二阶差分值,一共16个已知条件,即可确定双立方插值算法的16个系数,从而可确定插值像素点的灰度值。双立方插值算法具有很高的精确度,但它执行速度较慢,效率较低。比较上述3种插值算法,双线性插值算法在执行速度和插值精度两方面取得了较好的折中,因此,在计算投影等距线上灰度均值时使用双线性插值算法。插值算法使剖面线具有亚像素精度,从而提高了硒鼓ROI区域内边缘的提取精度。

每条等距线上的平均灰度值可通过算子measure_projection(Image,MeasureHandle,GrayValues)计算得到,然后使用算子create_funct_1d_array(GrayValues,Function)建立平均灰度值与对应的剖面线上像素序列的关系,从而画出相应的直方图。等距线的长度,即矩形感兴趣区域的宽度W,决定了其上灰度值的平均程度。图12和图13感兴趣区域剖面线上的灰度直方图如图14和图15所示。由此可以看出,ROI区域越宽,剖面噪声越少,则硒鼓的一维尺寸测量越精确。因此,只要硒鼓边缘与剖面线垂直,即,ROI与根据硒鼓轮廓拟合的外接矩形互相垂直,则ROI应尽可能选择较宽区域。

图12 ROI宽度W=20像素 Fig.12 ROIof W=20 pixel

图13 ROI宽度W=80像素Fig.13 ROIof W=80 pixel

图14 ROI宽度W=20,未平滑Fig.14 ROIof W=20,no smoothing

图15 ROI宽度W=80,未平滑Fig.15 ROIof W=80,no smoothing

利用算子smooth_funct_1d_gauss(Function,S,SmoothedFunction)对得到的剖面进行高斯平滑,为了效果明显,取高斯平滑系数S=6。高斯平滑效果如图16和图17所示,高斯平滑滤波器的标准差由测量算 子 measure_pairs(Image, MeasureHandle, S, Threshold, Transition, Select, RowEdgeFirst,ColumnEdgeFirst,AmplitudeFirst,RowEdgeSecond,ColumnEdgeSecond,AmplitudeSecond,IntraDistance,InterDistance)中的S参数确定。然后再利用算子derivate_funct_1d(Function,Mode,Derivative)计算平滑后剖面的一阶导数(或一阶差分),并画出其一阶灰度差分图(见图18)。笔者把平滑(实际平滑系数S=1)后的剖面灰度直方图(图18中上方圆滑曲线)与其一阶灰度差分直方图(图18中下方圆滑曲线)统一绘制在一个坐标系中。

图16 ROI宽度W=20,S=6Fig.16 ROIof W=20,S=6

将剖面灰度一阶导数的极值点作为边缘的候选点,候选点的位置均为亚像素精度。只有一阶导数绝对值大于预先设定的阈值边缘候选点才被选作为边缘中心点。这里设灰度阈值为10,剖面灰度的一阶差分值大于10的极值点及其对应的灰度剖面上的点如图18中用带有箭头的粗线段所示。对于每条边缘,返回其与剖面线的交点位置。检测到的边缘点如图19中一条近似ROI宽度的直线段所示。

图18 ROI宽度W=80,S=1Fig.18 ROIof W=80,S=1

图19 检测到的结果边缘Fig.19 Detected edges

2.4.2 硒鼓的一维尺寸测量

通过2.4.1中多重步骤的检测与计算,最后利用算子measure_pairs(Image,MeasureHandle,Sigma,Threshold, Transition, Select, RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond,ColumnEdgeSecond,AmplitudeSecond,IntraDistance,InterDistance)便可计算检测到的两条硒鼓边缘之间的距离IntraDistance,即硒鼓的直径。硒鼓长度的检测与硒鼓直径的检测程序一致,这里不再赘述。硒鼓的最终一维尺寸测量结果如图20和图21所示。

图20 硒鼓直径Fig.20 Diameter of the toner cartridge

图21 硒鼓长度Fig.21 Length of the toner cartridge

2.5 软件集成

硒鼓缺陷检测与一维尺寸测量主要由强大的视觉软件Halcon完成,在Halcon程序调试成功后,将其导入.NET中,利用.NET设计并美化软件系统界面,以Halcon为后台运行,并优化其中的程序,实现了Halcon与.NET结合的硒鼓检测。

3 结 语

笔者利用局部动态阈值二值化的方法检测缺陷比直接二值化的效果好,精度高。此外,一般的硒鼓尺寸测量是对提取的轮廓进行外包围矩形的拟合,拟合出矩形的宽作为硒鼓的直径,拟合出矩形的长作为硒鼓的长。由于提取的轮廓线不是光滑的线,而且拟合的矩形是像素精度,所以该方法求出的一维尺寸会有3~4个像素的误差,精度不高。而笔者先求出硒鼓的亚像素轮廓,创建与硒鼓垂直的测量目标,利用双线性插值等算法计算边缘点的位置信息也是亚像素精度,所以计算的硒鼓一维尺寸也具有亚像素精度。

[1]刘立波,赵晖,张海波.激光三角测距中光斑细分定位方法研究[J].计算机测量与控制,2008,13(10):1396-1398.

LIU Libo,ZHAO Hui,ZHANG Haibo.Research on Spot Subdivided Locating Method in Laser Triangulation Measurement[J].Computer Measurement& Control,2008,13(10):1396-1398.

[2]先武,李时光,王压.最佳无损检测手段[J].工业CT技术的发展,1995,22(4):51-58.

XIANWu,LI Shiguang,WANG Ya.The Optimal Nondestructive Testing Approach [J].Industrial CT Technology Development,1995,22(4):51-58.

[3]贾云德.机器视觉[M].北京:科学出版社,2000.

JIA Yunde.Machine Vision[M].Beijing:Science Press,2000.

[4]章炜.机器视觉技术及其工业应用[J].红外,2005,27(2):11-17.

ZHANGWei.Machine Vision Technology and Its Industrial Applications[J].Infrared,2005,27(2):11-17.

[5]任获荣.数学形态学及其应用[D].西安:西安电子科技大学机电工程学院,2004.

REN Huorong.Mathematical Morphology and Its Applications [D].Xi'an:School of Mechanical Engineering,Xi'an University,2004.

[6]王树文,闫成新,张天序,等.数学形态学在图像处理中的应用[J].计算机工程与应用,2004(32):89-92.

WANG Shuwen,YAN Chengxin,ZHANG Tianxu,et al.The Application of Mathematical Morphology in Image Processing[J].Computer Engineering and Applications,2004(32):89-92.

[7]刘焕军,王耀南,段峰.机器视觉中的图像采集技术[J].电脑与信息技术,2003(1):18-21.

LIU Huanjun,WANG Yaonan,DUAN Feng.Image Capture Technology in Machine Vision[J].Computer and Information Technology,2003(1):18-21.

[8]朱铮涛,黎绍发.镜头畸变及其校正技术[J].光学技术,2005(1):136-138,141.

ZHU Zhengtao,LIShaofa.Lens Distortion and Its Correction Technology[J].Optical Technology,2005(1):136-138,141.

[9]HENRIMAITREWRITE.现代数字图像处理[M].孙洪译.北京:电子工业出版社,2006:190-210.HENRIMAITREWRITE.Modern Digital Image Processing[M].Beijing:Electronic Industry Press,2006:190-210.

[10]邱茂林,马颂德,李毅.计算机视觉中摄像机标定综述[J].自动化学报,2000,26(1):43-55.

QIU Maolin,MA Songde,LIYi.Overview of Camera Calibration for Computer Vision[J].Acta Automatica Sinica,2000,26(1):43-55.

[11]李波.数字图像噪声消除算法研究[D].曲阜:曲阜师范大学计算机科学与技术学院,2008.

LIBo.Noise Cancellation Algorithm of Digital Image[D].Qufu:School of Computer Science and Technology,Qufu Normal University,2008.

[12]王建勇.二维图像降噪、特征检测的算法及实用化技术研究[D].北京:北京邮电大学信息工程学院,2005.

WANG Jianyong.Research on Algorithms and Realization of Image Noise Removal and Feature Detection[D].Beijing:School of Information Engineering,Beijing University of Posts and Telecommunication,2005.

[13]包晓敏,张云华,汪亚明,等.基于离散高斯滤波器的纺织品图像增强[J].纺织学报,2005(4):121-123.

BAO Xiaomin,ZHANG Yunhua,WANG Yaming,et al.Textile Image Enhancement Based on Discrete Gaussian Filter[J].Journal of Textile Research,2005(4):121-123.

[14]张美静.亚像素边缘检测技术研究[D].沈阳:沈阳理工大学信息科学与工程学院,2013.

ZHANG Meijing.Sub-Pixel Edge Detection Technique[D].Shenyang:School of Information Science and Engineering,Shenyang University of Technology,2013.

[15]韩殿元.简单邻域平均图像去噪算法的改进研究[J].潍坊学院学报,2006(6):12-14.

HAN Dianyuan.Improvement of Simple Neighborhood Average Image Denoising Algorithm [J].Journal of Weifang College,2006(6):12-14.

[16]马驰,张红云,苗夺谦,等.改进的多阈值动态二值化算法[J].计算机工程,2006(6):203-205,208.

MA Chi,ZHANG Hongyun,MIAO Duoqian,etal.Improved Dynamic Multi-Threshold Binarization Algorithm[J].Computer Engineering,2006(6):203-205,208.

[17]祁小平,欧阳益明,张启衡,等.多通道图像的并行处理[J].半导体光电,2006(6):770-773.

QIXiaoping,OUYANG Yiming,ZHANG Qiheng,et al.Parallel Processing of Multi-Channel Image [J].Se-Miconductor Optoelectronics,2006(6):770-773.

[18]刘丽君,骆婷.插值法在图像处理中的应用[J].硅谷,2009(9):9-10.

LIU Lijun,LUO Ting.Application of Interpolation Method in Image Processing[J].Silicon Valley,2009(9):9-10.

[19]王森,杨克俭.基于双线性插值的图像缩放算法的研究与实现[J].自动化技术与应用,2008(27):44-46.

WANG Sen,YANG Kejian.An Image Scaling Algorithm Based on Bilinear Interpolation[J].Automation and Applications,2008(27):44-46.

[20]熊振翔.插值多项式与插值样条[M].北京:国防工业出版社,1995.

XIONG Zhenxiang.Interpolating Polynomial and Spline Interpolation[M].Beijing:National Defense Industry Press,1995.

Defect Detection and One-Dimensional Size Measurement of Toner Cartridge Based on Halcon

ZHU Xianfeng,PAN Hongjun

(School of Mathematics,Physics and Information Science,Zhejiang Ocean University,Zhoushan 316000,China)

Surface defect detection and sizemeasurementof the toner cartridge is an important part to determine whether it is qualified.To achieve this aspect ofwork automation,the toner cartridge surface point defects and line defects are accurately detected and classified by mathematical morphology operators of image processing algorithms,and its size is precisely measured according to sub-pixelmeasurements.The cartridge automatic defect detection and sizemeasurement system is developed by the specialmachine vision software Halcon and.NET.Testing shows that the system has a high accuracy, speed, stability and other distinctive characteristics.

morphology operator;defect detection;sub-pixelmeasurement

TP391

A

1671-5896(2014)03-0308-08

2013-06-20

浙江省科技厅基金资助项目(2011C11045)

朱先锋(1989— ),男,江苏睢宁人,浙江海洋学院硕士研究生,主要从事计算机视觉研究,(Tel)86-18368086367(E-mail)ilanliu90@yahoo.com.cn;通讯作者:潘洪军(1966— ),男,吉林桑树台人,浙江海洋学院教授,博士,硕士生导师,主要从事计算机软件与理论研究,(Tel)86-15088875366(E-mail)Hongjunp66@163.com。

何桂华)

猜你喜欢

硒鼓插值矩形
浅谈降低硒鼓的损耗,提高工作效率
两矩形上的全偏差
化归矩形证直角
基于Sinc插值与相关谱的纵横波速度比扫描方法
从矩形内一点说起
一种改进FFT多谱线插值谐波分析方法
基于四项最低旁瓣Nuttall窗的插值FFT谐波分析
惠普发布全新激光打印机
Blackman-Harris窗的插值FFT谐波分析与应用
如何区分真假惠普耗材