
文章摘要
「如果能自动数传送带上流动的农产品,出货作业会轻松多少?」
【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 上公开。
- 开发者: Viet Nguyen(柏林资深 AI 工程师,就职于 Sporttotal)
- 开发者主页: github.com/vietnh1009
- 计数系统本体: github.com/NguyenHoangMinh1312/potato_counting
仓库结构非常简单,只有 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 段 |
步骤
- 克隆仓库:
git clone https://github.com/NguyenHoangMinh1312/potato_counting - 准备数据集: 从 Google Drive 下载数据集,运行
python dataset.py - 训练: 运行
python train.py训练 YOLO11 nano - 执行计数: 根据自身环境修改
main.py中的多边形坐标和模型路径,运行python main.py
多边形区域(在哪里通过就算计数)可以通过 Roboflow PolygonZone 上传帧图像、绘制区域,就能直接获取坐标列表。
农户・食品加工中的应用思路
这个系统的价值不只限于数土豆。同样的方法可以实现多种农产品的自动计数与分拣。
具体应用示例
| 用途 | 内容 |
|---|---|
| 收获物计数 | 自动统计传送带上的土豆、洋葱、胡萝卜等 |
| 准确掌握出货数量 | 手工作业计数零失误,可与装箱数量核对 |
| 尺寸分拣辅助 | 根据检测框大小进行粗略尺寸分类 |
| 品质管理 | 增加训练数据后,还可检测伤痕、变色 |
为什么适合农户
- 低成本: 可在边缘设备(Raspberry Pi / Jetson 级别)运行,无需数百万日元的专用机器
- 少量数据即可开始: 1 帧 + SAM 2 自动标注即可制作训练数据
- 可改造现有设备: 只需在传送带上加装 1 台摄像头
- 自由定制: 可将土豆换成其他农产品(只需重新制作训练数据)
注意事项与课题
说实话,导入前也有一些需要了解的地方。
- 仅支持固定摄像头: 摄像头角度或位置改变后,需要重新设置多边形区域并重新调优模型
- 受光照・速度影响: 传送带光照或皮带速度变化时,检测精度可能下降
- 并非真正的零数据: 「1 帧标注」确实厉害,但仍需要从整段视频中生成训练数据
- 土豆重叠问题: 传送带上土豆重叠时,可能被识别为 1 个
- 个人项目: 正式导入时,需要根据自身环境进行调整和测试
总结
土豆自动计数系统是小・快・便宜才是现场导入关键的最佳例证。
- SAM 2 将标注自动化,大幅降低训练成本
- YOLO11 nano 这类超轻量模型,在边缘设备上也能实时计数
- 代码已在 GitHub 公开,农户也能上手尝试
- 可应用于土豆以外的其他农产品
「AI 需要海量数据和巨型模型」——如果你有这样的印象,希望本文能让你感受到从 1 张图片就能开始的本地 AI 的可能性。
在你的农场传送带上加装 1 台摄像头,或许就能让工作发生巨大改变。
この記事をシェアする
相关文章

2026年7月18日
【2026】KTransformers 完全指南:24GB VRAM 就能跑 DeepSeek-R1 的 CPU-GPU 协作框架,面向初学者

2026年7月19日
【2026】Agents-A1(35B MoE)是什么?小参数却能做这些 —— 惊艳的智能体专用模型深度分析

2026年7月19日
【2026】用 component.gallery 让 AI 的 UI 生成指示大幅提升!组件术语图鉴的活用方法

2026年7月19日
【2026】什么是智能体工程(Agentic Engineering)?Karpathy 提出、Google Agents CLI 改变正式开发

2026年7月19日
【2026】AI 智能体学习推荐免费课程 12 选!世界顶尖讲师团队的实战课程彻底解析

2026年7月18日
【2026】Qwen3.6-35B Genesis Hermes GGUF 完全指南!在本地 PC 运行无审查多模态 MoE 的方法