灌装液体药品质量的机器视觉检测与识别
何 成,王耀南
(湖南大学 电气与信息工程学院,湖南 长沙,410082)
摘 要:针对机器视觉检测灌装液体药品中存在的对噪声敏感、难以区分杂质和气泡的问题,提出多帧序列图像检测与识别杂质的方法。在获取灌装液体药品连续序列图像的基础上,采取以最不相邻图像差分来获取瓶内液体图像中变动区域;选取多帧序列图像中运动对象建立目标链,从而提取可能是杂质的运动对象在多帧序列图像中的特征。运用具有较强推广能力的支持向量机对提取特征进行分类识别。实验结果表明:采用该方法可识别灌装液体药品的杂质,选取合适的支持向量机惩罚参数和核参数,其识别准确率可达95%,可以区分杂质和气泡等,可提高检测灌装液体药品质量的准确性。
关键词:视觉检测;序列图像处理;支持向量机;杂质识别
中图分类号:TP391 文献标识码:A 文章编号:1672-7207(2009)04-1003-05
Machine vision detection and recognition of quality of filling liquid medicine
HE Cheng, WANG Yao-nan
(College of Electrical and Information Engineering, Hunan University, Changsha 410082, China)
Abstract: Based on the fact that in detecting impurities in liquid medicine using machine version, there are some problems such as high sensitivity to noise and difficulty in distinguishing impurity and air bubbles, the method using multi-frame serial images was proposed. The serial images of the liquid medicine were obtained, the least-adjacent-image difference algorithm was used to detect the changing regions in the images. Since the moving targets could be traced in the multi-frame serial images, the characteristics of these targets, which were also probably the impurities, could be derived. Support vector machine with high generalization capability was used to categorize and detect these characteristics. The experiment results show that with this multi-frame serial images analysis and appropriate penalty parameter and Kernel-parameter of support vector machine, the detection accuracy can reach 95%. Impurity identification in small sample liquid medicine, the problem of distinguishing impurity and air bubbles can be solved, and high accuracy of detection can be achieved.
Key words: visual detection; serial images processing; support vector machine; impurity recognition
目前,液体药品的灌装精度和卫生情况虽得到很大提高,但仍不能达到严格的医药产品质量标准,有一些纤维、玻屑、色斑、橡胶等杂质存在,一旦被病人误用,则有可能引起生命危险[1]。为了保证药品的质量,必须对灌装后的液体药品进行细致地检测,以剔除不合格产品。目前,国内各厂家普遍采用暗室中人工灯检的方法,其检测效率和精度低。机器视觉检测技术因其具有非接触、速度快、精度高等优点,能满足现代生产的需要,在实际中逐渐得到应用[2-3]。但至今国外仅少数公司开发了用于口服液、注射液等产品视觉检测的设备[4-5],且存在适应性不强的缺点,当被检对象发生变化时,需花费大量时间进行调试。Ishii等[6]探讨了瓶内液体的视觉检测方法,但该方法对噪声敏感,而且无法区分气泡和杂质。为了提高灌装液体药品的检测水平,本文作者通过机器视觉系统采集药品的连续序列图像,提取可能是杂质的运动对象在多帧序列图像中的特征,运用具有较强推广能力的支持向量机来进行分类识别。支持向量机是在统计学习理论基础上发展的一种学习算法,运用结构风险最小的原则,具有很强的推广能力[7-9],已在图像识别领域得到广泛应用[10-11]。
1 药品图像检测
1.1 液体药品序列图像采集
考虑到透明容器上可能存在的各种痕迹所带来的影响,药品视觉检测没有采用传统单帧图像检测,而是通过药品视觉检测装置,如图1所示。对灌装了液体药品的透明容器进行高速旋转与急停,控制图像采集系统对其拍摄连续序列图像。通过精密的机械设计保证图像采集系统能够获得每瓶产品的无视角偏差序列图像,避免了耗时的图像配准,提高了系统实时性。
![](/web/fileinfo/upload/magazine/68/2175/image002.jpg)
图1 药品视觉检测装置总体结构图
Fig.1 Overall structure of medicine visual inspection setting
采集到的序列图像是在瓶子处于静止状态而瓶内液体和杂质不断旋转时的连续多帧图像。瓶身上可能存在各种痕迹,但由于瓶子是静止的,在不同图像中所处的位置与形状不变。而瓶内液体是不断旋转的,所以,可能存在的杂质也会随之处于不断运动状态。瓶内液体序列图像如图2所示。可见,在不同图像中,杂质位置发生了变化。
![](/web/fileinfo/upload/magazine/68/2175/image004.jpg)
(a) 第1帧图像;(b) 第2帧图像
图2 瓶内液体序列图像
Fig.2 Serial images of liquid in bottle
1.2 变动区域的获取
在药品视觉检测装置采集的连续序列图像中,可以通过运动图像分析的方法区分静止的背景和运动的杂质。在运动图像分析中,常用的方法是差分图像算法。一般将相邻时刻采集的图像相减,就能获取变动区域[12-13]。但是,直接采用图像差分法存在一些缺点。当不同帧的图像中运动对象存在重叠部分时,会形成空洞现象。由于不可能长时间地拍摄瓶内液体运动的序列图像,因而,不能通过增加帧与帧之间的间隔时间来减少重叠。为此,本文作者提出一种最不相邻图像差分算法。通过理论与实验研究发现,序列图像中某一帧与其最不相邻的帧即相隔帧数最多图像相比较,运动对象存在重叠部分的可能性最小。例如,对检测工位连续采集5帧序列图像,对于第1帧或第2帧,选取第5帧图像与其进行计算,而对中间帧以及之后祯图像与第1帧图像进行计算,对第3,4或第5帧图像与第1帧进行计算。
选取某一帧图像
和最不相邻帧图像
,由下式计算最不相邻2帧的差分灰度图像
):
然后,对图像 D(t)(x, y)二值化,便得到变动区域。
2 多帧序列图像特征提取
2.1 多帧序列图像目标链的建立
对多帧序列图像的识别分类方法与通常对单帧图像的识别分类方法不同[14],因为液体药品中杂质只通过1帧图像可能没有足够特征区别于其他非杂质如气泡或者噪声,所以,要实现药品视觉检测,必须对同一个药品的多帧序列图像中运动变化的目标进行识别和分类。对同一个药品的序列图像处理获得变动区域后,将连续数帧中可能是同一对象的变动区域组成目标链,这可能是杂质运动的表现,也可能是气泡运动或者噪声的表现。
在多帧图像中,选择在起始帧图像中的变动区域作为对象。液体中可能存在多种杂质,但只需1个运动对象被识别为杂质即可说明产品不合格。所以,根据变动区域面积对运动对象进行排序,先处理面积较大的目标。
按照设计,检测装置通过旋转与急停使其在相同容积的密闭容器里运动,所以,目标在相隔时间较短的连续2帧中的位置变化是有限的。根据前一帧图像中目标位置建立方形搜索区域。其搜索区是指以前一帧图像中目标位置为中心,以杂质在2帧间隔时间内的最大可能水平和垂直运动范围所包括的方形区域。下一帧中,凡是全部或部分落入搜索区的变动区域都将被列为可疑对象,通过运算从可疑区域中找到最匹配的对象。这里用运动对象面积和灰度的变化这2个特征量来描述对象的特性,并推导出匹配对象的相似度。相似度反映了区域间特性差别,可疑对象的相似度越小,则说明它与指定的运动对象越相似,作为最佳匹配区域的置信概率越大。所以,对运动对象,根据可疑区域相似度来进行排序,先处理相似度最小的可疑对象,接着转向处理下一帧图像,直到转向最后的第5帧图像结束为止。
2.2 特征提取
在建立了1个目标链后,便需要提取特征来判断该目标链中对象是杂质还是气泡或其他噪声。选取的特征值对下一步分类有重要影响。
物体的几何形状在物体的识别中作用很大,而不同种类的物体其形状的差别很大,如气泡和杂质在形状上有较大区别。
从区域灰度看,杂质的亮度较高,则灰度较大。于是,将区域平均灰度作为特征参数。
从杂质的运动轨迹来看,其与液体运动的状态有关,具有一定的规律性,而气泡的主要运动趋势是向上运动的,而噪声是无规律的。因此,这里采用目标链中目标的平均水平运动速度、平均垂直运动速度和前后垂直运动速度差作为运动特征参数。
连续几帧中目标链的目标若是同一个杂质,则其面积的变化相对小。而非同一物体形成的目标链面积的变化较大,因为可能把不同物体加入到1个目标链中,或者是噪声干扰形成目标链。于是,将区域面积标准差作为特征参数。同样地,把区域灰度标准差也作为特征参数。
3 基于支持向量机药品质量识别
据药品中是否含有杂质,可将药品分为合格药品和不合格药品,这实际上是一个二元分类问题。支持向量机是解决该类问题最有效的方法之一[15]。由于所提到的特征可能在量值上有很大差异,为了避免大特征湮没小特征对分类的贡献,在使用支持向量机分类时,首先对特征量进行归一化,将输入的各项特征都归结到[0, 1]区间之内,所采用的归一化公式为:
![](/web/fileinfo/upload/magazine/68/2175/image012.jpg)
3.1 支持向量机的分类
典型支持向量机的主要思想是构造一个分类间隔最大的分类超平面,使各类中与分类超平面距离最近的样本之间的距离最大。对于样本非线性可分情况,其基本原理是将非线性可分样本的输入向量经非线性变换映射到一个高维空间,并在这个高维空间中构造最优分类超平面。其最优化问题的对偶形式可以用如下方式陈述:给定训练样本(xi, di) (其中,i=1, 2, …, N;xi为输入特征;di∈{-1, +1},为分类输出的结果),寻找最大化目标函数:
![](/web/fileinfo/upload/magazine/68/2175/image013.jpg)
求解上述问题后得到的最优分类函数为:
![](/web/fileinfo/upload/magazine/68/2175/image014.jpg)
支持向量机最基本的理论是二分类方法。所以,采用支持向量机识别药品中是否含有杂质。
3.2 采用支持向量机识别灌装药品的步骤
采用支持向量机识别灌装药品质量的具体步骤 如下。
第1步:获取图像,用机器视觉系统对每一个药品拍摄连续5帧序列图像,图像为256级灰度图像。
第2步:对第1步所获得的图像用邻域平均法进行平滑处理。采用3×3区域像素灰度的平均值代替原来的灰度。对最不相邻图像差分,转换为二值图像,以获取瓶内液体每一帧图像中的变动区域。
第3步:选取起始帧图像中变动区域面积最大的运动对象建立目标链。当有多个可疑区域时,根据可疑区域相似度把最有可能的运动对象加入到目标链。
第4步:建立目标链后,提取运动对象在多帧序列图像中的特征。
第5步:由支持向量机对上步中的特征进行识别,确定目标链中的对象是否为杂质在液体药品中运动的表现。
第6步:若所建目标链被确定为杂质的表现,则该药品被识别为不合格产品。反之,则选取其他运动对象按第3至第5步骤逐一检测。若所有目标链都并非杂质的表现,则药品被识别为合格。若所建立的目标链都被排除是杂质的表现,则药品被识别为质量合格产品。
4 实验及结果
在实验中,用药品视觉检测装置,对250 mL透明玻璃瓶装输液产品进行检测。药品视觉检测装置安装了逐行扫描CCD黑白摄像机,对每瓶输液产品采集拍摄分辨率为640×512的连续图像,通过序列图像获得变动区域,如图3所示。
![](/web/fileinfo/upload/magazine/68/2175/image016.jpg)
(a) 单个运动区域,第1帧图像;(b) 单个运动区域,第5帧图像;(c) 单个运动区域,变动区域;(d) 多个运动区域,第1帧图像;(e) 多个运动区域,第5帧图像;(f) 多个运动区域,变动区域
图3 序列图像获取的变动区域
Fig.3 Serial images of changing regions in bottled
运用文中所述方法获取500个样本。用200个含有杂质和200个无杂质的样本进行训练,对剩余样本进行测试,计算识别准确率。
支持向量机在进行分类识别前需要选择核函数。SVM的核函数有多种选择:线性函数,d阶多项式函数,径向基函数以及Sigmoid函数。核函数和参数的选择将直接影响产品分类的效果。这里选用径向基核函数
来进行识别。支持向量机在对药品质量进行视觉识别时,还需要确定其惩罚参数 C和核参数σ。在确定惩罚参数C的特征子空间中,调节学习机器置信范围和经验风险的比例,使学习机器的推广能力最强。径向基核参数σ直接影响支持向量机的性能。一般支持向量机参数是通过搜索的方法来选取的。在不同参数下,径向基核函数支持向量机检测实验结果如表1所示。
表1 径向基核函数支持向量机识别结果
Table 1 Recognition results of support vector machine with radial and basis kernel function
![](/web/fileinfo/upload/magazine/68/2175/image019.jpg)
由表1可见,使用支持向量机识别算法中,参数的选择对实验结果有明显的影响。采用径向基核函数,选取合适的参数,识别准确率可达95%。
对于典型的干扰、纤维和悬浮颗粒,采用本文提出的识别方法,其识别的准确率分别为95%,97%和93%,如图4所示。
![](/web/fileinfo/upload/magazine/68/2175/image021.jpg)
(a) 干扰,95%;(b) 纤维,97%;(c) 悬浮颗粒,93%
图4 典型样本识别准确率
Fig.4 Accuracy rates of recognition of typical samples
5 结 论
a. 通过机器视觉检测装置采集灌装液体药品连续序列图像,提出多帧序列图像检测与识别杂质的方法。结合药品视觉检测装置中杂质的运动特性,选取多帧序列图像中运动对象建立目标链,然后,提取可能是杂质的运动对象的形状、灰度和运动的特征,从而据所得的特征区别杂质与非杂质。
b. 运用支持向量机提取特征对药品质量进行识别。支持向量机在对药品质量进行视觉识别时,选取合适惩罚参数C和核参数σ,其识别准确率可达95%。
c. 当对药品中面积较小或灰度差异较小的杂质进行识别时,容易漏检,这与该情况下变动区域的获取及特征的提取是否受到干扰有关。如何提高该情况下样本特征提取的准确性还有待于进一步研究。
参考文献:
[1] 国家药典委员会. 中华人民共和国药典[M]. 2版. 北京: 化学工业出版社, 2005.
National Pharmacopoeia Committee. Pharmacopoeia of People’s Republic of China[M]. 2nd ed. Beijing: Chemical Industry Press, 2005.
[2] Boyer K L, Ozguner T. Robust online detection of pipeline corrosion from range data[J]. Machine Vision and Applications, 2001(12): 291-304.
[3] Shafait F, Imran S M, S K. Fault detection and localization in empty water bottles through machine vision[C]// E-tech 2004. 2004: 30-34.
[4] Spa B C. Inspection machines for pharmaceutical industry [EB/OL]. http://www.brevetti-cea.com/. [2008-10].
[5] Seidenader V G H. Automatic inspection machines[EB/OL]. [2008-10]. http://www. seidenader.de/.
[6] Ishii A, Mizuta T, Todo S. Detection of foreign substances mixed in a plastic bottle of medicinal solution using real-time video image processing[C]//Proceedings of Fourteenth International Conference on Pattern Recognition. Australia, 1998: 1646-1650.
[7] Vapnik V N. Statistical learning theory[M]. New York: Springer, 1998.
[8] Vapnik V N. The nature of statistical learning[M]. 2nd ed. New York: Springer, 2000.
[9] 张学工. 关于统计学习理论与支持向量机[J]. 自动化学报, 2000, 26(1): 32-42.
ZHANG Xue-gong. Introduction to statistical learning theory and support vector machines[J]. Acta Automatica Sinica, 2000, 26(1): 32-42.
[10] 骆建承, 周成虎. 支持向量机及其遥感影像特征空间提取与分类的应用研究[J]. 遥感学报, 2002, 6(1): 50-55.
LUO Jian-chen, ZHOU Cheng-hu. Support vector machine for spatial feature extraction and classification of remotely sensed imagery[J]. Journal of Remote Sensing, 2002, 6(1): 50-55.
[11] 张燕昆, 杜 平, 刘重庆. 基于主元分析和支持向量机的人脸识别方法[J]. 上海交通大学学报, 2002, 36(6): 884-886.
ZHANG Yan-kun, DU Ping, LIU Chong-qing. A face recognition method based on principal component analysis and support vector machine[J]. Journal of Shanghai Jiaotong University, 2002, 36(6): 884-886.
[12] Sonka M, Hlavac V, Boyle R. Image processing, analysis, and machine vision[M]. Philadelphia: Thomson-Engineering, 1998.
[13] 万 缨, 韩 毅. 运动对象检测算法的探讨[J]. 计算机仿真, 2006, 23(10): 222-223.
WANG Ying, HAN Yi. The methods for moving object detection[J]. Computer Simulation, 2006, 23(10): 222-223.
[14] 罗三定, 肖 飞. 不规则类圆形团块目标图像识别的新方法[J]. 中南大学学报: 自然科学版, 2004, 35(4): 633-636.
LUO San-ding, XIAO Fei. A new method of recognizing quasi-circular object[J]. Journal of Central South University: Science and Technology, 2004, 35(4): 633-636.
[15] Suykens J K. Optimal control by least squares support vector machines[J]. Neural Networks, 2001, 14(1): 23-25.
收稿日期:2008-10-15;修回日期:2009-01-20
基金项目:国家自然科学基金资助项目(60835004);国家“863”计划项目(2007AA04Z244)
通信作者:何 成(1978-),男,湖南长沙人,博士研究生,从事模式识别与图像处理、计算机智能控制研究;电话:0731-88657350;E-mail: hechenghecheng@hotmail.com