用 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 張影像,然後用它們訓練一個模型。試用 Demo,免註冊,六十秒就好,或者免費開始

    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