一个人的产线 书架

第 09 章 / 共 15 章

第九章 · 亲手做一个视觉缺陷检测

从「我觉得这有划痕」到「机器帮我盯划痕」

前面八章都在铺垫。到这一章,我们第一次真刀真枪做一个能上产线的算法。

为了讲清楚,我们全程盯着一个具体活儿:检测一块金属件表面有没有划痕。这活儿够典型——工厂里九成的视觉检测,本质都是它的变种:检有没有、检对不对、检歪没歪。你把这一个吃透,换成「检标签贴没贴正」「检焊点有没有虚焊」,流程一模一样,只是「什么算坏」那条标准换个说法。

我把整件事拆成五步:定问题、收数据、选方法、训练评估、部署。每一步我都会告诉你:这一步在干嘛、为什么、AI 能替你到哪、你必须自己盯住什么。

一句话预告本章的灵魂:决定成败的从来不是你选了哪个模型,而是你喂给它的数据干不干净、你对「什么算划痕」的定义清不清楚。模型是别人早就调好的现成货,数据是只有你能给的东西。

第一步:先定问题(其实是回到第三章)

很多人一上来就问「用哪个模型」。错。第一步是回到第三章的规格,把问题定死。做视觉检测,你至少要先回答四个问题:

这四个问题,AI 一个都替你答不了。它不知道你客户能容忍多大的划痕,不知道你这条线的节拍。这是你的领域知识,是你作为产品经理的核心价值。想清楚了写成一页纸,这页纸就是后面所有工作的宪法。

回忆第八章那个「准确率悖论」:如果一百个件里只有一个有划痕,机器闭着眼睛全判「好」,准确率就是 99%——却漏掉了唯一该抓的那个。所以从第一步起,你关心的就不是「准确率」,而是「一百个真划痕,你抓住了几个」。

第二步:收集和标注图像——最累、最关键、最不能外包

现在要给机器准备教材了。机器学缺陷检测,靠的是看大量「这是好件、这是坏件」的例子。这就引出全章最重的一个词。

标注=人工在图片上标明哪是好、哪是坏、划痕在哪。说白了就是给机器出练习册,而且每道题的标准答案都得你亲手写。机器有多聪明,取决于这本练习册出得有多准。

你得去产线上,真的拍。拍几百张有划痕的、几百张没划痕的。而且——这一点极其重要——要拍各种各样的:不同批次的料、不同角度、车间早上和下午不同的光、划痕在边上的和在正中间的、深的浅的长的短的。

为什么这步最累又最不能外包?因为标注的人必须真懂什么算划痕。你雇个大学生标一天,他不懂工艺,把反光当划痕、把真划痕当油污放过去,这本练习册就全是错题。机器会忠实地学会你所有的错误。它不会纠正你,只会放大你。

行业里有句实话:算法工程师八成的时间不是在调模型,是在跟数据死磕、跟标注错误死磕。这不是他们水平差,这是这行的本来面目。

AI 能帮你到哪?它能帮你搭一套标注的流程和小工具(比如一个网页,让你在图上拉个框就存下坐标),能帮你把标好的数据整理成机器要的格式,甚至能先粗标一遍让你来改。但「这一张到底算不算划痕」这个判断,AI 给不了你——它自己都还没学会,正等着你教。这是你和机器之间不可转让的分工。

第三步:选方法——别从零训练,站在巨人肩膀上

到了选模型这步,小白最容易被劝退,因为一搜全是吓人的术语。我给你一条最省力、也最主流的路,两个词就能讲明白。

预训练模型=别人已经在几百万张各种图片上训练好的一个「通用视觉底子」。它早就学会了什么是边缘、什么是纹理、什么是形状、什么是「不一样的地方」——这些通用的看图能力,检划痕也用得上。

迁移学习=你不从一张白纸开始教,而是拿这个现成的底子,用你那几百张金属件图片再「补习」一下,让它把通用的看图能力专门用到「认划痕」上。

打个比方:从零训练,像是要培养一个验光师,你得先教他从睁眼看世界学起。迁移学习,是请一个视力极好、什么都见过的成年人,你只花两天教他「这种细纹叫划痕、要挑出来」。前者要几百万张图、几周算力;后者几百张图、一下午就行。「几百张也能work」的秘密,全在这里。

所以对你来说,选方法不是去比十个模型谁强,而是选一个成熟的预训练模型做迁移学习就够了。哪个具体模型?让 AI 推荐,它会根据你的场景(要多快、跑在什么设备上)给你选。这一步 AI 帮得上大忙——写训练代码、配环境、挑模型,都是它的活。你只要盯住一件事:别被忽悠着去从零训练,那是烧钱烧时间还不一定更好的弯路。

第四步:训练 + 评估——盯住机器错在哪

训练=让机器一遍遍看你的练习册,自己调整内部参数,直到它的判断尽量对上你的标注。这步基本是 AI 写代码、机器自己跑,你等着就行。

关键在评估。别只看它甩给你一个「准确率 98%」就高兴。回到第八章的两把尺子:

然后做一件最有价值的事:把机器判错的样本一张张调出来看。它把哪些真划痕漏了?把哪些好件误报了?看着看着你往往会恍然大悟——「哦,它一碰到边缘反光就误报」「哦,浅划痕它基本都漏」。这些发现会直接告诉你:练习册里这类样本太少了,回第二步补拍补标。训练不是一锤子买卖,是「看错题→补数据→再练」的循环。

第五步:部署到相机边上(这里只开个头)

模型练好了,最后要把它搬到产线相机旁边那台小设备上,实时看每一个工件。这一步细节留给第十一章。这里你只要记住一件事:训练是在你电脑上、慢慢来;部署是在车间里、一秒好几个件飞过去实时判。环境全变了,能跑通不等于能跑住——第十二章专门讲这个。

本章灵魂:为什么「准确率 99%」在产线上可能还是不能用

这一步最容易让人高估自己:demo 里数字漂亮,一上真产线就翻车。为什么?

第一,类别极不均衡。产线上真划痕是少数,前面说过,机器全判「好」都能拿高准确率。所以准确率这个数字,在缺陷检测里几乎是骗人的,你要盯查全率。

第二,漏一个致命缺陷的代价。查全率讲的是「真次品里你抓住了几成」——假设一百万件里真有一万个划痕件,就算你查全率高到 99%,也还是放走了大约一百个次品。这一百个够不够呛,你的客户能不能接受,是业务问题,不是技术问题——又回到你身上了。

第三,也是最阴险的一个,叫数据漂移=你真正要检的工件,跟你当初拍照片、教机器时的工件,悄悄变得不一样了。换了个供应商的料,表面反光变了;车间换了灯,或者只是从夏天到冬天光照角度变了;镜头蒙了层油雾。机器还是按老经验判,就开始胡说八道。

demo 翻车九成不是模型笨,是你给它看的世界和它现在面对的世界,已经不是同一个了。

所以「上线」不是终点,是起点。你得定期抽查、定期拿新工件的照片补进练习册再训一次。这不是麻烦,这是这类系统活着的方式——它跟你的产线一起变老,就得跟着一起学。第十三章会专门讲怎么盯住它、怎么迭代。

把这一章拧成一句话

你现在有能力借 AI 从零做出一个视觉缺陷检测:AI 替你写代码、搭标注工具、选模型、调参数、跑训练——这些体力活它全包了。但有三件事永远是你的,谁也替不了:定义什么算缺陷、判断每张图的对错、决定这个准确率业务上到底能不能忍。

说到底,模型是买来的现成引擎,数据和标准是只有你能造的燃料和方向盘。下一章我们换个战场:不看图片,看一条随时间起伏的曲线,做时序和异常检测。

一个人的产线
面向对世界有好奇心的人 · 费曼式写法 · 由多个 AI 代理撰写与互相审校