Skip to main content

AI • 物聯網 • 網路邊緣

跨平台人工智慧套件簡化嵌入式視覺

人工智慧迅速興起,人們亟需新的方法在嵌入式應用程式中部署電腦視覺、深度學習和其他分析功能。開發人員訓練模型時有許多選項,其中有常見的框架如 TensorFlow、MXNet 和 Caffe 可以肩負重任。不過一旦到了要部署該模型的時候,開發人員有更多選擇,連同更多相關問題。最大的問題之一就是嵌入式硬體與人工智慧工具之間無法搭配。因為人工智慧從高效能的資料中心開始,其工具之設計是以統一、高效能的資源為目標。相反的,嵌入式系統在成本和功率方面有極大限制,而且使用各式各樣的架構,通常包括混用異質的 CPU、GPU、FPGA 和其他處理器。為了在嵌入式系統雜亂的環境中部署人工智慧,開發人員需要專供嵌入式使用、能與各種不同架構搭配的工具。這些工具必須使用現有的嵌入式 API 和框架,發揮最大的便攜性、彈性和延展性。而且那些工具應要產生針對嵌入式設計資源受限之現實進行最佳化的推論引擎。

在邊緣實行深度學習

對於想要嵌入人工智慧功能的開發人員而言,這些挑戰的解決方案可能就是 OpenVINO (Open Visual Inference & Neural network Optimization) 工具組,之前稱為 Intel® Computer Vision SDK。OpenVINO 是一個多平台工具組,可擴充在多個 Intel 視覺產品之間使用,提供適用於 Intel 處理器、Intel 整合式顯示晶片、Intel FPGA 以及 Intel® Movidius Neural Compute Stick 的通用 API。OpenVINO 包括電腦視覺、深度學習和渠道最佳化。它以卷積神經網路 (CNN) 為基礎,這是電腦視覺中廣泛用於辨識圖案的模型。該套件也利用現有的框架,包括各種 Intel 電腦視覺程式庫以及 Intel Deep Learning Framework。該套件利用三種 API 廣泛支援各式處理器:Deep Learning Deployment 工具組,以及針對 OpenCV 和 OpenVX 最佳化的功能(圖 1)。

圖 1. Intel® OpenVINO 工具組可以橫跨多個混雜的異質處理器,迅速開發和部署深度學習演算法。(資料來源:Intel)

藉由這樣廣泛的支援,再加上 Windows 和 Linux 作業系統,開發人員可以使用最佳化的硬體架構組合讓嵌入式系統也享有深度學習推論。

智慧開發

使用 OpenVINO 的第一步就是訓練模型。該工具組包括許多可以實行訓練的雲端型框架,包括 Caffe、TensorFlow 或 MXNet。Intel 亦有本身的開放原始碼深度學習框架,稱為 neonTM。下一步是把完成訓練的模型匯入 OpenVINO Deep Learning Deployment 工具組中,此工具組主要由 Run Model Optimizer 和推論引擎組成(還是圖 1)。Optimizer 是使用 Python 撰寫的指令行工具,可匯入完成訓練的模型並執行分析和調整,以便靜態的完成訓練的模型可在邊緣裝置上以最佳狀態執行。它也接著把模型序列化並調整成為中間表示 (IR) 格式 (.xml、.bin、OpenVINO)。接著利用橫跨所有處理硬體選項且用最佳狀態執行的通用 API 把 IR 格式匯入推論引擎。比如,有些層級可以在 GPU 執行,而其他例如自訂層級則可在 CPU 執行。開發人員也可以利用非同步執行來改善畫面更新率的效能,並且減少無謂的週期。使用 C++ AP 來處理 IR 檔案,也可將推論進一步最佳化。使用者藉助諸如存取 OpenCV 和 OpenVX 等功能,可以建立自訂的核心並使用電腦視覺程式庫的函式以及 Intel 的電腦視覺程式庫。開發人員也可以利用 OpenCV 中日漸壯大的 OpenCL 起始點儲存庫來新增自訂程式碼。請注意,雖然 OpenVINO 及其 Deep Learning Deployment Toolkit 已具備相當廣泛的功能,Intel 仍然繼續不斷進行更新,以改善 CNN 深度學習演算法之發展及加速硬體效能。也就是說,與標準 Caffe 和 OpenCV 相比,迄今為止效能有顯著改善(圖 2)。

圖 2. 與標準 Caffe 和 OpenCV 相比,OpenVINOTM 工具組的效能有顯著改善。(資料來源:Intel)

實現智慧視覺的快速路徑

為了協助開發人員迅速實現智慧視覺應用,Intel 與價值鏈體系的多位成員合作,開發支援 OpenVINO 的加速器開發套件。例如 UP ! Bridge the gapUP Squared AI Vision Development Kit 便是概念化與早期開發的理想工具(圖 3)。

圖 3.  UP Squared AI Vision Development Kit 支援概念化與早期開發。(資料來源:UP ! Bridge the gap)

該套件採用整合了 GPU 和 VPU 的 Intel Atom®x7 處理器。它也支援各種硬體選項,包括該套件隨附的採用 Mini PCIe 外型規格的 Intel® Movidius Myriad 2 VPU。此套件已針對 OpenVINO 進行完整設定。開發人員可以使用雲端型 Arduino® Create IDE 建立原型並使用 Intel® System Studio 工具組來發揮最佳效能。在預先安裝的自訂 Ubuntu Desktop OS 上隨附此軟體,經過設定後開箱即可用來開發電腦視覺。對於開發週期較寬鬆的開發人員而言,請注意 UP 是來自歐洲 AAEON 的品牌,它正積極徵求加入 AAEON Community Beta Program 會員。會員享有福利包括提早使用 AAEON 產品、免費的主機板樣本、可選擇參加其社群內容開發,以及特價優惠。

作者簡介

Patrick Mannion is a independent content developer and consultant who has been analyzing developments in technology for more than 25 years. Formerly Brand Director for EETimes, EDN, Embedded, Planet Analog, and Embedded.com, now part of AspenCore, he has also been developing and executing community-oriented online- and events-based engineer-to-engineer learning platforms. His focus is on connecting engineers to find novel design solutions and focused skills acquisition in the areas of Embedded, IoT, Test and Measurement, RF/Wireless, and Analog & Mixed-Signal Design.

Profile Photo of Patrick Mannion