APP下载

基于OpenCV的微钻刃面检测

2016-10-22聂新桥何广栋

电子设计工程 2016年17期
关键词:灰度边缘像素

聂新桥,何广栋

(华南理工大学广东广州510641)

基于OpenCV的微钻刃面检测

聂新桥,何广栋

(华南理工大学广东广州510641)

为了解决微钻生产过程中人工抽检重复性差、精度低的问题,提出了微钻刃面的图像检测方法,建立了实验平台。通过程序控制光源亮度,从而获得一致的照明。图像处理程序使用了开源的OpenCV库,采用霍夫变换提取微钻刃面中心线的角度,通过阈值分割和Zernike矩实现了边缘的亚像素定位,使用拟合法计算出边缘的直线方程和刃面参数。实验结果表明,角度类参数的重复精度达0.2°,长度类参数的重复精度达0.3μm。

微钻;图像处理;OpenCV;亚像素

随着电子信息产业的快速发展[1],国内外市场对PCB的需求越来越旺盛。微孔加工是PCB制造的重要加工工序,约占PCB制造成本的30%到40%,是PCB产能的瓶颈之一[2],微孔加工过程中需要消耗大量PCB微钻,同时随着高密度互连等技术的发展,以及PCB集成度不断提高,微钻的直径也不断减小,目前,小于0.1mm直径的微钻已经开始进入产业化阶段[3]。微钻尺寸的不断减少给微钻的生产和检验带来了挑战,从现有的研究可以知道,微钻刃面的缺陷有重叠、分开,大头、小头、偏心和大小面等十余种[4],刃面的缺陷会造成微钻的寿命缩短,钻孔孔数变少[5]。现有的微钻刃面检验方式通常应用于终检,从生产的钻头中挑选出不合格品。而在微钻的生产车间,由于加工的钻头过于精密,受环境温度,切削油温以及砂轮磨损等因素的影响较大,需要人工按时抽样在显微镜下检查,并根据结果调整生产设备参数或者修整砂轮等。由于受个人经验和视觉疲劳的影响,人工判断存在一定主观因素,可能误判而造成批量的不良品。

为了减轻工人负担,辅助员工抽检,本研究设计了微钻刃面检测系统。系统采用开源的OpenCV作为图像处理库,使用了亚像素算法提高检测的精度,实验表明测量重叠、分开、偏心和大小面的精度可达0.3 μm,大头和小头缺陷精度可达0.2°,对用户调整生成机械有指导意义。

1 检测系统的组成与工作原理

图1为微钻刃面检测系统的结构框图,可以看出检测系统由光学成像系统、运动控制卡、运动平台和工控机组成。运动平台由工作台、夹具、万向节、伺服电机和驱动器等组成,可以实现钻头沿轴向的移动和自转。运动控制卡选用了东莞市升力智能科技有限公司的IPMC8812运动控制卡,上位机软件可以通过运动控制卡实现系统的运动控制和输入输出型号的读取与操作。刃面光学成像系统采用了Sentech公司的STC-TB202USB工业相机,分辨率1 600×1 200,镜头选用Navitar公司的12x Zoom变倍镜头,环形光选用锐视光电的蓝色LED环形光源。侧面光学成像系统选用方诚科技的IK125M工业CCD相机,分辨率1292×964,选用桂光仪器的TL-60000变焦镜头和锐视光电的红色LED背光源。

测量过程中,刃面相机用于获取微钻的刃面图像,刃面镜头的焦距固定,通过侧面相机可以标定刃面光学成像系统的焦点的位置,运动控制系统使钻头沿轴向运动进入刃面光学成像系统的焦点内,获得清晰的刃面图像。通过设置光源控制器,调整环形光源的发光强度得到对不同规格微钻的一致的照明,最后通过自行开发的软件检测出刃面中心线的倾角并旋转到水平位置,最后对图像中微钻的刃面几何参数进行测量。

图1 系统总体结构

2 光源亮度的调整和刃面图像的获取

微钻在刃面光学成像系统下取得的良好的图像如图2(a),图中灰度值较大的区域为微钻的第一隙面,测量微钻的参数信息需要第一隙面的边缘清晰锐利。检测系统用于微钻的抽样检测,同样的光源亮度对于不同结构参数的微钻打光效果差别很大。通常顶角大的微钻第一隙面容易过度曝光,从而使边缘信息丢失,影响后续算法测量的准确性。为了对不同结构参数的微钻得到一致的照明,需要研究微钻第一隙面的平均灰度与光源亮度之间的关系。首先通过阈值分割提取出微钻第一隙面,即选取合适的阈值k将图像分成背景B和第一隙面T。满足下式。

f(x,y)为坐标点(x,y)处的灰度值。ROI为图像的感兴趣区域,既图像处理的区域,刃面图像选取CCD画幅中央350× 350的区域为ROI。对于不同的光源亮度应取合适的阈值提取第一隙面,Sezgin分析了各类阈值分割算法,指出并指出聚类分析方法的性能较为优越[6],这里采用聚类分析方法的大津法[7]作为阈值提取方法,大津提出使用类间方差作为判断一个阈值好坏的依据,类间方差的定义如式(2)。

其中Pi定义为ROI中灰度值为i的像素数与总像素数之比,最优的阈值k使类间方差最大,在实际的算法实现中,只需访问一次ROI的所有数据得到直方图,再使k遍历[0,255]整个灰度范围,就可以找到使类间方差最大的最优阈值k。

图2 微钻刃面图像及阈值分割图像

图2(b)展示了使用大津法求取的阈值提取的区域,可以看出黑色的区域与微钻的第一隙面重合较好。第一隙面的平均灰度如下:

为了调整第一隙面的平均灰度需要研究钻头第一隙面的平均灰度与光源亮度之间的关系。设置光源亮度调整范围为[10,100],步长为10,分别计算第一隙面的平均灰度,结果如表1,可以看出,第一隙面的平均灰度随着光源亮度增加而增大,可以利用其单调递增的特性使用二分法搜索合适的光源亮度。使微钻第一隙面平均灰度为150-180之间,对于不同结构参数的微钻得到一致的照明。

3 检测的关键算法

测量刃面参数需要首先测量刃面的倾角,这里使用霍夫变换测量倾角,为了使用霍夫变换需要得到图像的边缘信息,OpenCV提供的像素级边缘提取算法有Sobel,Canny,LoG等算法,这些算法受第一隙面的加工痕迹影响较大,容易提取到不相关的边缘,因此使用OpenCV提供查找边缘轮廓的findContours算子[8],从阈值分割得到第一隙面的区域的图像中得到第一隙面的轮廓,轮廓只有一个像素宽,非常利于霍夫变换处理,如图3(a)。对于边缘图像可以直接使用OpenCV的HoughLines算子,霍夫变换的直线采用Duda提出的参数表示法[9],方程如式(4)。

设置θ的分辨率为1°,ρ的分辨率为1,阈值为30个像素点,即只提取得票数大于30个像素点的直线,直接使用霍夫变换会得到多重响应,如图3(b)。微钻的横刃、切削刃以及中心线均有多条直线检出。为了剔除这些多重响应的影响,需要进行非极大的抑制,获取霍夫变换空间的局部最大值。定义霍夫变换空间中两条直线的距离为D。

HoughLines算子会把提取出的直线按照得票数从多到少排列,对于每一条检出的直线,与得票数大于它的直线计算霍夫变换空间的距离,如果距离大于设定的阈值,则该条直线有效。实际应用中权重系数a取1,b取0.5,距离阈值设置为10。经过非极大抑制后得到的检测直线如图3(c),通过检测直线的几何关系和强度可以得到刃面中心线直线,最终计算出刃面倾角,如图3(d)。通过机构的旋转可以使得中心线水平,如图4。则对于所有微钻取向一致,方便了检测算法设计。

表1 光源亮度与平均灰度之间关系

图3 微钻刃面中心线提取步骤

旋转到水平的微钻图像仍然使用阈值分割和findContours算子提取如图3(a)所示的第一隙面的轮廓,使用minEnclosingCircle算子处理轮廓可以得到微钻的直径和圆心位置,使用boundingRect算子可以得到轮廓的边界矩形。通过霍夫变换提取的横刃、切削刃、中心线的方程,计算直线之间,直线和外圆的交点,可以设置合适的ROI使得ROI内只有一条边缘,方便了拟合计算。图4为微钻右侧切削刃ROI和中心线ROI,使用同样办法可以得到横刃的ROI以及左侧各线段的ROI。

图4 自适应的ROI设置

遍历所有的边缘点,检查是否在矩形ROI内可以得到ROI内的边缘。但是该边缘的准确度在多数情况下与阈值的选取有关,如果阈值选取不恰当,提取的边缘将不准确[10]。为了提高检测精度和准确性,使用亚像素边缘检测算法对边缘进行定位,当前亚像素边缘检测算法可分为拟合法、插值法和矩法[11]。拟合法利用边缘附近的像素点,根据假设的边缘模型拟合得到亚像素边缘,但边缘模型较复杂时需要计算多元非线性函数极值,求解复杂速度慢不便于实时处理[12]。插值法计算效率高[13],但容易受噪声干扰。因此本研究采用矩法进行亚像素定位,矩法包括灰度矩[14]、空间矩[15]和Zernike矩[16]等,因为Zernike矩的正交特性,计算量较少,本文使用Zernike矩对边缘进行亚像素定位。

Zernike提出的边缘模型如图5,直线是二维图像的边缘,直线下方灰度为h,直线上方灰度为h+k,圆心到直线的距离为l,边缘的法线与x轴夹角为θ。通过像素级边缘点(x,y)可以计算出亚像素边缘点

图5 理想的二维边缘

因此只需计算l和θ就可以得到亚像素精度的边缘坐标。Zernike矩有3个矩Z00,Z11和Z20,其中Z11是复数。计算式如式(7),通过文献给出的矩计算模板,使用OpenCV的矩阵点乘运算可以分别计算出Z11和Z20。

使用OpenCV的fitLine算子可以拟合亚像素边缘,得到直线的精确方程。得到所有边缘的直线方程后,可以通过几何知识确定刃面参数的大小[17]。

4 实验结果与分析

通过变焦镜头的调整,本研究所设计的微钻刃面检测系统可以测量直径0.1 mm到0.5 mm的PCB微钻。固定放大倍率为3倍时,可以测量直径0.2 mm到0.35 mm的微钻。为了验证检测的重复性,取钻径0.25 mm的微钻,使用该方法测量10次,结果如下。该钻头有轻微的大头和重叠缺陷,因此小头和分开测量数据均为0,可以看出大头的测量差异为0.2度,直径、重叠、偏心和大小面的重复性为0.3μm。

表2 微钻检测重复性测量结果

5 结论

该微钻刃面检测系统使用开源图像处理库OpenCV处理微钻刃面图像,为了提高检测的精度,比较了各类亚像素边缘检测算法,最终选取具有正交特性的Zernike矩实现亚像素精度的定位。实验表明系统测量精度较高,角度类参数分辨力为0.1°,长度类参数分辨力为0.1μm,重复性分别可达0.2°和0.3 μm。能够有效测量微钻刃面缺陷,为人工调整生产设备提供了依据。

[1]工业和信息化部运行监测协调局.2015年电子信息产业统计公报[EB/OL].(2016-02-29)[2016-03-16].http://www.miit.gov.cn/newweb/n1146285/n1146352/n3054355/n3057511/n3057518/c4650836/content.html.

[2]王成勇,黄立新,郑李娟,等.印刷电路板超细微孔钻削加工及其关键技术[J].工具技术,2010,44(1):3-10.

[3]付连宇,厉学广,郭强.高厚径比微型钻头开发[J].印制电路信息,2010(S1):440-445.

[4]Huang C K,Liao C W,Huang A P,et al.An automatic optical inspection of drill point defects for micro-drilling[J].International Journal of Advanced Manufacturing Technology,2008,37(11):1133-1145.

[5]邱景驿.数位影像处理应用于微型钻针再研磨之研究[D].基隆:国立台湾科技大学,2007.

[6]Sezgin M,Sankur B.Survey over image thresholding techniquesandquantitativeperformanceevaluation[M].Journal of Electronic Imaging,2004.

[7]Otsu N.A Threshold Selection Method from Gray-Level Histograms[J].Systems Man&Cybernetics IEEE Transactions on,1979,9(1):62-66.

[8]Suzuki S,Be K.Topological structural analysis of digitized binary images by border following[J].Computer Vision Graphics&Image Processing,1985,30(1):32-46.

[9]Duda R O,Hart P E.Use of the Hough transformation to detect lines and curves in pictures[J].Communications of the Acm,1972,15(1):11-15.

[10]Steger C,Ulrich M,Wiedemann C.Machine Vision Algorithms and Applications[M].2008.

[11]张舞杰,李迪,叶峰.基于Sigmoid函数拟合的亚像素边缘检测方法[J].华南理工大学学报:自然科学版,2009,37(10):39-43.

[12]Hagara M,Kulla P.Edge Detection with Subpixel Accuracy Based on Approximation of Edge with Erf Function[J].Radioengineering,2011,20(2):516-524.

[13]Jensen K,Anastassiou D.Subpixel edge localization and the interpolation of still images.[J].IEEE Transactions on ImageProcessingAPublicationoftheIEEESignal Processing Society,1995,4(3):285-95.

[14]罗钧,侯艳,付丽.一种改进的灰度矩亚像素边缘检测算法[J].重庆大学学报,2008,31(5):549-552.

[15]Lyvers E P,Mitchell O R,Akey M L,et al.Subpixel Measurements Using a Moment-Based Edge Operator[J].IEEE Transactions on Pattern Analysis&Machine Intelligence,1990,11(12):1293-1309.

[16]Ghosal S,Mehrotra R.Edge detection using orthogonal moment-based operators[C]//Pattern Recognition,1992.Vol.III.Conference C:Image,Speech and Signal Analysis,Proceedings.,11thIAPRInternationalConferenceon.IEEE,1992:413-416.

[17]胡松立.基于机器视觉的PCB微钻几何参数精密检测技术研究[D].上海:上海交通大学,2009.

Inspection of micro drill blade based on OpenCV

NIE Xin-qiao,HE Guang-dong
(South China University of Technology,Guangzhou 510641,China)

In order to improve the repeatability and accuracy of micro drill inspection during manufacturing process,a micro drill blade inspection method is proposed and experiment platform is made.Micro drills of different specification are laminated uniformly through light control.OpenCV is used as the image process library,hough transformation is used to detect the center line,segmentation and Zernike moments are used to find the subpixel edge location.Finally,line fitting is used to calculate the dimension of micro-drill.Experimental result shows the repeatability of angular parameter is within 0.2 degree,longitudinal parameter is within 0.3μm.

micro drill;image processing;openCV;subpixel

TN06

A

1674-6236(2016)17-0160-04

2016-03-07稿件编号:201603069

广东省科技计划项目(2012A090100012);广东省省级科技计划项目(2013B010134010)

聂新桥(1990—),男,湖南永州人,硕士。研究方向:图像处理、微钻检测等。

猜你喜欢

灰度边缘像素
采用改进导重法的拓扑结构灰度单元过滤技术
像素前线之“幻影”2000
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
“像素”仙人掌
ÉVOLUTIONDIGAE Style de vie tactile
基于最大加权投影求解的彩色图像灰度化对比度保留算法
一张图看懂边缘计算
高像素不是全部
基于像素重排比对的灰度图彩色化算法研究
在边缘寻找自我