AIGUIMI · 爱硅蜜

“YOLO 可不行”之后:一个 AI 新手的想法与自我补充

2026年10月13日 · AIGUIMI

群里有人发了张图。图片里是几辆车,不同角度,车被方框圈出来,边上还有小字——小到看不清。凭直觉判断,那像是某种数据标注的界面截图。紧接着有人发话:能做的联系他。

我当时顺手回了一句:依据 YOLO 不能识别吗?

后面他们把网站发出来了,是做停车场数据标注的。然后群里另一个人回了一句:YOLO 可不行。

我学 AI 时间不长,但恰恰因为不长,我没有那套“这事得多难”的本能敬畏。于是我把整件事从头想了一遍。这篇文章记的是我当时怎么想的、事后验证的结果,以及最重要的——我这个想法里站不住的地方。

我当时的判断:这就是认物

停车场的标注,本质是认物。

既然是认物,就得先看这个场景里到底有什么东西。停车场是个封闭的特定场所,不像开放道路那样什么都可能冒出来。里面的对象翻来覆去无非这几类:人、汽车、自行车、电动车,偶尔可能有宠物。其中占绝对大头的是车和人。

而这两个对象,YOLO 在公开数据集上训练出来的默认模型本来就会认。person、car、bicycle、motorcycle、truck、bus、dog、cat——这些类别它天天在认。

所以我当时的结论是:这件事 YOLO 完全能胜任。当然我没说它能百分百。画面不清晰、被人挡住一半、逆光、车挤车——这些情况它肯定认不准,甚至认不出来。这个我心里有数。

我的方案:按置信度分层

既然 YOLO 可以逐帧去处理视频,思路就顺出来了:不要让人去逐帧标几十万张图,而是让机器先标一遍,人只处理机器拿不准的那部分。

逻辑很简单:把人宝贵的时间,只花在机器没把握的地方。

事后我把这套想法拿去问 AI,得到的答案是:还真有类似的工具,而且这条路在工业界有正式名字——模型辅助标注(model-assisted labeling)、预标注(pre-annotation)、人在回路(human-in-the-loop)。现成的东西就有:CVAT 可以挂模型做自动标注,Roboflow 有自动标注,X-AnyLabeling 内置了 YOLO 和 SAM,Label Studio 也能接机器学习后端。

一个从直觉推出来的想法,发现别人早就做成产品了,这挺让人高兴。就算没有现成工具,我觉得只要思路清晰,用 AI 把它做出来也不难——毕竟核心组件都是现成的。

高兴完之后我把这事再往下推,才发现几个当时根本没想到的问题。这才是这篇文章真正值得写的部分。

漏洞一:最大的麻烦不是框错,是根本没框

我的分层方案默认了一个前提:模型输出的每个框都会进入流程,等待被人处理。可如果 YOLO 压根没检出来呢?

那辆车、那个人,它没画框,就不会出现在任何队列里,人压根不知道那里有个东西需要看。低置信度会被拎出来审核,漏检连被审核的资格都没有。而在标注这类任务里,漏标的代价往往比框得稍微歪一点大得多——你交付的数据里少了一辆车,下游模型就永远学不会那种角度的车。

所以要加一道:专门抽查“零检出”的帧和画面区域,专门打假阴性(false negative)。必要时故意把检测阈值压得很低、做多尺度推理,先把候选统统召回上来,哪怕混进一堆错的,再用第二道精度把关筛掉——先召回,后精确。

漏洞二:视频别逐帧硬标

我当时说的是逐帧识别,方向没错,但效率不是最优。视频是连续的,同一辆车在第 1 帧、第 2 帧……第 30 帧都在,只是位置变了。如果每一帧都当成独立图片去检测、去确认,人力浪费很严重,而且会出“闪烁”:同一辆车这一帧有框、下一帧没了,标注一致性直接崩掉。

工业做法是用目标跟踪(tracking,比如 ByteTrack、BoT-SORT)把同一个对象跨帧关联起来,给它一个稳定的 ID;人在关键帧上确认一次,中间帧由插值自动生成,只在抽查时复核。这叫关键帧标注加帧间插值,比逐帧做省一半以上人力,质量反而更稳。

漏洞三:直接拿公开权重,是不够的

停车场大多是监控视角:斜着俯拍、地下车库光线昏暗、画面压缩严重。这跟 YOLO 训练时那些自然拍摄的照片差异很大,行话叫域偏移(domain gap)。直接拿官方权重上去跑,效果往往不如演示视频里那么漂亮。

靠谱的路径是迭代:先人工精标两三百到五百个样本,用这批数据微调(fine-tune)一个模型;用这个更贴合现场的模型去做预标注;标错的、模型拿不准的样本回收起来再训一轮。这叫主动学习,也叫数据飞轮——模型越用越准,人工越来越少。比起直接拿 YOLO 顶上去,中间差的这一步,才是真正值钱的工程经验。

漏洞四:客户要的往往不是一堆框

停车场真正有价值的是结构化数据,不是框本身。车牌号(要接 OCR / 车牌识别)、车位是空还是满(常常需要分割或专门的车位检测模型)、车型颜色品牌、充电桩车位是否被占用、有没有人摔倒或滞留……这些属于属性标注,YOLO 原生的检测头做不了。

还有各种长尾对象:轮椅、婴儿车、购物车、路桩、宠物。宠物也许还能认,轮椅不一定。这些类别一旦客户要,就得单独定义、单独训练。

最关键的一点:对方其实没错,我们说的不是同一件事

这是我想明白之后最大的修正。

那个人讲的是:这活儿能不能靠 YOLO 全自动搞定、直接给甲方交差。答案是不能。数据标注公司真正的资产不是“会认车”,而是规范与质控:框要贴边到什么程度、被遮挡一半的车框要画可见部分还是整个、截断的车怎么算、多人标注的一致性(IoU 达标率)、抽检比例、交付准确率 98% 还是 99.5%、出了错谁签字负责。

我讲的是:能不能用它来大幅提速。答案是能。

这两个答案可以同时成立。他不是在否定技术,是在否定“没有流程、没有质控、没有人签字就交付”。他卖的是数据服务,我谈的是降本工具,我们本就不在同一个层面上争论。

以后有人再对我说“这个模型可不行”,我会先反问一句:你说的是不能用它提速,还是不能全自动交差?——这两个答案,通常不一样。

如果让我重做,我会这样搭

写在最后

一个我原本以为很简单的想法,真正往下推才发现,难点根本不在于认不认得出。漏检、跨帧一致性、领域适配、属性延伸、质控与合规——这些才是真正吃掉成本的地方。

但方向我依然认为没错:用 AI 来生产 AI 的数据,让模型给模型造饲料,已经是成熟路径了。我这几个月做的事也是同一个逻辑:想清楚目标,划好边界,让 AI 干掉前 80% 的重复劳动,人守住最后那 20% 的判断权。

这句话刚好能接上上一篇 From Zero Code to a One-Person Company:AI 会替代掉大量重复工作,但要不要、够不够好、我认不认,这件事目前还留在人手里。

群里那句“YOLO 可不行”,现在回头看,是我这几个月收获最大的一句话之一——它逼着我把一个直觉,推成了一套能落地的东西。

← 返回文章列表