刘飞飞, 马礼然
(1.江西理工大学 电气工程与自动化学院,江西 赣州 341000;2.江西理工大学 机电工程学院,江西 赣州 341000)
从2019年12月开始,湖北省武汉市发现了多起不明原因的病毒性感染病例,我国爆发了新型冠状病毒肺炎(Covid—19)。新冠病毒传染性极强,传播途径广,潜伏期时间长。外出时佩戴好一次性医用口罩,是必要防护措施。随着全国复工复课,办公、出行、上课都需要佩戴口罩,口罩需求不断上升。目前口罩检测主要依靠人眼,这种模式不仅检测成本高,而且检测速度及精度无法满足生产需要。因此,外科口罩通过机器视觉方法检测表面缺陷是必要的。
机器视觉相较于人眼,有速度快,准确性高,检测成本低等优势,因此被广泛应用于工业生产检测领域。早在1985年,Mandeville J R[1]开发了利用机器视觉的印刷电路板(printed circuit board,PCB)缺陷检测系统,解决了过去检测PCB板过程中无法准确检测出大面积缺陷及变形区域的问题。2013年,Ghorai S等人[2]针对钢表面缺陷检测,提出小波变换的方法,比阈值分割法表现更好。邓拥军等人[3]提出用石材外形的段包络线作为基准,抓取尺寸测量角点对比尺寸参数,利用分块策略生成局部多特征映射矩阵,确定石材表面缺陷的方法。
本文利用一次性医用口罩具有透光性的特点,提出了一种基于模板匹配与仿射变换相结合的一次性医用口罩耳绳检测方法。它利用电荷耦合器件(charge coupled device,CCD)相机结合传送带上到达固定拍摄点的一次性医用口罩获取待检测图像,然后通过计算机对其分析处理,检测判断口罩带是否断裂,并根据判断结果分拣合格品。
测量系统的结构主要包括工作台、CCD相机、镜头、光源和计算机,整体系统结构如图1所示。本系统的工作流程为:将传送带传送过来的一次性医用口罩置于背光板上侧,通过CCD相机拍摄口罩图像;通过算法集成软件对图像处理分析,获得耳绳焊点处的区域中心坐标和区域面积等参数值,判断耳绳是否有缺陷。
图1 一次性医用口罩检测系统结构
使用光源是为了突出被测物的特征,降低不必要的干扰因素。因此在选择光源时,需要考虑光源与待检测物体间的相互作用。背光源主要应用于被测物的轮廓,透明物件的污渍检测等。一次性医用口罩的主要材料为熔喷布及聚丙烯纤维,具有透光性,将其置于背光源上,能清晰地看到口罩的内外部结构。
本系统调试光源时选取了红、蓝、绿、金四种背光源。光源强度都设置为3,通过CCD相机拍摄医用口罩的彩色图片。截取部分图片,进行灰度化处理,结果如图2所示,红色背光源表现最好。
图2 背光源下CCD相机拍摄的图片灰度化局部结果
为了实现低成本检测,并且提高检测速度的目标,本文中提出了一种基于“Weickert”模式的各向异性滤波下的图像金字塔快速模板匹配方法的一次性医用口罩耳绳缺陷检测算法,该算法总体流程如图3所示。首先,创建鼻梁片模板同时确定好口罩耳绳的4个固定焊点位置;然后,对CCD相机捕捉的口罩待检测图片灰度化处理,使用“Weickert”模式的各向异性滤波创建图像金字塔寻找模板,通过仿射变换,确定口罩耳绳焊点相对位置;最后,阈值分割,特征提取,计算面积及ROI个数,判断识别耳绳缺陷。
图3 算法总体流程图
模板匹配的过程,是把创建的模板在待检测图像上逐点移动,每移动到一个位置都会计算这个位置上的相似度量,相似度量s是一个函数,可以把所有的相似度量最后看为一副图像[4]。等式为
s(r,c)=s{t(u,v),f(r+u,c+v);(u,v)∈T}
(1)
式中t(u,v)为模板内各点的灰度值;f(r+u,c+v)为模板感兴趣区域(region of interest,ROI)移动到图像当前位置时ROI内的灰度值;T为ROI。
最简单的相似度量方法是计算模板与图像之间差值的绝对值的总和或所有差值的平方和(SAD和SSD)[5]。它们的等式分别为
(2)
(3)
式中n为模板ROI中点的数量。
SAD和SSD的缺点是计算结果受光照影响,归一化互相关系数(normalized crsoss coefficient,NCC)不用考虑光照的影响[6]。NCC等式为
(4)
归一化互相关系数的范围是-1≤ncc(r,c)≤1。只有当ncc(r,c)=±1时,模板和图像的相似性才会完全相同。|ncc(r,c)|的值越大,则表明模板与正在匹配的图像区域的相似性越大,|ncc(r,c)|的值越小则表明越不相似。
为了提升模板匹配的效率,本文提出了使用图像金字塔的模板匹配。图像金字塔指构造过程中,创建的图像从下到上按图像大小依次递减堆放,形成金字塔形状,其模型如图4所示。
图4 图像金字塔模型
创建图像金字塔伴随着图像信息的丢失,因此要确定好层数[7]。确定层数的方法是,在最高层图像上完成一次模板匹配[8]。基于图像金字塔的模板匹配可以快速地找到目标物。每加一层图像,匹配速度提升16倍。本实验中,根据鼻梁片结构特征,确定层数为6层。各情况匹配所用时间如表1所示。
表1 基于图像金字塔的模板匹配找到鼻梁片的运行时间对比
创建图像金字塔时,根据图像特征选取不同的滤波器。若选择的滤波器不合适,创建图像金字塔时会出现图像平移的状况。
各向异性滤波是对图像进行各向异性扩散,其能尽可能多地降低噪声的影响,同时减少对图像边缘的信息丢失[9]。扩散过程中将图像视为灰度值函数u,该算法是偏微分方程的离散化,主要受长度、时间步长及迭代次数的影响
u_t=div(g(|gradu|2,c)gradu)
(5)
式中c为对比度参数,g为可变扩散系数,grad为梯度,div为散度。g为单调递减函数,其值介于0和1之间。以下为g的三种模式:
g_1为抛物线模式,对任意时间步长都稳定,但在高度大于对比度参数c的边缘上有少量扩散
g_1(x,c)=1/sqrt(1+2×x/c2)
(6)
g_2为“perona-malik”模式,图像去噪效果明显,且保留边缘信息,但会导致强边缘轻微锐化
g_2(x,c)=1/(1+(x/c2))
(7)
g_3为“Weickert”模式,对比度参数C设置为3.314 88,降低强边缘的弱化效果,但在x=c2处,平滑和锐化之间过渡不自然
g_3(x,c)=1-exp(-C×c8/x4)
(8)
创建一次性医用口罩的金字塔图像时,分别选用了6×6均值滤波器和6×6高斯滤波器以及对比度为6的三种可变扩散系数模式下的各向异性滤波。最终“Weickert”模式的各向异性滤波处理的金字塔图像在减少布料区域信息的同时,保留了鼻梁片与口罩耳绳的边缘信息,所以,选择“Weickert”模式的各向异性滤波。各滤波效果如图5所示。
图5 一次性医用口罩在各种滤波下的图像金字塔6层图像
仿射变换是空间直角坐标系的变换,经过对坐标轴的放缩、旋转、平移后,得到原坐标在新坐标领域中的值[10]
(9)
等式(9)为仿射变换的非齐次坐标表达式,由确定的线性部分和平移部分组成,分别为
(10)
等式(10)表示法叫作齐次坐标。将平移部分整合到矩阵中,表达式简洁。
在传送口罩过程中,口罩位置无法保持固定,因此通过模板对鼻梁片匹配,通过仿射变换,对最初在模板图片上设定好的固定焊点位置进行平移和旋转角度的修正,确定其在新的待检测图片上的相对位置。仿射变换操作前后结果如图6所示。
图6 通过仿射变换寻找到的固定焊点相对位置
本实验采用红色背光源,拍摄100张图片进行分析。利用上述一次性医用口罩耳绳缺陷自动检测系统检测,进行了3次检测试验,记录了每次试验的良品和不良品,漏检个数,统计识别率及速度。
试验结果见表2。从表2结果可以看出:采用本文所述检测方法,耳绳缺陷可以准确检测出来,不需要通过人工检测,避免口罩污染。试验结果表明,基于机器视觉的口罩耳绳缺陷检测系统有良好的识别率和速度,能够满足企业生产需要。
表2 不同试验次数下的实验结果
本文通过对一次性医用口罩耳绳的检测,提出了一种自动检测口罩耳绳的方法。利用了口罩材质具有透光性的特点,将背光源与工业CCD相机结合,采集一次性医用口罩待检测图像,通过“Weickert”模式的各向异性滤波下的金字塔图像快速模板匹配,仿射变换等图像处理技术对图像分析处理。实验结果表明:本文检测方法速度较快,精度较高,实用价值高,在工程上的运用前景广阔。