计算机系统应用  2020, Vol. 29 Issue (6): 271-275   PDF    
深度迁移学习在紫茎泽兰检测中的应用
蒋毅1, 耿宇鹏2, 张俊华1, 王嘉庆1, 宋颖超1     
1. 云南大学 信息学院, 昆明 650500;
2. 云南大学 生态学与环境学院, 昆明 650091
摘要:紫茎泽兰作为中国遭受外来物种入侵的典型例子, 其对生态环境多样性造成严重破坏, 影响农林业经济的发展. 紫茎泽兰检测作为整个防治过程中的初始阶段和监控阶段, 其检测精度会对防治结果造成影响. 针对紫茎泽兰这一类复杂背景叶片图像的目标检测问题, 本文提出一种基于YOLOv3的迁移学习方法来实现紫茎泽兰的检测. 将深度学习模型YOLOv3迁移到紫茎泽兰数据集上, 用K均值算法进行维度聚类确定目标框参数; 在训练过程中改变损失函数中各类损失的权重, 增加模型对数据集的适应性. 实验结果表明, 在紫茎泽兰检测任务中, 平均精度(Average Precision, AP)相较于原YOLOv3提高了17%, 能够满足复杂背景下的紫茎泽兰检测任务.
关键词: 紫茎泽兰检测    YOLOv3算法    目标检测    深度学习    迁移学习    
Application of Deep Migration Learning in Detection of Eupatorium Adenophorum
JIANG Yi1, GENG Yu-Peng2, ZHANG Jun-Hua1, WANG Jia-Qing1, SONG Ying-Chao1     
1. School of Information Science & Engineering, Yunnan University, Kunming 650500, China;
2. College of Ecology and Environment, Yunnan University, Kunming 650091, China
Foundation item: National Natural Science Foundation of China (61841112, 31660057)
Abstract: As a typical example of China’s invasion of alien species, Eupatorium adenophorum causes serious damage to the ecological environment and affects the development of agro-forestry economy. Eupatorium adenophorum detection as the initial stage and monitoring stage of prevention and control, its detection accuracy will affect the control results. Aiming at the target detection problem of the complex background leaf image of Eupatorium adenophorum, this study proposes a migration learning method based on YOLOv3 to detect Eupatorium adenophorum. The deep learning model YOLOv3 was migrated to the E. adenophorum data set, and the K-means algorithm was used to perform dimensional clustering to determine the target frame parameters. The weight of various losses is changed in the loss function during training, and the adaptability of the model is increased to the data set. The experimental results show that Average Precision (AP) is 17% higher than that of the original YOLOv3 in the detection task of Eupatorium adenophorum, which can meet the detection task of Eupatorium adenophorum under complex background.
Key words: Eupatorium adenophorum detection     YOLOv3 algorithm     target detection     deep learning     migration learning    

紫茎泽兰作为一种世界性恶性杂草, 在20世纪40年代从中缅边境传入中国[1], 大约以每年10–30公里的速度向北和东扩散. 紫茎泽兰的入侵性和生态适应性极其强大, 能通过化感物质的释放抑制周围其它植物的生长, 快速发展成为单优群落[2]. 排斥群落里其它植物生长与演替, 破坏生物多样性, 影响林业景观, 危害畜牧业发展, 造成巨大的经济损失[3]. 紫茎泽兰入侵牧地3年便能够使牧草丧失放牧能力, 家畜误食容易导致其中毒死亡[4]. 紫茎泽兰在我国的入侵形式十分严峻, 需采取有效的防治措施来减缓甚至消除紫茎泽兰的入侵. 现在常用的防治方法有人工防除、化学防除和生物防除, 紫茎泽兰检测作为这些防治方法的重要阶段, 而紫茎泽兰检测作为防治效果反馈的重要阶段, 紫茎泽兰检测的有效性显得至关重要.

复杂背景下的紫茎泽兰检测属于目标检测问题, 传统目标检测方法的滑动窗口区域选择策略没有针对性, 时间复杂度高, 鲁棒性差, 精度低. 基于深度学习的目标检测方法能够自动提取特征从而有效解决特征提取模板针对性不强的问题[5], 已经获得越来越多学者的青睐. 第一个基于深度学习的目标检测算法R-CNN[6]被Girshick等提出, 在VOC07数据集上平均精度的均值(mean Average Precision, mAP)由原来的34.3%提升到66%. Girshick和Ren等分别提出了Fast R-CNN[7]和Faster R-CNN[8]算法, mAP值提高大约6%, 检测系统的运行速度高达5 fps, 相较于R-CNN提高了10倍之多. 随后, Liu等提出了SSD[9]检测算法, Redmon等提出了YOLO的一系列算法: YOLOv1[10]、YOLOv2[11]、YOLOv3[12]. 其中, YOLOv3检测效果更好, 在COCO数据集上mAP为57.9%, 时间为51 ms,相较于其它目标检测算法, 在保证精度的同时具有更快的速度.

YOLOv3的高效性, 得到越来越多学者的喜爱, 并将其应用到各个领域. 如李睿等[13]将其用于手腕骨骨龄评价; 李斌等[14]将其用于无人机检测; 林俊等[15]将其用于安全帽检测等, 由此可见YOLOv3算法的受关注程度.

迁移学习是一种运用已有知识对不同但相似的领域问题进行求解的机器学习方法[16], 与传统的机器学习方法相比, 迁移学习能解决训练样本不足问题、满足数据集测试集服从不同分布情况、将训练得到的模型在不同的任务之间进行迁移和共享[17]. 迁移学习与深度学习的结合, 保证了深度学习模型精度, 同时还发挥了迁移学习快速分类的优势, 且降低了训练样本和硬件设备的要求. 近年来深度迁移学习方法已经应用到自然语言和图像处理等方面, 并取得了不错的成果.

本文采用基于YOLOv3的迁移学习方法将深度学习模型YOLOv3迁移到紫茎泽兰数据上, 对迁移的YOLOv3模型微调, 并更新损失函数中各类损失的权重. 实验结果表明, 在紫茎泽兰检测任务中, 测试的平均精度(Average precision, AP)相较于YOLOv3提高了17%, 能够满足复杂条件下的紫茎泽兰检测任务.

1 YOLOv3模型

YOLOv3使用的网络结构为Darknet53, 一共有53个卷积层. YOLOv3的网络结构如图1所示.

图 1 YOLOv3网络结构图

Darknet53网络中包含大量3×3和1×1的卷积层, 这些卷积层通过取代原来的池化层的方式来避免特征信息的丢失. 除此外, YOLOv3根据残差学习的思想, 在网络中加入了大量的残差块, 避免网络层数加深带来的在训练过程中产生的梯度爆炸现象. YOLOv3网络最后一层采用多个独立的逻辑斯谛回归分类器进行分类, 实现多目标分类问题.

在卷积神经网络中, 浅层的特征具有丰富的细节和定位信息, 如纹理、颜色、形状等, 深层的特征具有丰富的语义信息. 对于位置预测需要浅层特征信息, 而类别预测需要深层特征信息, YOLOv3采用多个尺度特征融合的思想来进行预测, 对特征图进行降采样和上采样操作, 实现多尺度特征图的位置和类别预测, 提高目标检测准确率. 多尺度特征预测过程为: 输入一张图片, 经过一系列卷积操作, 卷积网络在79层后, 经过卷积操作得到一种尺度的预测结果, 用于检测相对输入图像32倍下采样的特征图. 为了实现细粒度的预测, 第79层的特征图通过卷积作上采样, 然后与61层特征图融合, 得到第91层较细粒度的特征图, 同样经过几次卷积操作后得到相对输入图像16倍下采样的特征图. 最后, 第91层特征图通过卷积作上采样, 并与第36层特征图融合, 得到相对输入图像8倍下采样的特征图. 这3种融合得到的特征图进行卷积操作后用于位置和类别的预测.

YOLOv3算法通过K均值聚类方法对数据集中的目标框进行聚类, 得到9种不同大小的锚点框, 然后将他们均分到3种尺度的特征图上, 用于不同尺度的特征图的提取.

YOLOv3的网络结构、聚类方法以及多尺度特征预测使其在检测准确度和检测速度上取得较好的效果, 且相较于其他的目标检测方法效果更佳, 在COCO数据集下与其他网络的性能对比如表1所示.

表 1 YOLOv3与其他网络性能对比

2 基于YOLOv3的改进 2.1 基于YOLOv3的模型迁移

迁移学习方法能够实现相似或相关领域间的复用和迁移, 使传统的零基础学习变成有积累学习, 能够降低模型训练开销, 提高深度学习效果. 本文提出的基于YOLOv3的迁移学习方法属于基于网络的深度迁移学习方法, 将深度学习模型YOLOv3迁移到紫茎泽兰数据集上, 对迁移学习训练模型微调, 采用K均值聚类算法进行维度聚类, 确定目标框参数. 通过维度聚类获得的9组先验框维度分别为(100,108), (144,141), (162,209), (212,164), (242,237), (260,335), (338,271), (373,378), (399,413). 将这9组先验框维度分别均分到3种尺度的特征图上, 分配上, 13×13特征图上有最大的感受野, 应用较大的先验框, 中等特征图应用中等先验框, 较大的52×52特征图上应用较小的先验框, 此分配能够获取更多的目标边缘信息.

2.2 损失函数改进

损失函数是模型预测值与真实值之间的误差, 是决定网络效果的重要参数之一. YOLOv3的损失函数包括边界框损失、置信度损失和分类损失, 损失值越小说明模型的鲁棒性越好, 损失函数如式(1)~式(3).

(1)目标框损失

$ \begin{array}{l} LOS\!S1 = \left\{ \begin{array}{l} \displaystyle\sum\limits_{i = 0}^{\mathop s\nolimits^2 } {\displaystyle\sum\limits_{{{j}} = 0}^B {\mathop I\nolimits_{ij}^{\rm obj} } } \left[ {\mathop {\left( {\mathop \chi \nolimits_i - \widehat {\mathop \chi \nolimits_i }} \right)}\nolimits^2 + \mathop {\left( {\mathop y\nolimits_i - \widehat {\mathop y\nolimits_i }} \right)}\nolimits^2 } \right] \\ \displaystyle\sum\limits_{i = 0}^{\mathop s\nolimits^2 } {\displaystyle\sum\limits_{{{j}} = 0}^B {\mathop I\nolimits_{ij}^{\rm obj} } } \left[ {\mathop {\left( {\mathop \omega \nolimits_i - \widehat {\mathop \omega \nolimits_i }} \right)}\nolimits^2 + \mathop {\left( {\mathop h\nolimits_i - \widehat {\mathop h\nolimits_i }} \right)}\nolimits^2 } \right] \\ \end{array} \right. \\ {\kern 1pt} \quad \; \\ \end{array} $ (1)

(2)置信度损失

$ \begin{array}{l} LOS\!S2 = {\kern 1pt} \left\{ \begin{array}{l} \displaystyle\sum\limits_{i = 0}^{\mathop s\nolimits^2 } {\displaystyle\sum\limits_{{{j}} = 0}^B {\mathop I\nolimits_{ij}^{\rm obj} } } \mathop {\left( {\mathop c\nolimits_i - \widehat {\mathop c\nolimits_i }} \right)}\nolimits^2 \quad \quad \quad \\ 0.5\times\displaystyle\sum\limits_{i = 0}^{\mathop s\nolimits^2 } {\displaystyle\sum\limits_{{{j}} = 0}^B {\mathop I\nolimits_{ij}^{{\rm{noobj} }}} } \mathop {\left( {\mathop c\nolimits_i - \widehat {\mathop c\nolimits_i }} \right)}\nolimits^2 \\ \end{array} \right. \\ {\kern 1pt} \quad \; \\ \end{array} $ (2)

(3)分类损失

$ LOS\!S3 = \displaystyle\sum\limits_{i = 0}^{\mathop s\nolimits^2 } {\mathop {\left( {\mathop p\nolimits_i (c) - \widehat {\mathop p\nolimits_i }(c)} \right)}\nolimits^2 } $ (3)

式中, s为图像的划分系数, n为每个网络中所预测的边界框个数, C为总分类数, p为类别概率, c=0,1,···,C为类别序号, xiyi分别为第i个格中的边界框中心点横、纵坐标, wihi分别为第i个格中的边界框的宽度和高度.

YOLOv3损失函数中的3类损失每一类损失对网络的影响均不同, 为寻求最优的损失函数来增强YOLOv3迁移学习方法在紫茎泽兰数据集上的适应性, 在训练过程中需要不断改变损失函数中各类损失的权重, 并通过测试的AP值来验证边界框损失、置信度损失和分类损失对紫茎泽兰数据集的影响, 从而找到最佳的损失函数.

3 实验 3.1 实验数据

实验数据采集地在云南, 图片因拍摄角度、时间、地点不同而具有不同的角度、不同的曝光率和背景, 属于一类复杂背景的图像数据集, 这样的数据集用来训练模型更具有代表性, 鲁棒性更强. 为避免错误、重复和模糊图片, 对数据集进行筛选, 根据VOC和COCO数据集的图像标注方法使用Lableimg工具对图像进行人工标注, 产生训练所需要的XML文件. 本实验训练集有11 931张, 按照9:1的比例分成训练集和验证集; 测试集有670张, 为了验证方法的有效性, 测试集里边除了复杂背景的紫茎泽兰图片外, 还有一些其它的植物图片. 部分训练集和测试集图片如图2图3.

图 2 部分训练集样本

图 3 部分测试集样本

图2中4幅子图均为紫茎泽兰图像, 图3(b)图3(c)为紫茎泽兰图像, 图3(a)图3(d)为其它种类的植物叶片图像.

3.2 评价指标

紫茎泽兰的检测精度越高, 误检和漏检的可能性越小, 且检测精度能够直观地看出网络检测结果的有效性, 紫茎泽兰属于单目标检测, AP作为单类目标检测算法的标准评价指标, 能够验证改进的YOLOv3模型的有效性和可靠性. AP的定义为: 以紫茎泽兰的召回率为横坐标, 准确率为纵坐标, 绘制出一条P-R曲线, 曲线下的面积即为AP. 准确率和召回率的定义如下:

准确率:

$ precision(classes) = \frac{{TP}}{{TP + FP}} $ (4)

召回率:

$ recall(classes) = \frac{{TP}}{{TP + FN}} $ (5)

在式(4)和式(5)中, TP代表识别出紫茎泽兰的数量, FP代表将其它植物识别成紫茎泽兰的数量, FN则代表没有识别出紫茎泽兰的数量.

3.3 实验结果分析

损失函数作为网络模型的重要组成部分, 对网络的性能具有巨大的影响, 本文为了增强基于YOLOv3的迁移模型的适应性, 对YOLOv3网络的损失函数做出调整, 主要对损失函数的各类损失权重进行更新, 更新各类损失权重得到的测试精度如图4所示.

图 4 更新权重后的测试精度

图4中, 图中横坐标中的5个值分别代表分类损失的权重, 纵坐标表示AP. 横坐标数字1所在的第一个纵列表示固定置信度损失权重和分类损失权重, 不断增大坐标框损失权重, 从中可以看出, 增大坐标框损失权重对测试精度的影响较小, 最高增长量不到5%; 从整体上看, 当逐渐增大置信度损失权重和分类损失权重时, 测试精度呈现出上升趋势, 当置信度损失权重和分类损失权重均为均为4时测试精度达到了最大值67.22%, 当两者权重继续增大时测试精度开始呈现出下降趋势. 通过对比分析可得坐标框损失、置信度损失、分类损失的权重分别为1、4、4倍.

以误检率(FP)和识别出的紫茎泽兰个数(TP)作为评价指标, 实验结果如表2所示.

紫茎泽兰测试集图片标注目标一共有2033个, 由表2可以看出, 本文所提出的基于YOLOv3的迁移学习方法相较于Faster R-CNN, 无论是误检个数还是正确识别个数都要比Faster R-CNN算法好得多, 更新损失权重后的误检个数虽然略有提高, 但是正确识别出的个数大大增加, 说明了基于YOLOv3的迁移学习算法以及权重更新在紫茎泽兰数据集检测上的有效性.

表 2 TPFP对比

以AP和检测一张图片的时间作为检测效果评价指标, 结果如表3所示.

表 3 检测精度对比

从实验结果可以看出, YOLOv3目标检测算法的鲁棒性更好, 使用范围更广. 改进的YOLOv3算法的AP值最高, 且检测速度比Faster R-CNN算法快约90倍. 张帅等[18]使用分层卷积深度学习系统对植物叶片进行识别, 其单一背景下的图片识别率高达91.11%, 但复杂背景下的图片识别率为34.38%. 由此可见, 在紫茎泽兰这一类复杂背景下的数据集下, 基于YOLOv3的迁移模型能够同时兼顾检测准确率和检测速度, 能够较好的完成紫茎泽兰的检测任务.

4 结论与展望

紫茎泽兰入侵已严重影响我国生态环境的多样性以及农林业畜牧业的发展, 现已采取了很多防治措施, 紫茎泽兰检测作为防治措施的关键步骤, 实现紫茎泽兰的有效检测至关重要. 而本文提出的基于YOLOv3模型的迁移学习方法的紫茎泽兰检测, 是目标检测算法的一种拓展应用, 在复杂背景下AP值相比原YOLOv3模型提高了17%, 已基本能够满足紫茎泽兰检测任务.

参考文献
[1]
宋紫玲, 彭明俊, 王崇云, 等. 紫茎泽兰入侵滇中不同森林群落的特征. 生态学杂志, 2019, 38(9): 2630-2637.
[2]
李霞霞, 张钦弟, 朱珣之. 近十年入侵植物紫茎泽兰研究进展. 草业科学, 2017, 34(2): 283-292. DOI:10.11829/j.issn.1001-0629.2016-0194
[3]
夏光旭, 成凯. 紫茎泽兰传入赫章县危害的风险分析. 安徽农业科学, 2017, 45(2): 170-173. DOI:10.3969/j.issn.0517-6611.2017.02.056
[4]
黄振, 郭琼霞. 检疫性杂草紫茎泽兰的形态特征、分布与危害. 武夷科学, 2017, 33(1): 113-117.
[5]
董本志, 聂丽郦, 景维鹏, 等. 基于Faster R-CNN的榆紫叶甲虫识别方法研究. 计算机工程与应用, 2018, 54(23): 89-93, 108. DOI:10.3778/j.issn.1002-8331.1806-0224
[6]
Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation. 2014 IEEE Conference on Computer Vision and Pattern Recognition. Columbus, OH, USA. 2014. 580–587.
[7]
Girshick R. Fast R-CNN. 2015 IEEE International Conference on Computer Vision. Santiago, Chile. 2015. 1440–1448.
[8]
Ren SQ, He KM, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149. DOI:10.1109/TPAMI.2016.2577031
[9]
Liu W, Anguelov D, Erhan D, et al. SSD: Single shot MultiBox detector. Proceedings of the 14th European Conference on Computer Vision. Amsterdam, the Netherlands. 2016. 21–37.
[10]
Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection. Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA. 2016. 779–788.
[11]
Redmon J, Farhadi A. YOLO9000: Better, faster, stronger. 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, HI, USA. 2017. 6517–6525.
[12]
Redmon J, Farhadi A. YOLOv3: An incremental improvement. IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT, USA. 2018. 89–95.
[13]
李睿, 张世杰, 黄奥云, 等. 基于深度学习的青少年手腕骨骨龄评价. 计算机技术与发展, 2020(1): 1–6. http://kns.cnki.net/kcms/detail/61.1450.TP.20190925.1523.058.html. [2019-10-08].
[14]
李斌, 张彩霞, 杨阳, 等. 复杂场景下深度表示的无人机目标检测算法. 计算机工程与应用, 1–7. http://kns.cnki.net/kcms/detail/11.2127.TP.20190916.1003.002.html. [2019-10-08].
[15]
林俊, 党伟超, 潘理虎, 等. 基于YOLO的安全帽检测方法. 计算机系统应用, 2019, 28(9): 174-179. DOI:10.15888/j.cnki.csa.007065
[16]
Cook D, Feuz KD, Krishnan NC. Transfer learning for activity recognition: A survey. Knowledge and Information Systems, 2013, 36(3): 537-556. DOI:10.1007/s10115-013-0665-3
[17]
Blackburn GA. Hyperspectral remote sensing of plant pigments. Journal of Experimental Botany, 2006, 58(4): 855-867. DOI:10.1093/jxb/erl123
[18]
张帅, 淮永建. 基于分层卷积深度学习系统的植物叶片识别研究. 北京林业大学学报, 2016, 38(9): 108-115.