作者:Ryan Hu
回想去年,小弟我有幸參與了無人巴士專案的一小部分,因為剛好有影像辨識的需求,過程中第一次接觸到 OpenCV 這個神奇的 package,當初的 OS 使用的是 Linux Ubuntu 16.04 LTS,並且於其上運行 ROS (Robot Operating System)實現所有終端節點,利用 webcam 做人臉辨識即為其中一個應用。
過去在 ROS 上實作,是參考了網路神人所寫,將 OpenCV 整合進 ROS 裡的 code,並沒有去細究底層發生的事情,直到這次有機會拿到 Intel Movidius Neural Compute Stick (NCS) 後,才了解到 AI 所謂的「算」到底是在算什麼。首先,介紹這次我拿到的所有東西吧。
硬體
- 研陽 UPS-GWs01 (包含電源)
- Logitech Webcam
- Intel Movidius Neural Compute Stick
因為 NCS 只相容 Linux 作業系統,而研陽的 UPS-GWs01 裡是灌 Win 10 ,所以我腦中第一個想法是預計下載 VM 用 Ubuntu 16.04 再加上 NCS 作為 processors,再從 Github 上抓個有趣的 sample 下來玩玩,但可能又會遇到有 trained 好的 model 在推論平台上能力有限的問題。
當然,我不是第一個這樣想並且遇到這種窘境的人,勢必市場上就會出現相對應的解法。果不期然,Intel 在今(2018)年推出的一項開放視覺推論及神經網路最佳化軟體平台 – OpenVINO 大幅降低了在各種不同使用場景中,造成開發上耗費大量的精力和成本。
OpenVINO 簡介
OpenVINO在傳統電腦視覺(Computer Vision,CV)與現在正火熱的深度學習(Deep Learning)方法上,都有相當好的支援。在傳統電腦視覺方面,OpenVINO 對 OpenCV 和 OpenVX 皆有支援,且為優化過後的版本;深度學習方面來說,個人覺得其最大的特色,就是它支援了市面上最主要、最受歡迎的三個深度學習框架,分別是 Caffe、Tensor Flow、MxNet。

OpenVINO廣泛支援常用AI及CV開發環境(圖片來源)
透過模型優化器 (Model Optimizer)將網路模型匯入至 Intel 的平台上,且在過程中會根據目標平台的特性做進一步的優化,接著轉換成給推理引擎 (Inference Engine), 作為 input 中間的表示文件 (IR file),推理引擎搭配硬體插件 (這裡目前就是 Movidius NCS)強化推理性能,再將最終的文件下載到目標平台上,驗證後進行應用部署。
不僅如此,OpenVINO 的工具套件 (toolkit),實際上是分層的,意思是可以根據開發者的個人能力以及需求決定自己要使用的 API 介面,真的達到「盡可能的針對不同使用場景,進行優化再優化」的目的。
說了這麼多,不仿直接動手試試,將 OpenVINO 工具套件直接安裝在 Windows 10 上 (不要懷疑真的可以),據官方的說法,甚至套件裡面已經有超過 20 個 pre-trained 好的模型可以玩玩。
OpenVINO 安裝
首先,研陽的 UPS-GWs01 開機畫面 (用 HDMI 接我家裡的螢幕),標準 Win 10 的樣子:
*註:外接有線鍵盤和滑鼠,還有一個 ASUS 的 USB dongle (因為我家沒有網路線,所以我借了一個無線網卡做代替)
再來,要準備的當然是 OpenVINO toolkit 的 package,除了主要的 OpenVINO toolkit package,安裝過程還需要準備幾個必要的周邊工具,以下超連結為載點連結:
- Microsoft Visual Studio* with C++ and MSBuild
- Build tools for Microsoft Visual Studio
- CMake 3.12.2
- python 3.6.5
為了盡可能地讓大家無痛安裝,我把上述每個周邊工具,在下載時所需要注意的事情一一敘述。我是利用研陽的 UPS-GWs01 單板電腦作為安裝所在 (default 系統內是空的,第一次安裝 OpenVINO)。
1. 下載 OpenVINO toolkit package
進入載點的畫面,點選 “Register & Download”
點選後,要填寫一些資料:
Submit 後進入的頁面,選擇 OpenVINO toolkit for Win10,下面選擇 offline Installer。
2. Microsoft Visual Studio with C++ and MSBuild
Workload tab 其下,Universal Windows Platform development 和 Desktop development with C++ 必須勾選。
Individual components tab 其下,MSBuild 必須勾選。
3. Build tools for Microsoft Visual Studio
- 連結點進去往下拉,找到Visual Studio 2017 工具,第一個即是所需,下載即可。
- Workloads tab 其下,Visual C++ build tools 必須勾選。
4. CMake 3.12.2
- 載點進入頁面點選“latest stable”,選擇 “binary distributions” 下的 Windows win64-x64 Installer
- 安裝過程中,記得一定要勾選“Add CMake to the system PATH for all users”
5. python 3.6.5
執行下載下來的 .exe 檔後,在點選 Install now 前記得很重要的一步是要勾選底下的「Add Python 3.6 to PATH」(超重要),確定勾選後即可執行安裝。
6. 最後,安裝一開始下載好的 OpenVINO toolkit package
執行 .exe 檔一路 next 下去就對了 (如果上面都有照做,基本上不會出現任何問題)。
*如果有朋友不小心在任何一步忘了勾選某個項目也不必太擔心,基本上都可以回頭做修改,像是 Visual Studio 就很直觀地提供開發者去做修改的動作:
以上的六個步驟完成後,OpenVINO 的安裝就大功告成了!接下來就可以去玩玩裡面內建的 20 個 OpenVINO 已經 pre-trained 好的 model!
參考資料:
1. 既跨平台又開源 英特爾開啟智慧視覺創新
2. Installing the OpenVINO™ Toolkit for Windows* 10
(責任編輯:賴佩萱)
- 【NB-IoT】菜鳥Maker輕鬆上手DSI2598開發板 - 2019/12/13
- 【Maker電子學】Modbus over TCP 實作(上) - 2019/11/28
- 【Maker電子學】Modbus RTU的傳輸資料格式 - 2019/09/18
訂閱MakerPRO知識充電報
與40000位開發者一同掌握科技創新的技術資訊!
2019/02/03
高手!
請問你說”以上的六個步驟完成後,OpenVINO 的安裝就大功告成了!接下來就可以去玩玩裡面內建的 20 個 OpenVINO 已經 pre-trained 好的 model!”,用甚麼去執行呢?找不到exe檔?
2019/02/19
Robert您好:
MakerPRO編輯部已經您的問題,提供給作者了!會盡快給您一個答覆喲~
或是也可以加入我們MakerPRO的社群,在裡頭,有許多厲害的Maker們可以為您解答與討論
謝謝您的提問
MakerPRO 編輯部
2020/02/11
Demo目錄下有批次檔,執行後就可以輸出結果了