APP下载

基于深度学习的蜜柚果树航拍图像检测

2021-11-20龙满生曾劲涛吴泽奇游伟坤张传河

关键词:蜜柚航拍果树

叶 青,龙满生,曾劲涛,2,吴泽奇,游伟坤,张传河

基于深度学习的蜜柚果树航拍图像检测

叶 青1,*龙满生1,曾劲涛1,2,吴泽奇1,游伟坤1,张传河1

(1.井冈山大学电子与信息工程学院,江西,吉安 343009; 2.江西省农作物生长物联网技术工程实验室,江西,吉安 343009)

精细化、智慧化是果园管理的必然发展趋势,其中果树位置信息是果园管理的重要数据。为了快速获取井冈蜜柚果树的位置,利用无人机航拍获取蜜柚果园的正射影像,提出了一种用于检测蜜柚果树目标的SSD改进算法。该算法将原SSD算法的主干网络VGG替换为VoVNet,提高了特征提取能力。对样本数据进行了裁剪处理,有效提高了算法检测小目标的能力。实验结果表明,蜜柚果树目标的平均检测精度达到92.6%。

图像识别;目标检测;深度学习;果园管理;无人机遥感

0 引言

现代果园管理正朝着精准化、智慧化方向发展,如通过精准施肥、精准喷药、精准灌溉等方式来降低生产成本、减少环境污染、提高果实产量和品质。果树的位置信息是果园精准化、智慧化管理的关键基础数据,对于水果产品溯源也具有重要支撑作用。井冈蜜柚是吉安市的主要农产品,种植规模大,亟需精准化管理来提升井冈蜜柚产量、品质与品牌。目前,果树位置信息主要依靠人工采集,存在效率低、成本高、时效性差等问题。无人机航拍技术的快速发展,为低成本、高效率地获取果园影像提供了有效手段。相比于传统的遥感监测技术,无人机具有灵活性大、使用方便、分辨率高、时效性强等特点。结合无人机航拍和目标检测技术,自动获取果树目标的位置信息,对建设智慧果园具有重要意义。

现有的基于无人机航拍图像的树木提取方法研究[1-2],多是基于传统的计算机视觉方法。随着深度学习技术的兴起,图像分类、图像检测等技术取得了巨大进步。基于深度学习技术的目标检测方法按检测过程可分为两类:一类是如R-CNN[3]、Fast R-CNN[4]等两阶段算法;另一类则是如Faster R-CNN[5]、YOLO[6]、SSD[7]、YOLOF[8]以及带有注意力区域生成网络RPN(Region Proposal Network)和多关系检测器的小样本目标检测网络[9]等单阶段算法。相较于两阶段算法,单阶段算法具有速度快的优势。SSD算法速度快,原始算法使用VGG[10]作为主干网络,对小目标的检测效果较差。我们利用无人机获取井冈蜜柚果园影像,对SSD算法进行改进后实现蜜柚果树目标检测。

1 蜜柚果树航拍图像收集与预处理

1.1 数据采集

蜜柚果园的影像数据采集于吉安市吉州区长塘镇的井冈蜜柚种植基地,共获得正射影像242张。采集设备为DJI Phantom 4 Pro V2.0四旋翼无人机,配备1英寸2000万像素影像传感器,镜头视场角FOV为84°,水平飞行速度5 m/s,飞行高度120m,天气晴朗,垂直拍摄,航向和旁向重叠度分别为80%和60%,图像尺寸为5472×3648像素。航拍图像中含有蜜柚果树、道路、建筑、杂草、土壤和水域等目标,如图1所示。利用可视化的图像标定工具LabelImg对航拍图像中的蜜柚果树等目标进行标记,标记结果保存为遵循PASCAL VOC格式的XML文件。

1.2 数据增强

为了避免模型出现过拟合,增加数据集的多样性,提高模型的鲁棒性,结合果园航拍实际情况,考虑到云层、光线、遮挡、飞行高度波动等因素,对航拍获得的原始图像数据进行以下方式的数据扩充:

1)饱和度扰动:将图像的饱和度通道乘以[0.5,1.5]之间的随机值;

2)色调扰动:向图像的色调通道增加[-18,18]之间的随机值;

3)对比度扰动:将图像的R、G、B通道乘以[0.5,1.5]之间的随机值;

4)亮度扰动:向图像的R、G、B通道增加[-32,32]之间的随机值;

5)颜色通道扰动:随机调换图像的两个颜色通道;

6)随机裁剪;

7)随机翻转。

1.3 图像裁切

单幅蜜柚航拍图像数据量高达6000万字节,直接作为深度神经网络的输入会导致巨大的计算量。由于拍摄高度较高,蜜柚果树目标只有几十像素大小,相对整幅图像而言属于微小目标。巨幅图像、少量样本和微小目标,均使得蜜柚果树目标检测任务变得异常困难。

王俊强等[11]尝试使用较大分辨率的图像作为输入,通过改进SSD算法在地物识别上取得了较好效果。然而,本研究所要检测的对象与图像尺寸相差太大,使用整幅图像作为输入的检测实验并没有取得理想效果。若将缩小的图像作为网络输入,则图像中的小目标会变得更小,加之网络含有下采样功能,检测小目标便难上加难。Adam Van Etten[12]的研究表明,缩小航拍图像后的检测效果不够理想。为了减少计算量和提高小目标检测效果,以512×512作为切割尺寸将原图像切割为小图像。切割前将输入图像的长宽补齐为512的倍数,保证所有数据都能派上用场。切割后,1张蜜柚果园图像便可分成88 张小图像。在裁切过程中,标记框的位置会发生变化,需要重新生成小图像的XML标记文件。

扬扬是从农村逃婚出来的,老家是回不去了,再说,也早就厌倦了不分白昼的那种色情味很重的工作环境,遇到这样一个有权有钱的帅气男人要养自己,十分乐意。很快,扬扬就住进了尹爱群为她购买的6 0平的小楼里,丰衣足食,每天就是等着尹爱群下班和她缠绵。

经过数据增强和图像裁切后,形成试验数据集,按照6:2:2的比例划分成训练集、验证集、测试集。

2 模型设计

SSD在YOLO单阶段检测的基础上,引入了对不同尺度的特征图进行卷积计算的机制,且同时借鉴了Faster R-CNN中的anchor思想,相比于Faster R-CNN算法在速度上有明显优势,相较于YOLO算法在精度上占优势。结合蜜柚果园航拍图像的特点,综合考虑检测速度和检测精度,对原SSD算法进行了系列改进,设计了蜜柚果树目标检测模型。

2.1 主干网络选择

原SSD算法的主干网络为VGG。相较于早期的网络模型,VGG结构非常简洁,整个网络使用了同样大小的卷积核尺寸(3×3)和池化尺寸(2×2),利用小尺寸的卷积替代了5×5、7×7的大卷积核。网络性能可以通过不断加深网络结构得到提升,但一味增加网络深度可能会导致网络精度降低,即所谓的退化现象[13]。于是ResNet[13]提出了短路连接的方法加强前后层之间的信息流通,解决了退化问题,从而可以将神经网络搭建得很深。基于ResNet发展出了各种各样性能更强的网络,如DenseNet[14]更为密集地连接每一层输入数据,每一卷积层的输入是将前面所有层的输入按通道拼接在一起得到的,从而实现特征重用,在参数和计算成本更少的情形下实现比ResNet更优的性能。

设计高效的深度卷积神经网络,需要考虑内存访问成本(Memory Access Cost,MAC)和GPU计算效率。MAC计算公式如下[15]:

MAC=hw(c+c)+kcc(1)

其中、、、cc分别为卷积核大小、特征高、特征宽、输入通道数和输出通道数。

卷积层的计算量可以表示为=2hwcc,代入上式并由均值不等式得:

由此可知,给定浮点运算速度FLOPS(floating-point operations per second),当输入和输出的通道数相同时MAC最小。

DenseNet含有大量1×1卷积,不能发挥GPU的最大计算能力,并且由于密集连接,每层的输入维度呈线性增长,导致该网络能耗较大,GPU计算效率低下[16]。VoVNet[16]是DenseNet的一个变体,对DenseNet因输入维度而导致计算效率低下的问题进行了优化。VoVNet提出了一种OSA(One-Shot Aggregation)模块,在每一个OSA模块内部,每层的输入输出通道数均相同,只在每个OSA模块向外输出时进行通道拼接及1×1卷积降维,大大减小了内存访问成本,提高了GPU计算效率。鉴于VoVNet具有良好性能,为了尽可能地减少参数量,我们选择使用VoVNet替代原SSD算法的主干网络VGG。

2.2 特征图与候选框优化

为了进一步减少计算量,对特征图和候选框设置进行了优化。分别选用OSA模块3、4、5的输出与OSA模块4、5的输出作为多尺度分析的输入,其余输入数据与原SSD算法一样,训练过程中损失值的变化情况如图 2 所示。由图可知,选用OSA模块4、5,不仅计算量小,效果也更好。

图2 OSA模块对训练损失的影响

原SSD算法的候选框长宽比设置为[3,2,1,1/2,1/3],而本数据集的候选框长宽比统计如图3所示。图中的一次函数直线从上到下分别为候选框长宽比[2,1/2],显然可以舍弃原SSD算法中的长宽比3、1/3。

图3 数据集的长宽比统计

对标记数据统计分析发现小目标居多,绝大多数目标的尺度在20×20像素到110×110像素之间,而原SSD算法采用的VOC数据集的目标尺度以及长宽比极为广泛。基于减少计算量考虑,为小目标分配较多的anchor,并使用与统计数据相符的尺度设置。实验中尝试了anchor51.2、anchor20和anchor50共3种尺度设置,分别为按原算法公式所得的[51.2, 122.88, 194.56, 266.24, 337.92, 409.6, 481.28]以及基于本数据集统计结果的[20, 85, 160, 235, 310, 385, 460]、[50, 80, 120, 190, 260, 330, 400],第一个的长宽比同原SSD算法设置,后两者的长宽比设置为[4,4,4,2,2,2]。图4显示了3种尺度设置下的训练损失,可见改进后的anchor设置达到了与原算法相当的效果。

图4 不同anchor设置下的训练损失

原SSD300算法的滑动步长stride为8、16、32、64、100、300,候选框有8732个,SSD512更是多达24564个,计算量巨大。改进的SSD算法的滑动步长stride为16、32、64、128、256、512,候选框5418个,大幅降低了计算量。改进后的网络模型如图5所示,包括1个阶段的茎块(stem block)、4个阶段的单次聚合模块(OSA module)、4个额外层(extra layer),模型将Stage 4、Stage 5和4个extra layer卷积获得的特征图进行边框回归与分类。Stage 2和Stage 3均由1个OSA block组成,Stage 4和Stage 5均由2个OSA block组成,每个OSA block由5个3×3的卷积层、1个连接层和1×1的卷积层组成。每个阶段之后均含有1个步长为2、核尺寸为3×3的最大池化层(max pooling layer),每个卷积层均由卷积、批规范化和ReLU组成。图5中,以“卷积核高度×卷积核宽度×输出通道数”表示卷积层的核心参数,如“conv:3×3×64”。

图5 改进的SSD模型结构

2.3 批量归一化

为了避免模型训练时出现梯度爆炸或梯度消失,加快收敛速度或提高收敛精度,通常需要对数据进行归一化处理。常用的数据归一化方法是标准差归一化,即数据的各维度减去均值再除以标准差,得到均值为0、方差为1的数据分布。白化则是先进行PCA操作以降低数据间的相关性,再进行标准差归一化。批量归一化(Batch Normalization)则是对参与训练的小批量样本逐层进行白化处理,以防激活值进入饱和区,从而大大加快训练速度,缺点是可能会破坏模型学习到的数据分布。深度学习的本质就是让模型学习数据的分布,如果盲目将各层的数据分布强行改为标准正态分布,并不一定能取得更好的效果。

VoVNet自带的BatchNormalize[17]层,可以更有效地对数据进行预处理,模型收敛更加迅速、效果更好。该方法引入了两个可学习的参数来调整归一化的输出值:

3 模型实验

3.1 参数初始化

早期的参数初始化方法普遍是对高斯分布采样,容易发生梯度消失问题。为了缓解梯度消失问题,Xavier Glorot提出了Xavier初始化方法[18]。Xavier只适用于线性激活函数,而目前的深度神经网络模型普遍使用非线性激活函数ReLU。本研究采用了何凯明针对ReLU激活函数提出的更为有效的Kaiming初始化方法[13]。

3.2 学习率调整策略

在模型训练初期,使用warmup预热策略[19]调整学习率,能有效提高模型的最终精度。在warmup策略提出来前,ResNet论文中曾指出使用0.1作为初始学习率会难以收敛,换成较小的学习率后模型更易于收敛。模型训练初期的学习率过大,会导致模型趋向于过拟合,需要大量后续训练以修正学偏的权重。warmup策略在训练初期采用较小的学习率以避免模型过拟合,迭代一定次数后再使用大小适中的学习率以加快收敛。在模型训练后期,需要调小学习率,以便模型能够稳定收敛。常用的学习率衰减策略如指数衰减、固定步长衰减、多步长衰减、余弦退火衰减等。本文采用固定步长衰减学习率,在[80000,100000]区间上迭代时将学习率调为0.0001,在[100000,120000]区间迭代时将学习率调为0.00001。

3.3 训练环境与参数

模型训练的环境:操作系统为Windows10,GPU为Nvidia GeForce GTX 1080 Ti(11 GB 显存),处理器为英特尔Core i7-9700F,内存为16GB,深度学习框架为Pytorch,CUDA版本为10.1。

为加快模型训练收敛速度和提高模型性能,加载了基于ImageNet的预训练权重。在模型的训练过程中,优化器使用SGD(stochastic gradientdescent),batch_size设置为16,动量(momentum)设置为0.9,初始学习率(learning rate)设置为0.001,权重衰减系数(weight decay)设置为0.0005,迭代(iteration)120000次,warmup参数设置为1/3,warmup迭代次数设置为500。

3.4 实验结果与分析

针对蜜柚果树目标检测,对比分析了基于SSD算法的5种模型,分别是输入图像分辨率为300×300、主干网络为VGG16的SSD300-VGG,输入图像分辨率为512×512、主干网络为VGG16的SSD512-VGG,输入图像分辨率为512×512、主干网络为VoVNet27-slim的SSD512-VoVNet27-slim,输入图像分辨率为512×512、主干网络为VoVNet27-slim、每个stage的OSA模块数保持不变的SSD512-VoVNet-custom,输入图像分辨率为512×512、主干网络为VoVNet39的SSD512-VoVNet39。

图6 显示了不同主干网络情形下的模型训练损失,可见VoVNet-custom达到了与VoVNet39同等的水平。随着训练的进行,损失在慢慢减小并不再有大的变化。在80k次迭代时因为调小了学习率,损失又有明显下降。而在100k次迭代时,损失已没有明显下降,判断已达到收敛。

图6 不同主干网络下的训练损失

各种不同模型的性能如表1所示,改进后的SSD算法SSD512-VoVNet-custom和SSD512-VoVNet39具有较高的平均精度均值mAP(mean average precision)和较短的推理时间。其中,mAP为各类别平均精度AP(mean average precision)的均值,而AP定义为P-R曲线(以精度precision为横轴,以召回率recall为纵轴)的积分。

表1 不同主干网络的实验结果

Table1 Experimental results of different backbone

模型平均精度均值mAP/%推理时间/ms SSD300-VGG81.6415 SSD512-VGG81.8727 SSD512-VoVNet27-slim84.808 SSD512-VoVNet-custom91.0110 SSD512-VoVNet3992.6011

图7展示了不同模型对一幅蜜柚果园航拍图像的检测结果(为便于观察,对细节部分进行了放大)。由图可见,图像中含有部分较小或粘连的蜜柚果树目标。从检测结果可以看出,在检测微小的蜜柚果树目标方面,SSD512-VoVNet-custom与SSD512-VoVNet39表现了更佳的目标检测性能,而SSD512-VGG和SSD512-VoVNet27-slim模型则漏检了较多微小目标;4种模型均未能较好地分别出粘连的蜜柚果树目标。

图7 不同主干网络下的检测示例

4 小结

本研究提出了一种基于SSD的深度学习模型,用于对果树进行实时检测。通过将主干网络替换为高效的VoVNet,大大加快了检测速度。通过使用较小的特征图进行检测,大大减少了选框数量,增加了模型的分类检测精度。与原SSD模型相比,分类检测精度有所提升,检测速度明显提高。然而,模型在检测微小的蜜柚果树方面仍存在小部分漏检,不能有效分割粘连的蜜柚果树目标,下一步将考虑引入视觉注意机制以提高微小目标检测效率,通过引入形态学因子以解决粘连目标的检测问题。

[1] 董新宇,李家国,陈瀚阅,等.无人机遥感影像林地单株立木信息提取[J].遥感学报,2019,23(6):1269-1280.

[2] 叶阳,周棋正,沈瑛,等.基于主动轮廓演变模型的遥感影像单棵树木检测[J].计算机科学,2020,47(S1):206-212.

[3] Girshick R, Donahue J, Darrell T, et al . Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation[C].2014 IEEE Conference on Computer Vision and Pattern Recognition, 2014:580-587.

[4] Girshick R. Fast R-CNN[C]. Proceedings of the 2015 IEEE International Conference on Computer Vision (ICCV). IEEE, 2015:1440-1448.

[5] Ren S Q, He K M, Girshick R, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence(TPAMI), 2016, 39(6):1137-1149.

[6] Redmon J, Divvala S, Girshick R, et al.You Only Look Once:Unified,Real-Time Object Detection [C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2016:779-788.

[7] Liu W,Anguelov D,Erhan D, et al.SSD: Single Shot Multi Box Detector[C].Computer Vision – ECCV 2016. Springer, 2016:21-37.

[8] Chen Q, Wang Y M, Yang T, et al. You Only Look One-level Feature[C].Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2021:13039-13048.

[9] Fan Q,Zhuo W,Tang C K, et al. Few-Shot Object Detection with Attention - RPN and Multi - Relation Detector[C]. Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2020:4013-4022.

[10] Simonyan K, Zisserman A. Very Deep Convolutional Networks for Large-Scale Image Recognition[J/OL]. arXiv preprint arXiv:1409.1556.

[11]王俊强,李建胜,周学文,等. 改进的SSD算法及其对遥感影像小目标检测性能的分析[J]. 光学学报, 2019, 39(6):373-382.

[12] EttenAV.YouOnlyLookTwice: RapidMulti-ScaleObject DetectionInSatelliteImagery[J/OL]. arXiv preprint arXiv:1805.09512, 2018.

[13] He K M, Zhang X Y, Ren S Q, et al. Deep Residual Learning for Image Recognition[C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2016:770-778.

[14] Huang G, Liu Z, Van der Maaten L, et al. Densely Connected Convolutional Networks[C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2017:4700-4708.

[15] Ma N N, Zhang X Y, Zheng H T, et al. ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design[J/OL]. arXiv preprint arXiv:1807.11164, 2018.

[16] Lee Y, Hwang J, Lee S, et al. An Energy and GPU-Computation Efficient Backbone Networkfor Real-Time Object Detection[C].2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW). IEEE, 2019:752-760.

[17] Ioffe S, Szegedy C. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift[C].Proceedings of the 32nd International Conference on Machine Learning. IMLS, 2015: 448-456.

[18] Glorot X, Bengio Y. Understanding the difficulty of training deep feedforward neural networks[C]. Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics, 2010: 249-256.

[19] Gotmare A, Keskar N S, Xiong C M, et al. A Closer Look at Deep Learning Heuristics: Learningraterestarts, Warmupand Distillation[J/OL]. arXiv preprint arXiv:1810.13243, 2018.

AERIAL IMAGE DETECTION OF POMELO FRUIT TREES BASED ON DEEP LEARNING

YE Qing1,*LONG Man-sheng1,ZENG Jin-tao1,2,WU Ze-qi1,YOU Wei-kun1,ZhANG Chuan-he1

(1.School of Electronic and Information Engineering, Jinggangshan University,Ji’an 343009;2.Jiangxi Engineering Laboratory of IoT Technologies for Crop Growth,Ji’an 343009)

Precise and intelligent orchard management is the inevitable development tendency, in which the data of the location information of fruit trees are very important. In order to quickly obtain the location of pomelo fruit trees, the orthophoto images of pomelo fruit trees were acquired by UAV aerial photography, and an improved SSD algorithm was proposed to detect the target of pomelo trees. This algorithm replaced VGG, the backbone network of the original SSD algorithm, with VoVNET, which could improve the ability of feature extraction. The sample data was clipped to improve the ability of detecting small targets. The experiment results showed that the average detection accuracy of fruit trees reached 92.6%.

image recognition; object detection; deep learning; orchard management; Unmanned Aerial Vehicle Remote Sensing[12]

TP753

A

10.3669/j.issn.1674-8085.2021.05.013

1674-8085(2012)01-0063-07

2021-05-07;

2021-06-26

江西省教育厅科技计划项目(GJJ180578,GJJ190565);吉安市科技局指导性科技计划项目(吉市科计字[2014]36号6)

叶 青(1998-),男,河南濮阳人,井冈山大学电子与信息工程学院计算机科学与技术专业2017级本科生(E-mail:1528353936@qq.com);

*龙满生(1977-),男,江西万载人,副教授,博士,主要从事机器学习、虚拟仿真等研究(E-mail: longmansheng@126.com);

曾劲涛(1978-),男,江西吉安人,副教授,硕士,主要从事遥感信息处理等研究(E-mail:rarehorse@163.com);

吴泽奇(1998-),男,江西南昌人,井冈山大学电子与信息工程学院软件工程专业2017级本科生(E-mail:2467449838@qq.com);

游伟坤(1999-),男,江西丰城人,井冈山大学电子与信息工程学院网络工程专业2018级本科生(E-mail:283264707@qq.com);

张传河(1999-),男,江西吉安人,井冈山大学电子与信息工程学院网络工程专业2018级本科生(E-mail:zchnana@qq.com).

猜你喜欢

蜜柚航拍果树
果树冬季要休眠 易受冻害要注意
果树秋季施肥三要点
果树夏剪有诀窍
航拍巴彦呼硕
“柚”一年老家的味道
航拍,苍穹下的醉美视角
难忘的航拍
石旮旯里种出致富果
第一次包蜜柚
陕西画报航拍