一种基于改进yolov5的红树林单木目标检测方法
技术领域
1.本发明涉及一种基于改进yolov5的红树林单木目标检测方法,深度学习中的目标检测、图像处理技术以及改进yolov5算法的幼小红树林单木识别技术,属于林业科学研究中红树林单木目标检测领域。
背景技术:
2.红树林是热带和亚热带海岸带上特有的森林群落,在改善生态状况、维护生物多样性和沿海地区生态安全等方面发挥着重要作用。红树林资源调查和动态监测是红树林科学保护与管理的基础和前提,但是由于人为改造等原因,我国红树林面积正在日益减少。为了更好地保护红树林生态系统,扩大红树林面积,近年来多个红树林自然保护区根据规划开展了红树林人工造林工作,在原有红树林中补植和人工造林成为恢复红树林资源的主要措施。红树林分布地理位置特殊,多在潮间带浅滩,涨潮时易被海水淹没,红树林幼苗若未成活则因根系无附着力被水流冲走,因此存在的红树林单木幼苗即为成活的林木。在此特殊的环境中,低空无人机遥感系统因具有数据采集灵活、成本低且可快速获取小范围超高分辨率影像的特点,非常适用于红树林区域的影像采集。基于此,将无人机应用于红树林幼苗的获取,是有效提高红树林幼苗监测精度的途径之一。
3.因此如何结合无人机影像快速、精确地检测红树林单木成为在新造红树林成活率核查工作中亟待解决的问题。随着目标检测和物体识别技术的发展,深度学习开始广泛应用于目标检测,人脸识别和语音识别等是最常见的应用。针对特征提取能力不足,预测框处理降低检测速度等问题,提出一种多尺度特征融合的anchor
‑
free轻量化检测算法。对于现有目标检测算法在复杂巡检场景下巡检缺陷检测精度较低的问题,提出一种基于尺度不变特征金字塔的缺陷检测方法。但以上方法均只是对相应的特定场景进行算法改进。近年来,深度学习的发明也逐渐应用于林业行业,逐步实现对林业更加精准、快速、智能地监测。周焱在《基于深度学习的小目标受灾树木检测方法》一文中针对无人机森林图像中树木尺度小、生长密集以及分布不规律等问题,提出一种基于深度学习的小目标受灾树木检测方法。但是ssd算法(si ng l e shot mu l t i box detector,是we i li u在eccv 2016上提出的一种目标检测算法)舍弃了含有丰富信息的底层特征,对小目标检测的鲁棒性较低。
4.目前主流的深度学习目标检测算法有双阶段和单阶段之分。区别于r
‑
cnn系列为代表的双阶段检测算法,yolo直接将特征提取、候选框回归和分类在同一个无分支的卷积网络中完成,使得网络结构变得简单,能够满足实时检测任务的需求。yolo目标检测模型经历了数次更新迭代,先后解决了多目标检测、小目标检测、漏检修复、多尺度预测等多个维度的问题。
5.基于目标检测可自动学习特征、速度快效率高等优势,将该系列算法最新的yolov5更好地应用于红树林单木检测中以实现对红树林幼苗状况的智能监测是本发明的主要目的。
技术实现要素:
6.本发明旨在基于深度学习方法提出一种基于改进yolov5的红树林单木目标检测方法,弥补目前人机影像中红树林单木目标较小且分布密集,对其检测时自动化程度不高、效率低等问题,为成活红树林幼苗的自动化检测提供技术支持,以此进一步提高新造红树林成活率检查精度和效率,使得红树林幼苗状况的智能监测得以实现。
7.针对无人机影像中红树林单木目标较小且分布密集,对其检测时自动化程度不高、效率低等问题,基于深度学习方法提出了一种基于改进yolov5的红树林单木目标检测方法,以实现对无人机影像中红树林单木快速、精确地自动识别和定位。
8.一种基于改进yolov5的红树林单木目标检测方法,含有以下步骤:
9.利用开源软件labelimg在选取的无人机影像上依次标注目标树,构建红树林单木数据集。
10.选择yolov5为基础目标检测模型,依据目标木分布密集且尺寸较小的特点对其进行优化和改进,使用有效通道注意力机制efficient channel attention对cspdarknet53骨干网络进行改进,避免降维和具有跨通道交互作用的同时,增强特征表达能力,并在spp模块引入softpool池化操作,保留更多细节特征信息,提高自动化目标检测精度。
11.本发明解决其技术问题所采用的技术方案是:一种基于改进yolov5的红树林单木目标检测方法,包括步骤如下:
12.步骤1、由于幼小红树林单木特殊的地理位置以及分布密集且目标较小,需借助无人机独有的时间灵活、高空间分辨率优势去获得数据以构建所需要的数据集。
13.步骤2、在yolov5的cspdarknet53特征提取网络中引入有效通道注意力机制(efficient channel attention),对yolov5网络进行改进,改进后模型重新命名为yolov5
‑
eca。
14.步骤3、在步骤2的基础上进一步改进,在yolov5网络spp模块中引入softpool改进池化操作,保留更多细节特征信息。
15.步骤4、将得到的无人机红树林单木数据集图像输入到yolov5特征提取网络进行特征提取,得到不同尺度的特征图。
16.步骤5、将步骤4中得到的特征图进行分类和回归,将回归结果进行特征重建操作,得到更加精细的特征图,在此基础上再次进行分类和回归操作,计算损失。
17.步骤6、完成该模型的训练后,借助已划分好的数据集对测试集进行测试以实现对幼小红树林单木的目标检测,并对该模型的检测效果进行评价。
18.本发明的有效注意力通道通过不降维和跨通道信息交互作用来降低模型的复杂性,同时增强特征的表达能力。softpool池化能够保持特征的表达性且操作是可微的,保留了整体感受野的特征信息,提高了算法的准确率。本发明可快速、准确、自动地对新造红树林单木进行检测,与已有无人机红树林传统检测方法相比具有明显优势,目标检测精度随之提升,训练损失也更低,能够实现快速、精准且自动化检测红树林单木目标,较好地提升了对红树林单木的识别和定位能力。
附图说明
19.当结合附图考虑时,通过参照下面的详细描述,能够更完整更好地理解本发明以
及容易得知其中许多伴随的优点,但此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定,如图其中:
20.图1为yolov5网络结构示意图。
21.图2为引入有效通道注意力模块结构图。
22.图3为在spp模块中引入softpool池化结构图。
23.图4为softpool在yolov5
‑
eca中的位置示意图。
24.图5a为采集的部分红树林单木无人机影像。
25.图5b为采集的部分红树林单木无人机影像。
26.图6a为目标标注图。
27.图6b为归一化目标位置图。
28.图6c为归一化目标大小图。
29.图7为yolov5和yolov5
‑
eca损失函数值随训练轮数的变化曲线图。
30.图8a为yolov5和yolov5
‑
eca各个参数收敛结果对比图。
31.图8b为yolov5和yolov5
‑
eca各个参数收敛结果对比图。
32.图8c为yolov5和yolov5
‑
eca各个参数收敛结果对比图。
33.图8d为yolov5和yolov5
‑
eca各个参数收敛结果对比图。
34.图8e为yolov5和yolov5
‑
eca各个参数收敛结果对比图。
35.图8f为yolov5和yolov5
‑
eca各个参数收敛结果对比图。
36.图9a为yolov5检测目标检测结果图。
37.图9b为yolov5检测目标检测结果图。
38.图9c为yolov5
‑
eca检测目标检测结果图。
39.图9d为yolov5
‑
eca检测目标检测结果图。
40.图10为本发明的步骤流程图。
具体实施方式
41.下面结合附图和实施例对本发明进一步说明。
42.显然,本领域技术人员基于本发明的宗旨所做的许多修改和变化属于本发明的保护范围。
43.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当称元件、组件被“连接”到另一元件、组件时,它可以直接连接到其他元件或者组件,或者也可以存在中间元件或者组件。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
44.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与所属领域中的普通技术人员的一般理解相同的意义。
45.为便于对实施例的理解,下面将结合做进一步的解释说明,且各个实施例并不构
成对本发明的限定。
46.实施例1:如图1、图2、图3、图4、图5、图6、图7、图8、图9及图10所示,一种基于改进yolov5的红树林单木目标检测方法,包括步骤如下:
47.步骤1、由于幼小红树林单木特殊的地理位置以及分布密集且目标较小,需借助无人机独有的时间灵活、高空间分辨率优势去获得数据以构建所需要的数据集。
48.步骤2、在yolov5的cspdarknet53特征提取网络中引入有效通道注意力机制(efficient channel attention),对yolov5网络进行改进,改进后模型重新命名为yolov5
‑
eca。
49.步骤3、在步骤2的基础上进一步改进,在yolov5网络spp模块中引入softpool改进池化操作,保留更多细节特征信息。
50.步骤4、将得到的无人机红树林单木数据集图像输入到yolov5特征提取网络进行特征提取,得到不同尺度的特征图。
51.步骤5、将步骤4中得到的特征图进行分类和回归,将回归结果进行特征重建操作,得到更加精细的特征图,在此基础上再次进行分类和回归操作,计算损失。
52.步骤6、完成该模型的训练后,借助已划分好的数据集对测试集进行测试以实现对幼小红树林单木的目标检测,并对该模型的检测效果进行评价。
53.步骤1中为保证图像中各个检测目标的完整,使用较为常用的labelimg开源软件对无人机图像中红树林单木幼苗依次进行标注,标注内容为新造红树林矩形包围框坐标,存储为xml文本文件用于yolov5模型的训练和测试。
54.yolov5的结构如图1所示,yolov5网络主要有4部分组成,1框为输入端(input)、2框为基准网络(backbone)、3框为特征融合(neck)、4框为预测部份(prediction)。1框为输入端(input),包含了训练数据集图像的预处理阶段,在输入端沿用yolov4的mosaic数据增强,用来提升该模型的训练速度和网络精度。
55.2框为基准网络(backbone),backbone网络是检测网络的主干,网络提取出图像的高中低层的特征。
56.3框为特征融合(neck),neck部分主要用于生成特征金字塔。特征金字塔会增强模型对于不同缩放尺度对象的检测,从而能够识别不同大小和尺度的同一个物体。
57.4框为预测部份(prediction),再次卷积得到预测结果。
58.4部分之外的a框、b框、c框、d框、e框、f框具体内容如下:
59.yolov5的输入端包含了训练数据集图像的预处理阶段,在输入端沿用yolov4的mosaic数据增强,用来提升该模型的训练速度和网络精度。
60.在基准网络,yolov5的不同在于新增了切片结构(focus),如图1中e框所示,通过slice对数据进行切割,用来提取通用的特征。
61.a框是cbl结构,conv bn leaky_relu激活函数三者组成。
62.b框是csp1_x由三个卷积层和x个res unint模块concate组成。
63.在特征融合(neck)中则用到csp2_x结构,在d框所示,不再用res unint模块,而是改为cbl。
64.spp模块如c框所示,主要为池化方式,后续的改进主要将原来的最大池化改为soft pool。
65.预测部分再次卷积得到预测结果。
66.f框为res unint模块是由两个cbl模块组成的残差组件,会根据具体需求决定该模块的个数。
67.步骤2中efficient channel attention最突出的特点是避免降维和具有跨通道交互作用,同时降低模型的复杂性,增强特征表达能力,eca注意力模块结构图如图2所示,其原理是eca模块通过大小为k的快速一维卷积产生通道注意,其中核的大小完全由通道维数相关函数自适应来确定。在维度保持不变的条件下输入特征图像χ,所有通道经过全局平均池化之后,eca模块将会利用一个可以权重共享的一维卷积来学习特征,并在学习特征的时候涉及到每一个通道与之k个近邻来捕获跨通道交互。k表示快速一维卷积的内核大小,而自适应k取值的确定,是通过跨通道信息交互作用的遮盖区域与通道维数c的正比关系得到,计算如公式(1)所示:
[0068][0069]
式中:γ=2,b=1,|*
ood
表示最邻近奇数,c为通道维数。
[0070]
步骤3中针对本发明中目标较小且像素过低的新造红树林幼苗,利用最大值池化和平均池化进行特征映射时,易损失重要检测信息。因此在spp模块中引入softpool改进池化操作,保留更多细节特征信息,即在激活特征图的池化区域内使用softmax方式实现池化。softpool结构如图3所示,softpool下采样过程中从左到右依次是:特征图的激活、区域内计算softpool最后的池化结果输出等。融合在yolov5中的位置如图4所示,处在spp模块中。
[0071]
与其它池化不同,softpool使用softmax(归一化指数函数)进行加权池化,能够保持特征的表达性且操作是可微的。每一次反向传播的梯度都能够得到更新,softpool可综合利用池化内核每一个激活因子,仅增加极少内存占用。增大相近特征信息区分度的同时,保留了整体感受野的特征信息,提高算法的准确率。
[0072]
softpool的核心思想在于softmax的利用,根据非线性特征值计算区域r的特征值权重:
[0073][0074]
式中:w i
为第i个元素激活的权重,a i
为第i个激活值,r为池化区域大小,e为数学常数,是自然对数函数的底数。
[0075]
权重
w
i能够保证重要特征的传递,区域r内的特征值在反向传递时都至少会有预设的最小梯度。在得到权重w
i
后,通过加权区域r内的特征值得到输出:
[0076][0077]
式中:r为池化区域大小,为softpool的输出值,实现了对池化内核所有激活因子的加权求和。
[0078]
步骤4中在进行yolov5特征提取网络进行特征提取之前,会将数据进行mosaic增强操作,再统一缩放到一个标准尺寸进行focus切片操作,而后输入到yolov5特征提取网络进行特征提取。
[0079]
步骤6中目标检测中通常用平均精准度ap(average precision)和平均精准度的均值map来评价模型的检测效果和性能,ap为召回率(recall)和精确率(precision)曲线下的面积,本发明为单类目标,ap即等同于map。
[0080]
面积交并比(iou):通过计算模型预测目标的矩形区域与验证集中目标标定的矩形区域的面积交并比,衡量模型的位置预测能力。
[0081]
精确率(precision):表示模型检测出正确的目标数占总目标数的比例,体现出模型在目标检测时的准确度。
[0082][0083]
召回率(recall):召回率表示模型已检测出的目标数量占总目标数量的比例,体现了模型识别的查全能力。
[0084][0085][0086]
式中:tp(true positive)为检测出正确的正样本个数,即预测框与标注框类别相同且iou>0.5;fp(false positive)为检测出错误的正样本的个数;fn为检测出错误的负样本的个数;r为整个实数集;ap为召回率和精确率曲线下的面积。
[0087]
由于精确率与召回率受置信度的影响,若只采用精确率与召回率来评价模型性能,会存在一定的不科学性和局限性,因此在实验中引入了平均精确度ap作为评价指标来评价模型的识别性能,它是目前评价主流目标检测算法性能的最重要的指标之一。
[0088]
实施例2:如图1、图2、图3、图4、图5、图6、图7、图8、图9及图10所示,基于改进yolov5算法的红树林单木目标检测方法,包括改进yolov5网络模型等,下面将以广州湛江红树林保护区新造红树林幼苗为例,基于本发明进行红树林单木目标检测对本发明的方法做进一步的阐述。
[0089]
一种基于改进yolov5的红树林单木目标检测方法,包括步骤如下:
[0090]
步骤1、数据采集及数据集构建:
[0091]
鉴于湛江红树林自然保护区新造红树林特殊的地理位置和自身较为矮小的特点,利用无人机以120米航高,通过飞行任务区多次断点续飞数据采集共获得2348张无人机图像,理论空间分辨率为0.05米,部分无人机影像如图5a及图5b,可以清晰地分辨出单株红树林幼苗,从而构建本发明所需数据集。该无人机由深圳市大疆创新科技有限公司生产,搭载ccd传感器,型号为大疆精灵4rtk,设计轻巧,操作方便,性能良好。在构建数据集时选取了较为清晰的分辨率为5472*3648像素的原始图像,通过基于python编写的分割程序,将原始影像分割为512
×
512像素的图片597张,使用较为常用的labelimg开源软件对无人机图像中红树林单木幼苗依次进行标注,目标树概况如图6a、图6b及图6c所示,由图6b、图6c可知标注框在图中的相对位置分布和目标相对大小,目标树在图中分布较为均匀,目标的宽度
大多数占图片宽度的2%~5%,目标的高度大多数占1%~4%。大约标注3万棵目标树,标注内容为新造红树林矩形包围框坐标,存储为xml文本文件用于yolov5模型的训练和测试。然后按照8:1:1的比例将已构建好的数据集划分为训练集、验证集和测试集,其中包含训练集477张图像,验证集60张图像,测试集60张图像。
[0092]
步骤2、模型训练环境:
[0093]
本发明的实验平台为自主配置服务器,64位windows10操作系统,处理器为intel(r)xeon(r)cpu e5
‑
2630 v3@2.40ghz,nvidiatesla k40c显卡,显存12g,内存16gb。本发明均基于pytorch深度学习框架构建网络模型,开发环境为pytorch1.4,cuda10.1,python3.7。训练过程使用adam优化器进行训练,设置初始学习率为0.01,所有实验中均采用单尺度训练,图像输入大小为512
×
512像素。依据模型自身的特点,yolov5和yolov5
‑
eca训练的epoch均为200,预训练模型为yolov5x。
[0094]
步骤3、模型改进与训练:
[0095]
在yolov5的cspdarknet53特征提取网络中引入有效通道注意力机制(efficient channel attention),避免降维和具有跨通道交互作用,同时降低模型的复杂性,增强特征表达能力对yolov5网络进行改进,改进后模型重新命名为yolov5
‑
eca;在yolov5网络spp模块中引入softpool改进池化操作,保留更多细节特征信息。将得到的无人机红树林单木数据集图像输入到yolov5特征提取网络进行特征提取,得到不同尺度的特征图;得到的特征图进行分类和回归,将回归结果进行特征重建操作,得到更加精细的特征图,在此基础上再次进行分类和回归操作,计算损失,完成基于本发明的广州湛江新造红树林单木的目标检测。
[0096]
步骤4、检测结果分析:
[0097]
在完成本发明模型训练的基础上,对测试集进行测试,通过训练过程的损失值、参数收敛结果、模型检测性能等方面对检测结果进行评价分析。
[0098]
损失函数作为评价模型训练优劣的标准之一,可以看出改进后的优化模型yolov5
‑
eca明显优于原模型yolov5,相同的训练轮数下yolov5
‑
eca有更低的损失函数值,同时改进模型细节丢失较少,特征学习能力更强。损失函数值随训练轮数的变换曲线如图7所示。
[0099]
yolov5
‑
eca的损失参数和结果参数均相对稳定,突变的波动起伏较小,平稳地趋于收敛,结果参数均高于yolov5。两者参数收敛结果如图8a、图8b、图8c、图8d、图8e、图8f所示,可知yolov5训练过程中,val objectness loss在50epoch附近出现较大的起伏,结果参数recall、map@0.5、map@0.5:0.95在180epoch都同时出现突降的现象,之后继续平稳上升趋于收敛。precision在0
‑
60epoch会有不同程度的波动,而后基本稳定。yolov5
‑
eca的损失参数和结果参数均相对稳定,突变的波动起伏较小,平稳地趋于收敛,结果参数均高于yolov5。
[0100]
红树林单木目标检测效果如图9a、图9b、图9c及图9d所示,图9a列为原模型yolov5检测效果,图9b列为改进模型yolov5
‑
eca的检测效果,整体精度较原模型提高3.2%。由图可知,因为新造红树林较小且分布密集,在影像上不够清晰,两种模型均有漏检的现象,综合对比发现yolov5
‑
eca的漏检现象较少,一些边缘目标和模糊目标被检测到的概率更大。
[0101]
如上所述,对本发明的实施例进行了详细地说明,但是只要实质上没有脱离本发
明的发明点及效果可以有很多的变形,这对本领域的技术人员来说是显而易见的。因此,这样的变形例也全部包含在本发明的保护范围之内。
再多了解一些
本文用于企业家、创业者技术爱好者查询,结果仅供参考。