无人机航拍向日葵识别数据集|智慧农业作物检测|出苗率监测|YOLO目标检测数据集
无人机航拍向日葵识别数据集|智慧农业作物检测|出苗率监测|YOLO目标检测数据集
传统农业靠人工巡检向日葵出苗、长势与分布,效率低、误差大、成本高;无人机航拍+AI视觉正重构田间监测范式,单类别精准数据集成为算法落地关键——本数据集专为向日葵视觉检测打造,助力出苗统计、长势评估、产量预估等智慧农业场景快速落地。
📖 项目简介
Sunflower-UAV-Detection 是面向智慧农业的无人机航拍单类别目标检测数据集,聚焦向日葵植株精准识别与出苗率量化分析,适配YOLO系列、Faster-RCNN、RetinaNet等主流检测框架,用于作物识别、生长监测、田间巡检、数字化管理等工程与科研场景。
🎯 核心亮点
- 单类别精准标注:仅向日葵(Tournesol),无类别干扰,标注纯度高、训练收敛快
- 航拍实景覆盖:农田复杂背景,光照/遮挡/密度差异大,泛化能力强
- 规模适中:有效避免过拟合,兼顾训练效果与存储/算力成本
- 开箱即用:兼容YOLO格式,直接对接训练脚本,快速启动模型迭代
📊 数据集详情
| 信息项 | 详细说明 |
|---|---|
| 任务类型 | 计算机视觉·目标检测 |
| 目标类别 | 向日葵(Tournesol),单类别 |
| 图像总量 | 1459张无人机航拍图 |
| 数据格式 | JPG/PNG,支持YOLO标注 |
| 适用场景 | 出苗率统计、植株计数、长势监测、分布测绘、智慧巡检 |
| 配套能力 | 无预训练模型,可直接训练自定义权重 |
📁 目录结构
Sunflower-UAV-Detection/ ├── images/ # 原始航拍图像 │ ├── train/ # 训练集 │ └── val/ # 验证集 ├── labels/ # YOLO格式标注文件 │ ├── train/ │ └── val/ ├── data.yaml # 数据集配置文件 ├── train.py # 训练脚本 ├── inference.py # 推理脚本 └── README.md🔧 快速开始(YOLOv8实战代码)
1. 环境安装
# 安装核心依赖pipinstallultralytics opencv-python torch2. 数据集配置(data.yaml)
# 向日葵无人机检测配置 - 单类别精准训练path:./Sunflower-UAV-Detection# 数据集根路径train:images/train# 训练图像路径val:images/val# 验证图像路径nc:1# 类别数=向日葵names:['Tournesol']# 类别名称3. 模型训练脚本(train.py)
fromultralyticsimportYOLOimporttorchdeftrain_sunflower_model():""" 【智慧农业-向日葵检测】训练注释 场景:无人机航拍、田间复杂背景、单类别高召回 策略:用YOLOv8s平衡速度与精度;imgsz=640适配航拍分辨率; 单类别无需多分类Loss,聚焦定位与置信度 """# 加载轻量预训练模型,适配农业边缘部署model=YOLO("yolov8s.pt")# 启动训练:100轮确保收敛,批次16,图像640,单类别加速收敛model.train(data="data.yaml",epochs=100,imgsz=640,batch=16,device=0iftorch.cuda.is_available()else"cpu",patience=10,# 早停防止过拟合save=True# 保存最优权重)if__name__=="__main__":train_sunflower_model()4. 出苗率推理与计数(inference.py)
fromultralyticsimportYOLOimportcv2importosdefcalculate_emergence_rate(model_path,img_dir,area_per_img=1.0):""" 【出苗率计算核心函数】农业场景专用 输入:模型路径、航拍图目录、单图覆盖面积(亩) 输出:单图株数、全局平均密度、出苗率估算 """model=YOLO(model_path)total_count=0img_count=len([fforfinos.listdir(img_dir)iff.endswith(('jpg','png'))])forimg_nameinos.listdir(img_dir):img_path=os.path.join(img_dir,img_name)img=cv2.imread(img_path)# 置信度0.25,IOU0.45,农业遮挡场景保召回results=model(img,conf=0.25,iou=0.45)# 统计当前图向日葵数量count=len(results[0].boxes)total_count+=count# 绘制检测框与计数forboxinresults[0].boxes:x1,y1,x2,y2=map(int,box.xyxy[0])cv2.rectangle(img,(x1,y1),(x2,y2),(0,255,0),2)cv2.putText(img,f"Count:{count}",(20,50),cv2.FONT_HERSHEY_SIMPLEX,1.5,(0,0,255),3)cv2.imwrite(f"output/{img_name}",img)avg_density=total_count/(img_count*area_per_img)print(f"总株数:{total_count}")print(f"平均密度:{avg_density:.1f}株/亩")returntotal_count,avg_densityif__name__=="__main__":calculate_emergence_rate(model_path="runs/train/weights/best.pt",img_dir="images/val")🧪 深度思考与工程优化
- 单类别优势:类别干扰为0,小样本也能高mAP;适合出苗率、株距、长势等细任务
- 数据规模:1459张在农业检测属实用区间,过拟合风险低、训练快、部署友好
- 场景增强:建议加入遮挡/逆光/稀疏地块扩充,提升田间泛化
- 出苗率 pipeline:检测计数 → 面积归一化 → 亩均株数 → 出苗率/整齐度评估
- 部署方向:导出ONNX/TensorRT,适配无人机端侧/边缘盒子,实现实时巡检
📌 适用场景
- 智慧农业:无人机自动巡检、出苗率快速统计、长势监测
- 算法研发:单类别检测基线、小样本学习、轻量化模型蒸馏
- 科研教学:作物识别数据集、目标检测实践、农业AI案例
- 工程落地:农机导航、精准喷药、产量预估
📎 标签
#无人机航拍 #智慧农业 #农作物检测 #向日葵识别 #出苗率计算 #YOLO数据集 #目标检测 #农业数字化 #AI农业 #计算机视觉 #开源数据集 #UAV遥感
