《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于机器视觉的药片表面字符检测的研究
基于机器视觉的药片表面字符检测的研究
2016年微型机与应用第07期
华鑫炎1,周凯汀1,郑力新2
(1.华侨大学 信息科学与工程学院,福建 厦门 361021;2.华侨大学 工学院,福建 泉州 362021)
摘要: 针对目前药片表面字符缺陷检测难的情况,提出了一种字符缺陷检测算法。该算法根据字符的灰度值特性对Gamma映射函数进行了改进,结合γ=0.8和γ=1.2两种曲线特征,较好地分离出了药片表面字符的特征。同时,根据字符的几何特征,可以准确识别出字符存在的缺陷。实验结果表明,该算法具备较好的检测效果,检测准确率为92%。该算法在工业生产中具有一定的实用价值,可以降低药片检测的成本,提高检测效率。
Abstract:
Key words :

  华鑫炎1,周凯汀1,郑力新2

  (1.华侨大学 信息科学与工程学院,福建 厦门 361021;2.华侨大学 工学院,福建 泉州 362021)

      摘要:针对目前药片表面字符缺陷检测难的情况,提出了一种字符缺陷检测算法。该算法根据字符的灰度值特性对Gamma映射函数进行了改进,结合γ=0.8和γ=1.2两种曲线特征,较好地分离出了药片表面字符的特征。同时,根据字符的几何特征,可以准确识别出字符存在的缺陷。实验结果表明,该算法具备较好的检测效果,检测准确率为92%。该算法在工业生产中具有一定的实用价值,可以降低药片检测的成本,提高检测效率。

  关键词机器视觉;缺陷检测;图像掩膜;Gamma函数

0引言

  “物联网云计算平台建设”(2013H2002);华侨大学研究生科研创新能力培育计划资助项目(1400401004)药片的质量是关系着医疗安全的极为重要的因素之一。为了提高药片的生产质量,必须对药片生产过程中出现的诸如药片表面划伤、药片破碎、污渍及表面字符缺损等不合格现象进行严格监管。早期通过人工的方法对整个生产过程进行质量监控[1],这样的过程往往是低效率高成本的。随着计算机处理能力、运动控制技术和图像处理算法的发展,基于机器视觉的药片质量检测系统应运而生[2]。字符是药片的重要组成部分,它用于区分不同类型的药片,防止药片被错误的使用,引发严重的医疗事故。药片在生产的过程中,由于刻字设备的磨损老化,或者由于药片在传送带上传输的过程中产生的摩擦碰撞,使药片表面字符上出现一些划痕。因此,设计一种高效的识别药片表面字符的系统,提高药片表面字符的可读性及生产效率是有必要的。

1药片表面字符检测系统方案

  1.1系统组成

  该系统主要由CCD工业相机、镜头、环形LED光源、工控机、图像采集卡及运动控制卡等部分组成,如图1所示[3]。

  

001.jpg

  1.2系统工作原理

  基于机器视觉的药片表面字符检测系统主要包括图像采集单元、图像处理单元和剔除不合格品的运动控制单元三个部分。其工作原理如下:当流水线上的药片进入相机视野范围时,处于连续拍摄状态的CCD相机就会获取待测药片的图像信息;然后相机通过基于FPGA的高速图像采集卡把采集到的图像信息传送至基于工控机的图像处理单元[4],分析待测药片是否存在缺陷及缺陷的类型;最后图像处理单元分析得到的药片缺陷信息反馈给剔除不合格品的运动控制单元,对有缺陷的药片进行剔除操作,最终实现对药片质量的检测与把控的目的。

2图像预处理

  本系统采用短焦拍摄进行药片图像的采集,虽然系统自身噪声很小,可以清晰地获取表面字符,但由于药片的一些固有属性,药片表面会存在一些噪声及斑点,这些信息将严重影响后期的图像处理及特征提取,所以需要对获取的图像进行预处理。

  2.1图像映射

  图像预处理的本质是将原始图像的灰度级通过预处理函数映射到另一个可以凸显图像细节的灰度级上。假设原始图像的灰度级范围为[Rmin,Rmax],则预处理后的图像T(x)为:

  ~3@A`Q08C27NEIU(ORM]J7B.png

  常见的图像预处理函数映射有:线性、对数、指数等。

  2.2字符图像预处理

  为了很好地得到图像的字符特征,首先采用灰度值反转(Reserve)的方法,对采集的原始图像进行灰度值反转运算,原始图像见图2(a),处理结果见图2(b)。经过反转运算后,图像的背景变为白色,药片变为黑色,药片表面的字符及噪声点也变为白色,字符边缘则是黑色的,这样就可以凸显药片字符特征。

  经过灰度值反转运算后的图像,并没有去除字符周围的噪声点,因此采用灰度值增强(Power)对药片图像再次进行灰度映射。不同增强函数的映射效果如图3所示。通过比较不同倍数的灰度值增强效果,本系统最终选取1.8倍的灰度值增强函数。经过灰度值增强后,图像白色区域的对比度显著增加,暗区域的对比度减少,字符的特征较为明显,图像上的噪声点明显减少。

  

  2.3图像中字符区域的提取

  采用图像掩膜法(Image Mask)提取药片的字符区域,并且调整了字符区域的位置和亮度,以凸显图像的字符特征,便于后期处理。

  图像掩膜运算,即用选定的图像对待分析的图像进行局部(或是全部)遮挡,以提取出感兴趣区域。在图像掩膜中的像素决定感兴趣区域中对应的像素是否要进行处理。

  图像掩膜主要用于:提取出感兴趣区域,感兴趣区域内图像灰度值保持不变,而区域外图像灰度值都为零。屏蔽作用即是用图像掩膜对图像上某些区域作屏蔽,使其不参与下一步的图像处理。图形结构特征的提取,即用相似变量或模板匹配的方法检测和提取出图像中与掩膜相似的结构特征。

  设药片图像为f(x,y),掩膜图像为B(x,y),掩膜处理后的图像g(x,y)为:

  g(x,y)= f(x,y)* B(x,y)

  常见的掩膜形状为矩形,掩膜的步骤如下:(1)求取药片的中心位置坐标;(2)设定掩膜的大小(长度和宽度值),求取掩膜模型;(3)根据掩膜模型,对药片图像进行掩膜,获取药片的字符区域。图4药片字符的掩膜处理

  掩膜后的处理效果见图4。

003.jpg

3字符特征的提取及检测

  3.1改进的Gamma矫正

  视觉系统对图像的亮度感知大致呈对数关系[5]。为了克服这一非线性关系,引入Gamma映射函数对图像灰度值进行矫正,称为Gamma矫正[6]。Gamma函数为式(1):

  1.png

  本系统采集的图像的灰度值范围为0~255。为了取得一定的线性关系,对字符区域灰度值进行估计,对式(1)进行改进,改进后如式(2)所示:

  2.png

  图5原始的Gamma矫正曲线从式(2)可以看出,Gamma矫正实际执行的是对灰度值的一种映射变换。为了更好地观察Gamma矫正对图像灰度值变化的影响,绘制其曲线图,见图5。结合式(1)分析,当γ=1时,图像的灰度值没有发生改变;当γ>1时,图像中暗区域的灰度值将拓宽,亮区域的灰度值将收窄。结果是增加暗区域的对比度,减小亮区域的对比度;当γ<1时,图像中亮区域的对比度得到增加,暗区域的对比度减小。

004.jpg

  从图4可知,药片总体为黑色,其表面字符为白色。如果在减小黑色区域的灰度值的同时,增加白色区域的灰度值,这样字符的特征就会比较明显地显现出来。根据这个思路,本系统采用改进的Gamma矫正曲线做灰度值的映射运算。

  通过比较可知,图6所示曲线是对图5曲线的变形。因此可以构造新的映射函数(改进的Gamma矫正函数)为式(3):

  3.png

  其中:k为图像中曲线交点的横坐标,c为图像的灰度最大值。本系统中取k为图像灰度值的平均值21,γ分别取0.8和1.2。

  

005.jpg

  3.2算法的验证

  图像经过掩膜运算后,提取出药片的字符区域,如图7(a)所示,经过改进Gamma函数的映射运算后,凸显了药片的字符区域,如图7(b)所示。

 

005.jpg

  3.3分离药片表面字符特征

  本系统采用Ostu算法对字符区域进行二值化运算,以凸显字符特征。

  Ostu二值化算法的核心思想是:整个图像采用同一阈值(全局阈值)T 对图像进行二值化处理。一般通过图像的灰度直方图确定一个全局阈值T, 将图像中每个像素的灰度值与阈值T进行比较,若大于T,则认为是前景,反之,则为背景 [7]。在图像完成二值化处理后, 使背景和前景两个类的类间方差值最大,从而达到区别背景和前景的目的。在图像的前景和背景类中, 将每一像素到相应类中心的方差定义为类的分散[8]。每个类的分散度越小, 则其内敛性越强, 达到的分类效果就会越好。

006.jpg

  整个图像中任意点的像素灰度值范围为0~255,图像中任意点(x,y)的灰度值表示为I(x,y),灰度值为x的点的概率为P(x)。则Ostu二值化算法就是求式(4)达到最大值时候的灰度级m。

  4.png

  经过Ostu二值化处理后,效果如图8(a)。

  3.4中值滤波去除噪声

  经过Ostu二值化处理后,药片的字符特征可以较好地显示出来。由于Ostu算法是一种对全局双峰、图像成像有一定要求的算法,因此难免有很多噪声点的存在。从图8(a)可知,经过Ostu二值化处理后,可以清晰地显示药片表面的字符“X D”及划痕的特征,与此同时,字符及划痕周围出现了很多白色的噪声点。因此需要对图像进行滤波。本系统采用中值滤波器来除去图像的噪声点。处理结果如图8(b)。

007.jpg

 

  从图8(b)可知,字符 “X D”变细了,亮度也稍微有些变弱了,但是白色的噪声点减少了许多。

4实验结果与分析

  字符缺陷检测算法的结果见图9,其中(a)~(h)分别为原始图像、灰度值反转、灰度值增强、掩膜处理、伽马校正、Ostu二值化、中值滤波处理后的效果图;(1)和(2)分别为合格药片及存在字符划伤的药片检测的效果。

008.jpg

  通过大量的实验,最终确定本系统选择的字符面积区间为Pa=[1 987,2 250]。字符面积特征见表1。表1字符面积特征参数合格药片(9(1-h))字符划伤(9(2-h))Pa2 0174 286为了进一步测试系统的准确性及可靠性,随机选择了100粒药片,对其进行字符缺陷检测的测试。测试结果表明,本系统对药片字符划伤的缺陷检测准确率达92%。

009.jpg

5结束语

  本系统为自主开发的智能化药片表面字符缺陷视觉检测系统。针对有字符的药片,提出了字符缺陷检测算法,通过提取药片字符特征、设定相应阈值来判别待测药片是否合格。经测试,该系统准确率高,实时性好,有一定的实际应用价值。

参考文献

  [1] 王新明.应用于药品检测中的图像信息处理系统研究[D].西安:西北工业大学,2003.

  [2] ZHANG L Z. Automatic color printing inspection by image processing[J]. Journal of Material Technology. 2003(139):373378.

  [3] ACKLEY E M, FORD M. Inspection system: U.S. patent application 13/740, 684[P]. 2013114.

  [4] 郭柳柳,甄国涌,刘东海,等.基于FPGA高速图像数据的存储及显示设计[J].电子技术应用,2014,40(11):7577,84.

  [5] GASTALDO P, ZUNINO R,HEYNDERICKX I,et al. Objective quality assessment of displayed images by using neural networks [J]. Signal Processing: Image Communication,2005,20(7): 643661.

  [6] 李国芳,王力.基于改进Gamma和改进BP算法的人脸识别研究[J].微型机与应用,2015,34(4):4951.

  [7] OSTU N.A threshold selection method from graylevel histogram[J]. IEEE Trans Systems Man Cybernetic, 1978(8):6265.

  [8] 陈敏.一种自动识别最优阈值的图像分割方法[J] .计 算机应用与软件, 2006, 23(4):8587.


此内容为AET网站原创,未经授权禁止转载。