# SIFT特徵比對結合MediaPipe手部追蹤應用於零組件質檢系統 本篇hackmd連結 https://hackmd.io/@1_TIN20USDCWMlpKaP6UTA/B1T3psYexg ## Motivation 在工業自動化逐漸普及的今日,品質檢測(Quality Inspection, QI)在製造業中扮演著不可或缺的角色。以往零組件的質檢多由人工視覺來進行,但此方式不僅費時費力,且容易因為人為疲勞或主觀判斷而導致錯誤。為提高效率與一致性,越來越多企業嘗試導入電腦視覺技術以進行自動化質檢系統 [1]。 然而,自動化質檢仍面臨幾項挑戰:首先,零組件常因拍攝角度、光照、位置等因素而產生視覺變異,導致比對困難。再者,當人員需進行手動操作,例如翻轉或搬運零件時,系統若無法準確追蹤手部,將可能誤判畫面中手部為干擾物或缺陷,進而影響檢測結果。因此,如何結合穩定的特徵比對演算法與準確的物件偵測技術,成為提升整體質檢效能的關鍵。 本報告提出一套結合SIFT(Scale-Invariant Feature Transform)特徵比對與 MediaPipe 深度學習手部追蹤模型的零組件質檢系統。SIFT 演算法以其對縮放、旋轉、光照變化具有不變性與高辨識能力,廣泛應用於物件辨識與圖像配對任務中 [2]。透過 SIFT,我們能夠將攝取到的零組件影像與標準樣本進行高準確度比對,辨識出缺陷或異常。 另一方面,MediaPipe 是一套由 Google 開發的即時機器學習感知框架,其具備高效的運算流程與穩定的多關鍵點偵測能力,廣泛應用於姿態估計、人臉辨識與手部追蹤等領域 [3]。相較於傳統的物件偵測方法,MediaPipe 在手部追蹤任務中提供了21個精確的關鍵點座標,能準確掌握手部姿態與位置,即使在動態或遮擋場景下亦能維持良好表現。因此,我們採用 MediaPipe 進行作業人員手部的即時偵測與追蹤,使系統能有效避開手部遮擋區域,進一步提升整體檢測準確率與運作穩定性。 整體而言,本報告的動機在於解決傳統質檢系統易受人為干擾、難以應對變動環境等問題,並藉由結合 SIFT 的高穩定特徵配對能力與 MediaPipe 的高精度手部追蹤能力,發展一套智慧化、高效率、具實用價值的零組件質檢系統,期望能在智慧製造領域中提供一個具體可行的解決方案。 --- ## Feature 論文名稱:Distinctive Image Features from Scale-Invariant Keypoints [論文](https://www.cs.ubc.ca/~lowe/papers/ijcv04.pdf) SIFT [GitHub](https://github.com/OpenGenus/SIFT-Scale-Invariant-Feature-Transform) ## Method ![image](https://hackmd.io/_uploads/r1-bLPubee.png) 本報告 SIFT(Scale-Invariant Feature Transform)特徵比對演算法為基礎,設計一套針對零組件組裝狀態進行智慧化檢測的機制。SIFT 為一種經典且穩定的局部特徵描述子演算法,其具備對縮放、旋轉、光照變化具有高度不變性,可從圖像中擷取具代表性的關鍵點與描述子,並利用這些描述子進行跨影像間的特徵比對。透過這項特性,SIFT 特別適合應用於工業檢測中,辨識不同角度或光照下的目標物件。 在本系統中,我們首先透過人工或系統初始化設定,以 SIFT 特徵比對方式定義一個明確的區域範圍,稱之為工作區域(Region of Interest, ROI)。此 ROI 代表機構運作中預定要放置零件的位置。接著,系統將擷取即時影像,並使用 SIFT 對 ROI 區域進行特徵點擷取與比對,確認該區域內是否存在特定零組件。此步驟可有效判斷零件是否被準確放置於指定位置,避免空組裝或誤置問題。 當系統偵測到零件已置入 ROI 後,將持續透過 SIFT 演算法進行組裝狀態追蹤。系統會比對 ROI 區域內的特徵點與資料庫中已組裝完成之標準影像,藉此判斷零件是否處於「已正確組裝完成」之狀態。此階段可有效識別出組裝方向錯誤、缺件或偏移等異常狀況。 此外,本系統亦設計有離站偵測機制,藉由持續比對零件下方區域的特徵點變化,判斷該零件是否已脫離工作區域。當發現零件的關鍵特徵點逐漸偏離 ROI 或消失時,系統將視為該零件已移動或被移除,並進行相對應的訊號回報與記錄處理,以確保整體流程的連續性與準確性。 最後,此方法透過 SIFT 的高穩定特徵匹配能力,有效建構一個可即時監控、動態更新與誤差容忍的零組件質檢系統,適用於智慧製造環境中具有動態變化、人員干擾或需高精度辨識的應用場景。 --- ## Experimental Results 實際使用鍵盤的組裝情況,驗證系統的可行性,以下內容做說明 系統需輸入**四張照片**作為各個階段的檢測樣本 ### 階段1(檢測並定義ROI範圍) ![A](https://hackmd.io/_uploads/Byuc_19ggx.jpg) 系統利用SIFT比對以上圖片,並定義ROI的範圍,進入INIT階段。 ### 階段2(判斷零件是否在ROI內) ![B](https://hackmd.io/_uploads/ByQ0dJqxge.jpg) 進入PICKUP階段,在ROI範圍持續檢測零件未組裝的特徵,當檢測到零件未組裝的特徵後,進入ASSEMBLY階段。 ### 階段3(檢測零件是否組裝正確) ![C](https://hackmd.io/_uploads/By70dkqeel.jpg) 在ASSEMBLY階段,當ROI範圍內檢測到零件組裝完成的特徵後,開始檢測零件是否離站。 ### 階段4(判斷零件是否離站) ![D](https://hackmd.io/_uploads/r17COyqeel.jpg) 在DEPARTURE階段,原先被零件覆蓋的特徵就會顯現出來,由此來判斷零件是否離站。 最後,再回到PICKUP階段持續檢測是否有零件未組裝的特徵,以此循環進行系統流程。 --- ## Conclusion 本研究整合了 SIFT 特徵比對與 Mediapipe 手部追蹤技術,建立一套應用於零組件質檢流程的視覺輔助系統。透過 SIFT 的穩定特徵偵測能力,能有效定義工作區範圍、偵測零件是否到位、判斷組裝狀態與確認是否離站;搭配 Mediapipe 的手部偵測,則能即時排除人手遮擋區域,避免誤判,提升整體檢測的穩定性與準確率。 在實作過程中,如何將理論模型應用於實際場景,並處理包含影像雜訊、特徵點偵測失誤與演算法效能調整等問題。系統從影像擷取、特徵分析到最終判定,涵蓋完整流程,具備實務可行性。 --- ## Presentation **Workstation Monitor** 提供到站檢測、組裝正確與否、離站檢測 [{%youtube 0209yiYOYJ8 %} ](https://youtu.be/0209yiYOYJ8) ### 用SIFT比對正確零組件與現在零組件是否相同 **Assembly Assembly Detection** [{%youtube DOpIbUtgHH0 %} ](https://youtu.be/DOpIbUtgHH0) **Assembly Matching** [{%youtube _GLzDPFINP4 %} ](https://youtu.be/_GLzDPFINP4) ## 參考文獻 [1] 工業自動化質檢系統相關應用 Natarajan, S., & Murugan, D. (2014). Object detection using scale invariant feature transform. In D. P. Acharjya & S. Dehuri (Eds.), Computational intelligence in data mining—Volume 1 (pp. 63–71). Springer. https://doi.org/10.1007/978-3-319-01796-9_7 [2] SIFT Lowe, D. G. (2004). Distinctive image features from scale-invariant keypoints. International Journal of Computer Vision, 60(2), 91–110. https://doi.org/10.1023/B:VISI.0000029664.99615.94 [3] MediaPipe Hands Zhang, F., Bazarevsky, V., Vakunov, A., Tkachenka, A., Sung, G., Chang, C. L., & Grundmann, M. (2020). MediaPipe hands: On-device real-time hand tracking. arXiv preprint arXiv:2006.10214. https://arxiv.org/abs/2006.10214 --- ## 組員貢獻 洪琮閔(M113010104)-導入ROI與Mediapipe、整合系統功能、影片拍攝及匯出、hackmd製作 陳詠捷(M123010154)-SIFT程式下載與測試、測試系統功能、影片拍攝及匯出、hackmd製作