APP下载

基于深度学习的X射线鞋底异物检测系统①

2021-03-19肖力炀

计算机系统应用 2021年3期
关键词:异物鞋底服饰

肖力炀,李 伟,高 荣,申 浩,王 孟

(长安大学 信息工程学院,西安 710064)

随着人们生活水平的不断提高,人们对生活用品的质量要求也日益提升,对产品的安全更是重视.在服饰的生产缝制过程中常常出现断针现象,残留在衣服和鞋子里的断针、多余针头等金属异物会对人们的生命安全造成很大的伤害.上世纪70年代日本曾发生过一起纺织品断针残留导致儿童受伤致死的事件,后来日本立法《检针法》明令所有纺织品以及与人体皮肤接触的所有穿戴品进入市场前必须进行尖锐金属异物检测[1,2].

随着服饰类加工行业的技术复杂度不断提高,各种服饰内残留断针的风险也会增大,对服饰进行金属异物的检测也因此必不可少.对服饰的异物检测通常是对其X 光图像进行检测,X 光具有穿透性[3,4],因此可以避免开包检查成箱的服饰及鞋盒.传统的服饰异物检测手段主要是利用人工目检进行识别.目前市面上主要存在两种检测机,一种是基于电磁感应方式,这种检测方式无法感应微小断针,且不能进行成箱级检测[5];另一种是基于射线的人工目检方法,通过人工分析经过检针机的X 光图像,判断是否隐藏断针,这种方法具有较强的主观性,且人工目检效率低,容易出现漏判和错判现象[6].针对这些问题,本文采用深度学习的方法对服饰和鞋底异物进行目标检测,让机器代替人工去辨别异物图像,抛弃了传统检测方法的缺点.

深度学习技术近几年来发展迅速,其在图像识别、目标检测等领域都取得了很好的应用效果[7-10].近年来出现了Fast R-CNN[11]、SSD[12]、YOLO[13]、Faster RCNN[14]等一系列目标检测算法,这些算法在一些公开数据集中都取得了不错的检测效果.因此也为自动判断X 光图像中是否存在金属断针提供了可能.

由于现有的服饰类检测的相关产品和研究都较少,且目前没有X 光服饰金属异物自动检测方面的研究,因此本文的主要工作是提出一种基于深度学习的X 光服饰异物检测系统,对生产线上的异物金属X 光图像进行检测和预警.在采集服饰断针的X 光图像数据的同时使用深度学习算法迅速有效地筛选出含有异物金属的服饰,并将这些异物图像标注出来,通过系统画面展示给用户,同时通过蜂鸣器及闪烁的报警灯提示用户发现异物金属.经过验证,此检测系统的正确率能够达到95%以上,可以有效检测鞋饰内残留的断针,该方法可以用于检测遗留在不同类型鞋子中的订书针、细铁屑、断针、鞋钉、钢珠等不同形状的铁质金属异物,有效降低了异物检针机的使用成本,提高了对残留在服饰鞋类中断针的检测效率.

1 异物检测系统介绍

本文提出了一种基于深度学习的X 射线鞋底异物检测系统.首先将鞋子依次放在传送带上送入检针机,经过X 光照射采集图像,之后通过深度学习网络模型识别当前图像是否含有金属异物,并检测异物所处位置,如果判断为含有异物则通过蜂鸣器报警,最后将检测结果通过图像界面展示出来.整体流程框图如图1所示.

图1 金属异物检测流程框图

1.1 图像预处理

图2(a)为残留在鞋子和鞋盒中的订书针、断针、鞋钉等金属大异物,图2(b)为残留的钢珠等小异物.由于采集到的图像本身存在噪声干扰,因此需要对拍摄的X 光图像进行图像预处理.

本文采用Sobel 梯度算子锐化来增强图像中的异物.图像锐化处理的目的是为了增强图像的边缘及灰度跳变的部分,使图像的细节变得清晰.它可以突出图像上地物的边缘、轮廓,或某些线性目标要素的特征,提高地物边缘与周围像元之间的反差,因此也被称为边缘增强.通常采用微分运算可以达到该效果.

Sobel 算子有两个,一个是检测水平边缘的;另一个是检测垂直边缘的.Sobel 算子对于像素的位置的影响做了加权,可以降低边缘模糊程度,因此效果更好.本文采用的是3×3 模板,水平方向和垂直方向梯度公式如式(1)和式(2)所示,模板如图3所示.

图2 不同形状的金属异物

图3 Sobel 梯度算子

经过锐化后的图像再进行中值滤波,消除图像中的椒盐噪声的同时可以保留跳变点的尖锐度.图4为图像为处理前和处理后的结果,从图中可以看出,预处理之后的这些金属异物变得更加清晰可见,有利于后续模型的训练和检测.

图4 图像预处理后的效果

1.2 Faster R-CNN 算法

目标检测领域的算法从RCNN 开始,通过引入卷积神经网络取得了很大的进展,但由于选择性搜索(selective search)产生候选区域这一步,需要耗费大量的时间,还是未能摆脱传统的区域建议算法的限制[15].后来提出的Fast R-CNN 算法[11]中提到如果去除区域建议的算法,网络就可以接近实时进行检测,其中的原因是,卷积神经网络运行在GPU 上,而选择性搜索是运行在CPU 上的.为了进一步减少检测网络的运行时间,微软的任少卿等提出了最新的目标检测方法Faster R-CNN[14],这种方法从提高区域建议的速度出发提出了区域建议网络RPN (Region Proposal Network)并通过GPU 实现了快速区域建议的运算,RPN的出现代替了之前的选择性搜索方法,它和检测网络共享全图的卷积特征,使得区域建议检测几乎不花时间.Faster R-CNN 在生成区域建议上的改进,使得目标检测的效率得到了极大的提升.现如今,Faster R-CNN 不仅用于物体的检测,还可以用于许多商业的领域,如服装检测,人脸识别等,已经成为了通用的检测框架.因此本文采用Faster R-CNN 模型作为鞋服金属异物的检测算法.

Faster R-CNN的网络结构如图5所示.待检测图像没有固定的尺寸要求,网络结构中的ROI Pooling 层用来将输入图像的尺寸转换为固定尺寸,以满足后续全连接网络层的要求.待检测图像首先通过深度神经网络来生成图像特征,这些特征既被候选的RPN 使用,又被后续的检测过程使用,即实现了两个不同目的的特征共享,这也就是图中被称为共享神经网络的原因.

图5 Faster R-CNN 算法的网络结构

Faster R-CNN 提出了一种加速区域建议计算的方法,即建立RPN 网络.RPN是Faster R-CNN 中的核心部分,RPN的网络结构如图6所示.其输入数据是来自共享卷积网络的输出,维度是1×512×38×50,即1 张图片,512 个特征图(feature map),每个feature map的尺寸是38×50.用一个滑动窗口(3×3的卷积核)在一个卷积特征图上进行滑动,这个卷积特征图是由共享卷积网络得到,滑动操作可以获得一个512 维的向量,将这个向量送入到两个平行的全连接层,即分类层(cls layer)和位置回归层(reg layer),用来得到分类信息和位置信息.

图6 RPN 结构模型

每个滑动窗口的中心会对应k个锚点(anchor).每个anchor 都会对应不同种的尺寸和长宽比.RPN 使用3 种尺寸{128×128,256×256,512×512}和3 种长宽比{1:1,1:2,2:1},所以每个滑动窗口就有3×3=9 个anchor.相应的,在每个滑动窗口的位置同时预测9 个区域建议,所以位置回归层有4×9 个输出,代表9个区域建议框的位置坐标;分类层有2×9 个输出,代表对每个建议框是否是目标的概率.

为了训练RPN,对于每个anchor 需要先定义一个二值类别标签(判断是否是异物).本文规定,正标签为:(1)与真实窗口有最高IoU 重叠率的anchor;(2)与任意真实窗口的IoU 大于0.7的anchor.负标签为:与所有真实窗口的IoU 都小于0.3的anchor.舍弃那些既不是正标签也不是负标签(IoU 在0.3 到0.7 之间)的anchor.

本文对损失函数定义为式(3):

其中,i代表anchor的索引,pi代表anchor 预测为目标的概率,如果该anchor为正标签时p∗i=1,为负标签时p∗i=0.ti={tx,ty,tw,th}是一个向量,表示预测框的4 个坐标,ti∗是与正标签对应的真实窗口的坐标向量.式(4)Lcls(pi,p∗i)是两个类别(是否是目标)的对数损失;式(5)Lreg(ti,ti∗)是回归损失;式(5)中R是SmoothL1函数,即式(6).p∗i Lreg意味着只有当p∗i=1(即判断为目标时)才有回归损失.

Ncls和Nreg都是设定值,λ为平衡因子,用来权衡分类损失和回归损失,λ值越大越重视回归,λ值越小越重视分类(文中 λ取10).

1.3 实现细节

本文使用的数据是由检针机中内置的X 光相机拍摄的鞋子X 射线图像(如图7所示),由于X 光相机采集到的图像尺寸很大[16-18],且为了提高运行效率,数据在进入模型训练之前必须要resize 将尺寸变小,由于断针钢珠等金属异物本身就是小目标,resize 之后会变得更小,因此需要在resize的同时对标注文件中每个异物点的标注框也进行相应的扩大,才能保证模型训练时的匹配.

本文使用VIA 标注工具进行鞋底异物的标注,对于每一个标注文件,在进入模型训练之前采用程序对标注框的4 个顶点坐标进行扩大,使得图像resize 之后仍然可以完整包围异物点,图8中的内框为原始标注框,外框为扩大之后的框.

图7 采集不同种类的鞋底X 光图像

图8 微调标注框的结果

2 实验结果与分析

2.1 数据采集及环境平台

图9为本文开发的鞋底金属异物检针机,表1为该检针机的技术参数.为了模拟鞋服中残留金属异物的情况(订书针、细铁屑、断针、鞋钉、钢珠等),如图10所示,在进入X 射线拍摄之前人为的在每双鞋子中放入不同种类和个数的金属异物,按顺序依次送入检针机,经过内置的X 射线相机照射采集鞋子X 光图像并保存到计算机中,用于模型的训练和测试.为了适用于多种版型的检测对象,本实验使用的数据有板鞋、休闲鞋、运动鞋、拖鞋等多种鞋型以及装箱的鞋子数据.本实验采集的X 光图像共计9851 张,按9:1的比例将样本数据随机划分为训练集和测试集,即训练集8866 张,测试集985 张,每张图像的尺寸为5000×1024像素.

图9 鞋服金属异物检测机

表1 鞋底异物检针机的技术参数

图10 模拟鞋子生产中残留的金属异物

本文使用MMDetection 深度学习目标检测工具箱来实现Faster R-CNN 算法,MMDetection是一个基于Pytorch的开源对象检测工具箱,支持Faster R-CNN,Mask R-CNN,Fast R-CNN 等主流的目标检测框架[19,20],其优点是训练速度快、所需显存小.本文实验所使用的实验设备以及软件版本的详细信息如表2所示.

为有效训练Faster R-CNN 模型,本文设置初始学习率为0.02,动量参数为0.9,权重衰减为0.0001,总共迭代100 次,batch size 设为1,训练过程中的loss 曲线如图11所示,可知,迭代50 次以后loss 基本趋于平稳.

表2 实验环境配置详情

图11 异物检测模型损失函数loss 曲线

2.2 实验对比

为了验证该方法的有效性,本文采用精度(Pr)、召回率(Re)和平均精度(AP)对模型进行评价,计算公式如下.

其中,TP表示正确提取异物信息的个数,TN表示正确识别背景信息的个数,FN表示未被检测出来的异物信息个数,FP表示错误提取异物信息的个数.AP是Pr-Re 曲线下的面积,可以反映模型的性能好坏,该值越大代表模型性能越好.

实验结果的PR曲线如图12所示,由图可知,加了预处理和调整标注框之后的模型性能最优.表3是模型训练结果的AP值,分别对是否经过图像预处理和调整标注框进行了对比,从表中可以看出,仅使用Faster R-CNN 模型对异物进行识别,检测精度只有13.9%,只能识别到部分的大异物,像钢珠点等小异物根本无法检测到.而经过图像锐化和滤波操作之后,异物变得清晰可见,检测精度也有了提升.同时针对图像本身尺寸大、异物目标小的问题,对标注文件进行改动(扩大标注框),可以防止resize 缩小尺寸之后目标看不见的情况.经过这些改进,检测精度提升到了97.3%,因此本文提出的模型可以有效检测遗留在鞋底中的金属异物.

图12 异物检测模型的P-R 曲线

表3 鞋底数据模型训练结果

2.3 检测结果

图13展示了一些鞋底异物的检测效果,从图中可以看出,该方法可以正确区分鞋子的鞋带环和金属异物,对于复杂的异物形态,以及不同种类的金属异物均可以做到精准的检测.

实验结果表明,该系统对于不同种类以及有复杂背景的鞋子,都能达到准确的区分,具有可靠的精度.且通过此深度学习训练出来的模型不需要对每一款鞋型进行专用的模版设计,有效降低了异物检测机的使用成本,提高了对残留在服饰鞋类中断针的检测效率.

3 结束语

本文提出了一种基于深度学习的X 射线鞋底异物检测系统,在采集鞋底断针X 光图像数据的同时使用深度学习算法迅速有效的筛选出含有异物金属的服饰,并将这些异物定位.通过实验表明,采用图像预处理和调整标注框之后有效提高了模型的检测精度.经过验证,此检测系统的平均精度能够达到97%以上,可以有效检测遗留在不同类型鞋子中的订书针、细铁屑、断针、鞋钉、钢珠等铁质金属异物,具有非常重要的商业价值.

图13 不同鞋底异物检测结果(包含钢珠、断针、铁钉等)

猜你喜欢

异物鞋底服饰
如何处理异物进入眼睛
画与理
从《长安十二时辰》看唐代服饰
“鞋底垫厚点,也能走得快”——贫困户崔普选和他的“梦中梦”
眼耳鼻进异物咋处理
Wearing History
做自己个性本色 COCO薇服饰
鞋底防滑
超声定位诊治非金属微小异物嵌入伤的临床评价