概述:movidius ncs的ncsdk目前官方還不支持windows,但是inter好像發佈了openvino,這個裏面是包含ncsdk的好像是支持windows的。現在不講openvino,講ncsdk的移植,有興趣的可以去了解一下openvino。
openvino:OpenVINO實際上包含了Movidius SDK,我們在這個基礎之上做了進一步的功能擴充,功能的擴充主要體現在幾個方面:一是增加了對深度學習功能的支持,其中包含一個深度學習的部署工具套件,裏面包括了模型優化器和推理引擎;另外,我們在Movidius SDK基礎之上,增加了對OpenCV、OpenVX等這些在傳統計算機視覺領域用的比較普遍的函數庫的支持,而且這些函數庫都在英特爾的CPU上做了優化。與Movidius SDK相比,原來只是做編碼、解碼的加速,現在不僅能做編解碼的加速,也能做一些視頻處理工作,我們把MovidiusSDK結合在一起的目的是,我們看到一個完整的視頻處理系統,從它的處理流程來看,第一步要做編解碼,解碼以後,把解碼的圖片交給相應的處理引擎做深度學習或者是傳統的計算機視覺的一些處理操作,得到最終的結果。我們把在整個流水線裏面所用到的所有工具打在一起放到OpenVINO裏面,讓開發者只用一個工具把所有的需求都能滿足。
一,介紹
在movidius的用戶論壇看到一篇文章,裏面有個用戶Zhoujustin把ncsdk改成了c++代碼,使他能夠在windows平臺上運行,但是感覺不太詳細,所以我配置好了後,是可以用的,在這裏詳細說一下過程。論壇網址
二,準備
這裏的ncsdk和ncappzoo都要下載1.x版本的,因爲c++裏面的項目是1.x的,它和2.0不兼容,所以要注意。
下載ncsdk git地址:https://github.com/LukaszGajowski/ncsdk
下載vs2017 網上下載,或者用我打包裏面的。
下載python3.6.5 https://www.python.org/downloads/release/python-365/
下載zading2.3 https://zadig.akeo.ie/downloads/zadig-2.3.exe
下載ncappzoo 1.x https://github.com/movidius/ncappzoo
我的運行環境是windows10,我把他們都打包好了,可以在這裏直接下載,裏面還有我改好的bird識別例子,ncsdk的vs編譯後工程太大了上傳不了,我就把編譯好要用的dll和lib打包了。點擊下載
dll和lib不能用就從上面github下載,再自己編譯,在根據裏面的readme文件操作就行了。
三,配置
- 用我打包好的文件進行配置
- 重新編譯ncsdk
1.用我打包好的文件進行配置
用這個打包好的文件的話,可以不用下載安裝vs2017.直接下載驅動和python就行了。
下載好了文件後,首先解壓看到
我們先安裝python,直接雙擊exe就按默認的來安裝就行了。
安裝好了後找到python的安裝目錄,按windows鍵,搜索python 發現 idle右鍵它打開文件位置,看到它的快捷鍵,再右鍵打開文件位置。
將下載下來的文件夾ncsdk_copy2pyLib裏面的文件全部複製到Lib目錄下。
安裝movidius ncs 的usb驅動
在你的電腦上先插上movidius,然後打開運行zadig**.exe
如果發現列表什麼都沒有的話,菜單欄選擇options點擊list all divices
看到列表裏面有 類似movidius 或者 loop back divice類似字眼的,選中
點擊你界面上的 install wcid driver,我這個是以及安裝好了的,所以是reinstall wcid driver,是綠色的。
運行例子
準備工作都做好了,接下來就測試一下。
打開下載的bird_example文件夾再打開bird文件夾
我已經把編譯好的dll複製進去了,如果你要運行其他例子,就要把文件夾編譯好的dll和lib裏面的文件複製到你的例子裏面。
我們先檢測一下,能否識別movidius ncs。
在文件夾空白的地方,按住shift鍵點擊右鍵,選擇在此處打開powershell窗口
運行命令 python.exe .\hello_ncs.py
一般這裏應該會提示缺少模塊 numpy什麼的,就用 pip install numpy類似的指令安裝就可以了。缺什麼就安裝什麼,不懂百度一下錯誤代碼就行了。
成功識別。
接下來測試識別鳥類圖片
首先要有opencv,用pip安裝opencv
pip install opencv-python
這裏要說明的是,在linux上,我們是直接運行make run,它會根據makefile,下載圖片和caffemodel,然後用mvnccompile來把caffemodel轉換成graph文件。但是在windows上沒有相應的命令行工具來轉換,只能是在linux上配置好環境生成好了,再拿到windows上面來用。我已經預先放在裏面了。後面我會將所有轉換好了的模型放出來。
這個程序是1.x的,運行這個例子要兩個ncs,2.0的只要一條就可以了。所以爲了能運行,我改了下程序,一條也可以運行,不過有點卡,因爲要加載兩個模型來運算,切換來切換去的,不過還是能運行的。
輸入命令行
python.exe .\birds.py
如果缺少庫,pip安裝相應的庫就行了。
運行效果
2.重新編譯ncsdk
這裏編譯好後,步驟幾乎和上面一樣,就是要把文件發對位置就行了。
1.運行visual stduio installer
將以下的都選中,安裝就行了。
安裝完成後,直接進入到下載的ncsdk-master文件夾裏面,在進入api文件夾,在進入winsrc文件夾
C:\Users\admin\Downloads\ncsdk-master\api\winsrc
用vs2017打開這個工程
選好爲debug x86後
點擊菜單欄的生成裏面的 生成解決方案
就完成了。
然後去到winsrc的debug目錄下
C:\Users\admin\Downloads\ncsdk-master\api\winsrc\Debug
- 在python運行目錄中,您必須複製以下文件:
- libmvnc.dll(來自文件夾:api \ winsrc \ Release \或api \ winsrc \ Debug)
- libusb-1.0.dll(來自文件夾:api \ winsrc \ libusb \ lib \ MS32 \ dll \)
- 所有“pthread”dll(來自文件夾:api \ winsrc \ pthread \ dll \ x86 \)
- 文件夾“mvnc”(來自文件夾:api \ winsrc \ src)
- hello_ncs.py(來自文件夾:“examples \ apps \ hello_ncs_py”
- 將位於“python”中的文件夾“mvnc”複製到PYTHON_LIBRARY路徑,例如“C:\ Python3 \ Lib”
- 將我打包的文件夾ncsdk_copy2pyLib裏面的controllers 和 models 和 views 複製到 python的lib路徑
然後運行例子,按照上面的來就行了。
graph文件下載地址 https://download.csdn.net/download/ourkix/10796515
裏面沒有tiny yolo的graph文件,太大上傳不了,上面的打包文件裏面有,在bird例子裏面