小样本药用玻璃瓶缺陷生成方法及应用
2024-05-18陈宏彩程煜任亚恒
陈宏彩,程煜,任亚恒
自动化与智能化技术
小样本药用玻璃瓶缺陷生成方法及应用
陈宏彩1,2*,程煜1,2,任亚恒1,2
(1.河北省科学院应用数学研究所,石家庄 050081; 2.河北省信息安全认证技术创新中心,石家庄 050081)
为了克服药包玻璃瓶缺陷样本不足带来的缺陷检测模型精度不准的问题,提出改进StyleGAN2-ADA的缺陷样本生成方法,提升模型鲁棒性。首先,基于StyleGAN2-ADA算法,在无缺陷图像集上训练网络模型并作为骨干。其次,在骨干网络上添加缺陷感知残差块,生成缺陷掩码,在少量的缺陷图像数据集上训练网络模型操纵掩码区域的特征,模拟缺陷图像生成过程,合成缺陷图像。最后,采用YOLOv7检测网络验证该样本生成方法的效果。实验结果表明,该方法在大量正常图像和少量缺陷图像基础上生成逼真且多样性的缺陷图像,应用该缺陷样本合成方法丰富数据集后,西林瓶缺陷检测平均准确率(mAP)达到97.3%,较原始数据集合和StyleGAN2-ADA算法分别提高了33.1%和4.1%。该图像生成方法可以在少量缺陷样本下生成高质量的缺陷图像,优化不均衡数据集,增强模型训练的稳定性,提高药用玻璃包装产品的质量和合格率。
药包玻璃瓶;图像生成;StyleGAN2-ADA;缺陷检测;YOLOv7
药用玻璃瓶生产过程是一个多因素耦合的复杂程序,生产过程中的异常都会导致产品缺陷产生。及时识别检测异常产品的缺陷模式是提高产品质量和生产效率的有效途径。为保证医药产品质量,精准的药用玻璃瓶缺陷检测具有十分重要的研究意义。
早期的产品缺陷检测方法主要通过人工设计特征提取方法进行检测。近年来,随着深度学习快速发展,基于神经网络的算法在视觉检测任务中大放异彩,已经被推广应用到农产品检测[1-2]、工业质检[3-4]、医药产品检测与分类[5]等多个领域。到目前为止,已经有许多基于不同网络模型和算法的目标检测器用于缺陷检测。在众多检测算法中,YOLO(You Only Look Once,YOLO)系列算法[6-9]因其检测速度快、精度高而被广泛应用于产品质量检测中,YOLOv7[8]算法在前人提出的YOLO模型基础上进一步改进优化,采用模型结构重参数化、模型缩放、由粗到细引导标签动态分配等策略,在精度、效率等方面更是表现出优于其他目标检测算法。然而,与传统的机器学习方法相比,基于深度学习的方法在缺陷识别时需要大量的数据样本[10]。由于一些药包玻璃产品生产线中真实的缺陷图像的稀缺性和高昂收集成本,充分获得大量不同缺陷图像具有挑战性。而基于深度学习的产品检测方法本质是基于大数据的,缺陷样本的缺乏会导致训练过程过拟合、检测精度差、检测模型难以上线等问题[11]。
为了拓展深度学习在工业检测领域的应用范围和检测性能,学者们提出了很多方法来扩增样本数量。传统数据增广技术是一种性价比较高的扩增样本的手段,包括几何变换(例如平移、旋转、翻转、裁剪、缩放等)、滤波、加噪声、图像混叠等[12]。这些图像处理方法能仿真缺陷的位置和一些简单纹理变化,但无法仿真缺陷的复杂纹理和多样性,其中滤波、加噪声和混叠这些方法在数据大量增广中不仅无益,有时还会出现泄漏增强等问题[13]。
样本的稀缺性推动了图像生成作为缺陷检测应用数据增强的研究性工作。为了解决更复杂场景的样本生成问题,学者们提出了一些基于生成式对抗网络(Generative Adversarial Nets, GAN)的缺陷生成算法,比较有代表性的是由NVIDIA公司提出的基于样式的生成对抗网络StyleGAN(Style Generative Adversarial Nets,StyleGAN)[14]和它的进一步优化方法StyleGAN2[15]等,这些网络模型在其自建的高清人脸数据集上取得了很好的生成效果。这很大一部分原因可归功于样本量大、质量高的数据集,但是有些应用场景这种高质量数据集获取难度很高。2021年,Zhang等[16]设计了一种称为Defect-GAN的自动缺陷合成网络方法,通过添加和删除缺陷前景来模拟缺陷生成和修复过程,该方法可以生成多样化和高保真度的缺陷样本。然而,这个工作有一定的局限性:需要大型纹理数据集;生成的缺陷缺乏随机性。现有这些工作通常需要数百张图像,直接在几十张图像上训练生成图像的问题尚未解决。针对这种情况,Karras等[17]在StyleGAN2的基础上进行了优化调整,提出了一种基于样式的自适应判别器增强生成对抗网络方法StyleGAN2-ADA(StyleGAN2 with Adaptive Discriminator Augmentation, StyleGAN2-ADA),根据过拟合的程度在不同时间控制随机增强概率,可以在有限数据上训练,生成较高质量图像。
为了克服药包玻璃瓶缺陷样本不足带来的缺陷检测模型精度不准的问题,文中结合深度学习研究成果StyleGAN2-ADA算法,设计一种改进的StyleGAN2- ADA的缺陷样本合成方法,采用YOLOv7检测模型测试,验证缺陷样本合成数据增强方法的效果。
1 药用玻璃瓶缺陷生成方法
药用玻璃瓶缺陷生成方法采用两阶段训练策略,如图1所示。首先,以StyleGAN2-ADA网络作为主干网络在数百个无缺陷玻璃瓶图像上训练,它将一个随机编码映射到一张无缺陷的图像。其次,将缺陷感知的残差块沿着缺陷映射网络附加到主干网络上,并在少量缺陷图像上训练新的网格。生成器通过可控的缺陷区域将随机编码和一个缺陷编码映射到一张图像,生成缺陷图像。
1.1 无缺陷药用玻璃瓶图像的预训练
在第1个训练阶段,在无缺陷数据集上训练一个生成器作为主干网络,通过随机采样目标编码生成无缺陷图像。考虑到自适应判别器增强方法StyleGAN2- ADA[17]在小样本上的优越性,文中采用StyleGAN- ADA作为网络主干,生成网络包括一个映射网络(Mapping Network)和一个合成网络(Synthesis Network),如图1左侧部分,映射网络将一组随机的向量object输入到8层全连接层网络中,并将其编码为中间向量object,向量object通过仿射变换A调整合成网络的卷积权重,将变化导入到生成图像中。合成网络由多个合成块组成,每个合成块包含具有跳越结构的卷积层、上采样层、自适应实例规范化模块、风格控制和噪声组成。这一阶段,在数百个无缺陷玻璃瓶图像上训练该网络模型,生成无缺陷样本图像。
1.2 药用玻璃瓶缺陷图像生成网络模型
图1 玻璃瓶缺陷样本生成网络模型
根据网络模型StyleGAN2-ADA的整个目标损失函数设置,文中设计的玻璃瓶缺陷网络模型的整个目标损失函数表达式如式(3)所示。
式中:match为缺陷匹配判别器;StyleGan为模型StyleGAN2-ADA的原始损失函数;match为match的损失函数;ms为模式寻找损失函数;为调节参数。
2 基于YOLOv7的玻璃瓶缺陷目标检测方法
YOLOv7[8]是目前流行的一种快速的单阶段目标检测模型,具有良好的检测精度和鲁棒性,其网络结构包含4个部分:输入、主干网络、特征融合网络和输出。
输入部分:主要使用Mosaic数据增强、自适应锚框计算、自适应图片缩放等数据增强方式丰富数据集。
主干网络部分:主要模块是高效层聚合网络ELAN以及扩展的E-ELAN,用于更高效的特征提取。ELAN 结构通过控制最短最长的梯度路径,可以对更深的网络有效地学习和控制收敛。E-ELAN模块采用扩展、乱序、合并来实现在不破坏原有梯度路径的情况下不断增强网络学习的能力[8]。
特征融合部分:采用SPPCSPC模块。
输出部分:使用IDetect检测头对目标的位置、类别和置信度信息进行输出。
3 实验与结果
3.1 实验配置和评价指标
本次实验在AMAX服务器上进行测试。实验环境包含Ubuntu18.04系统,CUDA11.4,GPU显卡NVIDIA Tesla V100,Python3.7和深度学习框架Pytorch1.7.1等。
从数据科学角度出发,文中采用弗雷歇初始距离(Fréchet Inception Distance)[19]作为图像生成质量评价指标。是度量同一域内真实图像与生成图像的特征向量之间的距离,越小代表生成图像的质量越好,其计算式为:
目标检测评价标准选用准确率(Precision)、召回率(Recall)、平均准确率(mean Average Precision,mA),A是单目标类别检测精度,mA是对所有目标类别检测精度求均值,用来评价模型的综合性能,具体公式如下:
式中:Tp为真正例;Fp为假正例;FN为假负例;PA为平均精度。
3.2 药用玻璃瓶缺陷图像生成结果及分析
药用玻璃瓶数据集是从成都某药品包装公司采集的药用西林瓶图像。根据国家药品监督管理局《直接接触药品的包装材料和容器标准》的质量管理要求,以及药用西林瓶的外观质量检测标准,文中将药用西林瓶的外观质量缺陷划分为污渍、气线、裂纹3类,并进行实验测试,包括西林瓶缺陷图像生成和缺陷检测任务。原始数据集共524张图像,包括正常西林瓶图像419张,每类缺陷图像35张,每张图像的分辨率大小调整为256像素×256像素,如图2所示。为了利用深度学习模型进行缺陷检测,先对缺陷样本进行数据增广。
西林瓶缺陷生成方法采用文中第1章节设计的改进StyleGAN2-ADA(Improved StyleGAN2-ADA)方法,在第1个训练阶段,在正常西林瓶数据集上训练一个生成器作为主干网络;在第2阶段,利用1.2节构建的玻璃瓶缺陷样本生成网络模型在每类缺陷图像数据集上训练一个缺陷模型,缺陷匹配判别器match的架构与原始styleGAN2-ADA的判别器几乎相同,但基于判断缺陷图像是否与掩码匹配比判断其真实性更容易,减少了每层中的通道数量。match的参数为1.2×106,相比参数量为21×106的模型,要少得多,这极大程度便利了小样本缺陷图像的生成;最后,利用生成的缺陷模型生成对应类别的缺陷图像。
这里,实验中一些参数设置如下:在训练阶段,批处理大小设置为4,初始学习率=0.002 5,自适应增强概率调节因子=0.6,模式寻找损失函数调节参数=0.1,缺陷匹配判别器match中调节因子match=1.0。
为了验证本文设计的缺陷样本合成方法效果,本文引入StyleGAN2-ADA方法进行实验对比,并给出定量结果。不同方法图像生成评价指标分数测试情况如图3所示。从图3可以看出,随着训练迭代次数的增加,本文改进的StyleGAN2-ADA方法的值越来越低,但StyleGAN2-ADA方法的训练过程较本文生成方法的训练过程不稳定,在300次迭代点后呈现发散的情况。随着训练次数增大,本文改进的生成方法值逐渐收敛,表明该方法生成图像与真实图像越来越接近。
图4展示了利用本文设计的改进StyleGAN2-ADA缺陷生成模型获得的正常图像和不同的缺陷图像(这里为了清晰显示图像,对生成的图像去掉了上下黑色边缘,仅保留西林瓶部分)。从生成的图像视觉效果可以定性分析出,生成的西林瓶图像质量较高、缺陷特征较为清晰、逼真。
图3 不同生成对抗网络训练的弗雷歇初始距离D的对比
图4 西林瓶缺陷样本生成示例
3.3 药用玻璃瓶缺陷检测结果及分析
为了验证缺陷样本数量对缺陷检测模型的影响,本文采用YOLOv7网络模型对西林瓶缺陷检测测试,评价模型的相关性能。下面分别以原始数据集、StyleGAN2-ADA方法和本文改进的StyleGAN2-ADA方法进行数据增广测试,采用不同生成方法生成每类缺陷各500张图像,其中,图像数据集总数量的75%用于训练,25%用于测试,相应数据集图像数量如表1所示。
表1 西林瓶缺陷图像数据集
Tab.1 Date set of penicillin vial defects
表2列出了不同数据增强方法下采用YOLOv7缺陷检测模型得到的性能指标,包括准确率()、召回率()、平均准确率(mA)。从表2可以看出,仅采用少量的原始数据集进行缺陷检测时,检测性能指标都很低,其平均准确率仅为64.2%,这表明采用深度学习模型进行缺陷检测时,小样本数据集容易出现过拟合的问题,检测性能较差。而本文设计的缺陷生成方法的缺陷检测准确率和平均准确率分别达到96.3%和97.3%,较原始数据集有较大提高,较StyleGAN2-ADA方法分别提升了4.1百分点和3.5百分点。实验数据验证了文中缺陷图像生成方法在提高西林瓶缺陷检测模型精度方面是有效的。
表2 西林瓶缺陷检测模型性能测试结果
Tab.2 Performance test results of penicillin vial defect detection model
4 结语
针对药用玻璃瓶缺陷样本不足导致检测模型精度不准、现有图像生成模型生成图像质量不佳等问题,文中提出了一种改进的StyleGAN2-ADA模型,通过实验验证了所提方法的有效性。该方法可以在大量正常图像和少量缺陷图像基础上生成逼真且多样性的西林瓶缺陷图像,优化不均衡数据集,增强深度学习检测模型训练的稳定性,提升产品检测精度。该方法已成功应用在山东、四川等多家医药包装公司的玻璃瓶生产检测流水线上,显著提高了药用玻璃包装产品的质量和合格率,提升了药包企业产品的安全性和市场竞争力。
[1] 王小荣, 许燕, 周建平, 等. 基于改进YOLOv7的复杂环境下红花采摘识别[J]. 农业工程学报, 2023, 39(6): 169-176.
WANG X R, XU Y, ZHOU J P, et al. Safflower Picking Recognition in Complex Environments Based on an Improved YOLOv7[J]. Transactions of the Chinese Society of Agricultural Engineering, 2023, 39(6): 169-176.
[2] 苗荣慧, 李志伟, 武锦龙. 基于改进YOLO v7的轻量化樱桃番茄成熟度检测方法[J]. 农业机械学报, 2023, 54(10): 225-233.
MIAO R H, LI Z W, WU J L. Lightweight Maturity Detection of Cherry Tomato Based on Improved YOLO V7[J]. Transactions of the Chinese Society for Agricultural Machinery, 2023, 54(10): 225-233.
[3] 赵耀霞, 吴桐, 韩焱. 基于卷积神经网络的复杂构件内部零件装配正确性识别[J]. 电子学报, 2018, 46(8): 1983-1988.
ZHAO Y X, WU T, HAN Y. Identifying the Correctness of Fit of Internal Components Based on a Convolutional Neural Network[J]. Acta Electronica Sinica, 2018, 46(8): 1983-1988.
[4] 陈宏彩, 任亚恒, 郝存明, 等. 基于YOLOv3的医药玻璃瓶缺陷检测方法[J]. 包装工程, 2020, 41(7): 241-246.
CHEN H C, REN Y H, HAO C M, et al. Defect Detection Method for Medical Glass Bottles Based on YOLOv3[J]. Packaging Engineering, 2020, 41(7): 241-246.
[5] LI W Q, TANG Y Ming; YU K M, et al. SLC-GAN: An Automated Myocardial Infarction Detection Model Based on Generative Adversarial Networks and Convolutional Neural Networks with Single-lead Electrocardiogram Synthesis[J]. Information Sciences, 2022, 589: 738-750.
[6] REDMON J, FARHADI A. YOLOv3: An Incremental Improvement[C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE Computer Society, 2018: 89-95.
[7] LIN T Y, DOLLAR P, GIRSHICK R, et al. Feature Pyramid Networks for Object Detection[C]// Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE Computer Society, 2017: 936-944.
[8] WANG C Y, BOCHKOVSKIY A, LIAO H Y M. YOLOv7: Trainable Bag-of-Freebies Sets New State-of- the-Art for Real-Time Object Detectors[C]// Proceedings of 2023 IEEE Conference on Computer Vision and Pattern Recognition. Vancouver: IEEE Computer Society, 2023: 7464-7475.
[9] 李松, 史涛, 井方科. 改进YOLOv8的道路损伤检测算法[J]. 计算机工程与应用, 2023, 59(23): 165-174.
LI S, SHI T, JING F K. Improved Road Damage Detection Algorithm of YOLOv8[J]. Computer Engineering and Applications, 2023, 59(23): 165-174.
[10] 陈琨, 王安志. 卷积神经网络的正则化方法综述[J/OL]. 计算机应用研究: 1-11[2023-12-12]. https:// doi.org/10.19734/j.issn.1001-3695.2023.06.0347.
CHEN K, WANG A Z. Survey on Regularization Methods for Convolutional Neural Networks[J/OL]. Application Research of Computers: 1-11[2023-12-12]. https:// doi.org/ 10.19734/ j.issn.1001-3695.2023.06.0347.
[11] 孔玲爽, 闵悦, 何静, 等. 基于脉冲神经网络的钢材表面缺陷识别研究[J]. 包装工程, 2022, 43(15): 13-22.
KONG L S, MIN Y, HE J, et al. Steel Surface Defect Identification Based on Spiking Neural Network[J]. Packaging Engineering, 2022, 43(15): 13-22.
[12] 姜雨辰, 朱斌. 少样本条件下基于生成对抗网络的遥感图像数据增强[J]. 激光与光电子学进展, 2021, 58(8): 0810022.
JIANG Y C, ZHU B. Data Augmentation for Remote Sensing Image Based on Generative Adversarial Networks under Condition of few Samples[J]. Laser & Optoelectronics Progress, 2021, 58(8): 0810022.
[13] 马岽奡, 唐娉, 赵理君, 等. 深度学习图像数据增广方法研究综述[J]. 中国图象图形学报, 2021, 26(3): 487-502.
MA D A, TANG P, ZHAO L J, et al. Review of Data Augmentation for Image in Deep Learning[J]. Journal of Image and Graphics, 2021, 26(3): 487-502.
[14] KARRAS T,LAINE S,AILA T. A Style-based Generator Architecture for Generative Adversarial Networks[C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE Computer Society, 2019: 4401-4410.
[15] KARRAS T, LAINE S, AITTALA M, et al. Analyzing and Improving the Image Quality of Stylegan[C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 8110-8119.
[16] ZHANG G J, CUI K W, HUNG T Y, et al. Defect-GAN: High-Fidelity Defect Synthesis for Automated Defect Inspection[C]// IEEE Winter Conference on Applications of Computer Vision, WACV2021. NewYork: IEEE, 2021: 2524-2534.
[17] KARRAS T, AITTALA M, HELLSTEN J, et al. Training Generative Adversarial Networks with Limited Data[J]. Advances in Neural Information Processing Systems, 2020, 33: 12104-12114.
[18] DUAN Y X, HONG Y, NIU L, et al. Few-Shot Defect Image Generation via Defect-Aware Feature Manipulation[C]// Proceedings of the 34th AAAI Conference on Artificial Intelligence. Washington: AAAI, 2023: 571-578.
[19] HEUSEL M, RAMSAUER H, UNTERTHINER T, et al. GANS Trained by a Two Time-scale Update Rule Converge to a Local Nash Equilibrium[J]. Advances in Neural Information Processing Systems, 2017, 30: 1-38.
Defect Generation Method and Application of Few Sample Medical Glass Bottles
CHEN Hongcai1,2, CHENG Yu1,2, REN Yaheng1,2
(1. Hebei Academy of Sciences Institute of Applied Mathematics, Shijiazhuang 050081, China; 2.Information Security Authentication Technology Innovation Center of Hebei Province, Shijiazhuang 050081, China)
The work aims to propose an improved StyleGAN2-ADA defect sample generation method to enhance model robustness, so as to overcome the problem of inaccurate defect detection models due to insufficient defective sample data. First, a network model was trained as the backbone based on the StyleGAN2-ADA algorithm on a defect-free image dataset. Then, defect perception residual blocks were added to the backbone network to generate defect masks. The network model was trained on a dataset of few defective images to manipulate the features of the masked region and simulate the generation process defective images to synthesize defective images. Finally, YOLOv7 detection network was used to validate the effectiveness of this defect sample generation method. Experimental results showed that the proposed method could generate realistic and diverse defective images based on a large number of normal images and a small number of defective images. After enriching the dataset with this defect sample generation method, the average detection accuracy of penicillin vial defects (mAP) reached 97.3%, which was 33.1% higher than the original dataset and 4.1% higher than the StyleGAN2-ADA algorithm. In conclusion, this defect image generation method can generate high-quality defective images with few defective samples, optimize imbalanced datasets, enhance the stability of model training and improve the quality and pass rate of medicinal glass packaging products.
medical glass bottles; image generation; StyleGAN2-ADA; defect detection; YOLOv7
TB487
A
1001-3563(2024)09-0135-06
10.19554/j.cnki.1001-3563.2024.09.017
2023-12-13
中央引导地方科技发展资金项目(236Z1604G)