深度学习算法在缺陷自动检测中的应用

来源 :今日自动化 | 被引量 : 0次 | 上传用户:xixiyibobo
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘    要]本文以红枣的缺陷检测为对象,研究了深度学习算法在图像缺陷检测中的应用。首先建立红枣的缺陷检测环境,拍摄一定数量缺陷红枣图片并对图中缺陷进行标注,然后在服务器上使用 YOLO-Tiny深度网络模型对标注样本进行训练,最后在NVIDIA Jetson TK1嵌入式设备上对模型的缺陷检测效果进行验证。实验结果表明深度学习算法对红枣缺陷检测准确度可达91%,检测速度可达12帧/s,可满足红枣缺陷自动检测的需求。
  [关键词]缺陷检测;深度学习;机器视觉;YOLO-Tiny
  [中图分类号]TP317.4 [文献标志码]A [文章编号]2095–6487(2020)06–00–03
  Application of Deep Learning Algorithm in Automatic Defect Detection
  Luo Yu-zhe, Wan Yan, Xie Xiu-qi, He Xiao-yun
  [Abstract]This article takes the defect detection of red dates as the object, and studies the application of deep learning algorithms in image defect detection. First, establish a defect detection environment for jujubes, take a certain number of defective jujube pictures and mark the defects in the images, then use the YOLO-Tiny deep network model on the server to train the marked samples, and finally run the model on the NVIDIA Jetson TK1 embedded device The defect detection effect is verified. Experimental results show that the accuracy of the deep learning algorithm for jujube defect detection can reach 91%, and the detection speed can reach 12 frames per second, which can meet the needs of automatic detection of jujube defects.
  [Keywords]defect detection, deep learning, machine vision, YOLO-Tiny
  目前对缺陷红枣的筛选主要采用人工筛选,但人工筛选的缺点相当明显,一是工作量大,二是效率低。其中人为因素对筛选结果的影响很大。例如,工人在筛选时注意力不集中,导致红枣的品质分类错误。为了提高红枣的筛选质量和效率,使红枣的品质满足产品的加工要求,采样机器自动筛选已成为未来主流发展趋势。
  1 深度学习与机器视觉
  近年来,深度学习算法在图像缺陷识别中的应用日益成熟,基于深度学习的目标检测已成为图像检测科技发展的主流。基于深度学习算法的人工智能技术广泛应用于摄像机自动定位对焦人脸、自动驾驶障碍物检测等领域。基于深度学习的图像检测技术在工业检测领域得到了广泛应用。
  基于深度学习的图像检测技术同样适用于红枣缺陷检测需求。它能有效地在复杂图像中找到红枣缺陷位置。考虑到检测速度、准确率和分配效率的平衡,本文选择YOLO算法作为项目的核心算法。该算法可以对特征提取和分类器进行整体端对端训练。与其他算法相比,YOLO算法具有运行速度优势的同时更适合红枣检测的实時性要求。
  2 YOLO-Tiny算法
  YOLO(You Only Look Once)是一种基于深度神经网络的对象识别和定位算法,其最大的特点是运行速度快,可以用于实时系统[1]。YOLO-Tiny是YOLO的简化版本,YOLOv3-Tiny网络相比常规的 YOLOv3将网络结构进行了压缩,没有使用res层(残差层),保留了2个独立预测分支,只使用了两个不同尺度的YOLO输出层。其优势在于训练后的模权重较小,检测速度更快,对硬件要求不高,弊端是准确率有所下降。
  2.1 bounding box预测
  在目标检测时,YOLO使用bounding box对检测目标进行定位,但检测的目标框与已经标记好的目标框未必就是一致的,总会存在一定偏移。YOLOv3网络通过k-means[2]生成多个anchor box的目的在于训练自动分类系统更加轻松的、准确的识别。首先对每个anchor box预测类别以及偏移量,接着根据预测的偏移量调整anchor box位置从而得到符合纽扣缺陷的预测边界框(即bounding box),最后筛选需要输出的纽扣缺陷的预测边界框。YOLO通过计算每个bounding box的置信度,bounding box的置信度意味着它是否包含对象且位置准确的程度。置信度高表示这里存在一个对象且位置比较准确,置信度低表示可能没有对象或者即便有对象也存在较大的位置偏差。
  每个bounding box只对应一个目标得分,通过logistic回归计算。如满足以下两个条件则认定目标得分为1:
  (1)某个bounding box与ground truth的重合度比其他bounding box都高;(2)某个bounding box与ground truth的重合度不是最大的,但超过某个阈值,例如:0.5。   2.2 基本的损失函数
  “损失”是指网络实际输出值与样本标签值之间的偏差,MSE作为常用的损失函数[3],这是最简单,也是比较经典的损失函数,见式(1)和(2)所示。
  Binary_crossentropy交叉熵损失函数,这是针对概率的损失函数,概率相差越大,loss就越大,见式(3)和(4)所示
  2.3 YOLOv3-Tiny
  YOLOv3-Tiny目標检测模型是YOLO系列中用于移动设备和边缘计算的轻型目标检测网络,具有简单、高实时性和高检测精度的特点[4]。YOLOv3-Tiny主干网络为YOLOV3的简化,由13个卷积层,6个最大池化层,1个连接层构成。Tiny-YOLOV3目标检测网络输入图像分辨率416×416,经一系列卷积、最大池化、连接、上采样操作对图像进行特征提取。YOLOv3-Tiny检测层根据输入的图像数据,分别在13×13,26×26,这2个检测尺度上运用回归分析法输出图像数据的多个滑动窗口位置及该窗口中检测到的目标类别,设置多个锚点框检测目标。在目标识别完成后,引入非极大值抑制消除冗余的检测框,使得每个目标都是一个唯一的检测框,使其位置信息更精确,置信度更高[5]。目标检测网络具有简单、实时性高的特点,适合于嵌入式边缘计算平台的应用。
  3 红枣缺陷自动检测系统
  红枣缺陷自动检测系统的图像识别处理流程是:首先将工业相机采集的图像实时输出传送到AI图像处理模块,然后在AI图像处理模块上使用深度学习算法实时批量检测出红枣表面的缺陷,最后在显示屏上标注缺陷位置并且标注识别结果的置信度。为了实现上述目标,本文设计了一套基于深度学习框架的缺陷自动检测系统,包括图像采集、数据标注、模型训练和缺陷识别等的各个功能模块。
  3.1 红枣缺陷检测系统硬件平台
  红枣检测系统的硬件平台采用工业相机+NvidiaJetsonTk1嵌入式人工智能平台[6]。
  首先,考虑到系统检测速度和图像质量的平衡,系统采用度申公司的工业相机,相机分辨率为1280*1024。
  其次,考虑到项目成本和运行速度,采用Nvidia Jetson TK1嵌入式设备作为红枣检测系统的算法平台。NVIDIA Jetson TK1是一款针对嵌入式系统的移动超级计算机,其成本相对于普通计算机价格更便宜,能够快速开发和部署用于计算机视觉、机器人以及医学等领域的计算密集型系统。
  该系统接入显示器即可显示检测结果,也可以通过远程通信方式将检测结果传送到服务器实现远程控制。系统可靠性高、成本低廉,适用于工业环境下对红枣的检测需求。
  3.2 服务器的配置
  为了完成红枣缺陷网络模型的训练,在深度学习服务器上对事先采集和标注后的缺陷图像使用YOLOv3-Tiny网络进行训练。深度学习服务器的硬件配置为:处理器为酷睿i7-9700k,处理器为16?m工艺,拥有8核心8线程,主频4.9GH;显卡采用了英伟达GeForce GTX 1080 Ti,拥有3584个流处理器单元和11GB显存;另外服务器搭配了2条16GB的DDR4内存条和1TB的三星固态硬盘。
  深度学习服务器安装了Ubuntu 16.04操作系统、Opencv4.3.0图像处理模块和darknet深度学习框架,为了得到更高的训练速度安装了CUDA和Cudnn等用于显卡计算加速的软件。
  3.3 图像采集和模型训练过程
  深度学习的目标检测过程可以分为训练和检测2部分,具体流程如图1所示。
  其中对模型训练流程如下:
  (1)首先需要收集一定数量的带有缺陷的红枣图像,裁剪为适当大小的样本图像,根据缺陷类型将图像分类。
  (2)使用LabelImg标注工具对裁剪后图像中进行手工标注,标注红枣缺陷的位置和缺陷类型。标注工具会生成与裁剪图像同名带标注的XML文件,用于下一步的深度网络训练。
  (3)使用YOLO-Tiny深度网络模型在计算机上完成深度网络模型训练,为了提高训练速度,可使用GPU进行硬件加速。
  (4)在NVIDIA Jetson TK1平台上,利用上一步训练好的网络模型对采集到的红枣图像或者视频进行实时的检测,找出红枣缺陷的位置并在图像中标注出来,如图2所示。
  4 实验结果与分析
  4.1 图像检测结果分析
  为了实现红枣检测系统的功能,首先使用在服务器上对标注好的100个样本进行网络训练。训练过程中100个样本图片中会随机分为2组数据,80张用于训练,20张用于测试。网络训练过程如图3所示,从图中可以看出随着训练次数的不断增加,损失曲线逐渐降低,经过80次迭代后趋于稳定。
  网络训练完成后,将训练好的网络模型安装到NvidiaJetsonTk1上对采集到的100张测试图像进行识别,当置信度阈值设置为60的时候,91张图片识别正确,9张图片无法识别缺陷,正确率为91%。为了测试准确的检测速度,NvidiaJetsonTk1连接工业相机对视频进行了在线检测,检测速度达到了12帧/秒。
  5 结束语
  本文以枣树缺陷检测为研究对象,研究了深度学习算法在缺陷自动检测中的应用效果。实验通过建立枣树检测的产业环境,拍摄一定数量的缺陷枣树图像,并对缺陷位置进行标记,利用深度网络模型在服务器上对样本图像进行训练,最后在NVIDIA Jetson TK1嵌入式设备上完成验证。结果表明,深度学习算法在红枣检测过程中的准确率可达91%,检测速度可达12帧/s,可满足红枣缺陷自动检测的需求。
  参考文献
  [1] Redmon,J.& Farhadi,A.(2018). YOLOv3:An Incremen-tal Improvement[J]. ArXiv,abs/1804.02767.
  [2] 张荣,李伟平,莫同.深度学习研究综述[J].信息与控制,2018,47(4):385-397,410.
  [3] GEIGER A , LENZ P , STILLER C , et al. Vision meets robotics: The KITTI dataset[J].The International Journal of Robotics Research,2013,32(11):1231-1237.
  [4] 易诗,沈练,周思尧,等.基于增强型Tiny-YOLOV3模型的野鸡识别方法[J].农业工程学报,2020,36(13):141-147.
  [5] Neubeck A, Van Gool L. Efficient non-maximum suppression[C]//18th International Conference on Pattern Recognition (ICPR).Springer:Berlin, German, 2006, 3: 850-855.
  [6] 殷帅,胡越黎,刘思齐,等.基于YOLO网络的数据采集与标注[J].仪表技术,2018(12):22-25+52.
  [7] 李萍, 宋波, 毛捷,等. 深度学习在超声检测缺陷识别中的应用与发展[J]. 应用声学, 2019(3):458-464.
  [8] 黄寅. 基于深度学习网络模型与大数据自动训练的工件缺陷识别算法研究[J]. 齐齐哈尔大学学报(自然科学版), 2020, v.36(2):24-27,42.
  [9] 赵志勇, 叶林, 桑红石,等. 深度学习在布匹缺陷检测中的应用[J]. 国外电子测量技术, 2019, v.38;No.297(8):116-122.
  [10] 顾佳晨, 高雷, 刘路璐,等. 基于深度学习的目标检测算法在冷轧表面缺陷检测中的应用[J]. 冶金自动化, 2019, v.43;No.259(6):25-28,33.
其他文献
辽宁省本溪县煤矿、铁矿和石灰石矿等各类矿产资源较丰富,如何依据当地利地条件和实际特点,对开采后的矿山迹地进行有效治理,改善生态环境,一直是人们探索的主题。为此,研究
一种教育诞生于一种文化之中,芳草地国际学校60年的发展历程滋养了芳草文化,也正是这茵茵荣融的芳草文化孕育了今天的“芳草教育”。北京市朝阳区芳草地国际学校,地处芳草地,
<正>精准发现顶风违反中央八项规定精神行为,是深化纠正"四风"的起点和基础,近年来,四川省各级纪检监察机关深化"纪检监督+群众监督+舆论监督"一体化监督模式,对"四风"问题露
目的探讨适应性支持通气(ASV)在慢性阻塞性肺疾病急性加重期(acute chronic obstruc-tive pumonary disease,AECOPD)Ⅱ型呼吸衰竭患者中的临床意义。方法选择AECOPDⅡ型呼吸衰竭