掘金 人工智能 06月24日 13:54
航拍农田杂草检测数据集-1.2k张航拍图像
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍如何利用YOLOv8模型检测航拍农田中的作物和杂草。内容涵盖环境配置、数据准备、模型训练、验证与测试、自定义推理脚本以及部署建议等全流程。通过1.2k张航拍图像数据集,实现对作物和杂草的精准识别,为农业自动化和精准农业提供技术支持。

🌱 数据集准备:文章介绍了使用1.2k张航拍图像的数据集,用于检测农田中的作物和杂草。数据集包含对象检测标注,类别分为作物和杂草两类,采用YOLOv5模型。

⚙️ 环境配置与数据标注:详细说明了环境配置,包括安装YOLOv8官方库。数据标注格式采用YOLO格式,并提供了文件结构示例和data.yaml配置文件的创建方法。

🚀 模型训练与参数设置:介绍了YOLOv8模型的训练过程,包括选择合适的模型、设置图像尺寸、训练轮次和批次大小等关键参数。并解释了各个参数的作用,例如model, data, imgsz, epochs, batch等。

✅ 模型验证与测试:讲解了如何验证模型性能,包括使用best.pt模型权重,以及验证集的路径和类别定义。还提供了常用可选参数和典型输出指标,帮助评估模型的准确率。

💡 推理与部署建议:介绍了使用Python自定义推理脚本,并提供了本地运行、Web API和边缘部署等多种部署建议。通过导出ONNX模型,便于在Jetson、RKNN等平台上部署。

航拍农田杂草检测数据集-1.2k张航拍图像

航拍农田杂草检测数据集介绍

数据集概述

是一个用于计算机视觉项目的航拍图像数据集,专注于农田中作物与杂草的检测。

核心特点

数据集基本信息
数据量:1.2k张航拍图像
标注类型:对象检测(Object Detection)
使用模型:YOLOv5
类别:2类(crop作物和weed杂草)

数据集特点
航拍视角:所有图像均为农田的航拍视角,提供了独特的观察角度
专业标注:杂草区域使用粉色标记点进行标注

数据集应用
该数据集非常适合用于:

农业自动化研究
杂草检测算法开发
计算机视觉模型泛化能力测试
精准农业技术开发

航拍农田杂草检测数据集-1.2k张航拍图像

本教程介绍如何使用 YOLOv8 对航拍农田杂草等目标进行识别与检测。涵盖环境配置、数据准备、训练模型、模型推理和部署等全过程。


📦 1. 环境配置

建议使用 Python 3.8+,并确保支持 CUDA 的 GPU 环境。

# 创建并激活虚拟环境(可选)python -m venv yolov8_envsource yolov8_env/bin/activate  # Windows 用户使用 yolov8_env\Scripts\activateAI写代码bash123

安装 YOLOv8 官方库 ultralytics

pip install ultralyticsAI写代码bash1

📁 2. 数据准备

2.1 数据标注格式(YOLO)

每张图像对应一个 .txt 文件,每行代表一个目标,格式如下:

<class_id> <x_center> <y_center> <width> <height>AI写代码plaintext1

所有值为相对比例(0~1)。

类别编号从 0 开始。

2.2 文件结构示例

datasets/├── images/│   ├── train/│   └── val/├── labels/│   ├── train/│   └── val/AI写代码plaintext1234567

2.3 创建 data.yaml 配置文件

path: ./datasetstrain: images/trainval: images/valnc: 11names: ['Bent_Insulator', 'Broken_Insulator_Cap', '', ...]AI写代码yaml123456

🚀 3. 模型训练

YOLOv8 提供多种模型:yolov8n, yolov8s, yolov8m, yolov8l, yolov8x。可根据设备性能选择。

yolo detect train \  model=yolov8s.pt \  data=./data.yaml \  imgsz=640 \  epochs=50 \  batch=16 \  project=weed_detection \  name=yolov8s_crop_weedAI写代码bash12345678
参数类型默认值说明
model字符串-指定基础模型架构文件或预训练权重文件路径(.pt/.yaml
data字符串-数据集配置文件路径(YAML 格式),包含训练/验证路径和类别定义
imgsz整数640输入图像的尺寸(像素),推荐正方形尺寸(如 640x640)
epochs整数100训练总轮次,50 表示整个数据集会被迭代 50 次
batch整数16每个批次的样本数量,值越大需要越多显存
project字符串-项目根目录名称,所有输出文件(权重/日志等)将保存在此目录下
name字符串-实验名称,用于在项目目录下创建子文件夹存放本次训练结果

关键参数补充说明:

    model=yolov8s.pt

      使用预训练的 YOLOv8 small 版本(平衡速度与精度)可用选项:yolov8n.pt(nano)/yolov8m.pt(medium)/yolov8l.pt(large)

    data=./data.yaml

    # 典型 data.yaml 结构示例path: ../datasets/weedstrain: images/trainval: images/valnames:  0: Bent_Insulator  1: Broken_Insulator_Cap  2: ...  3: ...AI写代码yaml123456789

📈 4. 模型验证与测试

4.1 验证模型性能

yolo detect val \  model=runs/detect/yolov8s_crop_weed/weights/best.pt \  data=./data.yamlAI写代码bash123
参数类型必需说明
model字符串要验证的模型权重路径(通常为训练生成的 best.ptlast.pt
data字符串与训练时相同的 YAML 配置文件路径,需包含验证集路径和类别定义

关键参数详解

    model=runs/detect/yolov8s_crop_weed/weights/best.pt

      使用训练过程中在验证集表现最好的模型权重(best.pt

      替代选项:last.pt(最终epoch的权重)

      路径结构说明:

      runs/detect/└── [训练任务名称]/    └── weights/        ├── best.pt   # 验证指标最优的模型        └── last.pt   # 最后一个epoch的模型AI写代码12345

    data=./data.yaml

      必须与训练时使用的配置文件一致

      确保验证集路径正确:

      val: images/val  # 验证集图片路径names:  0: crop  1: weedAI写代码yaml1234

常用可选参数

参数示例值作用
batch16验证时的批次大小
imgsz640输入图像尺寸(需与训练一致)
conf0.25置信度阈值(0-1)
iou0.7NMS的IoU阈值
device0/cpu选择计算设备
save_jsonTrue保存结果为JSON文件

典型输出指标

Class     Images  Instances      P      R      mAP50  mAP50-95all        100       752      0.891  0.867    0.904    0.672crop       100       412      0.912  0.901    0.927    0.701weed       100       340      0.870  0.833    0.881    0.643AI写代码text1234

4.2 推理测试图像

yolo detect predict \  model=runs/detect/yolov8s_crop_weed/weights/best.pt \  source=./datasets/images/val \  save=TrueAI写代码bash1234

🧠 5. 自定义推理脚本(Python)

from ultralytics import YOLOimport cv2# 加载模型model = YOLO('runs/detect/yolov8s_crop_weed/weights/best.pt')# 推理图像results = model('test.jpg')# 可视化并保存结果results[0].show()results[0].save(filename='result.jpg')AI写代码python运行123456789101112

🛠 6. 部署建议

✅ 本地运行:通过 Python 脚本直接推理。

🌐 Web API:可用 Flask/FastAPI 搭建检测接口。

📦 边缘部署:YOLOv8 支持导出为 ONNX,便于在 Jetson、RKNN 等平台上部署。

导出示例:

yolo export model=best.pt format=onnxAI写代码bash1

📌 总结流程

阶段内容
✅ 环境配置安装 ultralytics, PyTorch 等依赖
✅ 数据准备标注图片、组织数据集结构、配置 YAML
✅ 模型训练使用命令行开始训练 YOLOv8 模型
✅ 验证评估检查模型准确率、mAP 等性能指标
✅ 推理测试运行模型检测实际图像目标
✅ 高级部署导出模型,部署到 Web 或边缘设备

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

YOLOv8 航拍图像 杂草检测 农业自动化 计算机视觉
相关文章