摘要:猪只计数是大规模养猪场在养殖过程中的一项非常重要的工作。在复杂的猪圈环境中,由于猪的应激反应和诸多的障碍物,想要进行准确且自动化的计数是一个非常困难的工作。为了提高在复杂环境下识别,该文提出了一种基于YOLOv8的猪只数量目标检测模型(SCS-YOLOv8),旨在提高养殖场中猪只计数的准确性和效率。首先,该模型在第5层的C2f层融入Swin Transformer模块,增强模型的特征提取能力。同时,在第10层增加卷积块注意力模块(CBAM)注意力机制,增强模型对小目标和遮挡目标的检测能力,提升模型的鲁棒性。此外,还引入了简化的空间金字塔池化快速模块(SimSPPF)模块降低计算量,提高了推理速度,采用基于动态非单调聚焦机制的边界框回归损失(WIoU)损失函数更好地处理猪只的遮挡问题和目标较小的问题,提高模型在复杂场景下的检测性能,并结合软非极大值抑制方法(Soft-NMS)防止两个重合度过高的目标漏检。实验证明,该模型在自制数据集和科大讯飞公开数据集上均取得了优异的性能,其中在自有数据集上的mAP50-95值达到了77.2%,较初始YOLOv8x提高了4.8%,相较于其它yolo模型都有不同程度的提升。同时该模型在科大讯飞的数据集上也有着不错的表现,证明了其良好的泛用性和鲁棒性。
文章目录
0 引言
1 模型特色
1.1 网络结构
1.1.1 SCS-YOLOv8的网络架构图
1.1.2 C2f模块融合Swin Transformer
1.1.3 增加CBAM注意力机制
1.1.4 池化操作
1.2 损失函数
1.3 非最大抑制
2 结果与分析
2.1 评价指标
2.2 数据准备
2.3 模型选取
2.4 数据增强
2.5 对比实验
2.6消融实验
3 结论