药液异物的抗振动机器视觉检测方法转让专利

申请号 : CN201110364176.1

文献号 : CN102519984B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王耀南陈俊吴成中葛继张辉毛建旭

申请人 : 湖南大学

摘要 :

本发明公开了一种药液异物的抗振动机器视觉检测方法,包括以下步骤:步骤1:图像获取;步骤2:图像匹配:采用基于爬山搜索的相位相关亚像素图像匹配算法对相邻帧灰度图像进行匹配预处理;步骤3:帧间差分:对匹配后的相邻帧灰度图像进行差分,去掉静止的背景信息,保留运动的异物信息;步骤4:目标检测:对帧间差分操作后得到的图像进行二值化分割和连通域搜索,计算出各个异物区域的面积,并找出最大的异物面积;步骤5:决策判断:根据最大的异物面积是否超标判断当前产品是否为次品,检测过程结束。本发明的药液异物的抗振动机器视觉检测方法能有效的消除机电系统的振动干扰,鲁棒性强,大幅度削减了药液异物检测设备的设计制造成本。

权利要求 :

1.一种药液异物的抗振动机器视觉检测方法,其特征在于,包括以下步骤:步骤1:图像获取:夹持装置带动瓶体高速旋转后急停,当瓶体与CCD工业相机保持相对静止时,用CCD工业相机对瓶体拍照,连续获取多帧灰度图像;

步骤2:图像匹配:采用基于爬山搜索的相位相关亚像素图像匹配算法对相邻帧灰度图像进行匹配预处理;

步骤3:帧间差分:对匹配后的相邻帧灰度图像进行差分,以去掉静止的背景信息,保留运动的异物信息;

步骤4:目标检测:对帧间差分操作后得到的图像进行二值化分割和连通域搜索,计算出各个异物区域的面积,并找出最大的异物面积;

步骤5:决策判断:根据最大的异物面积是否超标判断当前产品是否为次品,检测过程结束;

所述的基于爬山搜索的相位相关亚像素图像匹配算法的偏移量计算方法步骤为:(1)对相邻的2帧灰度图像I1(x,y)和I2(x,y)进行快速傅里叶变换分别得到F1(u,v)和F2(u,v),计算非归一化互功率谱 为F2的复共轭,对P′(u,v)进行快速傅里叶逆变换,得到δ(x,y)=F-1(P′(u,v)),找到δ(x,y)中的最大值的坐标(x0,y0),即为2帧灰度图像之间偏移量的像素级粗估计;

(2)采用爬山搜索进一步求两原图像之间的亚像素级偏移量,包括以下具体步骤:A.初始化j=1,中心点 其中整数s为上采样系数,即亚像素匹配精度;

B.用 计算中心点 的8邻域

中未知的 其中

C.寻找8邻域 中的最大值 如果 则以

为新的中心点 j=j+1,跳转到B;如果 循环终止,跳

转到D;

D. 即为所要找的峰值点, 为精度1s个像素的亚像素偏移量,将该偏移量记为(△x,△y);

基于爬山搜索的相位相关的亚像素图像匹配的偏移量计算归纳为

(△x,△y)=REG(Ik,Ik+1,s),其中△x为图像的水平偏移、△y为图像的垂直偏移,函数表示偏移量计算函数,s为整数,表示上采样系数,偏移量的计算精度为1s个像素,Ik和Ik+1为输入的两帧原图像;

亚像素图像匹配算法的反偏移重构方法为按照偏移量(△x,△y)对输出图像I进行反向平移重构其中F(u,v)表示输入图像I的傅里叶变换, 表示傅里叶逆变换,Ir表示平移后的输出图像, 为重构函数的简化表示。

2.根据权利要求1所述的药液异物的抗振动机器视觉检测方法,其特征在于,获取像素级的偏移向量(x0,y0)的过程为:(1)对相邻的2帧灰度图像I1(x,y)和I2(x,y)进行快速傅里叶变换得到F1(u,v)和F2(u,v);(2)计算非归一化互功率谱

(3)对P′(u,v)进行快速傅里叶逆变换得到相位相关矩阵δ(x,y);

(4)寻找δ(x,y)中的最大值δm(x0,y0),(x0,y0)即为两原图像之间的像素级偏移向量。

3.根据权利要求2所述的药液异物的抗振动机器视觉检测方法,其特征在于,所述步骤2中的图像匹配包括粗略匹配和精细匹配两个步骤:A:粗略匹配:在计算粗略偏移向量(△xr,△yr)之前需要对待检测区域内的异物进行模糊化,即采用15×15的均值平滑模板w1作为低通滤波器,对Ik中待检测区域滤波,得到Iwk,然后调用偏移量计算函数 计算Iwk、Iwk+1之间的偏移向量(△xr,△yr),再调用重构函数 对原图像Ik+1按照(△xr,△yr)的反方向进行反偏移重构,得到Irk+1,完成第k帧图像与第k+1帧图像之间的粗略匹配,即图像Ik与Irk+1;

B.精细匹配:选取粗略匹配的图像Ik与Irk+1中对应点的较小灰度值作为公共背景,用于替换粗略匹配的图像Ik与Irk+1的待检测区域,从而避免待检测区内的运动异物影响精细偏移向量的计算,然后调用偏移量计算函数 计算精细偏移向量(△xa,△ya),再调用重构函数 按照(△xa,△ya)的反方向对Irk+1进行反偏移重构得到Iak+1,完成第k帧图像与第k+1帧图像之间的精细匹配,即图像Ik和Iak+1。

4.根据权利要求3所述的药液异物的抗振动机器视觉检测方法,其特征在于,所述步骤3具体操作为:在精细匹配后的相邻帧图像Ik和Iak+1中选取待检测区域Isk和Isak+1进行差分,并取绝对值,即D(k,k+1)=abs(Isk-Isak+1),去掉静止的背景信息,得到运动的异物图像D(k,k+1),其中D(k,k+1)∈[0,255]。

5.根据权利要求4所述的药液异物的抗振动机器视觉检测方法,其特征在于,所述步骤4具体操作为:用中心增强平滑模板w2对差分后得到的异物图像D(k,k+1)进行滤波,得到滤波后的图像Df(k,k+1);再对Df(k,k+1)进行二值化分割得到二值图像B(k,k+1),在B(k,k+1)中进行连通域搜索,计算出各个异物区域的面积,并找出最大的异物面积Smax(k,k+1)。

6.根据权利要求5所述的药液异物的抗振动机器视觉检测方法,其特征在于,所述步骤5具体操作为:如果对当前液体药品拍摄的多帧图像中的任意两帧图像计算得到的最大异物面积Smax(k,k+1)超标,则判断当前液体药品为次品。

说明书 :

药液异物的抗振动机器视觉检测方法

技术领域

[0001] 本发明属于液体药品中的可见异物的智能机器视觉检测技术领域,涉及一种药液异物的抗振动机器视觉检测方法。

背景技术

[0002] 医用大输液、安瓿瓶、西林瓶等液体药品在生产过程中由于生产工艺和封装工艺的缺陷,药液中可能含有毛发、纤维、固体不溶物、玻璃碎屑等可见异物,一旦进入病人血管将严重威胁病人的生命安全,因此药品出厂前需要逐瓶进行可见异物检测,俗称“灯检”,剔除含有异物的次品。基于机器视觉的药液异物检测设备采用视觉传感、图像处理、模式识别等技术,实现药液异物在线检测。
[0003] 在药液异物检测设备单机系统中,由夹持装置带动药瓶高速旋转一定时间后急停,当整个机械装置恢复静止状态时,瓶内液体由于惯性继续旋转流动,用CCD工业相机拍摄5~10帧连续图像,对所获取的图像进行相邻帧间差分,去掉静止的背景,保留运动的可见异物,根据异物的灰度和面积等信息将其判断为正品或次品,目前药液异物检测设备单机已经在药品质量检测部门的抽样检查中得到广泛应用。
[0004] 液体药品生产厂家需要在生产线上完成液体药品的全自动无人值守灯检,在从单机到全自动生产线的迁移过程中,为了在线模拟单机的检测环境,通常采用凸轮间歇式系统或伺服跟踪式系统,以保证在图像获取阶段夹持装置和瓶体等背景与CCD工业相机保持相对静止。在凸轮间歇式系统中,工业相机和光源等光学成像部件固定,瓶体夹持在主轮盘上,采用机械凸轮或者电子凸轮带动主轮盘作“加速旋转-匀速旋转-减速旋转-静止”的间歇式周期运动,每个周期主轮盘旋转整数个检测工位,在主轮盘静止阶段获取图像。在伺服跟踪式系统中,瓶体夹持在主轮盘上随主轮盘匀速运动,工业相机和光源等光学成像部件固定在从轮盘上,用伺服电机带动从轮盘作“正向加速-正向匀速跟踪-正向减速-反向加速-反向减速”的周期摆动,在从轮盘运动一个周期时间内,主轮盘旋转整数个工位,当从轮盘处于正向匀速跟踪阶段时,主轮盘和从轮盘的角速度相同,保持相对静止,工业相机获取图像。
[0005] 但是在实际的全自动高速生产线上面临以下主要技术难题:
[0006] (1)由于机械加工及装配误差,在系统高速运行时,系统振动不可避免,并且随着机械运行速度的提高,振动幅度急剧上升;
[0007] (2)凸轮间歇式系统在主轮盘静止阶段,瓶体与工业相机之间仍有一定程度的抖动;伺服跟踪式系统在从轮盘正向匀速跟踪阶段,瓶体与相机之间不能保证绝对同步;
[0008] (3)伺服电机的离散编码器导致电气传动部分在跟踪或者停止时总会有一定程度的抖动。
[0009] 以上问题导致图像获取阶段CCD工业相机与机械装置和瓶体之间不能保持理想的相对静止状态,使得传统的帧间差分算法不能去掉夹持装置和瓶体等背景的干扰,无法区分背景与可见异物,致使检测失效(如图12.b所示),并且随着系统运行速度的提高,干扰急剧增强,成为制约检测速度提高的关键瓶颈。

发明内容

[0010] 本发明所要解决的技术问题是提供一种药液异物的抗振动机器视觉检测方法,本发明的药液异物的抗振动机器视觉检测方法能有效的消除机电系统的振动干扰,鲁棒性强,降低了系统对机械加工及装配精度和伺服电机编码器精度、跟踪精度的要求,降低药液异物检测设备的设计制造成本。
[0011] 本发明的技术构思如下:
[0012] 在将药液异物检测设备从单机到全自动生产线的迁移过程中,因为来自机电系统的振动干扰导致传统的帧间差分检测方法失效,本发明采用相位相关的图像匹配方法对所获取的原图像进行预处理。实验证明,仅对原图像进行像素级精度的匹配处理不能有效消除振动干扰(如图12.c所示)。因此需要进行亚像素级精度的匹配预处理。
[0013] 基于相位相关的亚像素级的图像匹配常规算法:
[0014] 为了实现精度为1/s个像素的亚像素图像匹配,需要进行上采样,通常的步骤为:
[0015] (1)对原图像I1(x,y)和I2(x,y)(大小为N×M)进行快速傅里叶变换得到F1(u,v)和F2(u,v),计算非归一化互功率谱,
[0016]
[0017] 其中 为F2的复共轭;
[0018] (2)将P′(u,v)嵌入到大小为sN×sM的零矩阵中央,得到 其中
[0019] (3)对 作快速傅里叶逆变换得到上采样的互相关矩阵 大小也为sN×sM,其中 寻找 的峰值位置(xm,ym),则(xm/s,ym/s)即
为在精度1/s个像素下两幅图像的亚像素级偏移量。
[0020] 上述步骤中 和 通常会占据大量内存,计算 的复杂度为随着计算精度的提高,计算复杂度和存储量需求剧增,例
如对于两幅1024×1024大小的图像,要计算1/20像素精度偏移量时,按照double型数据占8字节计算,需要1024×1024×20×20×8字节,即3.125G的存储空间,而且计算量太大,无法满足实时性要求,因此本发明采用基于快速爬山搜索的相位相关亚像素图像匹配算法,在不降低匹配精度的前提下大大降低计算的时间复杂度和空间复杂度,具体推导如下:
[0021] 考虑到 中大部分数据都为零,如果采用快速傅里叶变换会造出很大的浪费,本发明对原始的二维傅里叶逆变换式(2)进行化简,
[0022]
[0023] 其中 只考虑 中的嵌入非零数据P′(u,v),将式(2)中 换为 u∈[0,N-1],换为 v∈[0,M-1],得到
[0024]
[0025] 用式(3)直接计算 的时间复杂度和空间复杂度远小于用 进行快速傅里叶逆变换,同时不需要构造一个实际的 存放在内存中,且便于在爬山搜索中计算中单点的值。
[0026] 在求得像素级精度的峰值点(x0,y0)后,可以粗略估计亚像素级峰值点(xm,ym)的位置,
[0027]
[0028] 因此只需要在以(sx0,sy0)为中心,大小为s×s的区域内搜索(xm,ym)即可。常规的计算该区域内的所有点的值比较大小求最大值的算法计算了大量冗余的数据,效率低下,本发明采取爬山搜索算法以简化计算。
[0029] 当原图像I1(x,y)和I2(x,y)噪声较小、图像偏移较小时, 的梯度具有很好的全局单调性。即使在噪声较大的情况下,粗略峰值点(sx0,sy0)的s×s的邻域内的梯度仍具有很好的局部单调性,本发明采用爬山搜索算法快速搜索 的最大值,即以(sx0,sy0)为起点,搜索(sx0,sy0)的8邻域中的 最大值与中心点比较,如果大于中心点的值,则将最大值点作为新的中心点,进入下一步搜索,直到新的8邻域中,中心点的值最大,则认为该中心点为 的峰值点。因此在计算 时,并不需要计算所有点,只需要在建立新中心点的8邻域区域时,补充计算原8邻域中没有的点的值。本算法的搜索步数不大于s步,每走一步最多补充计算5个 点,计算复杂度和内存占用量远小于传统算法。
[0030] 发明的技术解决方案如下:
[0031] 一种药液异物的抗振动机器视觉检测方法,包括以下步骤:
[0032] 步骤1:图像获取:夹持装置带动瓶体高速旋转后急停,当瓶体与CCD工业相机保持相对静止时,用CCD工业相机对瓶体拍照,连续获取多帧灰度图像;
[0033] 步骤2:图像匹配:采用基于爬山搜索的相位相关亚像素图像匹配算法对相邻帧灰度图像进行匹配预处理;
[0034] 步骤3:帧间差分:对匹配后的相邻帧灰度图像进行差分,以去掉静止的背景信息,保留运动的异物信息。
[0035] 步骤4:目标检测:对帧间差分操作后得到的图像进行二值化分割和连通域搜索,计算出各个异物区域的面积,并找出最大的异物面积;
[0036] 步骤5:决策判断:根据最大的异物面积是否超标判断当前产品是否为次品,检测过程结束。
[0037] 所述步骤2中的基于爬山搜索的相位相关亚像素图像匹配算法的偏移量计算方法为:
[0038] (1)计算像素级偏移量:对相邻的2帧灰度图像I1(x,y)和I2(x,y)进行快速傅里叶变换分别得到F1(u,v)和F2(u,v),用式(1)计算非归一化互功率谱P′(u,v),对P′(u,-1v)进行快速傅里叶逆变换,得到δ(x,y)=F (P′(u,v)),寻找像素级峰值δ(x0,y0),完成像素级的粗估计;【δ(x0,y0)为像素级的相位相关函数,后文中的 是亚像素级的相位相关函数。】
[0039] (2)采用爬山搜索进一步求两原图像之间的亚像素级偏移量,包括以下步骤:
[0040] A.初始化j=1,中心点 其中整数s为上采样系数,即亚像素匹配精度;
[0041] B.用式(3)计算中心点 的8邻域 中未知的 其中
[0042] C.寻找8邻域 中的最大值 如果 则以为新的中心点 j=j+1,跳转到B;如果 循环终止,跳
转到D;
[0043] D. 即为所要找的峰值点, 为精度1/s个像素的亚像素偏移量,将该偏移量记为(Δx,Δy)。
[0044] 【 的计算方法为将一组自变量 代入式(3)计算得到 即矩阵 中的第 行、第 列的元素。 是表示爬山搜索的第j步的中心点的值。】
[0045] 基于爬山搜索的相位相关的亚像素图像匹配的偏移量计算归纳为
[0046] (Δx,Δy)=REG(Ik,Ik+1,s), (5)
[0047] 其中Δx为图像的水平偏移、Δy为图像的垂直偏移,函数REG(·)表示偏移量计算函数,s为整数,表示上采样系数,偏移量的计算精度为1/s个像素,Ik和Ik+1为输入的两帧图像。
[0048] 所述的亚像素图像匹配算法的反偏移重构方法为:
[0049] 按照偏移量(Δx,Δy)对输出图像I进行反向平移重构
[0050]
[0051] 其中F(u,v)表示输入图像I的傅里叶变换,F-1(·)表示傅里叶逆变换,Ir表示平移后的输出图像,REC(·)为重构函数的简化表示。
[0052] 【 为函数式(3)的自变量,参数矩阵P′(u,v)为每2帧匹配时需要确定的常量,每给定一对 就得到一个对应的 的值。在爬山搜索步骤中,把参数矩阵P′(u,v)代入式(3),根据搜索中需要用到的点的坐标 计算矩阵 中相应的
点。需要用到的点是指在进行爬山搜索时每走一步都有之前没有计算的点,这些点的值需要补充计算,算法的关键在于不需要计算全部的 而是搜索过程中需要用到哪些点就即时计算这些点。例如在搜索中需要用到矩阵中(3,4)这个坐标上的值,就用函数(3)计算 如果下一步需要计算(3,5)这个坐标的值,就用函数式(3)计算 没有用
到的点不计算。】
[0053] 所述步骤2中的计算像素级偏移量(x0,y0)的具体步骤为:
[0054] (1)对相邻的2帧灰度图像I1(x,y)和I2(x,y)进行快速傅里叶变换得到F1(u,v)和F2(u,v);
[0055] (2)用式(1)计算非归一化互功率谱P′(u,v);
[0056] (3)对P′(u,v)进行快速傅里叶逆变换得到δ(x,y);
[0057] (4)寻找δ(x,y)中的最大值δm(x0,y0),(x0,y0)即为原图像之间的像素级偏移向量。
[0058] 【针对图像匹配算法而言,这里的2个原图像可以是任意图像,在本发明的实例中是所获取的图像中的相邻帧。理想状况下所获取的图像中的相邻帧是没有平移的完全重叠,但是因为系统振动,导致了偏移。】
[0059] 所述步骤2中的图像匹配包括粗略匹配和精细匹配两个步骤:
[0060] A:粗略匹配:在计算粗略偏移向量(Δxr,Δyr)之前需要对待检测区域内的异物进行模糊化,即采用15×15的均值平滑模板w1【w1为15×15的矩阵,里面每个数都是1/225】作为低通滤波器,对Ik中待检测区域滤波,得到Iwk,然后调用偏移量计算函数REG(·)计算Iwk、Iwk+1之间的偏移向量(Δxr,Δyr),再调用重构函数REC(·)对原图像Ik+1按照(Δxr,Δyr)的反方向进行反偏移重构,得到Irk+1,完成第k帧图像与第k+1帧图像之间的粗略匹配,即图像Ik与Irk+1;
[0061] B.精细匹配:选取粗略匹配的图像Ik与Irk+1中对应点的较小灰度值作为公共背景【对2幅图像中的对应坐标的点逐一比较,取较小值,组成一幅新的图像】,用于替换粗略匹配的图像Ik与Irk+1的待检测区域,从而避免待检测区内的运动异物影响偏移向量的计算,然后调用偏移量计算函数REG(·)计算精细偏移向量(Δxa,Δya),再调用重构函数REC(·)按照(Δxa,Δya)的反方向对Irk+1进行反偏移重构得到Iak+1,完成第k帧图像与第k+1帧图像之间的精细匹配,即图像Ik和Iak+1。【总是保持相邻2帧图像的第一帧不动,将第2帧图像移动到与第1帧图像匹配的位置上去。】
[0062] 所述步骤3具体操作为:在精细匹配后的相邻帧图像Ik和Iak+1中分别选取待检测区域Isk和Isak+1进行差分,并取绝对值,去掉静止的背景信息,保留运动的异物图像,如下式所示,
[0063] D(k,k+1)=abs(Isk-Isak+1), (7)
[0064] 其中Isk表示从Ik中选取的待检测区域,Isak+1表示从Iak+1中选取的待检测区域,函数abs(·)表示取绝对值,D(k,k+1)表示差分之后的图像,其取值范围为[0,255],如图10所示。
[0065] 所述步骤4具体操作为:用中心增强平滑模板w2对差分后得到的异物图像D(k,k+1)进行滤波,得到滤波后的图像Df(k,k+1);再对Df(k,k+1)进行二值化分割得到二值图像B(k,k+1)【这里二值化取固定阈值以节省计算时间,对于不同的检测对象手动指定二值化阈值,在本发明所给的实例中,二值化阈值为20】,在B(k,k+1)中进行连通域搜索,计算出各个异物区域的面积,并找出最大的异物面积Smax(k,k+1)。【这里以像素个数为面积的单位,异物面积即为像素点个数。像素在实际获取的图像中有与被拍摄物体对应的具体面积实际意义,单个像素代表的实际面积因具体的成像系统而不同。】
[0066] 所述步骤5具体操作为:如果Smax(k,k+1)超标,则判断当前液体药品为次品。【判断标准与所构建的成像系统有关。在本发明所给出的实例中,如果Smax(k,k+1)>5,则判断当前液体药品为次品,否则判断为正品。】
[0067] 有益效果:
[0068] 本发明的药液异物的抗振动机器视觉检测方法能有效克服药液异物检测设备从单机到全自动生产线的迁移过程中因为机械和电气系统振动干扰导致图像获取阶段CCD工业相机与机械装置和瓶体之间不能保持理想的静止状态,使得系统检测失效的问题,该方法能有效的消除机电系统的振动干扰,鲁棒性强,降低了系统对机械加工及装配精度和伺服电机编码器精度、跟踪精度的要求,大幅度削减了药液异物检测设备的设计制造成本。
[0069] 与现有技术相比,本发明的优点在于:
[0070] 1.通过先对获取到的原图像进行亚像素级匹配预处理,再进行帧间差分,有效消除因系统振动造成的夹持装置和瓶体位置变化等背景干扰,使药液异物检测设备从单机装置成功迁移到全自动生产线上;
[0071] 2.降低了系统对机械加工和装配精度、伺服电机编码器精度和跟踪装置精度的要求,大幅度降低全自动生产线设计制造成本;
[0072] 3.通过采用改进的高效亚像素图像匹配算法,降低计算复杂度,大幅度减少程序对计算机内存需求,提高计算速度,达到高速全自动生产线对算法的实时性要求。

附图说明

[0073] 图1为本发明的算法操作流程示意图;
[0074] 图2为图像粗略匹配算法流程图;
[0075] 图3为图像精细匹配算法流程图;
[0076] 图4为系统成像部分的旋转轮盘式结构振动分析示意图;
[0077] 图5为待检测区域(内框)及扩展区域(外框)示意图;
[0078] 图6为连续获取的灰度图像序列中的相邻2帧(图a和图b分别为对所获取的第k帧图像Ik和第k+1帧图像Ik+1);
[0079] 图7为对原图像进行待检测区域模糊化的效果(图a和图b分别为对Ik和Ik+1的模糊化所得的图像Iwk和Iwk+1);
[0080] 图8为图像匹配效果(图a、b和c分别表示Ik,Irk+1(粗略匹配图像)、Iak+1(精细匹配图像));
[0081] 图9为图像Ik与Irk+1的公共背景Ibg(k,k+1);
[0082] 图10为帧间差分图像D(k,k+1);
[0083] 图11为帧间差分图像D(k,k+1)的滤波图像Df(k,k+1);
[0084] 图12为检测结果对比示意图。(图a为本方法的检测结果,图b为传统的帧间差分算法的检测结果,图c为采用像素级图像匹配的帧间差分算法的检测结果,注:其中加框区域为待检测区域。)

具体实施方式

[0085] 以下将结合附图和具体实施例对本发明做进一步详细说明:
[0086] 实施例1:
[0087] 本实例的步骤如下:
[0088] 如图1所示,本发明的药液异物的抗振动机器视觉检测方法具体操作流程为:
[0089] 1.图像获取:夹持装置带动瓶体高速旋转后急停,当CCD工业相机与瓶体基本保持相对静止、瓶内药液液面趋于平缓时,用高速CCD工业相机连续获取10帧灰度图像Ik,其中k表示当前图像的帧号,k∈[1,10],每帧图像之间的采样间隔为11ms,以保证所获取的相邻帧图像之间的可见异物随流动的药液继续移动一定的位移。
[0090] 由于待检药品中的异物如玻璃碎屑、毛发、结晶、纤维等通常是无色的,从颜色上很难判断异物,对于有色液体常采用红色、蓝色等有色光源,所以系统的工业相机采集灰度图像,减少数据量,提高运算速度。
[0091] 2.图像匹配:由于各种原因导致图像获取阶段CCD工业相机与机械装置和瓶体之间不能保持理想的静止状态,因此在帧间差分之前必须对所获取的图像进行匹配。
[0092] 系统成像部分采用旋转轮盘式结构,如图4所示,相机与瓶体之间的相对运动主要为垂直于轮盘旋转轴、平行于轮盘面的法向振动Δω和与平行于轮盘轮盘旋转轴、垂直于轮盘切线的轴向运动Δγ,瓶体的中轴线偏移角度Δβ极小而忽略,由于Δω、Δγ远小于轮盘半径r,所以在所获取的图像平面中,Δω、Δγ分别表现为图像的水平偏移Δx、垂直偏移Δy,而由Δβ导致的图像旋转忽略不计。
[0093] 图像匹配包括粗略匹配和精细匹配:
[0094] (1)粗略匹配:瓶体内异物区域的运动方向与整个瓶体的运动方向不一致,异物区域会影响相邻帧图像之间的偏移向量计算结果,因此在计算粗略偏移向量(Δxr,Δyr)之前需要对待检测区域内的异物进行大面积模糊化,采用15×15的均值平滑模板w1作为低通滤波器,去掉待检测区域的高频信息,然后调用偏移量计算函数REG(·)计算粗略偏移向量(Δxr,Δyr),再调用重构函数REC(·)对原图像按照(Δxr,Δyr)的反方向进行偏移,完成粗略匹配,如图2所示,具体步骤为:
[0095] A.如图5所示,在图像Ik中央选取包含药液的矩形区域作为待检测区域Isk,但不包括瓶体两侧边沿轮廓、瓶底和液位部分,范围为(x1,x2,y1,y2)(以图像左上点为原点、水平向右为x轴正方向、竖直向下为y轴正方向建立平面直角坐标系),其中(x1,y1)为区域的左上顶点,(x2,y2)为区域的右下顶点,将待检测区域Isk向四周扩大14个像素,得到预模糊的区域图像Isdk,其范围为(x1-14,x2+14,y1-14,y2+14);
[0096] B.用w1对Isdk进行平滑滤波,去掉高频信息,得到低频图像Isfk,与Isdk等大;
[0097] Isfk=w1*Isdk (8)[0098] C.将Isfk中的区域(15,15+x2-x1,15,15+y2-y1)放回原图像Ik对应的区域Isk中,得到模糊化的图像Iwk,如图7所示;
[0099] D.调用偏移量计算函数REG(·)计算Iwk、Iwk+1之间的粗略偏移向量(Δxr,Δyr),计算精度s=20,即0.05个像素;
[0100] E.调用重构函数REC(·)按照(Δxr,Δyr)对Ik+1进行反偏移重构,得到Irk+1,完成第k帧图像与第k+1帧图像之间的粗略匹配,如图8所示。
[0101] (2)精细匹配:获取公共背景,由于成像系统采用点光源从瓶体底部进行照射,背景挡光板为均匀黑色哑光材料,所获取的底光图像中异物亮度高于背景亮度,选取粗略匹配的图像Ik与Irk+1的较小值作为公共背景,用于替换粗略匹配的图像Ik与Irk+1的待检测区域,从而避免待检测区内的异物影响精细偏移向量的计算。然后调用偏移量计算函数REG(·)计算精细偏移向量(Δxa,Δya),再根据(Δxa,Δya)对Irk+1进行反偏移重构得到Iak+1,得到精细匹配的图像Ik和Iak+1,如图3所示,具体步骤如下:
[0102] A.计算公共背景
[0103] Ibg(k,k+1)=min(Ik,Irk+1) (9)
[0104] 其中Ibg(k,k+1)为输出的公共背景,如图9所示,函数min(·)表示取两幅图像中相同坐标点的较小值。然后对粗略匹配的图像Ik与Irk+1的待检测区域(x1,x2,y1,y2)用公共背景Ibg(k,k+1)替代得到Ibk与Irbk+1;
[0105] B.调用偏移量计算函数REG(·)计算Ibk、Irbk+1之间的精细偏移向量(Δxa,Δya),计算精度s=20,即0.05个像素;
[0106] C.调用重构函数REC(·)按照(Δxa,Δya)对Irk+1进行反偏移重构,得到Iak+1,完成第k帧图像与第k+1帧图像之间的精细匹配。
[0107] 3.帧间差分:在精细匹配后的图像Ik和Iak+1中选取待检测区域Isk和Isak+1相减并取绝对值,如式(7)所示,去掉静止的背景信息,保留运动的异物信息,得到差分图像D(k,k+1)。
[0108] 4.目标检测:用3×3的中心增强平滑模板
[0109]
[0110] 对D(k,k+1)进行滤波,去掉高频噪声干扰,如下式所示
[0111] Df(k,k+1)=w2*D(k,k+1) (11)[0112] 其中Df(k,k+1)为滤波后的图像,如图11所示。
[0113] 再对Df(k,k+1)进行二值化
[0114]
[0115] 其中th=20,为二值化阈值。
[0116] 在B(k,k+1)中进行连通域搜索,计算出各个异物区域的面积,并找出最大的异物面积Smax(k,k+1),如图12.a所示。
[0117] 5.决策判断:根据国家药典规定,超过50um大小的异物为可见异物,药液中不得有任何可见异物。异物大小是液体药品质量判断的主要依据,根据所检测到的最大异物面积是否超标判断该液体药品是否为次品。在本实例中如果Smax(k,k+1)>5,判定为次品,否则判定为正品。
[0118] 对所获取的10帧图像相邻两帧进行步骤2、3、4操作,得到每一次的最大异物面积Smax(k,k+1)(k=1…9),判断决策采取一票否决制,即如果任何一次算得的Smax(k,k+1)超标,则判断当前液体药品为次品,决策程序发送次品信号给电气控制系统,将当前药品按照次品剔除。
[0119] 附录A:文中所采用的数学符号注释
[0120]
[0121]