去年接了一个停车场道闸系统的项目,要求在树莓派上做实时行人检测,预算有限不能上GPU,当时第一反应是“这能跑得动?”折腾了三个月,踩了不少坑,最后总算把检测帧率从3帧提到了25帧左右。今天把这些经验整理一下,不聊虚的,直接说怎么让YOLO在嵌入式设备上老老实实干活。很多人一上来就丢给我一本YOLOv8的文档,说“照着做就行”。但真放到树莓派或者Jetson Nano上跑一下,你就会发现事情没那么简单——要么模型太大跑不动,要么精度掉得没法用。这篇文章我会手把手带你走一遍从选模型到部署的全流程,代码都是我在实际项目中调过的版本,不是那种复制粘贴就跑不通的demo。为什么要专门搞一个轻量化版本先说说我踩的第一个坑。一开始图省事,直接拿YOLOv5s在笔记本电脑上训练,mAP跑到0.85,美滋滋。结果往树莓派4B上一部署,你猜怎么着——每秒0.8帧。对,你没看错,不到1帧。检测一个人要等一秒多,人早走过去了。这就是典型的“实验室模型下不了产线”。嵌入式设备和电脑的区别太大了:算力差几十倍甚至上百倍(电脑GPU几千个核,树莓派CPU 4个核)内存连零头都比不上(电脑16GB起步,嵌入式可能就1-2GB)功耗要求极其苛刻(谁也不想拖个发电机)所以我们必须做轻量化。那什么是轻量化呢?简单说就是让模型变小、变快,但同时还得“认识人”。就像让你记一本辞典,但不是让你背全部,而是挑最常用的几千个词——大多数人日常交流其实够了。选哪个YOLO版本市面上YOLO版本多得像超市里的矿泉水,我帮你筛选一下。