airr Artificial Intelligence and Robotics Research 2326-3415 2326-3423 beplay体育官网网页版等您来挑战! 10.12677/airr.2024.134094 airr-101498 Articles 信息通讯, 工程技术 基于Mask R-CNN的轻量化羊只计数研究
Lightweight Sheep Counting Study Based on Mask R-CNN
杨雯茜 李美安 内蒙古农业大学计算机与工程学院,内蒙古 呼和浩特 13 09 2024 13 04 920 929 18 8 :2024 19 8 :2024 19 11 :2024 Copyright © 2024 beplay安卓登录 All rights reserved. 2024 This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/ 为了提高羊只计数的准确性和实用性,本文结合计算机视觉技术,提出了一种基于Mask R-CNN轻量级羊只计数算法。针对数据集的制作,前往内蒙古呼和浩特白塔村的养殖户进行数据采集,制作了羊只图像分割数据集。在对模型的轻量化部分,首先,将特征提取网络的部分替换为 Inverted Residual模块并加入SE注意力机制,在保证模型分割准确度不下降的情况下降低模型的规模。其次,使用空间卷积池化金字塔ASPP进一步对模型的特征融合部分进行优化,最后利用改进后Mask R-CNN生成的掩膜进行计数。结果表明:改进后的Mask R-CNN-InvertedResidual-SE-ASPP羊只计数模型,计数准确率达到96.27%,较基准模型参数量减少38.46%,计算量减小26.14%,体积减小34.52%,单帧推理速度提升22.12%。说明,改进后的Mask R-CNN更适合实际应用中的高效羊只计数。
To enhance the accuracy and practicality of sheep counting, this paper proposes a lightweight sheep counting algorithm based on Mask R-CNN combined with computer vision technology. For data set creation, we collected sheep images from local farms in Baita Village, Hohhot, Inner Mongolia, to create a sheep image segmentation dataset. To lighten the model, we replaced parts of the feature extraction network with Inverted Residual modules and incorporated Squeeze-and-Excitation (SE) attention mechanisms to maintain segmentation accuracy while reducing the model’s size. Additionally, we optimized the model’s feature fusion part using the Atrous Spatial Pyramid Pooling (ASPP) structure. Finally, we used the masks generated by the improved Mask R-CNN for counting. The results show that the improved Mask R-CNN-Inverted Residual-SE-ASPP sheep counting model achieved an accuracy rate of 96.27%, reduced the number of parameters by 38.46%, decreased computational complexity by 26.14%, reduced the model size by 34.52%, and increased single-frame inference speed by 22.12%. This indicates that the improved Mask R-CNN is more suitable for efficient sheep counting in practical applications.
Mask R-CNN,SE注意力机制,ASPP,羊只技术
Mask R-CNN
SE Attention Mechanism ASPP Sheep Counting
1. 引言

羊在我国经济中占据重要地位,尤其是在肉类、羊绒和羊奶的生产中。内蒙古作为主要的养羊区域,2022年羊肉总产量的21%来自该地区 [1] 。随着集中养殖模式的推广以及政策目标的推动,到2025年,规模养殖的比重预计将达到50%。在这一背景下,准确的羊只计数技术变得尤为重要,它不仅有助于防止羊只丢失,还能精准计算采食量和监测母羊产仔情况,从而提升经济效益和养殖管理水平。

基于计算机视觉的计数方法主要分为传统机器学习和深度学习两类。随着技术的进步,深度学习逐渐成为主流,其方法包括目标检测、多目标跟踪和图像分割 [2] 。基于目标检测的计数方法中,王毅恒等人 [3] 使用YOLOv3对奶牛进行计数,准确率达到100%,但在目标数量多或有遮挡的情况下效果较差。宁远霖等人 [4] 通过改进YOLOv5,引入注意力机制和优化器,提高了猪只检测性能,但在密集和严重遮挡场景下存在漏检问题。这些方法通过矩形框标记目标位置并进行分类,适用于实时性和位置信息要求较高且目标分布稀疏的场景。

在基于多目标跟踪的技术中,Zhang等人 [5] 提出了一种结合YOLO检测和DeepSORT跟踪的系统,通过全局运动补偿模块将计数准确率提高到93%。该方法对目标检测要求较高,不准确的检测会影响跟踪和计数精度。Chen等人 [6] 则在YOLOv7中引入GAM注意力机制和Alpha-IoU损失函数,结合DeepSORT,取得了95.1%的mAP。但Alpha-IoU的泛化能力较差,影响了对其他目标的准确性。Zheng等人 [7] 提出的YOLO-BYTE方法结合YOLOv7和ByteTrack,计数准确率为91.6%,但在处理密集目标时性能下降,并且泛化能力较差。这些方法在动态计数场景中表现良好,但需要在准确度和算力需求之间进行平衡。

在基于图像分割的计数方法中,Xu等人 [8] 使用Mask R-CNN和四轴飞行器捕获的图像,计数准确率达到96%,对遮挡和光照不足具有较强鲁棒性,但硬件成本较高。胡云鸽等人基于Mask R-CNN提出的生猪计数网络,通过改进预处理和特征提取,取得了86%的准确率,但对小目标和高密度目标效果较差。Liu等人 [9] 提出的ICNet模型具有高计算速度和低资源占用,但计数精度仅为71.4%,适用于对速度要求高的场景。HUANG等人 [10] 提出的两阶段中心聚类网络,平均绝对误差为0.43,但每幅图像处理时间为4.3秒,不适合需要快速计数的场景。基于图像分割的计数方法可以详细获取目标的位置、轮廓和大小等信息,对密集目标进行较准确的计数,适用于养殖场等密集场景。然而,由于其较高的参数量,模型的训练和推理速度通常较慢,限制了其在实际应用中的普及。因此,研究更轻量化的图像分割计数方法以提高实用性显得尤为重要。

2. 材料与方法 2.1. 数据集的建构

为了应对羊只图像分割数据集较为稀缺的现状,构建了一个专用的羊只图像分割数据集。选择位于呼和浩特市白塔村的中小型养殖场作为数据采集点,拍摄了四段斜俯视角的视频,作为研究的基础数据。首先,对采集的羊只视频数据进行帧采样,本文设置的抽帧的时间间隔设置为每5秒一帧,总共抽取了400张待标注的图片。本文使用Labelme标注工具,首先要对每个待标注的对象用打点的方式,来选取对象的轮廓,在确定好一个对象的外轮廓之后,对每个标好的对象进行类别标记。用于区分对象是不是一类物体,并且将类别名保存在JSON文件中。为了能更好地模拟真实场景与增强模型的泛化能力,本文对原始数据进行了数据增强的操作,数据由原来的400张变为3600张。数据集的部分示例如 图1 所示。

Figure 1. Example of a sheep image segmentation dataset--图1. 羊只图像分割数据集示例--
2.2. 基准网络选择

为了选择一种算法作为羊只计数方法改进的基础模型,设计了对比实验,并使用公共数据集VOC2012对三个经典的图像分割模型进行了训练和评估,以分割平均精度均值(mAP)作为评价标准。实验结果如 表1 所示。

<xref></xref>Table 1. Deep learning image segmentation experiment comparison tableTable 1. Deep learning image segmentation experiment comparison table 表1. 深度学习图像分割实验对比表

算法

mAP (%)

FCN

41.62

Unet

40.13

Mask R-CNN

47.37

从实验结果分析可得,Mask R-CNN的mAP最高,为47.37。在养殖场景中的羊只图像分割计数任务中,需要准确的分割结果,并且考虑目标的定位和检测。因此,选择使用Mask R-CNN作为基础模型。

2.3. 基准网络轻量化

在选择MaskR-CNN作为基础模型后,需要对其主干网络进行轻量化改进。本文选取Inverted Residual对Mask R-CNN的主干网络进行轻量化改进。倒残差结构Inverted Residual最早由MobileNetV2引入,是一种在轻量级卷积神经网络中常用的模块,它的作用是提高模型的效率和性能。倒残差采用的是先升维再降维的反向操作,其结构如 图2 所示。

Figure 2. Inverse residual network structure diagram--图2. 倒残差网络结构图--

本文在替换过程中,保留了ResNet50中layer0部分,由于这部分负责对输入图像做预处理,本文希望在新的网络结构中保留相同功能,所以没有进行替换。其余四个模块均按照 图3 中的结构进行了替换。其中,in-dim为输入维度,out-dim为输出维度,stride表示步幅,当stride = 1时卷积核每次移动一个像素,输出特征图的空间尺寸就与输入相同,当stride = 2时进行下采样,虽然减小了特征图的空间分辨率,但增加了感受野。通过这样的改进,可以得到一个轻量化网络结构如 图3 所示。

Figure 3. Schematic diagram of the introduction position of the backward residual module--图3. 倒残差模块引入位置示意图--

考虑到主干网络参数量减少而造成准确度下降的情况,本文在主干网络中引入SE注意力机制来缓解这一情况。由 图4 可知,SE模块主要包含以下几个步骤。

Figure 4. SE attention mechanism--图4. SE注意力机制--

1) Squeeze对输入特征图进行全局平均池化,将每个通道的特征图转换为一个单一的值。假设输入特征图为X,其形状为H × W × C (高度、宽度和通道数)。全局平均池化后得到的特征向量z形状为1 × 1 × C。

z c = F s q ( X ) = 1 H × W i = 1 H j = 1 W X i , j , c

2) Excitation通过两个全连接层来学习每个通道的重要性权重。首先是一个带有ReLU激活函数的全连接层,然后是一个带有sigmoid激活函数的全连接层。

s = F e x ( z , W ) = δ [ W 2 ReLU ( W 1 z ) ]

其中,W1和W2是两个全连接层的权重矩阵, δ 是sigmoid激活函数,s是学到的每个通道的权重。

3) Scale将学到的权重s重新作用到输入特征图的每个通道上。具体地,使用广播机制将每个通道的特征图乘以对应的权重。

X ^ i , j , c = F s c a l e ( s c , X i , j , c ) = s c X i , j , c

对于Mask R-CNN-I模型,底层通常捕捉基础且简单的特征,如边缘、颜色和纹理,这些特征对图片理解很重要,但缺乏抽象性。因此,在底层加入注意力机制效果不明显,因为特征几乎同等重要。注意力机制对深层网络的抽象特征进行加权,可以突出对任务最有帮助的特征。因此,我们在高层的moblile2、moblile3、moblile4模块中加入注意力机制,使网络对任务更敏感。加入后的网络结构如 图5 所示。

FPN是一种特征金字塔结构,它通过自下而上和自上而下的水平连接来提取多尺度的特征。在特征融合部分将FPN与ASPP (空洞空间卷积池化金字塔)结合起来。这样的组合充分利用了FPN的多尺度特征金字塔结构,以及ASPP在局部和全局感受野上的有效信息捕捉能力。这有助于提高模型对目标的理解和分割性能。

ASPP用于增加感受野并捕获多尺度的上下文信息,同时保持特征图的空间分辨率。一般情况下,它被加在网络的深层部分,以捕捉高级语义信息而不是边缘或纹理等信息,这有助于改善网络对复杂对象和场景的理解。对于像素级的图像分割任务,在深层网络中加入ASPP可以扩大感受野,而在浅层加入可能会忽略有用的细节信息。因此,本文选择在FPN的M5、M4层引入ASPP,以利用网络已经提取的复杂特征,在不增加模型规模的情况下,增强对不同尺度结构的理解和处理能力。其引入位置如 图6 所示。

Figure 5. Schematic diagram of where SE attention mechanism is introduced--图5. SE注意力机制引入位置示意图-- Figure 6. Schematic diagram of the ASPP introduction location--图6. ASPP引入位置示意图--

通过对Mask R-CNN的主干网络进行了轻量化改进,SE注意力机制的引入,以及,在特征融合部分加入了ASPP空洞金字塔池化,提升模型对多尺度信息的捕获能力。本文提出的模型总体架构如 图7 所示。

Figure 7. Model architecture diagram--图7. 模型架构图--
2.4. 实验设计

数据集:本文选取在1.1节中构建的数据集,共计3600张图片。按照8:2的比例划分为训练集和测试集。

评价指标:本文使用的评价指标如下:Params/M (参数量):表示模型中需要优化的可训练参数的数量,Macc/G (计算量):表示模型的计算复杂度,单帧时间/s:表示推理单帧图像所需的时间,MS/M (模型大小):表示模型所占用的存储空间大小,Count_Accuracy/% (计数准确度):评价羊只计数的准确度。其中Count_Accuracy的计算公式如下:

C o u n t _ A c c u r a c y = ( 1 i = 1 n | t o t a l _ p r o j e c t s i a n n o t a t e d _ c o u n t i | a n n o t a t e d _ c o u n t i ) × 1 t o t a l _ a n n o t a t e d × 100 %

其中total_projects为模型预测的羊只数量,annotated_count为真实标注的羊只数量,total_annotated 为标注数据的数量。

超参数设置:算法开发环境的硬件配置包括 Xeon(R) Silver 4214R处理器、RTX 3080显卡、4 GB显存,操作系统为Windows 11。软件方面使用了PyCharm 2021、CUDA 11.3、CUDNN 8.2、Pytorch框架以及Python 3.8。训练参数设置为:Epochs为110,Batch Size为8,学习率为0.004,优化器为SGD,权重衰减为1e−4,动量为0.9。

基线模型:本文对基于YOLOv5 [12] 、SSD [13] 和DeepLabv3Plus [14] 的计数方法进行了重复试验,以进行性能比较。

为了验证Mask R-CNN-I-S-A模型中各个组件的有效性,本文进行了消融实验。通过逐步移除模型中的关键组件来评估这些组件对模型性能的影响。在本文中,我们主要关注以下几个组件的消融实验:Inverted Residual模块,SE注意力机制模块,ASPP模块。其中Mask R-CNN:基础模型,不包含任何新增模块。Mask R-CNN-I:在基础模型中添加Inverted Residual模块。Mask R-CNN-I-S:在基础模型中添加Inverted Residual模块和SE注意力机制模块。Mask R-CNN-I-S-A:完整模型,包含所有新增模块。消融实验结果如 表2 所示。

根据表中的数据,逐步引入Inverted Residual模块、SE注意力机制模块和ASPP模块后,模型在轻量化的同时也实现了计数准确率的提升。具体而言:参数数量从基础模型Mask R-CNN的23.51 M减少

<xref></xref>Table 2. Results of ablation experimentsTable 2. Results of ablation experiments 表2. 消融实验结果

模型

Params/M

Macc/G

单帧时间/s

MS/M

计数准确率

Mask R-CNN

23.51

21.58

0.2216

339

96.09%

Mask R-CNN-I

8.37

11.13

0.1368

220

92.23%

Mask R-CNN-I-S

11.12

11.14

0.1687

241

94.32%

Mask R-CNN-I-S-A

14.47

15.94

0.1726

222

96.27%

至Mask R-CNN-I-S-A的14.47 M,减少了32.95%。单帧推理时间从Mask R-CNN的0.2216秒减少至Mask R-CNN-I-S-A的0.1726秒,减少了22.12%。计数准确率从Mask R-CNN的96.09%提升至Mask R-CNN-I-S-A的96.27%,提高了0.18个百分点。这些结果表明,通过逐步加入Inverted Residual模块、SE注意力机制模块和ASPP模块,模型不仅实现了轻量化,而且在保持较高计数准确率的同时,显著提升了推理速度。具体原因如下:Inverted Residual模块采用深度可分离卷积(Depthwise Separable Convolution),有效减少了模型的参数数量,从而降低了模型的复杂度。SE注意力机制模块的引入有助于提高计数准确率,因为它能够更好地聚焦于重要特征,增强了模型对关键特征的关注。ASPP模块的加入提升了多尺度物体的检测能力,通过不同尺度的空洞卷积捕捉多尺度上下文信息,增强了模型的泛化能力和鲁棒性。

综合来看,这些改进措施不仅提升了模型在羊只计数任务上的性能,而且在资源受限的环境下也保持了高效的推理能力。尤其在羊只密集的场景中,这种轻量化和高效推理的特性显得尤为重要。在羊只密集的场景中应用。分割效果如 图8 所示。

Figure 8. Mask R-CNN-I-S-A effect--图8. Mask R-CNN-I-S-A 效果--

本文将改进后得到的Mask R-CNN-InvertedResidual-SE-ASPP简记为Mask R-CNN-I-S-A,并与基于YOLOv5、SSD及DeepLabv3Plus的计数方法进行了重复试验比较,以便更全面地评估它们的性能。评估指标包括每种方法的参数量、计算量、单帧推理时间、模型大小及计数准确率。对比实验结果如 表3 所示。

<xref></xref>Table 3. Comparative experimental resultsTable 3. Comparative experimental results 表3. 对比实验结果

模型

Params/M

Macc/G

单帧时间/s

MS/M

计数准确率

Mask R-CNN-I-S-A

14.47

15.94

0.1726

222

96.27%

YOLOv5

21.2

24.5

0.1193

44.3

80.33%

SSD

25.08

15.46

0.2120

95.71

83.07%

DeepLabv3Plus

38.9

31.35

0.3174

304

92.35%

从表中数据可知根Mask R-CNN-I-S-A模型的参数数量为14.47 M,相比于YOLOv5 (21.2 M)、SSD (25.08 M)以及DeepLabv3Plus (38.9 M)明显较少。这意味着,在保持高性能的同时,该模型实现了轻量化的设计。此外,Mask R-CNN-I-S-A的计算量为15.94 G,与SSD (15.46 G)接近,但低于YOLOv5 (24.5 G)和DeepLabv3Plus (31.35 G)。这一结果表明该模型在计算效率上具有良好的表现。在处理时间方面,Mask R-CNN-I-S-A单帧处理时间为0.1726秒,介于YOLOv5 (0.1193秒)和SSD (0.2120秒)之间,并且优于DeepLabv3Plus (0.3174秒),这说明在保持较高准确度的同时,其处理速度也较快。在内存占用方面,Mask R-CNN-I-S-A为222MB,介于YOLOv5 (44.3 MB)和SSD (95.71 MB)之间,但低于DeepLabv3Plus (304 MB),显示了该模型在内存使用上的优势。最重要的是,Mask R-CNN-I-S-A的计数准确率达到96.27%,超过了YOLOv5 (80.33%)、SSD (83.07%)以及DeepLabv3Plus (92.35%)。这一优异性能主要归功于Inverted Residual模块的有效使用,它减少了模型的参数数量;SE注意力机制模块的引入帮助模型更好地关注关键特征;而ASPP模块则提升了模型对不同尺度物体的检测能力,增强了整体的泛化能力和鲁棒性。

综上所述,Mask R-CNN-I-S-A在羊只计数任务上表现突出,尤其是在保证高准确率的同时实现了轻量化设计,这使其非常适合在资源受限的环境中部署和应用。

3. 讨论与结论

本文通过对基于Mask R-CNN的轻量化羊只计数模型进行改进,引入了倒残差模块以轻量化特征提取网络,并结合SE注意力机制提升了特征提取能力。此外,通过将ASPP空洞金字塔池化模块融入FPN网络中,增强了特征融合效果。改进后的模型在计数准确率上达到了96.09%,相比基准模型,mAPseg提升了0.7%,mAPbbox提升了0.9%。同时,模型的参数量减少了38.46%,计算量减少了26.14%,体积减少了34.52%,单帧推理速度提升了22.12%。这一改进有效地解决了羊只计数在密集场景下所面临的时效性问题,提高了模型在实际应用中的价值。尽管取得了显著进展,但仍存在数据集覆盖范围有限的问题,可能导致模型在某些特定情况下泛化能力不足;此外,尽管模型已经实现了较大幅度的轻量化,但在模型压缩技术(如剪枝和量化)的应用方面仍有改进空间。未来的研究可以进一步探索这些技术,以实现更深层次的模型轻量化,并通过收集更多样化的数据来提升模型的泛化能力化。

基金项目

内蒙古自然科学基金项目(2023LHMS06012);内蒙古自治区直属高校科研基本业务费重点项目(项目编号:BR231407)。

NOTES

*通讯作者Email: limeian1973@126.com

References 中华人民共和国国家统计局. 中国统计年鉴[M]. 北京: 中国统计出版社, 2023. Saleem, M.H., Potgieter, J. and Arif, K.M. (2021) Automation in Agriculture by Machine and Deep Learning Techniques: A Review of Recent Developments. Precision Agriculture, 22, 2053-2091. >https://doi.org/10.1007/s11119-021-09806-x 王毅恒, 许德章. 基于YOLOv3算法的农场环境下奶牛目标识别[J]. 广东石油化工学院学报, 2019, 29(4): 31-35. 宁远霖, 杨颖, 李振波, 等. 基于改进YOLOv5的复杂跨域场景下的猪个体识别与计数[J]. 农业工程学报, 2022, 38(17): 168-175. Zhang, G., Zhao, Y., Fu, P., Luo, W., Shao, Q., Zhang, T., et al. (2024) A Reliable Unmanned Aerial Vehicle Multi-Target Tracking System with Global Motion Compensation for Monitoring Procapra przewalskii. Ecological Informatics, 81, Article 102556. >https://doi.org/10.1016/j.ecoinf.2024.102556 Chen, X., Pu, H., He, Y., Lai, M., Zhang, D., Chen, J., et al. (2023) An Efficient Method for Monitoring Birds Based on Object Detection and Multi-Object Tracking Networks. Animals, 13, Article 1713. >https://doi.org/10.3390/ani13101713 Zheng, Z., Li, J. and Qin, L. (2023) YOLO-BYTE: An Efficient Multi-Object Tracking Algorithm for Automatic Monitoring of Dairy Cows. Computers and Electronics in Agriculture, 209, Article 107857. >https://doi.org/10.1016/j.compag.2023.107857 Xu, B., Wang, W., Falzon, G., Kwan, P., Guo, L., Sun, Z., et al. (2020) Livestock Classification and Counting in Quadcopter Aerial Images Using Mask R-CNN. International Journal of Remote Sensing, 41, 8121-8142. >https://doi.org/10.1080/01431161.2020.1734245 Liu, S., Zhao, C., Zhang, H., Li, Q., Li, S., Chen, Y., et al. (2024) ICNet: A Dual-Branch Instance Segmentation Network for High-Precision Pig Counting. Agriculture, 14, Article 141. >https://doi.org/10.3390/agriculture14010141 Huang, E., Mao, A., Gan, H., Camila Ceballos, M., Parsons, T.D., Xue, Y., et al. (2021) Center Clustering Network Improves Piglet Counting under Occlusion. Computers and Electronics in Agriculture, 189, Article 106417. >https://doi.org/10.1016/j.compag.2021.106417 He, K., Gkioxari, G., Dollar, P. and Girshick, R. (2017) Mask R-CNN. 2017 IEEE International Conference on Computer Vision (ICCV), Venice, 22-29 October 2017, 2980-2988. >https://doi.org/10.1109/iccv.2017.322 Ultralytics (n.d.) YOLOv5. >https://github.com/ultralytics/yolov5 Liu, W., Anguelov, D., Erhan, D., Szegedy, C., Reed, S., Fu, C., et al. (2016) SSD: Single Shot MultiBox Detector. Computer Vision—ECCV 2016, Amsterdam, 11-14 October 2016, 21-37. >https://doi.org/10.1007/978-3-319-46448-0_2 Chen, L., Zhu, Y., Papandreou, G., Schroff, F. and Adam, H. (2018) Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation. Computer Vision—ECCV 2018, Munich, 8-14 September 2018, 833-851. >https://doi.org/10.1007/978-3-030-01234-2_49
Baidu
map