CN116798067A - 基于ShuffleNetv2-YOLOv5s的朱鹮进食行为实时检测方法 - Google Patents
基于ShuffleNetv2-YOLOv5s的朱鹮进食行为实时检测方法 Download PDFInfo
- Publication number
- CN116798067A CN116798067A CN202310243622.6A CN202310243622A CN116798067A CN 116798067 A CN116798067 A CN 116798067A CN 202310243622 A CN202310243622 A CN 202310243622A CN 116798067 A CN116798067 A CN 116798067A
- Authority
- CN
- China
- Prior art keywords
- crested
- yolov5s
- module
- training
- convolution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000004634 feeding behavior Effects 0.000 title claims abstract description 22
- 238000011897 real-time detection Methods 0.000 title claims abstract description 13
- 241000254173 Coleoptera Species 0.000 title abstract description 11
- 238000012549 training Methods 0.000 claims abstract description 31
- 238000012360 testing method Methods 0.000 claims abstract description 14
- 238000013135 deep learning Methods 0.000 claims abstract description 4
- 238000002372 labelling Methods 0.000 claims abstract description 3
- 238000001514 detection method Methods 0.000 claims description 36
- 238000010586 diagram Methods 0.000 claims description 25
- 230000004913 activation Effects 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 10
- 235000007164 Oryza sativa Nutrition 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 6
- 235000009566 rice Nutrition 0.000 claims description 6
- 230000004927 fusion Effects 0.000 claims description 5
- 238000002347 injection Methods 0.000 claims description 4
- 239000007924 injection Substances 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 238000011176 pooling Methods 0.000 claims description 3
- 241000209094 Oryza Species 0.000 claims 5
- 210000004317 gizzard Anatomy 0.000 claims 1
- 230000009466 transformation Effects 0.000 abstract description 2
- 241000607153 Nipponia nippon Species 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000020595 eating behavior Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 241000271566 Aves Species 0.000 description 1
- 244000136541 Lepidium campestre Species 0.000 description 1
- 235000017074 Lepidium campestre Nutrition 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了基于ShuffleNetv2‑YOLOv5s的朱鹮进食行为实时检测方法,包括以下步骤:S1、收集野外各种环境下的朱鹮进食图像资料;S2、使用Labellmg对图像进行YOLO格式标注;S3、将数据集按8:2划分为训练集与测试集;S4、使用深度学习框架pytorch构建网络模型;S5、修改训练参数与网络超参数并使用训练集进行训练;S6、用测试集进行网络性能测试;S7、测试指标较高且达到稳定;S8、得到训练好的网络模型;S9、使用训练好的网络模型进行野外朱鹮进食行为检测。本发明采集朱鹮的图像资料,使用LabelImg对图像中的有进食行为的朱鹮进行标注,并对图像进行旋转、正切、随机裁剪、色彩空间变换等多种方式的数据增强,构建了一个数据量较为充足、能够全面展现朱鹮进食时期的数据集。
Description
技术领域
本发明涉及进食行为试验检测领域,具体是基于ShuffleNetv2-YOLOv5s的朱鹮进食行为实时检测方法。
背景技术
朱鹮,是世界上最为濒危的鸟类之一,在其保护过程中知悉其进食情况是朱鹮保护这一任务的重要环节,现阶段了解野外朱鹮进食情况均靠相关专业人员对其潜在出现区域进行科学考察,由于朱鹮活动范围较大,且生活环境复杂,所以现有方法耗时耗力,效率较低。当前,计算机视觉发展日新月异,利用固定相机或无人机及计算机视觉技术代替人工可对朱鹮出现区域进行长期监测,可自动获得某一区域朱鹮的详细进食情况。因此,使用基于计算机视觉的方法来代替人工巡察具有重要的意义。
近年来,计算机视觉中涌现出许多令人瞩目的基于深度学习的目标检测算法,这些算法可有效改善基于传统机器学习算法在进行目标检测时存在的检测精度低,抗干扰能力差,无法适应复杂环境的问题。其大致可以分为两类:一类是“两阶段检测”算法,其在执行时需要分两步完成,首先获得候选区域,然后进行区域内目标分类,标志性算法如R-CNN、Fast-R-CNN、Faster-R-CNN。另一类就是一阶段检测算法,通过目标检测网络直接预测出目标的类别和位置信息,这类基于回归的目标检测算法有YOLO系列(You Only LookOnce)、与SSD(Single shot multibox detector)。这类算法的优点是检测速度较快、实时性好,但是相比于两步检测算法精度略低,但是以上经典网络的都存在模型过大,运算量太大,难以生产部署与在移动端移植。
本发明针对现有朱鹮进食行为检测算法存在网络参数量过大,检测效率低,难以实地部署与在移动端移植的问题,基于YOLOv5s目标检测算法提出了一种轻量化的朱鹮进食行为检测算法,在能够保持较高模型预测精度的同时大幅降低了模型的计算复杂度。
发明内容
本发明针对现有朱鹮进食行为检测算法存在网络参数量过大,检测效率低,难以实地部署与在移动端移植的问题,基于YOLOv5s目标检测算法提出了一种轻量化的朱鹮进食行为检测算法,在能够保持较高模型预测精度的同时大幅降低了模型的计算复杂度。
本发明提供了基于ShuffleNetv2-YOLOv5s的朱鹮进食行为实时检测方法,包括以下步骤:
S1、收集野外各种环境下的朱鹮进食图像资料;
S2、使用Labellmg对图像进行YOLO格式标注;
S3、将数据集按8:2划分为训练集与测试集;
S4、使用深度学习框架pytorch构建网络模型;
S5、修改训练参数与网络超参数并使用训练集进行训练;
S6、用测试集进行网络性能测试;
S7、测试指标较高且达到稳定;
S8、得到训练好的网络模型;
S9、使用训练好的网络模型进行野外朱鹮进食行为检测。
优选的,所述步骤S4中构建基于YOLOv5s的轻量化目标检测网络模型,使用的Bottleneck结构是一种包含深度可分离卷积以及Channel Shuffle的模块,其包括两种结构,保持输入经过该模块后输出特征图长宽不变时采用模块的A,即其中步距(stride)设置均为1;与输入经过该模块后输出特征图长宽减小为原一半时采用的模块B,即其中步距(stride)设置包含有2。
优选的,所述A模块包括:一个支路经过卷积核大小为1*1、步距为1的组卷积与BN层、Relu激活层,在通道方向进行Channel Shuffle操作,经过卷积核大小为3*3、步距为1的深度可分离卷积与BN层,卷积核大小为1*1,步距为1的普通卷积与BN层、Relu激活层,再与另一个不做任何操作的支路在通道上进行相加,相加后经过Relu激活函数。
优选的,所述B模块包括:一个支路经过卷积核大小为1*1、步距为1的组卷积与BN层、Relu激活层,在通道方向进行Channel Shuffle操作,经过卷积核大小为3*3、步距为2的深度可分离卷积与BN层,卷积核大小为1*1,步距为1的普通卷积与BN层、Relu激活层,另一个支路经过步距为2平均池化层,两个支路拼接后经过Relu激活函数。
优选的,当使用A模块时,其中卷积核参数设置时保证输入输出特征图通道数相同,当使用B模块时,其中卷积核参数设置时保证输出特征图为输入特征图通道数的两倍;
优选的,所述步骤S4中在YOLOv5s的特征融合网络中嵌入ECA模块,使用高效通道注力机制ECA模块,使用1个1维卷积来实现临近通道间的特征提取,卷积核大小为5。
优选的,所述步骤5中利用朱鹮图像训练集对所述基于YOLOv5s的轻量化目标检测网络模型进行训练,设置网络训练初始参数,包括图片输入尺寸、动量参数、权重衰减正则项参数、图片角度变化参数、饱和度与曝光变化参数、色调变化参数、初始学习率、训练迭代次数以及网络超参数,调整动量参数、权重衰减正则项参数、始学习率以及训练迭代次数。
本发明的有益之处在于:
1、本发明从汉中朱鹮国家级自然保护区中采集朱鹮的图像资料,使用LabelImg对图像中的有进食行为的朱鹮进行标注,并对图像进行旋转、正切、随机裁剪、色彩空间变换等多种方式的数据增强,构建了一个数据量较为充足、能够全面展现朱鹮进食时期的数据集。
2、本发明提出了一种基于YOLOv5s的轻量化朱鹮进食行为算法,其对YOLOv5s目标检测网络进行了网络压缩与压缩后的精度提升。使用了ShuffleNetv1中的Bottleneck进行了模型主干网络重构,实现了网络的轻量化设计,大幅降低了网络的参数量与计算量,如图2、图3。
3、原始ShuffleNetv1网络的第一层由普通卷积层,BN层和非线性激活层构成,本发明将其替换为Stem模块,使用的Stem模块如图4。
4、将ECA添加到YOLOv5的PANet特征融合网络中,如图2、图5,可以在略微提升网络计算量的情况下有效提升模型的检测精度,并通过实验进行了验证。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明基于YOLOv5s的轻量化目标检测网络模型示意图;
图2为本发明YOLOv5s的特征融合网络中嵌入ECA模块示意图;
图3为本发明包含深度可分离卷积以及Channel Shuffle的模块示意图;
图4为本发明Stem模块示意图;
图5为本发明高效通道注力机制ECA模块示意图;
图6为本发明Channel Shuffle操作示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
基于ShuffleNetv2-YOLOv5s的朱鹮进食行为实时检测方法
(1)采集野外朱鹮进食时的图像数据,并使用LabelImg标注软件对图像进行YOLO格式进行标注,并将得到的图像数据与对应的标注文件按照8:2的比例划分为训练集与测试集;
(2)构建基于YOLOv5s的轻量化目标检测网络模型,如图1。使用的Bottleneck结构如图3所示,Bottleneck是一种包含深度可分离卷积以及Channel Shuffle的模块,其包括两种结构,保持输入经过该模块后输出特征图长宽不变时采用模块的A,如图3中的左图,即其中步距(stride)设置均为1;与输入经过该模块后输出特征图长宽减小为原一半时采用的模块B,即其中步距(stride)设置包含有2,如图3中右图所示。
A模块包括:一个支路经过卷积核大小为1*1、步距为1的组卷积与BN层、Relu激活层,在通道方向进行Channel Shuffle操作,如图6所示,经过卷积核大小为3*3、步距为1的深度可分离卷积与BN层,卷积核大小为1*1,步距为1的普通卷积与BN层、Relu激活层,再与另一个不做任何操作的支路在通道上进行相加,相加后经过Relu激活函数。如图3中左图所示。A模块如图3中左图所示。
B模块包括:一个支路经过卷积核大小为1*1、步距为1的组卷积与BN层、Relu激活层,在通道方向进行Channel Shuffle操作,如图6所示,经过卷积核大小为3*3、步距为2的深度可分离卷积与BN层,卷积核大小为1*1,步距为1的普通卷积与BN层、Relu激活层,另一个支路经过步距为2平均池化层,两个支路拼接后经过Relu激活函数。B模块如图3中右图所示。
具体主干网络参数可参考如表1,其中Layer表示该次堆叠时使用的模块,Stride表示步距,为1时采用模块A,为2时采用模块B,Repeat表示堆叠次数,Output channels表示当前模块输出特征图的通道数,每个模块中首个1*1组卷积核个数为模块输出特征图个数的1/4。
表1主干网络参数参考
当使用A模块时,其中卷积核参数设置时保证输入输出特征图通道数相同,当使用B模块时,其中卷积核参数设置时保证输出特征图为输入特征图通道数的两倍。
原始ShuffleNetv1网络的第一层由普通卷积层,BN层和非线性激活层构成。本发明将其替换为Stem模块,使用的Stem模块如图4。
在YOLOv5s的特征融合网络中嵌入ECA模块,位置如图2所示。本发明使用高效通道注力机制ECA模块,使用1个1维卷积来实现临近通道间的特征提取,卷积核大小为5,如图5。
网络其余参数设置可保持原YOLOv5s中的参数设置。
(3)使用K-means聚类算法在野外朱鹮数据集中聚类出朱鹮锚框尺寸。
(4)使用多尺度训练方法,即每次训练时输入网络的图片大小随机缩放到320-640范围内中的32倍数的值,输入图片尺寸保持为长宽一致。
(5)输入进入网络的图片进行Mosaic数据增强:利用了多张图片,对多张图片进行拼接,每一张图片都有其对应的标记框,将四张图片拼接之后就获得一张新的图片,同时也获得这张图片对应的标记框,然后将得到的新的图片传入到神经网络当中去学习,相当于一下子传入四张图片进行学习,对拼接的四张图片都分别进行数据增强操作,包括左右翻转,按比例缩放,色域变化等,朱鹮标记框按照图像大小进行同比例缩放。
(6)利用朱鹮图像训练集对所述基于YOLOv5s的轻量化目标检测网络模型进行训练,设置网络训练初始参数,包括图片输入尺寸、动量参数、权重衰减正则项参数、图片角度变化参数、饱和度与曝光变化参数、色调变化参数、初始学习率、训练迭代次数以及网络超参数,调整动量参数、权重衰减正则项参数、始学习率以及训练迭代次数,大量实验,使得训练结果达到相对稳定,使用mAP对网络性能进行评价,选出最高的基于YOLOv5s的轻量化目标检测网络模型。
将待检测的图像输入所述基于YOLOv5s的轻量化目标检测网络模型中,对该网络的输出进行优化,具体为:将输出的三种尺度的检测框,分别进行如下操作:将置信度小于阈值的过滤掉,接着使用非极大值抑制算法对剩下的检测框进行筛选得到最佳的朱鹮检测框。非极大值预测算法框具体为:首先从所有的检测框中找到置信度最大的那个框,然后逐个计算其与剩余检测框的I0U,I0U即两个框的交集除以两个框的并集,如果其值大于设定的阈值,就将该框剔除,最后留下来的就是最佳的检测框。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围。
Claims (7)
1.基于ShuffleNetv2-YOLOv5s的朱鹮进食行为实时检测方法,其特征在于,包括以下步骤:
S1、收集野外各种环境下的朱鹮进食图像资料;
S2、使用Labellmg对图像进行YOLO格式标注;
S3、将数据集按8:2划分为训练集与测试集;
S4、使用深度学习框架pytorch构建网络模型;
S5、修改训练参数与网络超参数并使用训练集进行训练;
S6、用测试集进行网络性能测试;
S7、测试指标较高且达到稳定;
S8、得到训练好的网络模型;
S9、使用训练好的网络模型进行野外朱鹮进食行为检测。
2.基于ShuffleNetv2-YOLOv5s的朱鹮进食行为实时检测方法,其特征在于:所述步骤S4中构建基于YOLOv5s的轻量化目标检测网络模型,使用的Bottleneck结构是一种包含深度可分离卷积以及ChannelShuffle的模块,其包括两种结构,保持输入经过该模块后输出特征图长宽不变时采用模块的A,即其中步距(stride)设置均为1;与输入经过该模块后输出特征图长宽减小为原一半时采用的模块B,即其中步距(stride)设置包含有2。
3.根据权利要求2所述的基于ShuffleNetv2-YOLOv5s的朱鹮进食行为实时检测方法,其特征在于:所述A模块包括:一个支路经过卷积核大小为1*1、步距为1的组卷积与BN层、Relu激活层,在通道方向进行ChannelShuffle操作,经过卷积核大小为3*3、步距为1的深度可分离卷积与BN层,卷积核大小为1*1,步距为1的普通卷积与BN层、Relu激活层,再与另一个不做任何操作的支路在通道上进行相加,相加后经过Relu激活函数。
4.根据权利要求1所述的基于ShuffleNetv2-YOLOv5s的朱鹮进食行为实时检测方法,其特征在于:所述B模块包括:一个支路经过卷积核大小为1*1、步距为1的组卷积与BN层、Relu激活层,在通道方向进行ChannelShuffle操作,经过卷积核大小为3*3、步距为2的深度可分离卷积与BN层,卷积核大小为1*1,步距为1的普通卷积与BN层、Relu激活层,另一个支路经过步距为2平均池化层,两个支路拼接后经过Relu激活函数。
5.根据权利要求2-4所述的基于ShuffleNetv2-YOLOv5s的朱鹮进食行为实时检测方法,其特征在于:当使用A模块时,其中卷积核参数设置时保证输入输出特征图通道数相同,当使用B模块时,其中卷积核参数设置时保证输出特征图为输入特征图通道数的两倍。
6.根据权利要求1所述的基于ShuffleNetv2-YOLOv5s的朱鹮进食行为实时检测方法,其特征在于:所述步骤S4中在YOLOv5s的特征融合网络中嵌入ECA模块,使用高效通道注力机制ECA模块,使用1个1维卷积来实现临近通道间的特征提取,卷积核大小为5。
7.根据权利要求1所述的基于ShuffleNetv2-YOLOv5s的朱鹮进食行为实时检测方法,其特征在于:所述步骤5中利用朱鹮图像训练集对所述基于YOLOv5s的轻量化目标检测网络模型进行训练,设置网络训练初始参数,包括图片输入尺寸、动量参数、权重衰减正则项参数、图片角度变化参数、饱和度与曝光变化参数、色调变化参数、初始学习率、训练迭代次数以及网络超参数,调整动量参数、权重衰减正则项参数、始学习率以及训练迭代次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310243622.6A CN116798067A (zh) | 2023-03-14 | 2023-03-14 | 基于ShuffleNetv2-YOLOv5s的朱鹮进食行为实时检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310243622.6A CN116798067A (zh) | 2023-03-14 | 2023-03-14 | 基于ShuffleNetv2-YOLOv5s的朱鹮进食行为实时检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116798067A true CN116798067A (zh) | 2023-09-22 |
Family
ID=88045229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310243622.6A Withdrawn CN116798067A (zh) | 2023-03-14 | 2023-03-14 | 基于ShuffleNetv2-YOLOv5s的朱鹮进食行为实时检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116798067A (zh) |
-
2023
- 2023-03-14 CN CN202310243622.6A patent/CN116798067A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112906485B (zh) | 基于改进的yolo模型的视障人士辅助障碍物感知方法 | |
CN113160062B (zh) | 一种红外图像目标检测方法、装置、设备及存储介质 | |
CN109492596B (zh) | 一种基于K-means聚类和区域推荐网络的行人检测方法及系统 | |
CN109472193A (zh) | 人脸检测方法及装置 | |
CN114708231A (zh) | 一种基于轻量化YOLO v5的甘蔗蚜虫目标检测方法 | |
CN112464766A (zh) | 一种农田地头自动识别方法及系统 | |
CN117372881B (zh) | 一种烟叶病虫害智能识别方法、介质及系统 | |
CN112686276A (zh) | 一种基于改进RetinaNet网络的火焰检测方法 | |
CN113468996A (zh) | 一种基于边缘细化的伪装物体检测方法 | |
CN113361466B (zh) | 一种基于多模态交叉指导学习的多光谱目标检测方法 | |
CN112132145A (zh) | 一种基于模型扩展卷积神经网络的图像分类方法及系统 | |
CN107194380A (zh) | 一种复杂场景下人脸识别的深度卷积网络及学习方法 | |
CN113436198A (zh) | 一种协同图像超分辨率重建的遥感图像语义分割方法 | |
Yuan et al. | Sensitivity examination of YOLOv4 regarding test image distortion and training dataset attribute for apple flower bud classification | |
CN115578624A (zh) | 农业病虫害模型构建方法、检测方法及装置 | |
CN116740516A (zh) | 基于多尺度融合特征提取的目标检测方法及系统 | |
CN113221943A (zh) | 一种柴油车黑烟图像识别方法、系统及存储介质 | |
CN115294467A (zh) | 茶叶病害的检测方法及相关装置 | |
CN114359578A (zh) | 病虫害识别智能终端应用方法及系统 | |
CN113850134A (zh) | 一种融合注意力机制相的安全帽佩戴检测方法及系统 | |
CN110728186A (zh) | 一种基于多网融合的火灾检测方法 | |
CN114155551A (zh) | 基于YOLOv3改进的复杂环境下的行人检测方法及装置 | |
CN114067268A (zh) | 一种电力作业现场安全帽检测及身份识别方法及装置 | |
CN113361589A (zh) | 基于迁移学习与知识蒸馏的珍稀濒危植物叶片识别方法 | |
CN111178275A (zh) | 一种基于卷积神经网络的火灾检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20230922 |