APP下载

基于深度学习的自适应苹果图像多缺陷检测

2024-02-15胡天浩高秀敏华云松蔡丽君

关键词:局部苹果精度

胡天浩,高秀敏,华云松,蔡丽君

(上海理工大学 光电信息与计算机工程学院,上海 200093)

目前,国内苹果分选仍以人工操作为主,其缺点是人工成本高、效率低[1]。国内外学者对苹果缺陷视觉检测做了大量研究。项辉宇等[2]通过图像识别与深度学习相结合,运用卷积神经网络CNN和支持向量机SVM完成苹果缺陷检测;薛勇等[3]利用GoogleNet深度迁移模型实现检测;Fan等[4]采用基于卷积神经网络(CNN)的深度学习架构和经济高效的计算机视觉模块,训练和测试了基于CNN的分类架构,测试集的准确性、召回率和特异性分别为96.5%、100.0% 和92.9%。上面文献均未对苹果缺陷种类进行详细分类,缺陷特征也阐述较少。上述文献均未对苹果缺陷种类进行详细分类,缺陷特征也阐述较少。

传统苹果图像缺陷检测算法大多针对碰伤、腐烂等大型缺陷进行检测,对小炭疽点这类缺陷往往存在误检或漏检,同时检测精度低,很难实现缺陷分类,如何解决成为苹果图像缺陷检测领域的重点关注问题。

目前主流目标检测模型有Faster R-CNN[5]、OverFeat[6]、YOLO[7]算法等,这些主流算法中,YOLO算法具有检测速度快和检测精度高的特点,已得到广泛应用。YOLO算法中的YOLOV5因其具有模型尺寸小、部署成本低、灵活性高、检测速度快、检测精度高的优点,在目标检测领域中被广泛应用,但其下采样率过大、SSD一阶算法缺乏特征融合的缺点,使其在小目标检测领域表现欠佳,检测速度和检测精度也很难兼顾。

基于以上苹果缺陷检测的现状,本文提出一种ACE-YOLO自适应局部图像检测算法,先确定检测区域,引入通道注意力机制[8],将算力集中到该检测区域,利用图像增强[9]强化缺陷细节,通过在模型中增加小目标检测层[10],解决检测速度与精度平衡问题。

1 ACE-YOLO自适应局部图像检测算法

1.1 YOLOV5L网络架构

YOLOV5[11]一共有4种模型(S,M,L,X),根据不同的检测目标大小以及不同应用场景进行划分,4种模型的整体网络架构均一样,但采用的检测深度和宽度不同。深度和宽度较低的模型检测精度低,而深度和宽度较高的模型检测速度上没优势,兼顾到检测精度和速度,本文基于YOLOV5L模型进行改进,其网络架构图如图1所示,整个网络结构主要由3个部分组成。

图1 YOLOV5网络架构图

1) Backbone(特征提取骨干):该部分由Focus结构与CSP结构组成。Focus结构是图片进入Backbone前,对图片进行切片操作。CSP结构先将基础层特征映射划分为两部分,然后通过跨阶段层次结构将它们合并,在减少计算量的同时可以保证准确率。

2) Neck(特征融合): 采用FPN+PAN的结构。FPN是自顶向下的,将高层的特征信息通过上采样的方式进行传递融合,得到进行预测的特征图。PAN是借鉴图像分割领域PANet的创新点,使下采样时更利于分割。

3) Head(输出端):Head端对图像特征进行预测,生成边界框并预测类别。

1.2 程序流程

传统的检测方法是对输入的原始图像进行整张处理,导致计算机算力的大量浪费,本文由于只处理苹果上重点区域的图像,因此,检测速度与检测精度均有大幅提升,系统整体程序流程图如图2所示。

图2 系统整体程序流程图

检测过程具体步骤如下:

步骤一,输入一张原始图像,利用神经网络判定原始图像中是否含有苹果,若有,则记录苹果在图像中具体位置;若无,则结束,继续输入下一张待检苹果图像。

步骤二,使用ACE图像增强算法对苹果区域的图像进行处理,同时使用模糊算法,剔除背景因素的干扰,再重构图像。

步骤三,将带有苹果缺陷的图像增强后,送入带有小目标检测层的框架,完成苹果多缺陷的检测,并标记出缺陷的种类与位置,以预测框的形式输出。

1.2.1 深度学习获取包含待检苹果最小方框图

通常来说,苹果图像在原始图像中占比是不大的,在直接对原始图像检测时,会包含大量背景信息,容易造成计算机资源的浪费以及增加检测时间。本文利用神经网络确定原始图像中苹果轮廓的坐标区域,再对此局部进行处理,有效地缩短了检测时间,具体方式如下:

先是将一张未经处理的图片在输入端转化为图像大小为608*608的图片,并进行归一化等操作,使用Mosaic数据增强操作提升模型的训练速度和网络的精度,再将处理过的图像以Focus结构为主体的基准网络,用于提取苹果的特征(注意:此时提取的特征仅仅是苹果的框图以及苹果在整个图像上的位置信息,并不包含苹果的缺陷)。此时记录下苹果的坐标信息,便于后续实现在此区域的局部图像增强,之后利用Neck网络进一步提升特征的多样性及鲁棒性,最后从Head输出端完成目标检测结果的输出,并将记录的苹果的坐标信息保存在txt格式中。

1.2.2 ACE算法实现苹果局部信息增强

将获取的包含待检苹果的最小方框图利用ACE(adaptive contrast enhancement)算法[12]进行图像增强,以便将主要计算机算力集中到增强部分,具体实现细节如图3所示。

图3 ACE算法流程图

ACE算法具体步骤:

第一步,对彩色图像的R,G,B通道的信息分别进行处理,求解每一个像素点的R(x)值,其中sα(t)为坡度函数,它对小的差异有着较大的放大作用,对于大的差异也能有不错的效果,能够根据局部内容来扩展或者压缩动态范围,具体公式为

(1)

式中:Ω为缩放强度值,其阈值为[0,1]之间;sα为坡度函数;I(x)-I(y)为两像素点之差;‖x-y‖为两像素点之间的距离。

第二步,利用公式(2)将R(x)扩展到[0,1]之间,使通道得到增强,第二步y∈Ω,y≠x得到全局白平衡,具体公式为

(2)

式中:L(x)为全局白平衡,Rmin为局部最小值,Rmax为局部最大值。

最后为求解最优化问题,ACE算法可以看做是对规范的直方图均衡化方法的一种平滑和局部修正的方法,公式为

(3)

式中:ω(x,y)为两像素点距离的倒数,M为Rmax。

1.2.3 小目标检测层框架及改进

YOLOV5网络因为过大的下采样率、过大的感受野、语义与空间的矛盾、SSD一阶算法缺乏特征融合等特性致使在小目标检测领域一直表现不是很好。小目标检测层进行设计时,需要尽可能解决上述的4点问题,在小目标检测层的设计上采用了PPM (pyramid pooling module)金字塔池化模型[13],该模型可以尽可能地利用全局的上下文信息,对于解决上述问题有很大帮助,PPM模型的框架如图4所示。

(a)特征图 (b)金字塔池化图4 PPM模型框架

图4(a)为特征图,图4(b)为PSPNet的特征融合部分。对于图像经过backbone得到的feature map,分别对其进行池化操作,得到尺寸分别为1×1、2×2、3×3、6×6的特征图,然后使用1×1卷积把通道裁剪成原本的1/4,再分别上采样成原先的特征图尺寸,利用concat函数和特征图融合后得到新特征图。

小目标检测层改进方式如下:

第一步,修改Anchor设置。在这一部分主要是增加了一组Anchor,对于不同的数据集,不同大小的检测目标,类似于苹果缺陷这样的小目标而言,需要将Anchor的值在对检测速度影响不大时尽量调小,才能使检测精度增加。

第二步,修改检测头部。在这一部分中,主要是对几个操作层进行了优化与改进,在17层后,重复对特征图进行上采样,对于特征图的细节进行进一步暴露,同时在20层时,将此时获取到的160×160大小的特征图与第2层时的特征图进行concat融合,从而获得更大细节更多的特征图。在第31层后,增加小目标检测层,一共使用4层[21, 24, 27, 30]进行小目标特征检测。在增加检测层后,主要的问题是计算变为更加复杂了,表现在检测时,推理的速度有所降低。不过对于小目标,有很好的改善。同时,得益于对有用细节的局部图像的增强以及对无用信息的模糊化处理,检测速度变慢的趋势并不是很明显。

2 实验与分析

2.1 数据集的获取与制作

开源数据集中的苹果缺陷种类、像素、分辨率等很难达到研究要求,故用160个缺陷苹果制作数据集,在保证光源及相机不变的情况下,旋转苹果,对每个苹果的不同角度进行拍摄,共获得1 600幅图像,随机以8∶1∶1比例制作1 280幅训练集,160幅验证集,160幅测试集。利用lableimg图像标注工具对数据集进行手动标注,缺陷分为14类,标注具体类型、数量及其占比见表1。表1中共标注出果梗、果脐等苹果基本信息6 327个(果脐3 126个,果梗3 201个),14种缺陷总计11 064个。

表1 缺陷类型与数量及其占比

2.2 局部图像增强及背景模糊实验

本文采用4种彩色图像算法增强进行实验,其中非物理模型方法3种:CLAHE、MSRCR、ACE;物理模型1种:DCP算法,图5是4种模型处理结果的对比。

(a) 原图

由图5可见,采用基于物理模型的DCP算法处理结果最差,结果中苹果亮度虽然有所提升但色偏严重,局部信息表现不清楚,色偏导致检测精度更不准确;采用MSRCR算法和CLAHE算法模型处理的结果存在相同的问题,两者的对比度虽然均有提升,但色偏问题仍然没能得到有效解决,同时增强后图像偏暗;采用ACE算法模型处理的结果最好,亮部与暗部区域细节对比最为自然,色偏也基本消失,整体图像亮度也有提升,对于苹果缺陷信息的保留与增强均有优势。

图6为局部图像增强以及背景模糊后的6种不同苹果缺陷图像。

(a) 背景模糊前

图6是利用深度学习找出苹果轮廓在图像中的坐标信息,采用ACE算法对该坐标进行局部增强,同时对图像中背景采用模糊算法模糊化后的对比图像。对比图6中的(a)、(b)可知,(b)图黑色背景已经明显地被模糊化了,检测时不必再浪费算力在背景上,因此大大减少了检测时间。图6(b)中的6张图像,无论在亮度、对比度、饱和度、色调等方面均表现良好,对苹果缺陷细节方面展示也较其他算法更优异,在满足检测需求的要求下,也能更好地提升检测精度。

2.3 不同算法检测结果对比

2.3.1 性能评价指标

为了验证不同算法对苹果缺陷检测性能的影响,在此引入了2个重要的评价指标,平均精度AP(average precision)和平均精度均值MAP(mean average precision)。P-R曲线通常被用作信息提取,P-R曲线的横坐标代表查全率,也就是真正率,纵坐标代表查准率,代表的是正例样本所占比例。P-R曲线可以用来评估模型性能,判定不同模型性能比较权威。而AP是计算P-R曲线所覆盖的面积,也是用于评判该模型算法好坏指标之一,MAP则是对所有类别中的AP进行平均后得到的:

P=TP/(TP+FP),

(4)

R=TP/(TP+FN),

(5)

(6)

(7)

式(4)中:TP(ture positive)为模型预测为正类的正样本数量,FP(false positive)为被模型预测为正类的负样本数量;式(5)中FN(false negative)为被模型预测为负类的正样本数量;式(6)中p(r)为P-R曲线;式(7)中m为检测目标种类数量。

2.3.2 不同模型的性能对比

本文在验证不同模型的性能时,仅设置模型的种类为变量,其他条件均相同。在进入检测模型之前,送检的图像均为经ACE彩色图像局部增强及背景模糊化处理后的图像,保证对不同模型性能评估的公正性。在本节中,采用了上述P-R曲线、MAP指标、FPS(检测帧率)、检测时间4个维度评估模型的性能。本文共与8个比较经典模型的小目标检测进行了对比,其分别为YOLOV5中的middle模型和large模型,两者区别为large模型的宽度和深度都比middle大,但检测时间也相对较长;Faster R-CNN 模型;SSD 模型;CBAM-YOLOV5模型;CA-YOLOV5模型;SE-YOLOV5模型;添加小目标检测层的YOLOV5L模型,表2为各模型性能指标对比。

表2 9种模型性能指标对比

由表2可看出,在检测精度上表现最差的为SSD模型,其检测速度逊于Faster R-CNN模型,检测帧率高于Faster R-CNN模型,不过两者都达不到缺陷检测要求;得益于较窄的宽度与较浅的深度,检测速度最快的为YOLOV5(M),但它在检测精度以及检测帧率上的表现却是这几个模型之中最低的,达不到缺陷检测的要求;YOLOV5(L)因在宽度与深度上均有加深,其MAP相较于YOLOV5(M)有所提升,但也随着宽度与深度的加深导致检测速度也有所增加,不过仍然无法达到缺陷检测需求;引入CBAM、CA、SE注意力机制的YOLOV5L模型,3种注意力机制加入并没有使其检测精度有明显的提升,说明是否施加注意力机制并不会影响检测精度,由于注意力机制的引入,对计算机算力调用变得合理了,内存占用相较于未施加注意力机制前减少了接近17个百分点,FPS也有着一定的提升;采用带有小目标检测层的ACE-YOLO在所有模型中检测精度是表现最好的,不过由于小目标检测层设计时需要对图像进行分割的特性,导致检测时间也是较长的,不过对于大幅提升的检测精度,246 ms的检测时间也是能够接受的。

图7为ACE-YOLO(带有小目标检测层)并添加CA注意力机制的检测结果。

图7 ACE-YOLO检测结果

带有小目标检测层的ACE-YOLO模型无论是对炭疽这种比较大的缺陷亦或是对黑点这种小缺陷都有着良好的表现,通过对FN与TP的统计与计算,漏检情况仅有0.4%,该漏检产生的原因是由于在局部增强时产生色偏,导致在检测时有着误判,不过该误判率很低,在能够接受范围之内。

图8为带有小目标检测层ACE-YOLO模型的P-R曲线,该曲线表示苹果自身、果梗、果脐以及其余14种缺陷的检测结果。

图8 ACE-YOLO模型的P-R曲线

图8对炭疽缺陷检测效果较差。分析后,发现原因如下:(1)由于苹果自然生长,以及在采摘时沾染泥土,导致检测时误判;(2)在图像增强时产生色偏,导致检测结果降低;(3) 样本量太少,由于2022年雨季时间的减少,炭疽病发病率低,在本文研究的这一批苹果样本中,炭疽缺陷个数仅有135个,占缺陷信息量的1.2%。

图8显示,该模型的平均检测精度仍然达到了95.2%,在小目标检测方面表现优异。

3 结束语

本文提出的基于深度学习的ACE-YOLO自适应局部图像检测算法,有效地解决了苹果检测中小缺陷识别困难的问题,通过局部图像处理技术,在放大苹果缺陷细节的同时,也规避了一些环境干扰因素,利用改进传统的网络结构,在模型中增加小目标检测层,并引入了通道注意力机制,合理调用计算机算力,达到检测精度与检测时间的平衡。实验结果表明,该方法具有较好的苹果缺陷检测效果。

猜你喜欢

局部苹果精度
局部分解 巧妙求值
非局部AB-NLS方程的双线性Bäcklund和Darboux变换与非线性波
基于DSPIC33F微处理器的采集精度的提高
收获苹果
拿苹果
局部遮光器
吴观真漆画作品选
GPS/GLONASS/BDS组合PPP精度分析
会说话的苹果
改进的Goldschmidt双精度浮点除法器