異常檢測模型學習的是「良品長這個樣子」。但如果良品每次都以不同角度拍攝,模型要學的「正常」範圍就會擴大到所有旋轉後的樣貌。範圍越寬,微小瑕疵就越容易被埋沒其中。對位會在拍攝後立即消除這個問題。
圓形零件:Ring 對位
束帶、環、軸承這類圓形零件依下列順序對位。Multi-Inspector 的 rotation-fix 模式即採用此方式。
- 找出中心 — 以圓偵測(Hough Circle)或將圓擬合到輪廓(circle fitting)求出零件中心。
- 找出方向 — 圓形旋轉後看起來都一樣,因此要找出凸片或耳部(ear)這類只存在於一處的特徵角度。
- 旋轉·平移 — 將中心移到畫面中央,特徵轉到 12 點鐘方向。
任意形狀:Shape(PCA)對位
像安全帶扣這種非圓形零件找不到圓。這時改用零件區域的影像矩求出姿態。
- 一階矩(重心) — 零件的位置。
- 二階矩(主軸) — 零件延伸最長的方向。與主成分分析(PCA)的計算相同。
- 三階矩(不對稱度) — 只靠主軸,零件前後翻轉 180° 時無法區分。將質量較集中的一側定為前方,即可消除這個模糊性。
詳細計算與設定請見技術筆記 如何對位非圓形零件。如果不需要方向、只需對齊位置,則使用 Center-Only 對位。
對位後判定:yolo_align
Multi-Inspector EB 產線版本自 v2.2 起支援 yolo_align 模式。先將零件對位並置中,再以 YOLO 找出瑕疵。由於瑕疵總是出現在相近的位置與方向,即使資料量相同,偵測也更穩定。詳細設定請參考 yolo_align 模式 筆記。
訓練與檢測必須使用相同的對位
對位在訓練時執行一次,在現場檢測時再執行一次。兩者只要稍有不同,模型收到的影像就會和訓練時不一樣。因此 Multi-Inspector 會直接沿用 fineAi Image Processing Tool 中建立的對位設定。準備資料時的對位與產線上運作的對位,會得到相同的結果。
為失敗做好準備
對位是在影像中尋找特徵的過程,因此可能失敗。例如零件被拍到只剩一半,或光源瞬間閃爍。對位失敗時,Multi-Inspector 會以原始影像繼續判定並留下記錄。產線不會因對位錯誤而停止,失敗的影像也可以事後收集起來分析原因。
何時不使用對位
- 零件固定在治具上、每次都在相同位置拍攝時,不需要對位也已足夠。
- 形狀不固定的對象(食品、農產品等)難以訂定對位基準。這時適合使用對位置變化較不敏感的模型(如 AnomalyDINO),或不經對位的 YOLO。請參考 選擇異常檢測演算法 課程。