为什么学生做的机器视觉检测,总过不了量产现场的关?

上周实训课,第三组的男生举着他们的装置跑过来,说老师你看,我把摄像头架在传送带正上方,能识别出表面有划痕的铝片,准确率100%——我蹲下去看,旁边堆着他们组为了测试特意擦得锃亮的传送架,连个螺丝反光都调过。

我没直接夸。伸手在镜头前面晃了一下,模拟窗外飘过来的树影,他屏幕上的识别框直接跳成了“无瑕疵”。男生愣在原地。

第一个坎:把“实验室的静态识别”当成了现场的动态检测

说实话,我第一次带这门课的时候也踩过同款坑。总觉得教学生把开源的视觉模型跑通,调个阈值,能识别出预设的瑕疵就算完成教学目标。直到第一届学生出去实习,回来跟我吐槽,说厂里的师傅根本不看你模型精度多少,就问你——能不能在下午换班人来人往的时候,别把刚掉在传送带的头发丝识别成零件裂纹。

车间里哪有什么恒定光照。金属表面的反光是随机的,头顶的节能灯会因为车间的行车经过闪一下,零件上带的切削液会在光线下形成不规则的亮斑。学生做的装置呢?特意在摄像头上面架了个黑遮光罩,测试的时候连教室的日光灯都关了一半,就为了让模型识别稳。真拉到现场,黑罩子挡着工人上下料,拆了又满是反光,根本没法用。

车间现场金属零件表面反光实拍
车间现场金属零件表面反光实拍

上次有个学生跟我犟,说老师你看我模型mAP能到98%,为啥到现场就“瞎”。我把他拉到实训楼楼下的快递站,拿他的摄像头对着驿站货架上的快递盒——路过的电动车大灯晃了三次,楼外面的树影飘过去挡了两秒,他的模型直接把所有亮面的快递盒都判定成了“无瑕疵合格品”。他当时脸就垮了。

别让学生把“视觉算法”和“机械结构”拆成两张皮

很多学生刚接触机器视觉检测的时候,思维是拧着的:机械结构是随便凑的,找两根铝型材把摄像头拧上去就算完事,剩下的识别不准、反光、阴影问题,全丢给算法调参。但实际上呢?机械结构的设计本质上是在给算法“减负”。你把摄像头的角度调成和零件表面成45度,比你在算法里写三页反光过滤的代码管用十倍。

机械设计实训台摄像头安装角度示意图
机械设计实训台摄像头安装角度示意图

去年有个组为了识别小螺丝的漏装,一开始把摄像头架在正上方,算法调了两周,还是会把螺丝下面的安装孔阴影当成漏装。后来他们把摄像头往前挪了15厘米,倾斜30度,在镜头旁边装了个带漫反射罩的LED灯,当天下午就把误判率降下来了——之前他们在算法里改的那些阈值、滤波代码,最后只留了三行。

对吧?我每次看到学生抱着个电脑改一下午模型参数,机械架子晃得跟筛糠一样,就忍不住敲他桌子。架子晃一下,相当于摄像头每秒在抖个几毫米,你就算把模型训练到天上去,也架不住这无规律的像素位移啊。

实训评价里最该删掉的“模型精度指标”

之前我们的实训评分表,有30%的权重是“模型识别精度”。结果呢?学生为了刷这个分数,特意把测试用的零件都摆成一模一样的角度,光照都调到最理想的状态,就差给零件打个聚光灯了。考出来的分数好看,真到现场全露馅。

去年我们咬咬牙改了评分规则,把那30%的权重拆了:10%是“结构抗干扰设计”——测试的时候,故意拿个手电筒晃镜头,故意让传送带速度变快20%,故意在零件表面喷点水,看看你的检测装置还能不能正常工作;20%是“现场适配性”——你做的装置,能不能直接装在我们实训车间的现成传送线上,不用拆了重装半小时。

改规则之后第一周,就有个组的装置因为摄像头拧得太松,测试的时候晃了一下,直接丢了20分。那个男生下课追着我问,说老师我模型精度99%啊,为啥扣这么多。我给他指了指车间里的产线——那上面的传送带每天要被工人碰几百次,要是你的摄像头拧上去连晃都经不住,就算模型是神仙写的,有啥用?

上次跟厂里的技术主管吃饭,他说现在招机械专业的毕业生,根本不要求你能从零写一个视觉检测的算法。但你得知道——什么样的机械结构能让视觉检测的成本砍一半。比如你知道什么时候该用环形光源,什么时候该用同轴光源,知道摄像头的安装高度要留多少余量,方便后面换不同大小的零件,知道机架要做多少的刚度,才能避免车间里的冲床震动传上来影响成像。这些东西,你在算法书里是学不到的。

上周课结束,之前那个犟着说自己模型精度高的男生,自己蹲在实训台旁边,把之前架的黑遮光罩拆了,换了个可调节角度的漫反射灯条。他抬头跟我说,老师,我现在知道为啥之前去厂里实习,人家师傅看我调了一下午算法,连眼皮都没抬了。

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:为什么学生做的机器视觉检测,总过不了量产现场的关?
文章链接:https://yqhljx.com/list_9/4496.html