用 iPhone 做检测

    如何为 AI 视觉检测标注缺陷:边界框标注指南

    Korbinian Kuusisto, CEO and founder of Enao Vision
    Korbinian KuusistoCEO & Founder, Enao Vision
    2026年9月22日
    Share:
    如何为 AI 视觉检测标注缺陷:边界框标注指南

    我们训练的第一个缺陷检测模型效果很差,而且是我们自己的错。照片没问题,模型也没问题。问题出在我们围绕缺陷画的框上,画得乱七八糟,而模型恰恰学会了我们教给它的东西,也就是混乱。

    从那以后,我们标注了大量零件,与我们合作的人也一样,而反复出现的总是那么几件事。它们都不复杂,大多数一经点破就显而易见。这篇文章就是来点破它们的。

    快速总结

    从不同角度、不同距离、不同光照下拍摄,让模型学会的是缺陷本身,而不是拍摄环境。然后,标注每张图像中的每一个缺陷,每个框都要画紧,每次都用同样的方式标注,允许不同缺陷类型的框相互重叠,并先从细分的类别开始,之后再合并。在实践中,一个老老实实的大框胜过漏掉十个小框,杂乱的样本应该移出数据集,如果两个人会画出不同的框,那这个框多半就画错了。

    拍照:一条原则

    模型靠多样性学会举一反三。如果每张针孔照片都是在同一个位置、同一盏灯下拍的,模型学会的就是那个位置和那盏灯,等到第一次来了一个稍微转了角度的零件,它就开始犯嘀咕。所以在收集训练图像时,真正值得做的一件事就是:动起来。

    不同角度。绕着缺陷走一圈,从几个方向拍摄。同一个针孔正面看和 45 度斜看是不一样的,这两种样子模型都应该见过。

    同一个针孔,两个角度:侧面和正面。

    不同光线和背景。明亮、昏暗、有阴影、在工作台上、在产线上。不断更换背景,模型才能学会忽略背景。

    同一个针孔,两种光照条件:明亮均匀,以及昏暗带阴影。

    不同距离。走近一点,再退后一点。占满整个画面的缺陷和缩在角落里的一个小点,模型在生产中都会遇到。

    同一个针孔,两种距离:近距离特写和稍远处拍摄。

    如果您的相机固定在产线上,这些都不成问题。固定位置能带来非常一致的图像,模型在这一个视角上也会表现得非常好。只有当 iPhone 是手持使用,或者一个模型需要覆盖多个工位时,多样性才最为重要。

    标注:五条基本原则

    这些不是 Enao 自己定的规矩。它们适用于任何面向目标检测的图像标注,决定了您得到的是一个信心十足的模型,还是一个总要您再检查一遍的模型。

    1. 标注图像中的每一个缺陷

    基本原则 1:三个缺陷全部框出,对比漏标一个。

    这是我们最先犯的错误。如果一张图像里有三个缺陷,而您只框了两个,就等于告诉模型第三个是背景。在整个数据集里这样做几十次,真报警和误报警就会开始混淆,因为同一种图案既被当作缺陷,又被当作背景。只要您看得见,就把它框出来。

    2. 把框紧贴缺陷画

    基本原则 2:框画得太小、紧贴和太松的对比。

    留几个像素余量的紧贴框,能让模型学到完整的缺陷图案,而且只学到这些。框画小了,部分图案就丢了。框画松了,模型就得学会忽略那一大片背景,这需要的样本数量多到没人愿意去标注。紧贴的框恰好也画得更快,算是一个额外的好处。

    3. 每次都用同样的方式标注

    基本原则 3:逐个画框、整簇一个框,以及应避免的混用方式。

    处理一簇小缺陷有两种完全可行的方法:要么每个缺陷单独画框,要么围绕整簇画一个框。两种都行。行不通的是两种方式混着用,因为这样模型看到同样的情况被标注成两种样子,就无从判断。选择您的团队更容易坚持一致的那种,并把它写下来。

    4. 不同缺陷的框可以重叠

    基本原则 4:划痕和斑点部分重叠没问题,几乎完全重叠则不行。

    一道划痕从一个斑点旁边穿过,这再正常不过了。框出划痕,框出斑点,让它们重叠就好。部分重叠完全没有问题。要避免的是两个不同类别的框几乎完全叠在一起,因为这样模型根本无法学会这些像素属于哪个类别。

    5. 先细分,后合并

    基本原则 5:先分为深划痕、细划痕和擦痕,如果混淆再合并为划痕。

    如果您不确定深划痕、细划痕和擦痕应该算一个类别还是三个,那就先分成三个。之后合并只需点一下。而要拆分一个之前合在一起的类别,就得把所有标注重新过一遍。该合并的信号是模型总是把两个类别搞混,这通常说明在相机看来它们长得差不多,即使对您来说它们意味着不同的东西。

    实践中:四条吃过亏才学到的经验

    基本原则是规矩。下面这些则是只有当您真正坐下来画框时,才会遇到的判断。

    缺陷很多,一个框就够

    实用技巧 1:许多小框且有遗漏,对比一个框覆盖整簇缺陷。

    围着十五个小点画十五个小框要花很长时间,而且大概画到第十一个时,您就会漏掉一个。我们知道,因为我们就漏过。围绕整簇画一个老老实实的框更快,模型也不介意。一致性比小框更重要。

    讲究效率,不要教条

    实用技巧 2:整簇一个框、离群点一个框,对比两种更差的做法。

    有时正确的做法是给整簇画一个框,再给离群的那个单独画一个。没错,这就是混用了两种方式。但这仍然好过为了圈住离群点而画一个装满背景的巨大框,也好过画十五个单独的框却漏掉三个。所有规则背后的那条规则是:您的标注方式,要让下一个人也会用同样的方式标注。

    把杂乱的样本踢出数据集

    实用技巧 3:五个人会标得各不相同的重叠样本,对比干净的样本。

    有些图像就是不可能一致地标注。三个缺陷相互重叠,边缘无法分开,五个人会画出五套不同的框。把这些图像拿掉,不用觉得可惜。两百张干净图像组成的数据集胜过一千张嘈杂的图像,而且模型在生产中照样能检测出重叠的缺陷。只是它不应该从这些图像中学习。

    宁可多带背景,也不要主观的框

    实用技巧 4:一个带更多背景的框,对比两个人把一道长划痕切分得各不相同。

    一道长划痕可以画成一个框,也可以画成六个短框,如果交给每个人自己决定,两种情况您都会遇到。一个多带一点背景的框,对每个人来说都是一样的。只要某个标注决定取决于谁握着鼠标,就把框画大,直到它不再取决于人为止。

    需要多少张图像?

    比您想象的少,前提是图像质量好。针对一个产品上的一种缺陷类型,25 到 50 张标注良好的图像通常就足以训练出第一个模型,您可以把它放到产线上并从中学习。让项目失败的往往不是图像太少,而是一百张图像用三种不同的方式标注。从小规模开始,仔细标注,做测试,然后在模型最薄弱的地方补充图像。

    常见问题

    什么是边界框标注?

    就是在您希望模型找到的每个目标周围画一个矩形,在这里就是每个缺陷,让模型学会这个目标长什么样、通常出现在哪里。这是视觉检测中最常见的一种图像标注方式。

    框里应该包含背景吗?

    留几个像素的余量就够了,不要更多。足以让缺陷的边缘落在框内,但又不至于多到让模型得学会忽略周围环境。

    部分被遮挡的缺陷该怎么标注?

    紧贴着框出您能看到的部分,不要去猜其余部分。如果缺陷大部分都被遮住了,就要考虑这张图像到底该不该放进数据集。

    良品也需要标注吗?

    需要,方法就是不画框。没有缺陷、也没有框的图像能教会模型什么是正常的样子,您需要这类图像的程度,和需要缺陷图像一样。

    如果两个人对某个标注有分歧怎么办?

    这说明该改规则了,而不是选出一个赢家。把框画大、合并类别,或者去掉这个样本,直到两个人会画出同样的框为止。

    在您自己的零件上试试

    要验证这些方法是否站得住脚,最好的办法就是给您自己产线上的某个零件标注 25 张图像,然后用它们训练一个模型。试用演示,无需注册,只要六十秒,或者免费开始使用

    Explore with AI

    Discuss this article with your favorite AI assistant

    Korbinian Kuusisto, CEO and founder of Enao Vision

    作者

    Korbinian Kuusisto

    CEO & Founder, Enao Vision