深度学习目标检测算法用YOLOv8 模型来训练多类别智慧化农业农作物检测数据集检测任务,来建立深度学习农作物数据集检测系统。识别小麦,玉米,香蕉,大豆,水稻,烟草甘蔗

深度学习目标检测算法用YOLOv8 模型来训练多类别智慧化农作物检测数据集检测任务,并构建一个完整的深度学习农作物数据集检测系统。

同学,以下文字及代码仅供参考。

智慧化农业农作物检测YOLO数据集模型2042张 8类
在这里插入图片描述

类别图片数量标注框数量训练集图片数(约80%)验证集图片数(约20%)
Maize608733486122
Banana19132115338
Soybean16519313233
Rice579641463116
Sunflower17927414336
Sugarcane891067118
Wheat23228818646
Tobacco3144256
总计204226001633 (80%)409 (20%)

说明:

  • 数据集总数为 2042 张图片,按照 8:2 比例划分为训练集和验证集
  • 每个类别的训练集和验证集图片数量是基于其总图片数的 80% 和 20% 进行近似划分(四舍五入)。
  • 总标注框数为 2600 个
  • 对于图片数较少的类别(如 Tobacco),需注意在划分时尽量保证验证集中有足够的样本以避免过拟合。

在这里插入图片描述

使用 YOLOv8 模型来训练这个多类别检测任务,并构建完整的深度学习检测系统。


✅ 一、数据准备与组织结构

在这里插入图片描述

📁 数据集目录结构建议如下:

crops_dataset/
├── images/
│   ├── train/    # 1633张
│   └── val/      # 409张
├── labels/
│   ├── train/
│   └── val/
└── data.yaml

📄 data.yaml 文件内容如下:

train: crops_dataset/images/train
val: crops_dataset/images/val

nc: 8
names: ['Maize', 'Banana', 'Soybean', 'Rice', 'Sunflower', 'Sugarcane', 'Wheat', 'Tobacco']

在这里插入图片描述

🔧 二、安装依赖环境

确保同学 已经安装了 Ultralytics 的 YOLOv8 库:

pip install ultralytics

同学呀,如果你使用 GPU,还需要安装 PyTorch,推荐使用官方安装命令:
👉 https://pytorch.org/get-started/locally/


🚀 三、模型选择与训练

在这里插入图片描述

1. 加载预训练模型(推荐)

YOLOv8 提供多个版本,如 yolov8n.pt, yolov8s.pt, yolov8m.pt 等,根据你的硬件资源选择合适的模型。

from ultralytics import YOLO

# 加载预训练模型(例如 yolov8m.pt)
model = YOLO('yolov8m.pt')  # 自动适配8类输出层

⚠️ 注意:如果你自己定义了 .yaml 架构文件,也可以加载自定义模型,但一般直接加载官方预训练模型更高效。


2. 开始训练

results = model.train(
    data='path/to/data.yaml',     # 替换为你的 data.yaml 路径
    epochs=150,                   # 训练轮数,可调
    imgsz=640,                    # 输入图像大小
    batch=16,                     # 批次大小(根据GPU显存调整)
    name='crop_detector',         # 输出目录名
    project='runs/crop_detect',   # 可选:保存路径
    save=True,
    save_period=5,                # 每5个epoch保存一次权重
    device=0                      # 使用GPU(若可用)
)

📊 四、模型评估

训练完成后自动会进行验证,也可以手动调用:

metrics = model.val()
print(f"mAP@0.5: {metrics.box.map50:.4f}, mAP@0.5:0.95: {metrics.box.map:.4f}")

你可以查看每类的精确率、召回率等详细指标:

print(metrics.class_result(i) for i in range(8))

🔍 五、推理预测(单图/批量/视频)

单张图片推理:

results = model.predict(source='test.jpg', show=True, conf=0.25)

视频或摄像头实时检测:

results = model.predict(source=0)  # 0 表示默认摄像头
results = model.predict(source="video.mp4")

🖼️ 六、可视化结果

可以将预测结果绘制出来并保存:

for result in results:
    annotated_frame = result.plot()  # 绘制检测框和标签
    cv2.imshow("Detection", annotated_frame)
    if cv2.waitKey(1) == 27:
        break

📦 七、模型导出(ONNX / TensorRT / TFLite)

支持多种格式导出,方便部署到不同平台:

model.export(format='onnx')     # 导出为 ONNX 格式
model.export(format='engine')   # 导出为 TensorRT 引擎(需要NVIDIA GPU)
model.export(format='tflite')   # 导出为 TensorFlow Lite 格式

🌐 八、系统部署建议

部署方式工具说明
Web服务Flask / FastAPI + ONNX Runtime在服务器上提供REST API接口
边缘设备NVIDIA Jetson / RK3588 + TensorRT实时检测嵌入式部署
移动端Android/iOS + TFLite支持手机端农作物识别
无人机DJI Mavic / Autopilot + RTSP流结合航拍图像实时检测

仅供参考,我的同学们,

以上文字及代码仅供参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值