基于机器视觉的鞋面特征点自动识别改进方法

2019-03-25 06:59朱治潮盛晓伟余智祺孙以泽
纺织学报 2019年3期
关键词:鞋面灰度滤波

徐 洋, 朱治潮, 盛晓伟, 余智祺, 孙以泽

(东华大学 机械工程学院, 上海 201620)

运动鞋面生产过程中,将运动鞋面原料与转印纸进行精确匹配是极其重要的一道工序。目前,国内绝大多数运动鞋服企业均采用人工比对鞋面原料特征点的方式,以确定该鞋面纹案是否合格。这种传统接触式测量方法的工作强度大、工作效率低、劳动成本高,而且工人视线与测量工具的平行度还会导致读数误差[1],极易产生废品。近年来随着信息技术的发展,机器视觉和图像处理相关课题的研究不断深入,其应用领域也在不断拓展[2],被广泛地应用于目标跟踪、图像拼接、模式识别等领域[3-4]。因此,采用基于机器视觉的方法对鞋面进行定位可以克服传统接触式识别方式的缺陷,降低企业成本,提升识别正确率,满足检测实时性,具有良好的实用价值和发展前景。

机器视觉鞋面图像检测方法中,正确的图像分割是获取鞋面特征点区域的核心,直接影响后续步骤中目标特征提取和识别任务的效果。目前,图像分割方法主要有阈值分割法[5]、区域分割法[6]、边缘分割法[7]等。其中,Otsu法[8]以最大类间方差作为判别依据来获取最佳分割阈值,具有算法高效的优点,被广泛运用在各个图像领域;但是,该算法没有考虑图像领域的空间信息,因此,当图像中存在噪声或不清晰边缘时,其分割结果不够理想。为有效提高算法的抗噪性,研究者又提出了二维Otsu法[9]。二维的Otsu算法在一维基础上进行了改进,该方法基于图像二维直方图双斜率进行阈值划分。由于需要计算图像的二维直方图,增加了算法的复杂度,因此无法满足鞋面检测的实时性要求。文献[10]提出的快速一维Otsu迭代算法,虽然提升了算法速度,但是所得阈值结果与传统Otsu法所得结果不同,使得正确率降低。

本文提出一种改进的一维自适应阈值算法,以期有效区分鞋面特征点区域,使处理时间比传统Otsu法更快速,可获得正确的特征点结果。本文设计了一套完整的鞋面特征点识别系统,验证了该方法的有效性和实时性。

1 鞋面检测实验系统

鞋面检测实验系统主要由检测平台、条形光源、CCD相机和计算机组成,系统示意图如图1所示。其中,相机采用GigE工业面阵相机,分辨率为4 096像素×3 072像素,像元尺寸为4.5 μm×4.5 μm。相机镜头到鞋面检测台的垂直距离为40 cm。光源为LED条形光源,对称分布在待检测鞋面的侧面,可产生均匀光强可调的蓝色LED光投射到待检测鞋面上。为排除外界光照对打光效果的干扰和检测结果,实验在封闭空间下进行。

图1 鞋面检测系统示意图Fig.1 Diagram of vamps detecting system

2 特征点识别算法

2.1 鞋面特征点识别算法

鞋面特征点识别算法流程如图2所示,具体分为预处理阶段和特征点识别阶段。在预处理阶段,可通过快速中值滤波算法消除图像噪声。在识别阶段,先运用改进后一维Ostu阈值分割算法对滤波后的图像进行分割;其次将分割后图像进行形态学处理,消除分割后的细小区域,保留9个特征点区域;最后计算特征点区域最小外接圆,得到最终鞋面特征点坐标并输出结果。

图2 特征点识别算法流程图Fig.2 Flow chart of feature points recognition algorithm

2.1.1预处理滤波

相机采集到的原始鞋面图像中夹杂着各种噪声。如不降低图像的噪声,会对后续分割算法造成很大干扰。鞋样识别实验中的噪声多以随机脉冲和椒盐噪声为主,中值滤波[11]是非线性滤波的典型代表,不仅能减少或去除图像中的随机和椒盐噪声,而且能较好地保留图像的边缘部分;因此本文选取中值滤波方法进行噪声预处理。图3示出无预处理和中值滤波处理后的识别结果。为更好地展示滤波结果,将鞋面图通过反色效果显示,识别点结果用圆圈表示。图3(a)箭头所指表示识别结果中夹杂许多噪声干扰点;图3(b)经过预处理后可有效去除图像噪声点,可正确识别所需9个特征点,提高识别正确率。

图3 中值滤波作用Fig.3 Median filtering results. (a) Preprocessing-free results; (b) Processing results after median filtering

2.1.2改进的均值划分中值滤波算法

传统的中值滤波算法将模板内需要求的像素和模板中心包围的邻域像素灰度值进行排序后得到的中值赋予该像素。采用排序算法,平均时间复杂度为O(Nlog2(n))。其中:n∈[-H/2,H/2];H为窗口的垂直尺寸;N为待排序数目。其二维图像的中值滤波公式如下:

(1)

由于实验采集到的鞋面图像分辨率为4 096像素×3 072像素,若使用该算法则需要大量的数据移动和比较操作,耗时长久。

均值划分法[12]虽可在不影响滤波结果的情况下对排序进行了加速处理,但该算法只对划分后数量多的一类进行快速排序,并没有其他筛选条件来验证中值结果在该类中,因此会出现和传统算法结果不一致的现象。

本文在此基础上提出一种迭代改进算法,在提高结果正确性的情况下加快图像滤波速度,提升特征识别的效率。图4示出本文提出的快速滤波算法过程图,滤波窗口大小为5 像素×5 像素。图中滤波窗口内所有像素点的灰度均值记为Mv。

图4 改进快速滤波算法过程图Fig.4 Process diagram of improved fast filtering algorithm

基本步骤及迭代原理如下:

1)首先计算均值Mv。假设滤波窗口大小为N×N,则总像素点个数为N2个,记为集合M。令L=(N2+1)/2。

2)将M个像素内的每个像素灰度值和均值Mv进行对比,将大于均值部分的集合记为A,小于部分记为B。分别统计对应元素个数为NA和NB。定义大于均值的像素数量累加值为nA=0,小于均值的像素数量累加值为nB=0。

3)如NA=0,令中值滤波输出为E0,则E0=B[0];B[i]为集合B中的第i+1个元素。同理如NB=0,则E0=A[0]。结束流程。

4)若NA≥L,则将集合A中元素代替M中元素(A=M),更新累加值nB=nB+NB,nB值可通过该累加操作不断增长,nA同理。更新后返回重新执行流程2),否则跳过此判断继续。

5)若NB>L,则将集合B中元素代替M中元素(B=M),更新累加值nA=nA+NA,更新后跳回重新执行过程2),否则跳过此判断继续。

6)最后根据累加值nA+NA的大小进行判定,如nA+NAL,则判断中值结果在集合A中,对集合A进行从大到小排序,取结果集合A中第L-nA元素的灰度值。即E0=A[L-nA-1]。

7)结束流程,输出E0值为最后滤波结果。

该算法步骤6)运用了决策算法,具体思想是:判断累加值nA+NA是否大于窗口像素个数的一半来判断最后结果所在集合区域。此算法在均值划分的基础上,融入策略选择算法,可得到更精确的结果,同时降低了排序算法的计算量,优化了滤波处理时间。

2.1.3改进的自适应阈值算法

设一幅灰度图像有L个灰度级别,则该图可被描述为一个二维矩阵FM×N=[f(x,y)]M×N。M×N为灰度图像的大小,f(x,y)∈{0,1,…,L-1}为像素(x,y)点处的灰度值。设ni为图像中灰度值i出现的像素点个数,则灰度级i出现的概率为

(2)

假设灰度值t为分割后的阈值,整个图像被分为2个部分:i≤t的背景像素集合B,概率为PB;i>t的前景像素集合F,概率为PF。对应的概率计算公式如下:

(3)

令ωB和ωF为集合B和F的灰度均值,计算公式为

(4)

整幅图像的灰度总均值ωo为

ωo=PBωB+PFωF

(5)

为能更有效地区分2类集合,本文定义了类间分散度D,计算公式为

D=|ωFG-ωBG|

(6)

D值越大,则说明2类的距离越大,前景和背景的分离程度越高;故在此基础上对比同类间每个像素之间的距离,定义为同类内聚度C。设集合B的内聚度为CB,集合F的内聚度为CF,2个类的内聚度计算公式为

(7)

从以上公式可以看出,每个类之间的距离越短,表明分割结果越好。本文提出的自适应阈值分割法将确保D值最大,CB和CF值最小,得到较好的分割结果。定义阈值判定公式如下:

(8)

根据式(8)对整个鞋面灰度图像进行遍历计算H(t)的最大值。此时的t值就是所需要的阈值分割值。根据t值对图像进行阈值分割,得到分割后的图像。

3 实验结果与分析

为评估本文算法的有效性和可行性,对大量鞋面原始图像进行实验,并在多种光照变化和影像非常规条件下对图像进行分组处理,将本文改进算法和传统方法进行比较。

在国有林场中工作的职工,每个人工作成绩是不相同的,因此实施绩效考核可以指导和监督职工的工作情况,让职工更加认真尽责的开展工作是唯一的目标。绩效考核的主要作用有以下几点:

实验环境为Windows 7系统,Intel Core i7 2.8 GHz处理器,8G内存,64位操作系统,VS2015编程环境,采集到的图像分辨率为4 096像素×3 072像素。

3.1 预处理实验结果

在光照为35 lx情况下将传统中值滤波和改进中值滤波算法进行对比。设定初始中值滤波窗口值大小分别为3像素×3像素和5像素×5像素。为更好地展示中值滤波的去噪效果,将处理后结果图进行放大对比,如图5所示。

注:M3滤波窗口大小为3像素×3像素;M5滤波窗口大小为5像素×5像素。图5 中值滤波结果图Fig.5 Median filtering result diagrams. (a) Conventional filtering; (b) Filtering algorithm proposed

从图5可看出:3像素×3像素处理结果图中仍夹杂许多条状细纹和噪声;而5像素×5像素的结果图中已基本滤除。选取200张鞋面进行批处理测试,表1示出滤波处理时间统计结果。分析表1可知,本文算法比传统算法更省时,且随着窗口的增大,算法优势更明显。由于本文算法需要对窗口内数据进行均值划分,因此窗口越大,该算法的快速排序优势就越显著。基于此最终确定本次实验采用窗口大小为5 像素×5 像素窗口进行预处理去噪。

表1 预处理2种算法对比结果Tab.1 Comparison results of two preprocessing algorithms

3.2 阈值处理结果

考虑到不同光照和非常规条件下对阈值处理结果的影响,将滤波后的鞋面图像进行分组实验。阈值处理算法选取传统一维Otsu算法、二维Otsu算法和本文算法进行比较。

3.2.1光照变化分析

通过比对不同光照强度的打光效果,最终选取30、35、40 lx 3种分析效果较好的光强分别对200张鞋面图像进行阈值处理分析。表2示出3种算法的识别率和平均识别时间结果,图6示出3种算法的分割结果图。

注:图中O为滤波处理后鞋面图像;T1、T2和W分别为采用一维Otsu算法、二维Otsu算法和本文改进算法得到的鞋面阈值分割结果。图6 光照变化下鞋面阈值分割结果图Fig.6 Result diagrams of vamps threshold segmentation

分析表2和图6可以看出,传统一维Otsu算法对图像的分割效果不佳。这是由于图像在不同光强下会出现一些特征点边缘结构不清晰,而该算法无法将边缘信息有效提取,导致无法清晰地分割出特征点区域,且在低光强坏境下算法缺陷更明显。而本文算法和二维Otsu算法能有效地将边缘领域信息提取出来,有效克服边缘识别率低的缺点,识别率均高于94.0%;但二维算法因时间复杂度高,比本文算法多耗时1倍左右,因此本文算法在光照变化下具有较好的鲁棒性和时效性。图7示出本文改进阈值算法分割曲线图。将H(t)最大峰值对应的灰度值作为阈值结果输出。可知本文算法可有效地分割输出最佳阈值。

表2 光照变化下3种算法对比结果Tab.2 Contrast results of 3 algorithms underillumination change

注:图中从左到右最终输出阈值结果分别为22、37和70。图7 本文阈值算法分割曲线图Fig.7 Segmentation curve diagrams of threshold algorithm proposed

3.2.2特殊条件分析

实际工厂生产环境中存在各种干扰因素,主要分为输入图像杂乱和噪声干扰。噪声干扰一般在图像设备传输时产生和在鞋面生产线振动产生。在预处理部分对噪声已进行较好地抑制,因此主要考虑图像杂乱的影响。图像杂乱可分为鞋面图像角度倾斜、正反颠倒等情况。

图8示出几种特殊情况下特征点的分割结果图,将结果进行反色处理并和原图进行合并操作显示。可看出,分割后的黑色点中包含所需识别的9个特征点,进行后续形态学处理后可得到这9个特征点,证明了本文算法对旋转角度图像的适用性。

图8 特殊条件分割结果图Fig.8 Result of segmentation diagrams under special conditions. (a) Inclination less than 30°; (b) Inversion

表3示出特殊条件下的识别率和识别时间。分析可知在旋转条件下的识别精度略低,这是因为图像在不同旋转角度下其边缘纹理之间存在差异,对识别效果产生不利影响。加入椒盐噪声的图像识别精度较高,原因是预处理可较好地除去椒盐类型的噪声。该条件下平均单张识别时间在0.2 s左右,识别成功率在93%以上,可验证本文算法在该条件下具有较强抗干扰性和较高识别精度。

表3 特殊条件下本文算法识别结果Tab.3 Recognition results of algorithm in this paper under the special conditions

3.3 特征点识别结果

阈值分割结果图中包含了许多细小亮点和突出物。形态学处理中的开运算操作以膨胀、腐蚀为基础,可有效地除去这些图像的冗杂信息。

开运算是将图像先腐蚀再膨胀的结果。腐蚀过程可消除图像中细小区域和噪点,因此可将分割图结果中细小的区域除去,只保留特征点所在的大区域。

本次鞋面实验选取半径为10的圆形结构元素对阈值结果图进行开运算,除去阈值分割结果中大量的细小区域,得到只保留最后的9个特征点区域的图。最后根据特征区域计算每个特征点的最小外接圆,将外接圆半径、中心坐标等结果输出,完成对鞋面特征点的自动识别。图9示出最终特征点识别结果图,特征点位置由外接圆标出。

图9 特征点处理结果图Fig.9 Results of diagram feature point processing. (a) Normal result; (b) Inclination result; (c) Inversion result

4 结 论

本文提出了一种基于机器视觉的自适应阈值分割算法代替人工实现鞋面特征点识别检测方法,可满足实际工业生产的精度和实时性需求,具体结论如下。

1)基于均值划分的新型滤波算法加速了滤波过程,在5像素×5像素滤波窗口下比传统滤波算法快20%,提升了整体检测的时间效率。

2)与传统Otsu分割算法相比,改进的分割算法可更有效地分割出所需的鞋面特征点区域,并在光照变化、混乱等实际生产环境下保持93%以上的识别成功率,单张识别时间低于0.5 s,具有较好的鲁棒性和实用价值。

3)精度是机器视觉中重要的评估指标,将监督学习方法与本文算法训练实验样本相结合,是进一步提高识别精度的重要方向。

FZXB

猜你喜欢
鞋面灰度滤波
采用改进导重法的拓扑结构灰度单元过滤技术
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
2 敞篷跑鞋
SKECHERS Dlites夏季厚底增高凉鞋
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于灰度线性建模的亚像素图像抖动量计算
基于自适应Kalman滤波的改进PSO算法
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
基于四元数互补滤波的无人机姿态解算