機器視覺(英語:Machine vision,簡稱「MV」) 是指用於自動檢測、分析的一種基於成像技術的方法,在工業自動化檢測、過程控制和機器人引導等領域得到了廣泛應用。機器視覺涵蓋了多種技術、軟體和硬體產品、整合系統、動作、方法和專業知識。機器視覺作為系統工程學科的一種,被認為不同於屬於電腦科學的電腦視覺。它嘗試以新的方法整合現有技術,並應用於實際問題解決。機器視覺的整個過程包括規劃需求和專案細節,然後建立解決方案。在系統執行時,首先是成像,隨後是對圖像的自動圖像分析和所需資訊的提取。
定義
「機器視覺」一詞存在多種定義,但但這些定義都包含用於自動從圖像中提取資訊的技術和方法,這與圖像處理不同,後者的輸出是另一張圖像。提取的資訊可以是簡單的好件/壞件訊號,也可以是複雜的資料集,例如圖像中每個物體的身分、位置和方向。所提取的資訊可以用於工業中的自動檢測、機器人和過程引導、安全監控和車輛引導等應用[1][2][3]。這一領域包括大量的技術、軟體和硬體產品,還有整合式系統、操作、方法和專業知識[3][4]。機器視覺在實際應用上是唯一能夠描述在工業自動化應用這些功能的術語;但這一術語在安全監控和車輛引導上則使用較少。作為一種系統工程學科,機器視覺被認為與電腦科學的電腦視覺不同;機器視覺嘗試將已有的技術用新的方法整合到系統中,並將其用於解決工業自動化和其它應用領域的實際問題[3]:5[5]。這一術語也被自動成像協會(Automated Imaging Association)和歐洲機器視覺協會(European Machine Vision Association)等展銷團體更為寬泛地使用,將其囊括了許多與圖像處理相關的產品和應用[4]。但該術語最主要還是用來表示自動化檢測和工業機器人/過程引導的[6][7]:6–10[8]。而在近些年,電腦視覺和機器視覺兩大領域進行了更大程度的融合[9]:13。
基於成像的自動化檢測與分揀
機器視覺系統最主要的應用是基於成像的自動化檢測與分揀,以及機器人引導[6][7]:6–10。在本章節,前者將簡稱為「自動化檢測」。整個過程包括規劃需求和專案細節,然後提供解決方案[10][11]。
自動化檢測的第一步是圖像取得。這一步通常使用經過設計的相機、鏡頭和光源,以提供後續處理所需的差異化[12][13]。接著,系統將使用包含數位影像處理技術的軟體包和開發程式去提取所需資訊,然後據此做出相關的決策(如通過測試/不通過測試等)[14]。
自動化檢測系統的組件通常包括光源、相機或其他成像裝置、處理器、軟體和輸出裝置[7]:11–13。
成像裝置(如相機)可以與圖像處理的主單元合併(使用智慧型相機或智慧型感測器)或分離[15][16]。將完整的處理功能包含在與相機相同的外殼中通常稱為嵌入式處理[17]。當二者分離時,當分開時,連接可以通過專用中間硬體、自訂處理裝置或電腦內的訊框採集卡進行,使用類比或標準化的數字介面(如Camera Link、CoaXPress)[18][19][20][21] 。機器視覺實現還使用能夠通過FireWire、USB或千兆乙太網路介面直接連接(無需訊框捕捉卡)到電腦的數位相機[21][22]。
雖然傳統的(二維可見光)成像在機器視覺中最為常用,但其他替代方法包括多光譜成像、高光譜成像以及各種紅外波段成像[23]、線掃成像、表面三維成像和X射線成像[6]。機器視覺二維可見光成像的關鍵區別包括單色與彩色、影格率、解析度,以及成像過程是否對整個圖像同時進行,這決定了它是否適用於移動過程[24]。
儘管主流的機器視覺使用二維成像去解決問題,但三位成像目前正在行業中正成為一個不斷增長的小眾市場[25][26]。最常用的三維成像方法是基於掃描的三角測量法,這種方法利用產品或圖像在成像過程中的運動。雷射被投射到物體的表面。在機器視覺中,這通過掃描運動來實現,可能是移動工件,或是移動相機和雷射成像系統。相機從不同的角度檢視這條掃描線;線條的偏差表示形狀的變化。來自多個掃描的線條被匯總成深度圖或點雲[27]。 立體視覺用於涉及一對攝錄影機視圖中都存在的獨特特徵的特殊情況[27]。機器視覺中使用的其他三維方法包括基於飛行時間和基於網格的方法[27][25]。其中一種方法是基於網格陣列的系統,它使用如2012年左右微軟Kinect系統所採用的偽隨機結構光系統[28][29]。
在圖像取得完成後即進行圖像處理[20]。核心的處理過程通常由一個CPU、一個GPU、一個FPGA或這些元件組合起來完成[17]。深度學習訓練和推理對處理效能提出了更高的要求[30]。通常在多個處理階段中按順序進行,最終得到所需的結果。一個典型的順序可能從調整圖像的工具(如濾波器)開始,然後提取目標,再從這些目標中提取資料(例如測量、讀取代碼),接著傳輸這些資料,或者將其與目標值進行比較,以建立和傳輸「通過/不通過」的結果。機器視覺圖像處理方法包括:
- 拼接/配准:包含許多二維與三維的圖像[來源請求]。
- 濾波:如形態學濾波[31]。
- 閾值處理:閾值處理從設定或確定一個對後續步驟有用的灰度值開始。然後使用該值將圖像的部分分離,有時根據該灰度值的高低,將圖像的每個部分簡單地轉換為黑白[32]。
- 像素計算:計算亮像素或暗像素的數量[來源請求]。
- 圖像分割:將數位影像劃分為多個部分,以簡化和/或將圖像表示更改為更有意義且更易於分析的形式[33][34]。
- 邊緣檢測:尋找物體邊緣[35]。
- 色彩分析:使用顏色辨識零件、產品和物品,評估顏色品質,並使用顏色分離特徵[6]
- 連通分量標記:檢查圖像中離散的連通像素塊(例如灰色物體中的黑色孔)作為圖像標記[36]。
- 類神經網路 / 深度學習 / 機器學習過程:加權和自訓練的多變數決策[37]自2019年以來,深度學習和機器學習的廣泛應用顯著擴充了機器視覺的能力。這種處理最常見的結果是分類。分類的例子包括物體辨識、已辨識物體的「通過/不通過」分類以及光學字元辨識(OCR)[37]。
- 圖型識別:包括模板匹配,尋找、匹配和/或計數特定模式。這可能包括定位可能被旋轉、部分遮擋或大小變化的物體[38]。
- 條形碼、Data Matrix與「2D barcode」讀取 [39]
- 光學字元辨識:自動化讀取文字(如數字串)[40]。
- 計量學: 測量物體的尺寸(例如,像素、英寸或毫米)[41]。
- 與目標值進行比較,以確定「通過或不通過」或「允許/不允許」的結果。例如,在代碼或條形碼驗證中,讀取的值與儲存的目標值進行比較。在測量中,將測量值與適當的值和公差進行比較。在字母數字代碼的驗證中,將OCR辨識的值與正確的目標值進行比較。在瑕疵檢查中,可能將瑕疵的測量尺寸與品質標準允許的最大值進行比較[39]。
自動檢測系統的一種通常輸出是通過/不通過的決定[14]。這些決定可能會引發回退次品或警報響起的機制。另一個通常的輸出則包括機器人引導系統的物體位置和方向資訊[6]。此外,輸出類型包括數值測量資料、從代碼和字元讀取的資料、物體的計數和分類、過程或結果的顯示、儲存的圖像、來自自動空間監控機器視覺系統的報警以及過程控制訊號[10][13]。系統還包括使用者介面、多組件系統整合介面和自動資料交換介面[42]。
參考來源
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.