无人机航拍农田智能识别|农作物与杂草精准检测数据集|智慧农业深度学习实战|目标检测项目
·
无人机航拍农田智能识别|农作物与杂草精准检测数据集|智慧农业深度学习实战|目标检测项目
在智慧农业加速落地的今天,农田场景下的自动化感知成为降本增效的关键突破口。传统人工巡检与杂草识别效率低、成本高、易漏判,而基于无人机航拍与深度学习的视觉识别方案,正快速成为精准农业的标配能力。本文带来一套高质量农田航拍目标检测数据集,配套完整YOLO训练推理流程,开箱即用,助力农业AI快速落地。
📝 项目总览
项目简介
本数据集聚焦农业航拍场景下农作物与杂草二分类目标检测,专为智慧农业、精准除草、农田监测等数字化应用打造,提供高质量标注图像与配套模型,可直接用于训练、测试、部署全流程。
核心信息
- 任务类型:计算机视觉|目标检测|农业场景
- 目标类别:农作物(crop)、杂草(weed)
- 数据规模:1300 张高精度航拍标注图像,覆盖多样农田光照、角度、密度场景
- 数据格式:图像 + YOLO 标准标注,支持主流检测框架
- 配套资源:数据集文件 ×2、预训练好的检测模型 ×1
- 适用场景:无人机农田巡检、智能除草机器人、变量喷洒系统、农业数字化平台

核心价值
- 免去海量数据采集与标注成本,快速搭建杂草识别模型
- 支撑自动化精准除草,减少农药浪费,保护作物生长
- 为智慧农业视觉感知模块提供稳定数据底座
- 适合教学、科研、工程化快速验证
📁 数据集标准结构
crop_weed_dataset/
├── images/ # 图片目录
│ ├── train/ # 训练集图片
│ ├── val/ # 验证集图片
│ └── test/ # 测试集图片(可选)
├── labels/ # 标注文件(与图片同名)
│ ├── train/
│ ├── val/
│ └── test/
└── data.yaml # 数据集配置文件
标注格式(YOLO 标准):类别ID x_center y_center width height
- 坐标归一化 0–1
- 0:农作物|1:杂草

🧪 data.yaml 配置文件
# 农作物-杂草检测数据集配置
path: ./crop_weed_dataset # 数据集根路径(相对/绝对均可)
train: images/train # 训练集路径
val: images/val # 验证集路径
test: images/test # 测试集(可选)
nc: 2 # 类别数量:农作物 + 杂草
names:
0: crop # 类别0:农作物
1: weed # 类别1:杂草
🚀 深度学习实战:YOLOv8 训练+推理全流程
环境安装
# 安装 YOLOv8 依赖
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple
1. 模型训练代码
# -*- coding: utf-8 -*-
"""
农作物与杂草检测 - YOLOv8 训练脚本
农业场景经验:
1. 农田小目标多,建议 imgsz=640/1280
2. 航拍视角单一,开启 mosaic、copy_paste 增强
3. 杂草易密集,适当提高 conf 与 iou 阈值
"""
from ultralytics import YOLO
def train_crop_weed():
# 加载轻量预训练模型,适合农业边缘部署
model = YOLO("yolov8s.pt")
# 开始训练
results = model.train(
data="data.yaml", # 数据集配置
epochs=100, # 训练轮数
imgsz=640, # 输入尺寸(航拍推荐640+)
batch=16, # 批次大小(根据显存调整)
workers=4, # 数据加载线程
device=0, # 使用GPU
lr0=1e-3, # 初始学习率
lrf=1e-4, # 最终学习率
warmup_epochs=3, # 热身轮数
cos_lr=True, # 余弦退火学习率
mosaic=True, # 开启马赛克增强
copy_paste=0.3, # 复制粘贴增强(提升小目标)
patience=10, # 早停轮数
project="runs/train", # 输出目录
name="crop_weed_yolov8s", # 任务名称
save=True, # 保存最优模型
pretrained=True # 使用预训练权重
)
print("训练完成,最优权重保存于:runs/train/crop_weed_yolov8s/weights/best.pt")
if __name__ == "__main__":
train_crop_weed()
2. 模型推理代码(单张/批量/可视化)
# -*- coding: utf-8 -*-
"""
农作物杂草检测 - 推理脚本
支持:单张图、文件夹批量、保存结果、可视化
"""
import os
import cv2
from ultralytics import YOLO
def predict_crop_weed():
# 加载训练好的最优模型
model = YOLO("runs/train/crop_weed_yolov8s/weights/best.pt")
# 推理配置
test_path = "images/test" # 测试图片路径
save_path = "results" # 结果保存目录
os.makedirs(save_path, exist_ok=True)
# 批量推理
for img_name in os.listdir(test_path):
img_path = os.path.join(test_path, img_name)
# 执行预测
results = model.predict(
source=img_path,
conf=0.35, # 置信度阈值(农田适当调高)
iou=0.45, # NMS IOU 阈值
imgsz=640,
save=False
)
# 绘制并保存
res_img = results[0].plot()
cv2.imwrite(os.path.join(save_path, img_name), res_img)
print(f"已处理:{img_name}")
if __name__ == "__main__":
predict_crop_weed()
📘 AI 图像识别入门教学:从零训练自己的数据集
一、任务理解
目标检测 = 定位物体位置 + 识别类别
本项目:航拍图 → 框出农作物/杂草 → 区分两类
二、YOLOv8 训练完整步骤
-
准备数据
- 采集无人机农田图像
- 使用 LabelImg 标注,导出 YOLO 格式
- 按 train/val/test 划分
-
编写 data.yaml
配置路径、类别数 nc、类别名称 names -
开始训练
yolo detect train data=data.yaml model=yolov8s.pt epochs=100 imgsz=640 -
模型评估
查看 PR 曲线、混淆矩阵、mAP@0.5
农业场景 mAP@0.5 > 85% 可落地 -
模型推理与部署
导出 ONNX/TensorRT 用于无人机、机器人、边缘盒子

📌 项目亮点总结
- 场景精准:纯农田航拍,无冗余数据,训练更快、收敛更稳
- 格式标准:YOLO 格式开箱即用,兼容 YOLOv5/v7/v8 等框架
- 资源完整:数据 + 标注 + 预训练模型,零门槛上手
- 工程友好:提供训练/推理代码、配置文件、目录结构
- 价值明确:直接支撑精准除草、农业巡检、智慧农场
🏷 标签
#智慧农业 #农作物识别 #杂草检测 #无人机航拍 #目标检测 #YOLOv8 #深度学习数据集 #农业数字化 #精准农业 #AI农业
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)