電腦視覺的多種面貌
電腦視覺、機器學習和人工智慧 (AI ) 等詞彙越來越常見,人們容易誤以為他們指得是單一種應用程式。事實上,他們個別代表一系列的應用程式,適用於各式各樣的使用案例。
這也是為什麼電腦視覺系統會採用各式各樣的硬體架構。某些應用的工作只需要一顆標準的 CPU 就可以完成。在其他的案例中,可能需要 GPU、FPGA 或是專門的視覺處理器 (VPU)。
當然,這些運算架構可以搭配許多不同的配置。如圖 1 所示,視覺處理管線包括幾個步驟,而不同的步驟適合使用不同的處理器。舉例來說,GPU 常用來處理原始視訊資料和進行特徵擷取,而 VPU 和 FPGA 則適用於分析。
洞悉電腦視覺的複雜性
然而,就算只是針對一個使用案例,也可能需要使用多種不同的電腦視覺,而他們各自有不同的運算需求。這點在製造業中尤為如此。在製造業中,生產線的每一個階段可能會使用的演算法、攝影機和電腦硬件,以進行各個階段特殊的瑕疵偵測。
以製造鑽石鋸片的過程為例。此過程包含多個步驟:
- 將將鋼胚切割成圓盤
- 將鑽石鍍膜燒結到刃上
- 開安裝孔
- 將圓盤拋光
- 將刀片磨利
- 將圓盤噴漆
- 印上標籤
- 將刀片規格刻到圓盤上
如圖 2 所示,每個步驟中都可能出現不同的瑕疵。每一種瑕疵都有其獨特之處,也因此需要不同類型的視覺檢查。
所以,可以擴充、且可採用多種不同配置進行部署的平台非常實用。APQ Science & Technology 的智慧視覺處理系統 (Intelligent Vision Processing System,IVPS) 就採用了這種作法。這套基線系統可以搭配多種 Intel® Core™ 處理器,讓開發人員不僅可以選擇 CPU 效能,還可以選擇不同的的內建 GPU。此外,IVPS 透過 Intel® Movidius™ 處理器支援替換式加速器,可在需要時提供神經網路加速。
該公司的 CTO Dequan Wang 透過解釋道,專一性和靈活性是處理許多技術問題時的兩大關鍵。用於偵測切割形狀錯誤等工作的演算法只需要基本的演算能力。但其他工作有較為嚴苛的需求。
「鑽石塗層讓刮痕偵測難度更高。」Wang 表示。這是因為塗層表面本來就不規則。所以,要偵測刮痕和其他瑕疵,就需要使用多層次神經網路。
標籤和其他印刷品其實相當難評估。標籤文字可能非常細小,因此需要極高的準確性和影像解析度,這也就提高了運算負載。
裂痕偵測也有獨特的需求。在這個例子中,影像預先處理對於消除噪音來說非常重要,因為噪音會影響應用程式識別刀刃表面的裂痕。
可擴充性之所以重要還有另外一個原因,那就是製造過程往往會隨時間過去而變化。這包括材料、刀片直徑和其他規格,以及製造設備的更新。這使得運算效能的目標會不斷變動。
智慧軟體能派上用場
雖然靈活的硬體平台可以滿足上述多樣且困難的需求,但這還只是個開始。開發人員需要一套同樣具可擴充性及靈活性的軟體平台。
在此方面,Intel® OpenVINO™ 工具組扮演著重要的角色。平台可以輕鬆針對 CPU、GPU 和 VPU ,讓開發人員可以依需求,順暢地在不同的硬體配置間轉換。
Wang 表示:「OpenVINO 幫助我們加速了我們的系統,還提供了基本的多媒體處理庫和神經網路運算框架。這降低了我們的開發工作量、讓效能最大化,並加速開發流程。」
IVPS 讓可擴充式作法得以更進一步,能在同一硬體上整合電腦視覺和運動控制。這不僅可以改善電腦視覺和運動控制的相互運作狀況,還可以降低成本並改善準確性和效能。
「我們的整合式 PLC SDK 讓客戶可以在 IPC 上執行各式各樣的運動控制應用程式。」Wang 表示。「還可以在所需之處執行運算,不論是 CPU、GPU 還是加速卡。這讓客戶能從電腦視覺獲得最大的優勢。」
服務完成最終的拼圖
雖然製造商能使用這些先進的工具,但他們可能還是會覺得開發複雜的機器視覺演算法相當具挑戰性。也因此,APQ 致力於提供開發服務,來補足其硬體產品。
「我們會針對這些應用情景,開發客製化的演算法。」Wang 解釋道。「我們的目標是減少偵測系統的錯誤警報量。當然,也希望改善偵測準確度。」
這並非只是為過程中的每個步驟開發演算法。APQ 會考慮整個製造過程。Wang 表示:「我們在軟體中完全模擬製造過程,讓製造商可以儘快使用應用程式。」
對於製造商來說,他們的目標是以低成本的方式創造無瑕疵的產品。電腦視覺和推斷訓練可以解決這項挑戰。在生產過程中使用最適合的硬體來執行機器學習,可以降低甚至完全消出警報偽陽性,使得生產線不會停滯。