news 2026/4/15 22:02:06

YOLO26实战:农业机械中的作物识别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
YOLO26实战:农业机械中的作物识别

YOLO26实战:农业机械中的作物识别

1. 镜像环境说明

本镜像基于YOLO26 官方代码库构建,预装了完整的深度学习开发环境,集成了训练、推理及评估所需的所有依赖,开箱即用,特别适用于农业场景下的目标检测任务,如作物识别、杂草定位、果实计数等。

该镜像为农业智能化应用提供了高效、稳定的模型开发基础,支持从数据预处理到模型部署的全流程操作。

  • 核心框架:pytorch == 1.10.0
  • CUDA版本:12.1
  • Python版本:3.9.5
  • 主要依赖:torchvision==0.11.0,torchaudio==0.10.0,cudatoolkit=11.3,numpy,opencv-python,pandas,matplotlib,tqdm,seaborn

所有依赖均已配置完成,用户无需手动安装,可直接进入模型训练与推理阶段。


2. 快速上手

2.1 激活环境与切换工作目录

在使用前,请先激活 Conda 环境:

conda activate yolo

镜像启动后,默认代码存放在系统盘。为便于修改和持久化保存,请将代码复制到数据盘:

cp -r /root/ultralytics-8.4.2 /root/workspace/

随后进入项目目录:

cd /root/workspace/ultralytics-8.4.2

此步骤确保后续训练过程中生成的日志、权重文件均保存在可持久化路径中,避免因系统盘清理导致数据丢失。


2.2 模型推理

YOLO26 支持多种任务类型,包括目标检测、实例分割、姿态估计等。以下以作物图像的目标检测为例,展示推理流程。

修改detect.py文件
# -*- coding: utf-8 -*- from ultralytics import YOLO if __name__ == '__main__': # 加载模型 model = YOLO(model=r'yolo26n.pt') # 可替换为其他尺寸模型(s/m/l/x) # 执行推理 results = model.predict( source=r'./ultralytics/assets/crop_test.jpg', # 输入源:图片/视频路径或摄像头编号(0) save=True, # 保存结果图像 show=False, # 不弹窗显示 imgsz=640, # 推理图像大小 conf=0.25, # 置信度阈值 device='0' # 使用GPU 0 )
参数说明
  • model: 模型权重文件路径,支持.pt格式,推荐使用预训练权重加速推理。
  • source: 支持本地图片、视频路径,或摄像头设备号(如0表示默认摄像头),适合田间实时监测场景。
  • save: 设置为True将自动保存带标注框的结果图至runs/detect/predict/目录。
  • show: 若需可视化输出(如调试时),设为True;部署时建议关闭以提升效率。
  • imgsz: 图像输入尺寸,影响精度与速度平衡,农业图像通常包含小目标,建议不低于640。
  • conf: 置信度阈值,过滤低置信预测,防止误检。

运行命令:

python detect.py

推理完成后,可在runs/detect/predict/查看带有边界框的输出图像,用于判断作物分布、生长状态等。


2.3 模型训练

针对特定农作物(如玉米、小麦、番茄)的识别需求,需进行定制化训练。以下是完整训练流程。

数据集准备

请将数据集组织为 YOLO 格式:

dataset/ ├── images/ │ ├── train/ │ └── val/ ├── labels/ │ ├── train/ │ └── val/ └── data.yaml

data.yaml示例:

train: ./dataset/images/train val: ./dataset/images/val nc: 3 names: ['wheat', 'weed', 'tomato']

上传数据集至/root/workspace/dataset,并更新data.yaml中的路径。

训练脚本配置

创建或修改train.py

import warnings warnings.filterwarnings('ignore') from ultralytics import YOLO if __name__ == '__main__': # 定义模型结构 model = YOLO(model='/root/workspace/ultralytics-8.4.2/ultralytics/cfg/models/26/yolo26.yaml') # 加载预训练权重(可选) model.load('yolo26n.pt') # 开始训练 model.train( data=r'data.yaml', imgsz=640, epochs=200, batch=128, workers=8, device='0', optimizer='SGD', lr0=0.01, lrf=0.1, momentum=0.937, weight_decay=5e-4, warmup_epochs=3.0, close_mosaic=10, resume=False, project='runs/train', name='crop_detection_exp', single_cls=False, cache=False, augment=True, fraction=1.0 )
关键参数解析
  • batch: 批次大小,根据显存调整,农业图像分辨率高时建议降低 batch size。
  • epochs: 训练轮数,复杂场景建议 ≥200。
  • optimizer: 推荐使用 SGD 或 AdamW,SGD 更稳定。
  • close_mosaic: 在最后 N 个 epoch 关闭 Mosaic 增强,提升收敛稳定性。
  • augment: 是否启用数据增强(旋转、翻转、色彩扰动),对农田多变光照条件尤为重要。
  • project/name: 指定输出路径,便于管理不同实验。

启动训练:

python train.py

训练日志与最佳权重将保存在runs/train/crop_detection_exp/weights/下,best.pt为最优模型。


2.4 模型结果下载与本地部署

训练结束后,可通过 SFTP 工具(如 Xftp)将模型文件下载至本地设备,用于边缘计算设备(如农机嵌入式系统)部署。

操作方式:

  • 打开 Xftp,连接服务器;
  • 从右侧远程路径拖拽best.pt到左侧本地目录;
  • 或双击文件直接下载。

建议对大文件夹进行压缩后再传输:

tar -czf crop_model.tar.gz runs/train/crop_detection_exp/

下载后的模型可用于 OpenVINO、TensorRT 或 ONNX Runtime 转换,实现高性能推理。


3. 已包含权重文件

镜像内置常用 YOLO26 预训练权重,位于项目根目录:

  • yolo26n.pt: 超轻量级模型,适合边缘设备部署
  • yolo26s.pt: 小型模型,精度与速度均衡
  • yolo26m.pt: 中型模型,适用于复杂农田环境
  • yolo26l.pt: 大型模型,高精度识别密集作物
  • yolo26x.pt: 超大型模型,科研级精度需求

此外还包含姿态估计、实例分割专用权重(如yolo26n-pose.pt),可用于农业机器人抓取指导、植株姿态分析等高级应用。


4. 农业场景优化建议

4.1 数据采集建议

  • 时间多样性:覆盖早、中、晚不同光照条件下的图像
  • 天气覆盖:包含晴天、阴天、轻雾等常见田间气象
  • 角度丰富性:无人机航拍、地面机器人视角、手持拍摄结合
  • 标注规范:严格区分作物与杂草,避免模糊标签

4.2 模型调优策略

问题解决方案
小目标漏检使用更高的输入分辨率(如 1280×1280),启用multi_scale
类别不平衡data.yaml中设置class_weights,或采用 Focal Loss
实时性不足使用yolo26n+ TensorRT 加速,推理速度可达 50+ FPS(Jetson AGX)
过拟合增加数据增强强度,添加 Dropout 层,早停机制

4.3 边缘部署方案

推荐将训练好的模型导出为 ONNX 格式,便于跨平台部署:

model = YOLO('runs/train/crop_detection_exp/weights/best.pt') model.export(format='onnx', dynamic=True, opset=13)

导出后可在以下平台运行:

  • NVIDIA Jetson 系列(农机自动驾驶)
  • Raspberry Pi + Google Coral(低成本监测节点)
  • 工控机 + Intel Movidius(温室监控系统)

5. 总结

本文详细介绍了基于最新 YOLO26 官方版镜像,在农业机械中实现作物识别的完整技术路径。通过该镜像,开发者可以快速完成从环境搭建、模型训练到推理部署的全流程,显著缩短研发周期。

核心要点总结如下:

  1. 开箱即用:镜像预集成 PyTorch、CUDA 及全部依赖,省去繁琐配置。
  2. 灵活扩展:支持自定义数据集训练,适配各类农作物识别任务。
  3. 高效训练:提供标准化训练脚本,结合数据增强提升模型鲁棒性。
  4. 便捷部署:支持模型导出与远程下载,便于嵌入式设备集成。
  5. 场景适配:针对农田复杂环境提出优化建议,提升实际应用效果。

未来可进一步探索 YOLO26 在病虫害识别、产量预估、自动收割路径规划等方向的应用,推动智慧农业向纵深发展。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/9 17:23:36

Qwen2.5-0.5B模型启动慢?资源加载优化技巧详解

Qwen2.5-0.5B模型启动慢?资源加载优化技巧详解 1. 问题背景与优化目标 在边缘计算和低算力设备上部署大语言模型时,启动速度和资源加载效率是影响用户体验的关键因素。尽管 Qwen/Qwen2.5-0.5B-Instruct 是 Qwen2.5 系列中参数量最小(仅 0.5…

作者头像 李华
网站建设 2026/4/12 15:13:19

BAAI/bge-m3支持长文本吗?万字文档向量化实测教程

BAAI/bge-m3支持长文本吗?万字文档向量化实测教程 1. 引言:BAAI/bge-m3 在长文本处理中的潜力与挑战 随着大模型和检索增强生成(RAG)系统的广泛应用,对高质量文本嵌入模型的需求日益增长。BAAI/bge-m3 作为北京智源人…

作者头像 李华
网站建设 2026/4/13 0:35:09

poi-tl Java模板引擎终极指南:从零基础到实战高手

poi-tl Java模板引擎终极指南:从零基础到实战高手 【免费下载链接】poi-tl Generate awesome word(docx) with template 项目地址: https://gitcode.com/gh_mirrors/po/poi-tl poi-tl是一个基于Apache POI构建的Java模板引擎,专门用于高效生成Wor…

作者头像 李华
网站建设 2026/4/13 12:37:02

Flow Launcher终极效率指南:重新定义Windows操作体验

Flow Launcher终极效率指南:重新定义Windows操作体验 【免费下载链接】Flow.Launcher :mag: Quick file search & app launcher for Windows with community-made plugins 项目地址: https://gitcode.com/GitHub_Trending/fl/Flow.Launcher 还在被Window…

作者头像 李华
网站建设 2026/4/13 17:33:37

快速理解AD导出Gerber与CAM光绘数据对应关系

一次搞懂AD导出Gerber与CAM光绘的底层映射逻辑你有没有遇到过这样的情况:在Altium Designer里辛辛苦苦画完板子,信心满满地导出Gerber发给工厂,结果三天后收到回复——“阻焊开窗错了”、“丝印反了”、“钻孔对不上”?更离谱的是…

作者头像 李华
网站建设 2026/4/12 14:30:33

Page Assist浏览器扩展:本地AI助手重塑网页交互体验

Page Assist浏览器扩展:本地AI助手重塑网页交互体验 【免费下载链接】page-assist Use your locally running AI models to assist you in your web browsing 项目地址: https://gitcode.com/GitHub_Trending/pa/page-assist 在信息爆炸的数字时代&#xff0…

作者头像 李华