2026-10-03 02:04:49 分类:机械设计
上周三上机课,全班二十多个人,一半抱着电脑围过来,说模型跑出来全是错的。我凑过去一看,嚯,把塑料外壳划痕数据集当成猫狗分类训练了。
把缺陷检测当成分类,是我没讲透场景
学生都刷过不少开源教程,上来就拿成熟的分类网络直接套,训练集准确率蹭蹭往上涨,能到九十多。一拿工厂寄过来的实际样品试,直接瞎。
核心问题出在缺陷占比不对。
哪有那么多缺陷占满半个产品的情况?真实产线里,大部分缺陷就是一两毫米的划痕,零点几毫米的凹坑,占整个产品面积还不到百分之十。你把整张图喂给分类模型,模型学的全是背景像素,哪能关注到那一点点异常?
机械零件外观划痕缺陷AI检测标注样图
我当时没讲大道理,拿了个裂了缝的Type-C壳子放投影上,问他们:你找缺陷是找整个壳子对不对?不对,你找的是壳子上那道两毫米的印子。
后来改了训练逻辑,让学生先做前景分割抠出完整产品区域,再加滑动窗口抽局部特征跑检测。就这一步调整,错检率一下子掉了快三十个点。
说实话,之前备课的时候总觉得算法原理讲清楚就行,哪想到学生对工业场景没概念。他们见的都是开源数据集里摆好拍好的样例,真碰到实际问题,连问题出在哪都找不到。
这锅我背。
预训练模型的“甜”,工业场景吃不下
现在学生都爱用大模型预训练,说调参快效果好,不用从零开始训。我上次有个学生拿公开数据集预训练的检测模型直接跑塑料外壳,出来的结果把模具上的脱模剂残留都标成了凹坑缺陷,笑得我直不起腰。
差在哪?预训练模型学的都是日常物体的大特征,汽车、杯子、猫狗,轮廓和纹理都是大尺度的。外观缺陷要抓的是什么?微米级的划痕,肉眼都要眯着眼睛看的色差,你让学惯了大特征的模型去抠这种细枝末节,哪那么容易。
不过话说回来,也不是说预训练不能用。得改。
工业产线AI外观缺陷检测设备实拍图
我们后来把预训练权重的前三层卷积重新初始化,额外加了一层小kernel的卷积层专门提取细纹理特征。就改了这么一点点,漏检率直接从22%降到7%。
真正决定效果的是细纹理特征提取能力,不是你用了多大的预训练模型。之前外面不少人吹通用大模型包打天下,我看在工业检测这块,远没到那个程度。你得给模型做“外科手术”,顺着你的产品特征改,不能拿来就用。
学生总想着跑通开源代码交作业,哪知道真正做项目,这一步改结构才是最花时间的。
标注,才是真正卡脖子的隐形坑
标注,才是真正卡脖子的隐形坑
我之前备课,把百分之八十的时间都放在讲算法结构、调参技巧上,直到这次做课程设计才发现,标注才是最让人头疼的隐形坑。
学生拿网上下的开源数据集顺风顺水,跑出来效果说得过去。真让他们自己拿工业相机拍二十个同型号产品,自己标缺陷,一半的人标出来的边界歪歪扭扭,同一个缺陷,同一个人隔一天标两次,结果都不一样。
标注质量直接决定了模型的上限,数据错了,再好的算法也救不了。
我之前试过偷懒,用弱标注,就是只标图像有没有缺陷,不标具体位置,想着省点事。结果呢?泛化能力差得离谱,换一批同型号不同批次的产品,直接乱检测。工业生产里,不同批次的产品本身就有色差,你不给模型标清楚哪是缺陷,它根本学不会。
后来我们找合作的工厂要了他们已经标注好的一百份样品,给学生当基础训练集,要求每个人自己再拍五十份样品,卡着标准改边界,折腾了整整一周,大部分模型的效果才稳定下来。
说实话,做应用类的AI,算法架构大家都差不离,最后拼的全是数据和细节。这点我之前在课上讲得太轻了,总觉得标注就是个脏活累活,不用占用课堂时间,现在才明白,得把这个坑提前摆到学生面前,让他们自己踩一遍,才记得住。
昨天改完最后一份课程设计报告,我蹲在实验室走廊吹风,想起来刚工作那会,帮工厂做检测设备,那时候还没有这么多开箱即用的AI框架,我们拿传统的阈值分割,调半个月才能出个能用的结果。现在工具先进了,学生三天就能搭出一个完整的模型框架,可对真实场景的敬畏心,反而少了点。
教这个方向,不是教学生跑通一段代码,是教他们知道,算法要落地,就得弯下腰盯着产品上那道小划痕磨,对吧。
免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:蹲在实验室改方案:AI产品外观缺陷智能检测算法教学踩坑记
文章链接:https://www.yqhljx.com/list_9/3730.html