1.2 相关技术及研究现状
1.2.1 自动视觉检测技术
传统工业产品的检测和质量控制基本依赖人工完成,虽然人工在某些方面具有优势,但是有容易疲劳、检测速度慢等缺点。近几年,随着计算机视觉、图像处理、模式识别等相关学科的发展,自动视觉检测技术得到了迅猛发展。
自动视觉检测技术(Automatic Vision Inspection,AVI)是一种利用计算机视觉(Computer Vision,CV)代替人工视觉进行产品质量检测的新兴技术。自动视觉检测作为一种新兴的检测技术,它综合应用图像处理与分析、模式识别、人工智能、精密仪器等技术,具有速度快、精度高、非接触等优点。将其应用于工业领域,可以有效克服人工检测的不足,提高工厂生产的自动化程度与生产效率。因此,在现代自动化生产过程中,自动视觉检测系统被越来越多地用于工况监视、成品检验和质量控制等领域[2~8]。
面向工业检测的自动视觉系统由于其明确的工程应用背景,与普通计算机视觉、模式识别、数字图像处理有着明显的区别,其中值得一提的特点有:
(1)自动视觉检测系统的工作环境一般事先确定。对于一个给定的系统,检测时的照明、位置、颜色、背景等条件都是需要仔细加以调试的。
(2)自动视觉检测系统往往具有专用性。作为一个面向特定问题的系统,一般并不需要对目标物体进行三维重建,只需针对某个具体明确的目标,设计特定的算法和设备,做出判决。
(3)由于检测环境可选择,检测目标明确,自动视觉检测系统可以得到更多已知知识的指导。知识应用在系统的各个层面,这一点既体现在算法的选择、目标特征的确定上,也体现在工业机器视觉的软件一般由在线和离线学习两部分组成,算法中的很多参数可以事先确定。
(4)工业视觉系统区别于普通视觉系统,不仅在图像处理等理论方法,而且在实现技术上要适合工业应用环境的特殊要求。这就决定了工业视觉检测系统除了光源和光学成像系统,摄像和图像处理系统,用于控制摄像、图像处理、图像分析的计算机外,还会包括更多子系统,如与生产线同步的通信系统,测距、测速等辅助检测系统,标记、报警或机械操作等结果反馈系统。
(5)在一些数据量大、实时性要求高的场合,通用计算机的处理速度无法胜任,需要采用基于嵌入式处理器的实时图像处理系统。由于使用的是专用处理器,如数字信号处理器DSP等,其数字信号处理能力优越,可以很好地解决实时性问题。
本书主要针对自动视觉检测系统中的实时图像处理和模式识别算法进行研究。针对输液图像的特点,提出了一些针对性的输液中异物目标检测识别算法,算法设计时注重体现工业应用中自动视觉检测技术的要求和特点,强调了实时性、鲁棒性。在系统集成上,针对实际的生产目标,设计基于嵌入式处理器的视觉检测系统,强调合理组织图像处理流程。
1.2.2 弱小目标检测技术
输液中弱小异物视觉检测技术的主要难点在于对输液图像中弱小异物目标的识别。弱小目标识别方面的研究始于20世纪70年代末期,经过近30年对小目标识别与检测问题的深入研究已经取得了不少成果,然而,针对小目标检测并没有形成成熟的理论。各种研究都是针对具体不同环境和应用背景提出的算法,而且大多数研究是针对军事、航空领域的远距离弱小目标,或者是针对红外弱小目标。而面向工业和医药行业的液体中弱小目标的研究目前还较少,本课题的研究将在液体中异物小目标检测领域增添新的研究成果。
对于低信噪比图像中弱小目标检测的研究,起源于远距离搜索与监视,如宽视场望远镜、红外搜索和跟踪系统以及其他基于小目标检测的监控系统。当运动目标距离传感器较远时,或者目标本身就是非常小的物体,它们在传感器中的成像为信号幅度较弱的小目标。远距离的成像目标通常隐藏在背景杂波中,目标信号幅值相对于背景杂波和噪声很弱,具有很低的信噪比。通常,目标在成像平面上仅占几个至几十个像素,没有形状、大小、纹理等特征可以利用。它的这种空间特性使得传统的利用目标大小、形状以及特性的图像处理技术无法得以应用,不能够从单帧图像中检测到目标,必须采用基于目标运动特征的序列图像处理方法,设法沿目标航迹积累航迹能量,提高信噪比,以达到抑制噪声、检测目标的目的。
由于弱小目标的信噪比低,使得在单帧图像上几乎不可能检测出目标,或者即使检测出目标也常常伴随着大量的虚假目标。因此,目前的检测技术多采用多帧序列图像检测技术。从检测中应用弱小目标运动的短时间平稳特性的方式出发,可将多帧检测技术分为两大类:一是先检测后跟踪技术(detection-before-track);二是先跟踪后检测技术(track-before-detection)。前者首先根据目标的短时灰度特性对单帧图像进行灰度阈值判别,然后在分割后的二值化图像序列中根据目标的短时运动特性,寻找可能的目标轨迹,这种方法的计算相对简单,但要求一个高信噪比环境。而后者首先根据目标的短时运动特性,通过累积目标的所有可能的运动轨迹的亮度值,然后根据目标的短时灰度特性判别各条轨迹的后验概率,从而检测出真实的目标运行轨迹。对于微弱小运动目标的检测,通常采用先跟踪后检测方法。目前文献上出现的小目标检测算法可大致分为以下几大类。
1.基于三维速度匹配滤波器的检测算法[9~11]
该算法首先做出如下假设:(1)在短时间内目标亮度保持不变;(2)在短时间内目标速度保持不变,目标运动轨迹为一条直线。
在上述假设下,待检测的小目标运动模型简化为:
式中,(x0(s), y0(s))为目标起始点;(vx, vy)为目标在点(x, y)处的运动速度。对式(1-1)作三维傅氏变换有:
由式(1-2)可以看出,目标在频域上的能量都集中在超平面w1vx+w2vy+w3=0上。因此三维速度匹配滤波器的基本实现就是设计一个与速度有关的带通滤波器,其通带为该超平面。
由于实际上参与计算的图像序列不可能为无限长,只能截取N帧(在时间轴上),相对式(1-2)而言就是加上了一个矩形窗函数,故式(1-2)变为:
当N较小时,sinc函数的旁带较大,为抑制旁带,通常还应乘上窗函数(如三角窗)。
对于三维速度匹配滤波器,在理想情况下,匹配滤波器的时域冲击响应函数为:
在理想情况下,对于N帧图像序列,经匹配滤波器输出后,其输出信噪比为:
对于三维速度匹配滤波器检测方法,主要难点在于:
(1)当目标运动速度未知时,需要采用滤波器组进行匹配滤波,将导致计算量的迅速增加,故很难实现。
(2)三维速度匹配滤波器很难设计。
2.基于像素统计的方法
参考文献[12]统计了三维图像序列中目标点的所有可能运行轨迹,通过计算所有轨迹的最大似然函数进行判别。令rijk表示第k帧、第i行、第j列的图像上像素点的灰度值。令s表示目标一条运动轨迹上的像素点的集合,则由最大似然概率法可导出:
其中,
对于基于像素点统计的检测算法,由于目标运动轨迹的假设是在三维时空域上进行的,故每个像素点上可能存在的目标运动轨迹很多(如参考文献[12]在每个像素点上搜索了250 条可能的运动轨迹),计算量很大。参考文献[13]还给出了基于像素统计检测算法的理论性能分析及实际仿真结果。
3.多级假设检验方法
Blostein[14, 15]利用多级假设检验方法的截断序贯处理算法[16~18]来检测和跟踪低信噪比图像序列中的点目标。以各个可能起始点开始,将可能的目标轨迹组织成树形结构,然后用多级假设检验方法中的序贯似然比检验来修剪树形结构的候选轨迹片段。该算法分成两个步骤,首先对图像序列进行预白化处理,经预白化处理的图像序列的噪声模型是零均值的高斯白噪声,然后应用序贯似然比检验。这里的检验统计量是候选轨迹点上的幅值累加和,把它序贯地与两个阈值进行比较。当检验统计量超过高阈值的被接受为目标轨迹,低于低阈值的被认为是噪声轨迹。当统计量介于两个阈值之间时则保留并等待下一图像帧再进行检验。经过这样不断地对树形候选轨迹进行修剪截断,直到第k帧通过阈值的最后截断找出运动目标的位置。即:
对图像中的每个像素,按假设的目标运动轨迹累加各像素点,当累计亮度值超过了预定阈值ai时选择H1;当累计亮度值小于预定阈值bi时选择H0;当处于两者之间时,进入下一级测试。该算法逐帧对目标可能运动轨迹进行修剪,在一定程度上减小了计算量,但这需要在内存中维持一个复杂的数据结构,以牺牲内存为代价。
截断序贯似然比检验方法的树形数据组织与截断算法很有效,能够检测出多个做不同方向运动的目标。它的缺点是在信噪比较低的情况下,为了减少漏检概率,候选的轨迹起始点非常多,可能导致后面的树杈急剧增多,出现组合爆炸,使计算量迅速增大。
4.动态规划法
美国Y. Barniv提出采用基于目标运动状态变量及用动态规划技术,进行多判决的统计方法来对低信噪比条件下运动小目标检测[19]。将动态规划应用于图像序列中移动点目标的检测与跟踪,由于它在一个图像序列的窗口中检测小目标,因此在一定程度上解决了速度失配、目标机动等问题[20~24]。多帧目标检测与跟踪的动态规划算法通过在接收的序列图像数据中最大化可能目标轨迹的后验概率来确认目标。
动态规划算法存在相邻目标状态交叉关联的问题,即如果某几帧图像中目标的幅值较大时,则会检测出几条从这些像素点经过的目标轨迹,并使得在强目标附近的弱目标难以检测出来。另外,动态规划算法在信噪比很低时,无论如何增加处理帧数都无法提高目标检测的性能。基于动态规划算法的目标检测算法将在三维空间中搜索直线或曲线的问题转化为寻求代价函数局部最优化的问题,显然最优化过程不可避免地会带来巨大的计算量。
5.我国在小目标识别检测方面的研究工作
国内在弱小目标检测方面也做了一些有意义的工作。熊辉[25]提出了一种基于膨胀累加的检测算法,但文中只考虑了高空背景。彭嘉雄[26,27]提出基于直方图的自适应门限背景抑制与小目标分割方法,并利用流水线管道结构检测目标运动轨迹。陈颖[28]利用差分帧来构成组合帧,并沿不同方向对像素值进行累加,进而通过统计分析确定检测门限。此外,还有自适应空间预测滤波法[29]、递归最大滤波[30,31]、逆推序贯检测算法[32]、小波变换法[33,34]、遗传算法[35,36]、粗糙集算法[37]、神经网络法等[38~42]。
1.2.3 液体中微小异物检测技术
液体中的异物杂质检测在工业生产中有着非比寻常的意义。无论是在工业上还是民用上,杂质的存在将严重影响产品的质量,危及人们的健康。采用化学或生物的方法进行抽样检查,并不能完全保证产品的合格率,并或多或少地损坏样品,造成资源的浪费,而人工检查速度慢,依赖人的熟练程度和身体状态,影响检测的效果。本课题所要研究的基于机器视觉的液体中杂质检测方法,效率高,可以扫描所有的产品,不会产生副作用,属于无损检测范畴,具有非常广泛的适用范围。液体中异物微粒检测技术不仅在医药生产中应用广泛,在食品、生物、化工、环境等领域也被广泛应用,不同应用环境有不同的检测精度、要求和标准。
目前,对于液体中异物微粒检测的方法主要有光阻法、光散射法和光衍射法等。以下对其中几种常用方法做简要介绍。
1.基于光阻法原理的检测方法
光阻法(Light-Blocking)是国际上流行的微粒检测技术之一。美国药典、英国药典和2000年、2005年版中国药典都收录了光阻法来进行注射液中微粒异物的检查。光阻法微粒检测技术的基本原理为:光源发出的光由于受到液体中粒子的遮挡,光强减弱,光电器件检测到这一信号的变化,形成光电脉冲,该光电脉冲的幅值大小与粒子的粒径存在一定的关系。通过判断该脉冲的幅值大小,即可得到粒子存在与否和其中粒径的信息[43~45]。例如,美国太平洋科学仪器公司生产的HIAC系列激光光阻法传感器就是基于该原理制作的[46]。
但是基于光阻法原理的检测方法很不稳定,因为一般光源自身误差都在5%左右变化,美国国家标准局(NIST)的校准光源在采用最稳定的电源供电时误差也达3%,所以很难判定光强变化是光源引起的还是异物微粒引起的,结果误检率较高。
2.基于动态光散射原理的检测方法[47~50]
基于动态光散射原理(Dynamic Light Scattering)的检测方法是利用液体中微粒的布朗运动所造成的多普勒效应对溶液的微粒进行测量,通过对某一固定空间位置上的微粒散射光强度随时间涨落现象的研究,来获取待测微粒的粒度信息的方法。动态光散射又称为时间相关的光散射,是测量光强随时间起伏的变化规律。如果粒子处于无规则的布朗运动中,则散射光强度在时间上表现为在平均光强附近的随机涨落,它是由于从各个散射粒子发出的散射光场相互叠加而成的。悬浮液中的颗粒由于受到了周围进行布朗运动分子的不断撞击,而不停地进行随机运动,在激光的照射下,运动颗粒的散射光强也将产生随机的波动,而且波动的频率与颗粒的大小有关,在一定角度下,颗粒越小,涨落越快。动态光散射技术就是通过对这种涨落变化快慢的测量和分析,得到影响这种变化的颗粒粒径信息。基于动态光散射的微粒检测方法主要针对亚微米和纳米级的微粒粒径测量和检测。
基于动态光散射和光阻法原理开发的光电微粒检测仪器主要应用在实验室和质检所里,大多是离线的、抽样检测。
3.基于机器视觉的液体中异物微粒检测技术
基于机器视觉技术的液体中微粒检测,利用机器视觉技术获取待检测液体的图像序列,利用设计的图像处理和模式识别算法实现对液体视觉图像中的微粒进行自动识别检测。
基于机器视觉的液体中异物微粒检测技术在欧美、日本等国家已经开展了相应的研究,研发的全自动在线灯检系统已经在输液生产线上成功应用[51~54]。但到目前为止,国内有关液体中异物微粒视觉检测的研究成果还很少[55~62],更没有见到输液企业使用全自动在线智能灯检器械的报道和文献。
本课题的任务是基于机器视觉技术,研究医用输液中的异物微粒检测的模式识别和图像处理算法,实现医用输液中微小异物的在线检测,并自动统计出其中不同粒径范围内的异物个数。