无人机航拍农田智能识别|农作物与杂草精准检测数据集|智慧农业深度学习实战|目标检测项目

在智慧农业加速落地的今天,农田场景下的自动化感知成为降本增效的关键突破口。传统人工巡检与杂草识别效率低、成本高、易漏判,而基于无人机航拍与深度学习的视觉识别方案,正快速成为精准农业的标配能力。本文带来一套高质量农田航拍目标检测数据集,配套完整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 训练完整步骤

  1. 准备数据

    • 采集无人机农田图像
    • 使用 LabelImg 标注,导出 YOLO 格式
    • 按 train/val/test 划分
  2. 编写 data.yaml
    配置路径、类别数 nc、类别名称 names

  3. 开始训练

    yolo detect train data=data.yaml model=yolov8s.pt epochs=100 imgsz=640
    
  4. 模型评估
    查看 PR 曲线、混淆矩阵、mAP@0.5
    农业场景 mAP@0.5 > 85% 可落地

  5. 模型推理与部署
    导出 ONNX/TensorRT 用于无人机、机器人、边缘盒子


在这里插入图片描述

📌 项目亮点总结

  1. 场景精准:纯农田航拍,无冗余数据,训练更快、收敛更稳
  2. 格式标准:YOLO 格式开箱即用,兼容 YOLOv5/v7/v8 等框架
  3. 资源完整:数据 + 标注 + 预训练模型,零门槛上手
  4. 工程友好:提供训练/推理代码、配置文件、目录结构
  5. 价值明确:直接支撑精准除草、农业巡检、智慧农场

🏷 标签

#智慧农业 #农作物识别 #杂草检测 #无人机航拍 #目标检测 #YOLOv8 #深度学习数据集 #农业数字化 #精准农业 #AI农业

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐