基于改进YOLOX的药品包装铝箔表面缺陷检测方法技术

技术编号:39193013 阅读:9 留言:0更新日期:2023-10-27 08:40
本发明专利技术公开了一种基于改进YOLOX的药品包装铝箔表面缺陷检测方法,其包括:步骤1:制作数据集,从药厂生产的药板中进行数据采集,并进行标注;步骤2:将标注好的数据放入改进后的YOLOX网络进行训练,并得到训练结果;步骤3:基于步骤2得到的模型文件,进行测试,得到测试结果;步骤4:结合步骤3得到的测试结果对缺陷图的缺陷识别和定位进行展示。的缺陷识别和定位进行展示。

【技术实现步骤摘要】
基于改进YOLOX的药品包装铝箔表面缺陷检测方法
[0001]

[0002]本专利技术属于计算机视觉领域,具体涉及一种基于改进YOLOX的药品包装铝箔表面缺陷检测方法。

技术介绍

[0003]早期,工业生产中采用人工检测方法进行缺陷的检测。但是这种方法不仅效率低,而且浪费了大量人力。之后出现了采用传统机器学习的算法进行缺陷检测,针对不同的问题,人工设计方法对图像特征进行提取,通常使用滤波器、小波变换、形态学算法等技术。但是这些传统算法只能针对某一问题,适用性、复用性较差。
[0004]近些年,随着深度学习的发展,越来越多的研究工作者将深度学习方法引入缺陷检测中,并取得了一定的成果。深度学习方法对多样的缺陷特征具有较强的提取能力。但是为了保证模型具有较好的性能,深度学习对数据集有一定的要求:一是用于训练和测试的数据集要求不同类别下样本数据特征相似,二是要求训练样本受背景干扰因素的影响较小。但在实际的工业产品表面缺陷检测中这两点很难实现。因此如何训练一个高性能的模型来训练缺陷和背景较复杂的数据是一个比较困难的问题。在本文中,在原来网络的基础上引入transformer模块,有利于提高图像的全局感受野,能够有效地提高训练精度。

技术实现思路

[0005]针对上述问题,本专利技术提出了一种基于改进YOLOX的药品包装铝箔表面缺陷检测方法,包括:步骤1:制作数据集首先需要制作数据集。从药厂生产的同一批药品随机选取一批数据,数量要足够多,将药板背面作为数据集。选取的样本主要包括密封不良(bruise)、长破损(longbreakage)、气泡破损(brokenblister)、褶皱(wrinkle)四类缺陷。采集完后需要对数据进行人工标注,使用的工具为labelImg,标注格式为XML。将标注好的文件划分为训练集、验证集和测试集三部分,分别为364张、92张和51张。
[0006]步骤2:模型训练将划分好的数据放入提前调好参数的模型中进行训练。模型采用改进后的YOLOX,改进方法:将Neck部分的CSP模块替换为transformer模块;将Head部分的obj_loss的BCELoss替换为focal loss;将原网络中的silu激活函数替换为mish激活函数。训练完后得到权重文件和AP值。
[0007]步骤3:模型测试基于步骤2得到的模型文件,进行测试,得到测试结果。该测试结果包括每种缺陷的AP值、不同阈值下的mAP值、对数据样本的缺陷识别和定位。
[0008]步骤4:结果展示基于步骤3得到的测试结果,可以对缺陷识别和定位结果进行展示,更直观的观察该模型对某类缺陷的检测效果。
[0009]本专利技术的有益效果(1)在Neck部分引入transformer模块,有利于提高图像的全局感受野,能够有效地提高训练精度;(2)损失函数中的obj_loss使用focal loss有利于减少易分类样本的权重,使得模型在训练时更专注于难分类的样本;(3)使用mish激活函数可以保证梯度信息在网络中得到很好的传播,不会有梯度饱和现象。而且mish曲线比较平滑,梯度下降的效果较好,可以提高检测的准确性。
附图说明
[0010]图1为铝箔表面图;图2为YOLOX网络结构图;图3为transformer模块网络结构图;图4为引入transformer模块的YOLOX网络结构图;图5为mish激活曲线图;图6为缺陷识别和定位图。
具体实施方式
[0011]下面结合附图,对本专利技术进一步详细说明。
[0012]一种基于改进YOLOX的药品包装铝箔表面缺陷检测方法,包含以下步骤:步骤1:制作数据集,从工厂生产的药板中进行数据采集,并进行标注;步骤2:将标注好的数据放入改进后的YOLOX网络进行训练,并得到训练结果;步骤3:基于步骤2得到的模型文件,进行测试,得到测试结果;步骤4:结合步骤3得到的测试结果对缺陷图的缺陷定位和识别进行展示。
[0013]本专利技术的方法具体包括以下步骤:1.制作数据集:从药厂生产的同一批药品随机选取一批数据,数量要足够多。样本原图如图1所示。样本主要包括密封不良(poor_sealing)、长破损(long_damage)、气泡破损(broken_blister)、褶皱(fold)四类缺陷。对药板缺陷的初步统计来看,密封不良缺陷数量最多,而且缺陷形状大小不一。其次是气泡破损,该缺陷形状较大。长破损和褶皱数据量较少,长破损的形状比较复杂,褶皱的形状比较小。因此在训练过程中要平衡样本的类别,还要提升小缺陷的检测精度。采集完后需要对数据进行人工标注,使用的工具为labelImg,标注格式为XML。最后将标注好的文件划分为训练集、验证集和测试集三部分。
[0014]2.模型训练:本专利技术采用的是改进之后的YOLOX网络,该网络由四部分构成:输入端、Backbone、Neck、Prediction。网络结构如图2所示。在网络的输入端,该网络主要采用了mosaic、mixup两种数据增强方法。该网络输入的图像大小为640
×
640,训练次数epoch设置为400。YOLOX的Backbone和原本的YOLOv3的Backbone一致。在Neck结构中,YOLOX和YOLOv3的Neck结构保持一致,都是采用FPN的结构进行融合。FPN自顶向下,将高层的特征信息通过
上采样的方式进行传递融合,得到进行预测的特征图。本专利技术将Neck部分的CSP模块替换成transformer模块,其他部分保持不变。
[0015]在输出层中,主要包含四方面:Decoupled Head、Anchor Free、标签分配、Loss计算。YOLOX的作者将YOLO系列使用的检测头替换成Decoupled Head,实验发现不仅提高了检测精度,而且加快了网络的收敛速度。针对每一个Decoupled Head,在拼接之前总共有三个分支:cls_output、obj_output、reg_output。cls_output是针对目标框类别的预测,obj_output主要判断目标框是前景还是背景,reg_output主要对目标框的坐标信息(x,y,w,h)进行预测。
[0016]Prediction部分的最终输出为85
×
8400的矩阵。YOLOX的作者引入前面Backbone中下采样的大小信息,也即在最后8400个预测框中,其中有400个预测框所对应的锚框大小为32
×
32,有1600个预测框所对应的锚框大小为16
×
16,有6400个预测框所对应的锚框大小为8
×
8。同时每张图片也有标注的目标框信息,此时锚框就相当于桥梁,将8400个锚框和目标框进行关联,挑选出正样本锚框。相应地,正样本锚框所对应的位置可以将正样本预测框挑选出来,其中采用的关联方式就是标签分配策略。
[0017]在YOLOX中,通过初步筛选和SimOTA挑选正样本锚框。初步筛选的方式包括两种:根据中心点和根据目标框来判断本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于改进YOLOX的药品包装铝箔表面缺陷检测方法,其特征在于,所述方法包括以下步骤:步骤1:制作数据集,从工厂生产的药板中进行数据采集,并进行标注;步骤2:将标注好的数据放入改进后的YOLOX网络进行训练,并得到训练结果;步骤3:基于步骤2得到的模型文件,进行测试,得到测试结果;步骤4:结合步骤3得到的测试结果对缺陷图的缺陷定位和识别进行展示。2.根据权利要求1所述方法,其特征在于,步骤1所述的数据集为在药厂生产的药板数据,人工对有缺陷的样本进行标注,并将数据集进行划分。3.根据权利要求1所...

【专利技术属性】
技术研发人员:朱登明石敏杜昊晨王素琴
申请(专利权)人:太仓中科信息技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1