云导航 CloudNavi
← 返回文章列表
【2026】用 AI 自动数土豆!用 SAM 2 + YOLO11 nano 打造的廉价农业计数系统
本地 AI·1 分钟阅读
#YOLO11#SAM 2#土豆计数#物体检测#农业 AI#本地 AI

文章摘要

「如果能自动数传送带上流动的农产品,出货作业会轻松多少?」

【2026】用 AI 自动数土豆!用 SAM 2 + YOLO11 nano 打造的廉价农业计数系统


「收获的土豆,一个一个数太麻烦了……」 「如果能自动数传送带上流动的农产品,出货作业会轻松多少?」

2026 年爆火的 AI 项目恰好解决了这个烦恼:一个只需 1 张标注帧就能实时数传送带上土豆的系统。它不是大语言模型,也不是机器人,而是朴素但真正能在现场使用的本地 AI 代表案例,在 X 上获得了 1,700 多个赞。

本文将以初学者也能看懂的方式,讲解这个系统的原理,以及农户、食品加工现场的使用方法。


本文你能了解到什么

  • 土豆自动计数系统「厉害在哪里」
  • SAM 2 与 YOLO11 nano 各自的作用
  • GitHub 代码的内容与运行方法
  • 农户・食品加工中的具体应用思路
  • 导入时需要注意的问题

厉害在哪:1 张标注帧即可达到实用水平

通常,训练 AI 物体检测模型需要手动标注数百到数千张图片。这一直是现场导入的最大门槛。

这个项目的厉害之处,就是大幅缩短了这个流程:

  • 标注只需 1 帧
  • SAM 2(Meta 开发的分割模型)自动生成标签
  • YOLO11 nano(超轻量模型)进行训练
  • 训练好的模型可应用于整个视频,实现实时计数
  • 达到生产可用水平(production ready)

正如这条爆火帖的评价:「当所有人都在追逐万亿参数模型时,制造业、农业现场最快的赢家正是这样的系统。」确实如此,小・快・便宜 才是现场导入的关键。


技术原理:SAM 2 → YOLO11 nano 的两段式结构

SAM 2 的作用(自动生成标签)

SAM 2 是 Meta 发布的图像・视频分割模型。只需点击图像中的目标物体,就能准确抠出它的形状。

在这个系统中,只用 视频中截取的 1 帧 交给 SAM 2 处理,自动提取土豆形状并生成训练用的标签数据。这就是「1 帧标注」的实现原理。

YOLO11 nano 的作用(检测与计数)

YOLO 是物体检测的经典模型家族,YOLO11 nano 是其中最轻量的模型。它小到无需高端 GPU 也能运行,非常适合在 边缘设备(Raspberry Pi 或 Jetson 级别)上执行。

系统中用 YOLO11 nano 检测土豆,并通过 Ultralytics 的 ObjectCounter 功能与 多边形区域跟踪 来统计「通过区域的数量」。

处理流程

步骤处理内容
1. 抽取帧从传送带视频中取出 1 帧
2. 用 SAM 2 生成标签自动提取土豆形状并转换为标注数据
3. 训练 YOLO11 nano约数十分钟训练完成(50 轮・图像尺寸 1280px)
4. 设置多边形区域用多边形指定计数区域(Roboflow PolygonZone 轻松完成)
5. 实时计数自动统计通过区域的土豆数量

GitHub 代码详解

该项目已在 GitHub 上公开。

仓库结构非常简单,只有 3 个文件。

dataset.py:数据集整合

读取多个公开数据集(托管在 Google Drive),去掉非土豆的标签,整理成 YOLO 训练数据。其中包含只提取土豆并将类别 ID 统一为 0的处理逻辑。

train.py:训练脚本

训练 YOLO11 nano(yolo11n.pt)。设置如下:

参数
模型YOLO11 nano (yolo11n.pt)
轮数50
批量大小4
图像尺寸1280px
学习率1e-3(余弦衰减)

main.py:计数应用本体

读取视频,用 ObjectCounter 检测并跟踪土豆,统计通过指定多边形区域的次数。跟踪器可选择「botsort.yaml」或「bytetrack.yaml」,输出保存为 object_counting_output.avi

实际运行画面中,每个土豆都会标上蓝色边界框和「potato」标签,右上角会实时显示「Potato: IN 73 OUT 70」这样的通过数量。


设置步骤(简单 4 步)

需要准备的东西

项目内容
电脑Linux(Ubuntu 22.04 以上)・Python 3.10 以上
PyTorch 2.6、TensorFlow 2.19、OpenCV 4.11、Ultralytics 8.3.111
摄像头固定摄像头(网络摄像头也可以)
视频拍摄传送带的视频 1 段

步骤

  1. 克隆仓库: git clone https://github.com/NguyenHoangMinh1312/potato_counting
  2. 准备数据集: 从 Google Drive 下载数据集,运行 python dataset.py
  3. 训练: 运行 python train.py 训练 YOLO11 nano
  4. 执行计数: 根据自身环境修改 main.py 中的多边形坐标和模型路径,运行 python main.py

多边形区域(在哪里通过就算计数)可以通过 Roboflow PolygonZone 上传帧图像、绘制区域,就能直接获取坐标列表。


农户・食品加工中的应用思路

这个系统的价值不只限于数土豆。同样的方法可以实现多种农产品的自动计数与分拣

具体应用示例

用途内容
收获物计数自动统计传送带上的土豆、洋葱、胡萝卜等
准确掌握出货数量手工作业计数零失误,可与装箱数量核对
尺寸分拣辅助根据检测框大小进行粗略尺寸分类
品质管理增加训练数据后,还可检测伤痕、变色

为什么适合农户

  1. 低成本: 可在边缘设备(Raspberry Pi / Jetson 级别)运行,无需数百万日元的专用机器
  2. 少量数据即可开始: 1 帧 + SAM 2 自动标注即可制作训练数据
  3. 可改造现有设备: 只需在传送带上加装 1 台摄像头
  4. 自由定制: 可将土豆换成其他农产品(只需重新制作训练数据)

注意事项与课题

说实话,导入前也有一些需要了解的地方。

  • 仅支持固定摄像头: 摄像头角度或位置改变后,需要重新设置多边形区域并重新调优模型
  • 受光照・速度影响: 传送带光照或皮带速度变化时,检测精度可能下降
  • 并非真正的零数据: 「1 帧标注」确实厉害,但仍需要从整段视频中生成训练数据
  • 土豆重叠问题: 传送带上土豆重叠时,可能被识别为 1 个
  • 个人项目: 正式导入时,需要根据自身环境进行调整和测试

总结

土豆自动计数系统是小・快・便宜才是现场导入关键的最佳例证。

  • SAM 2 将标注自动化,大幅降低训练成本
  • YOLO11 nano 这类超轻量模型,在边缘设备上也能实时计数
  • 代码已在 GitHub 公开,农户也能上手尝试
  • 可应用于土豆以外的其他农产品

「AI 需要海量数据和巨型模型」——如果你有这样的印象,希望本文能让你感受到从 1 张图片就能开始的本地 AI 的可能性。

在你的农场传送带上加装 1 台摄像头,或许就能让工作发生巨大改变。