无人机航拍智慧牧业数据集|草原牲畜监测|牛群识别计数深度学习训练集 智慧牧业无人机巡检数据集|牧场牲畜检测|航拍视觉识别模型样本库 草原畜牧智能监测数据集|无人机牲畜计数|智慧农业视觉训练数据
·
无人机航拍智慧牧业数据集|草原牲畜监测|牛群识别计数深度学习训练集
智慧牧业无人机巡检数据集|牧场牲畜检测|航拍视觉识别模型样本库
草原畜牧智能监测数据集|无人机牲畜计数|智慧农业视觉训练数据
智慧牧业与数字牧场快速普及,无人机已成为草原、山地、大型牧场牲畜盘点、健康监测、走失预警、围栏管理的核心装备。但牧区地形开阔、牲畜分散、目标偏小、光照与遮挡复杂,通用数据集难以适配真实航拍场景,导致计数不准、漏检严重、模型泛化差。本文严格遵循GitHub开源项目规范,完整开放一套无人机智慧牧业牲畜专用检测数据集,配套YOLO训练、计数、推理全流程工程代码,开箱即用,快速构建高精度牧场智能监测系统。
📁 项目总览
- 项目领域:计算机视觉|目标检测|智慧牧业|无人机低空巡检
- 核心任务:无人机航拍视角下牛只精准检测、自动计数、群体监测
- 数据规模:4639 张高清航拍图像,8个子数据集,场景全覆盖
- 标注类别:单类别「cow/牛」纯净标注,无多余类别干扰
- 格式支持:图像 JPG/PNG + 标注 YOLO TXT / VOC XML / COCO JSON
- 适配算法:YOLOv5/v7/v8/v10/v11 全系列,小目标与密集群体验证优化
- 应用场景:草原牧场盘点、牲畜计数、健康监测、走失预警、智慧牧业管理



🧾 数据集核心信息
| 信息项 | 详情 |
|---|---|
| 任务类型 | 计算机视觉 · 目标检测 |
| 标注类别 | 仅「牛」单类别,专项优化检测精度与计数准确率 |
| 数据总量 | 4639 张无人机航拍图像,8个子数据集覆盖多环境 |
| 数据格式 | 图像:JPG/PNG;标注:YOLO‑TXT、VOC‑XML、COCO‑JSON |
| 场景特点 | 草原/山地/牧场、俯视/斜侧视、远距离小目标、密集群、光照多变 |
| 配套资源 | 数据集划分、格式转换、训练/推理/自动计数全套代码 |

✨ 核心优势
- 牧业场景专属:纯牧区航拍视角,匹配无人机真实巡检航线与高度
- 标注纯净高效:单类别无干扰,模型收敛更快、计数更准
- 数据规模充足:4.6k+图像+8个子集,充分支撑模型训练与泛化验证
- 小目标/密集优化:覆盖远距离、分散、扎堆、遮挡样本,牧区鲁棒性强
- 工程化就绪:原生兼容YOLO,一键训练、一键推理、一键统计存栏量
📂 标准目录结构(GitHub 规范)
drone-livestock-det/
├── images/ # 航拍图像
│ ├── train/
│ ├── val/
│ └── test/
├── labels/ # YOLO格式标注
│ ├── train/
│ └── val/
├── scripts/ # 工具脚本
│ ├── split_dataset.py # 训练/验证集划分
│ ├── voc2yolo.py # VOC转YOLO标注
│ └── vis_label.py # 标注可视化校验
├── data.yaml # YOLO数据集配置
├── train.py # 牲畜检测训练
├── predict.py # 航拍图/视频推理
├── count_cattle.py # 牛只自动统计
└── README.md # 项目说明
🧪 深度学习实战代码(带智慧牧业场景经验注释)
1. data.yaml(无人机牛群检测专用配置)
# 场景注释:智慧牧业·无人机草原牛群检测配置
# 牧区目标小、分散、扎堆多,建议 imgsz=640,降低conf减少漏检
path: ./drone-livestock-det
train: images/train
val: images/val
test: images/test
nc: 1 # 仅牛单类别
names: ['cow'] # 类别名称
# 牧区小目标+密集群调参经验:
# 1. imgsz=640/800 提升远距离牛只召回
# 2. 开启 mosaic、mixup 增强光照与姿态鲁棒性
# 3. conf=0.25,iou=0.45,平衡密集扎堆不漏检、不误检
2. train.py(YOLOv8 智慧牧业牛群训练)
from ultralytics import YOLO
# 场景注释:无人机草原巡检·牛群小目标+密集扎堆训练参数
# 兼顾牧区开阔环境、小目标、遮挡、姿态多变特性
if __name__ == "__main__":
model = YOLO("yolov8s.pt") # 轻量中精度,适合机载/边缘部署
model.train(
data="data.yaml",
epochs=120, # 小目标+复杂场景适当加轮数
imgsz=640, # 高分辨率捕捉牛只细节
batch=16,
device=0,
patience=12, # 早停防过拟合
lr0=0.01,
lrf=0.01,
momentum=0.937,
weight_decay=0.0005,
warmup_epochs=3,
cos_lr=True,
augment=True, # 强数据增强
hsv_h=0.015,
hsv_s=0.7,
hsv_v=0.4, # 适应草原强光/阴影
close_mosaic=10,
name="cattle_detection"
)
3. predict.py(无人机牧场巡检推理)
from ultralytics import YOLO
import cv2
# 场景注释:牧区航拍推理·支持图片/视频/实时流,低漏检配置
def cattle_predict():
model = YOLO("./runs/detect/cattle_detection/weights/best.pt")
# 牧区低置信度+高IOU,减少分散/遮挡牛只漏检
img_path = "drone_grassland.jpg"
results = model.predict(source=img_path, conf=0.25, iou=0.45)
# 保存可视化结果
res_img = results[0].plot()
cv2.imwrite("cattle_result.jpg", res_img)
# 视频/实时流巡检
# model.predict(source="drone_flight.mp4", save=True, stream=True)
if __name__ == "__main__":
cattle_predict()
4. count_cattle.py(牛只存栏自动统计)
from ultralytics import YOLO
# 场景注释:智慧牧业核心功能·航拍图自动统计牛群数量
def count_livestock():
model = YOLO("cattle_detection.pt")
img_path = "drone_pasture.jpg"
results = model.predict(source=img_path, conf=0.25)
cow_count = 0
for result in results:
for box in result.boxes:
if int(box.cls) == 0:
cow_count += 1
print(f"🐄 本场航拍统计牛只数量:{cow_count} 头")
if __name__ == "__main__":
count_livestock()
5. voc2yolo.py(标注格式转换)
import os
import xml.etree.ElementTree as ET
from pathlib import Path
# 场景注释:VOC转YOLO,保证牧区小目标牛只框归一化准确
def voc_to_yolo(voc_dir, yolo_dir, class_names):
os.makedirs(yolo_dir, exist_ok=True)
for xml_file in Path(voc_dir).glob("*.xml"):
tree = ET.parse(xml_file)
root = tree.getroot()
img_w = int(root.find("size/width").text)
img_h = int(root.find("size/height").text)
txt_path = os.path.join(yolo_dir, f"{xml_file.stem}.txt")
with open(txt_path, "w") as f:
for obj in root.findall("object"):
cls_name = obj.find("name").text
if cls_name not in class_names:
continue
cls_id = class_names.index(cls_name)
bndbox = obj.find("bndbox")
xmin = float(bndbox.find("xmin").text)
ymin = float(bndbox.find("ymin").text)
xmax = float(bndbox.find("xmax").text)
ymax = float(bndbox.find("ymax").text)
# YOLO归一化坐标
cx = (xmin + xmax) / 2 / img_w
cy = (ymin + ymax) / 2 / img_h
w = (xmax - xmin) / img_w
h = (ymax - ymin) / img_h
f.write(f"{cls_id} {cx:.6f} {cy:.6f} {w:.6f} {h:.6f}\n")
if __name__ == "__main__":
classes = ["cow"]
voc_to_yolo("./labels/voc", "./labels/yolo", classes)
🎯 落地应用方向
- 牧场自动盘点:无人机单次巡航,快速统计存栏量,替代人工盘点
- 牲畜健康监测:识别掉队、卧地不起等异常状态,及时预警
- 围栏安全管理:监测越界、冲撞围栏,降低走失与损失风险
- 牧区生态监测:结合分布密度,辅助草场承载量评估
- 智慧牧业平台:对接管理系统,实现数字化、可视化、智能化运维
📌 标签
#无人机智慧牧业 #牲畜检测 #牛群识别 #无人机牧场 #智慧农业 #目标检测 #YOLO畜牧 #低空视觉 #草原巡检 #计算机视觉 #深度学习数据集 #牲畜计数 #数字牧场
更多推荐




所有评论(0)