0 引 言
1 材料与方法
1.1 数据采集
1.2 数据集构建
表1 改进实例分割算法的生猪计数数据集Table 1 Pig count dataset created in improved instance segmentation algorithm |
数据集 | 图像数量 | 猪只总数/头 | 单幅图像最小猪只数/头 | 单幅图像最大猪只数/头 |
---|---|---|---|---|
训练集 | 606 | 11 609 | 4 | 63 |
测试集 | 65 | 2 046 | 10 | 46 |
1.3 生猪自动计数模型构建
1.3.1 YOLOv8
1.3.2 高效全局注意力模块
1.4 生猪计数小程序开发
1.5 实验环境配置
1.6 评价指标
2 结果与讨论
2.1 不同计数模型性能对比分析
表2 不同实例分割模型性能比较Table 2 Performance comparison of different instance segmentation models |
网络模型 | AP50 | AP(50:95) | 参数量/MB | 单幅图像平均检测时间/ms |
---|---|---|---|---|
YOLACT | 0.689 | 0.399 | 29.2 | 63 |
PolarMask | 0.742 | 0.422 | 36.3 | 151 |
SOLO | 0.811 | 0.537 | 46.2 | 113 |
Mask R-CNN | 0.900 | 0.644 | 43.7 | 500 |
YOLOv5x | 0.865 | 0.502 | 73.9 | 26 |
YOLOv8x | 0.897 | 0.636 | 68.2 | 44 |
YOLOv8x-CBAM | 0.901 | 0.646 | 125.3 | 109 |
YOLOv8x-Ours | 0.901 | 0.660 | 71.7 | 64 |
2.2 不同计数模型结果对比分析
表3 不同阈值下各个实例分割模型在测试集上的预测结果Table 3 Prediction results of instance segmentation models on the test set with different thresholds |
模型 | 评价指标 | 得分阈值 | |||||||
---|---|---|---|---|---|---|---|---|---|
0.05 | 0.1 | 0.15 | 0.2 | 0.25 | 0.3 | 0.35 | 0.4 | ||
YOLACT | MAE | 7.125 | 7.125 | 7.125 | 7.125 | ||||
RMSE | — | 8.369 | 8.369 | 8.369 | 8.369 | ||||
R 2 | 0.327 | 0.327 | 0.327 | 0.327 | |||||
PolarMask | MAE | 5.512 | 5.578 | 2.853 | 4.157 | ||||
RMSE | — | 7.132 | 6.596 | 3.775 | 5.018 | ||||
R 2 | 0.519 | 0.585 | 0.868 | 0.763 | |||||
SOLO | MAE | 3.637 | 2.913 | 3.141 | 4.085 | ||||
RMSE | — | 4.792 | 3.634 | 4.066 | 4.978 | ||||
R 2 | 0.785 | 0.879 | 0.843 | 0.767 | |||||
Mask R-CNN | MAE | 1.969 | 1.769 | 1.754 | 1.769 | ||||
RMSE | — | 2.649 | 2.421 | 2.366 | 2.376 | ||||
R 2 | 0.932 | 0.943 | 0.946 | 0.945 | |||||
YOLOv8x | MAE | 2.169 | 1.985 | 2.462 | 2.892 | 3.077 | |||
RMSE | 2.826 | 2.715 | 3.153 | 3.526 | 3.713 | — | |||
R 2 | 0.922 | 0.928 | 0.903 | 0.879 | 0.866 | ||||
YOLOv8x -CBAM | MAE | 1.985 | 1.831 | 1.923 | 1.835 | 2.431 | |||
RMSE | 2.720 | 2.434 | 2.508 | 2.440 | 3.103 | — | |||
R 2 | 0.928 | 0.942 | 0.939 | 0.939 | 0.906 | ||||
YOLOv8x -Ours | MAE | 1.969 | 1.798 | 1.727 | 1.799 | 2.316 | |||
RMSE | 2.651 | 2.375 | 2.168 | 2.380 | 3.005 | — | |||
R 2 | 0.931 | 0.945 | 0.949 | 0.944 | 0.938 |
|
表4 不同实例分割模型在测试集上的生猪计数结果Table 4 Pig cuouting results for different instance segmentation models on the test set |
模型 | 准确计数的图像 | 误差小于2头猪的图像 | 误差小于3头猪的图像 | 误差大于2头猪的图像 | ||||
---|---|---|---|---|---|---|---|---|
数量 | 占比/% | 数量 | 占比/% | 数量 | 占比/% | 数量 | 占比/% | |
YOLCAT | 22 | 33.8 | 40 | 61.5 | 52 | 80.0 | 13 | 20.0 |
YOLOv5x | 29 | 44.6 | 48 | 73.8 | 56 | 86.2 | 9 | 13.8 |
PolarMask | 33 | 50.8 | 47 | 72.3 | 56 | 86.2 | 9 | 13.8 |
SOLO | 35 | 53.8 | 50 | 76.9 | 58 | 89.2 | 7 | 10.8 |
YOLOv8x | 35 | 53.8 | 49 | 75.4 | 57 | 87.7 | 8 | 12.3 |
Mask R-CNN | 37 | 56.9 | 49 | 75.4 | 56 | 86.2 | 9 | 13.8 |
YOLOv8x-CBAM | 41 | 63.1 | 51 | 78.5 | 59 | 90.8 | 6 | 9.2 |
YOLOv8x-Ours | 43 | 66.2 | 57 | 87.7 | 61 | 93.8 | 4 | 6.2 |