最实用、能跑通、能部署的完整流程,用 Ultralytics YOLO(最常用、最稳定) 训练地瓜检测 / 分割模型,最后导出成推理模型(.onnx/.engine/.pt),完美适配地平线、嵌入式设备、相机推理。

全程只需要 4 步:准备数据 → 训练 → 验证 → 导出推理模型


一、你要先明确:地瓜模型做什么?

我默认你要做 地瓜目标检测(框出地瓜),这是最常用的。如果需要地瓜分割(抠出地瓜轮廓)地瓜分级(大小 / 成熟度分类),我也能直接给对应方案。


二、环境准备(1 分钟搞定)

安装 ultralytics(训练 + 推理一体)

bash

运行

pip install ultralytics

三、第 1 步:准备地瓜数据集(最简单方案)

方案 A:用公开地瓜数据集(最快,不用自己标注)

我给你直接可用的红薯 / 地瓜数据集

  1. Roboflow 公开地瓜数据集:
  2. 选一个 → 点击 Download → 格式选 YOLOv8 → 下载解压。

方案 B:你自己拍的地瓜图片(推荐)

  1. 拍 50~200 张地瓜照片(不同角度、光线、大小)
  2. LabelStudioMakeSense 在线标注(画框)
  3. 导出为 YOLO 格式(必须是这个格式)

最终目录结构(必须严格这样放)

plaintext

datasets/
└── sweet_potato/
    ├── images/
    │   ├── train/
    │   └── val/
    ├── labels/
    │   ├── train/
    │   └── val/
    └── data.yaml  # 配置文件

data.yaml 内容(直接复制改路径)

yaml

path: datasets/sweet_potato  # 数据集根路径
train: images/train
val: images/val

nc: 1  # 只有1类:地瓜
names:
  0: sweet_potato  # 类别名

四、第 2 步:训练地瓜模型(一行命令)

创建 train.py,直接运行:

python

运行

from ultralytics import YOLO

# 加载预训练模型(轻量版,速度快,适合推理部署)
model = YOLO("yolov8n.pt")

# 开始训练
model.train(
    data="datasets/sweet_potato/data.yaml",  # 你的配置
    epochs=100,        # 训练轮数
    imgsz=640,         # 图像尺寸
    batch=8,           # 批次大小
    device=0,          # 使用GPU
    name="sweet_potato_model"  # 模型名字
)

运行后会自动:

  • 训练
  • 保存最佳模型
  • 输出指标(mAP、准确率)

五、第 3 步:验证模型效果

python

运行

from ultralytics import YOLO

# 加载训练好的最佳模型
model = YOLO("runs/detect/sweet_potato_model/weights/best.pt")

# 验证
model.val()

六、第 4 步:导出 ModelZoo 推理模型(最终可用文件)

训练完的 .pt 是训练模型,不能直接用于部署推理,必须导出!

导出通用推理模型(支持所有平台)

python

运行

from ultralytics import YOLO

model = YOLO("best.pt")

# 导出 ONNX 模型(最通用,地平线/相机/嵌入式都能用)
model.export(format="onnx", imgsz=640, simplify=True)

# 可选:导出 TensorRT(地平线/英伟达加速)
# model.export(format="engine")

# 可选:导出 OpenVINO(Intel 加速)
# model.export(format="openvino")

最终你会得到:

  • best.onnx标准 ModelZoo 推理模型
  • 可直接用于:
    • 工业相机推理
    • 地平线 X3/J5/J6
    • 机器人、嵌入式设备
    • C++ / Python / Java 推理

七、用训练好的地瓜模型做推理(测试)

python

运行

from ultralytics import YOLO
import cv2

# 加载模型
model = YOLO("best.onnx")  # 直接用导出的推理模型

# 推理
results = model("test.jpg")

# 显示结果
results[0].show()

# 保存带框的图片
results[0].save(filename="result.jpg")

效果:自动框出图片里所有地瓜,输出坐标、置信度。


八、我能直接给你的进阶服务

你只要告诉我一句,我就能立刻给你:

  1. 地瓜分级模型(大 / 中 / 小、生 / 熟)
  2. 地瓜分割模型(抠轮廓,精准计算面积)
  3. 在地平线 X3/J5 上部署的完整步骤
  4. 在工业相机里直接运行这个模型
  5. 一键数据集 + 训练脚本(你不用标注,直接跑)

总结

  1. YOLOv8 训练最快、最稳、最适合部署
  2. 数据集:公开地瓜集 / 自己拍 + 标注
  3. 训练 → 导出 onnx → 就是你的 地瓜 ModelZoo 推理模型
  4. 可直接在相机、地平线、嵌入式上运行

更多推荐