1. 项目概述:智慧养殖中的猪只行为检测数据集
这个数据集专门针对现代化养猪场中的猪只行为识别需求设计,包含2628张高质量标注图片,覆盖猪只的6种典型行为状态(吃、喝、躺、站等)。采用工业界通用的VOC和YOLO两种标注格式,可直接用于目标检测模型的训练与验证。
在规模化养殖场景中,通过视觉分析自动监测猪只行为具有多重价值:饲养员可以实时掌握猪群健康状态(如进食异常可能预示疾病)、优化饲喂策略(根据采食量调整投喂)、改善动物福利(及时发现受伤或异常个体)。传统人工观察方式存在效率低、主观性强等问题,而基于深度学习的自动化方案正逐步成为行业新标准。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 数据集核心构成解析
2.1 数据采集与标注规范
原始数据通过养殖场安装的多个视角工业摄像头采集,覆盖不同光照条件(自然光/补光灯)、不同时段(白天/夜晚)、不同生长阶段(仔猪/育肥猪)的场景。标注过程遵循严格质量控制:
- 标注工具:使用LabelImg进行手工标注,确保边界框精确贴合猪体轮廓
- 类别定义:
eating:头部接触饲料或明显咀嚼动作drinking:嘴部接触饮水装置lying:腹部与地面接触且无支撑动作standing:四肢直立无倚靠walking:至少一条腿处于移动状态abnormal:包含咬尾、打斗等异常行为
标注时特别注意重叠个体的处理:当遮挡率>30%时标记为"difficult",仍计入统计但训练时可选择忽略
2.2 数据格式详解
VOC格式包含:
- JPEGImages文件夹:原始图像(1920×1080分辨率)
- Annotations文件夹:XML标注文件,含物体类别和边界框坐标
- ImageSets/Main:划分训练集/验证集/测试集的文本文件
YOLO格式包含:
- images文件夹:按train/val/test分组的图像
- labels文件夹:对应txt标注文件,每行格式为
<class_id> <cx> <cy> <width> <height>(归一化坐标) - data.yaml:定义类别名称和数据集路径
格式转换时处理了以下关键问题:
- 坐标系统转换:VOC的(xmin,ymin,xmax,ymax) → YOLO的归一化中心点坐标
- 图像尺寸适配:通过letterbox保持长宽比,添加灰边而不变形
- 类别ID映射:确保两种格式的类别顺序一致
3. 数据集的典型应用场景
3.1 养殖场智能监控系统
部署流程示例:
python复制# 基于YOLOv8的推理代码片段
model = YOLO('pig_behavior.pt')
cap = cv2.VideoCapture('rtsp://camera_feed')
while True:
ret, frame = cap.read()
results = model(frame)
for box in results[0].boxes:
cls_id = int(box.cls)
if names[cls_id] == 'drinking':
alert_if_abnormal_duration(box) # 超过2小时未饮水触发警报
典型参数配置:
- 输入分辨率:640×640(保持长宽比缩放)
- 置信度阈值:0.5(可针对不同行为调整)
- NMS IoU阈值:0.45(处理密集场景重叠)
3.2 行为模式分析
通过时间序列分析可发现:
- 采食频率异常 → 潜在疾病早期预警
- 躺卧时间增加 → 环境温度可能过高
- 打斗行为突增 → 需要检查饲养密度
4. 模型训练与优化建议
4.1 数据增强策略
针对养殖场特殊环境建议:
yaml复制# yolov8数据集增强配置示例
augmentations:
- hsv_h: 0.015 # 应对灯光色温变化
- hsv_s: 0.7 # 增强饲料与环境的区分度
- hsv_v: 0.4
- translate: 0.2 # 猪只位置随机性
- scale: 0.5 # 不同距离的猪只尺寸差异
- fliplr: 0.5 # 左右对称行为
- mosaic: 1.0 # 提升密集场景识别
4.2 模型选型对比
| 模型 | mAP@0.5 | 参数量(M) | 推理速度(ms) | 适用场景 |
|---|---|---|---|---|
| YOLOv8n | 0.89 | 3.2 | 6.8 | 边缘设备部署 |
| YOLOv8s | 0.91 | 11.4 | 8.2 | 中等算力服务器 |
| YOLOv8m | 0.92 | 26.3 | 12.1 | 高性能分析平台 |
实测在NVIDIA Jetson Xavier NX上,YOLOv8n可达到35FPS处理速度,满足实时监控需求
5. 常见问题与解决方案
5.1 标注相关
问题1:猪只重叠导致漏检
- 解决方案:增加CutMix数据增强,人工补充部分高密度场景样本
问题2:反光地面干扰检测
- 处理方法:在HSV颜色空间增强S通道,抑制高光区域影响
5.2 模型训练
问题3:站立与行走易混淆
- 优化方案:引入时序信息,使用3帧差分作为辅助输入
问题4:夜间检测精度下降
- 改进措施:单独收集夜间数据并增加20%训练权重
6. 部署实践案例
某万头猪场部署方案:
- 硬件配置:
- 海康威视IPC(4K@15fps)
- 边缘计算盒(Intel i7-1265U + 16GB RAM)
- 软件栈:
- ONNX Runtime加速推理
- OpenVINO优化Intel平台性能
- 业务集成:
- 异常行为触发声光报警
- 每日行为报告自动生成
- 效果指标:
- 单头猪识别准确率:92.7%
- 群体行为统计误差:<5%
- 疾病预警提前量:平均36小时
实际部署中发现的关键经验:
- 摄像头安装高度建议2.5-3米,俯角30°为最佳监控视角
- 定期(每周)用新数据微调模型,适应猪只生长带来的外观变化
- 对饮水器的反光区域需做ROI屏蔽,减少误报
