模型效果:
在上文中,我們制作了資料集,并利用資料集進行了模型的訓練,利用靜態圖片和視頻對模型的檢測效果進行了檢驗,發現效果還是不錯的,


? 前兩張為靜態圖片檢測,后一張為視頻檢測效果截圖,

? 但是模型要想部署在算力微弱的樹莓派上,還需要進行兩次模型轉化才能運行在NCS上進行前向推理,
模型轉化:
第一次轉化:(.weight-->.pb)
這里的模型轉化OpenVINO給出了官方指南https://docs.openvinotoolkit.org/latest/_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_YOLO_From_Tensorflow.html 但是可能會出現錯誤,
python3 convert_weights_pb.py \
--class_names yolov3-tiny-mine.names \
--weights_file weights/yolov3-tiny-mine_40000.weights \
--data_format NHWC \
--tiny \
--output_graph pbmodels/frozen_yolov3-tiny-mine.pb
執行完上述代碼,就能得到Tensorflow支持的模型檔案,
第二次轉化:(.pb-->.IR)
第二次的模型轉化我在windows環境下完成的,
python "C:\Program Files (x86)\IntelSWTools\openvino_2019.1.087\deployment_tools\model_optimizer\mo_tf.py" --input_shape [1,416,416,3] -m "C:\Program Files (x86)\IntelSWTools\openvino_2019.1.087\deployment_tools\model_optimizer\frozen_yolov3-tiny-mine.pb" --reverse_input_channels --tensorflow_use_custom_operations_config "C:\Program Files (x86)\IntelSWTools\openvino_2019.1.087\deployment_tools\model_optimizer\yolo_v3_tiny_mine.json" -n tiny_yolov3 --data_type FP16

樹莓派環境配置:
1. 材料硬體:
-
樹莓派3B+
-
intel movidius 神經元計算棒
-
顯示幕、滑鼠鍵盤、讀卡器、用于做樹莓派系統盤的16GTF卡
-
燒寫樹莓派系統用的PC(win10)
2. 下載樹莓派鏡像并解壓
樹莓派系統鏡像使用Stretch版本——2018-11-13-raspbian-stretch
下載鏈接:http://downloads.raspberrypi.org/raspbian_latest
參考:http://shumeipai.nxez.com/download#os
下載并解壓出img檔案
3. 燒寫鏡像
插入16G TF卡,格式化,打開鏡像燒寫軟體Win32DiskImager.exe加載鏡像,進行下載:

點write,再yes


燒寫成功,拔出TF卡.
4. 啟動樹莓派
紅綠指示燈都會閃就表示系統啟動成功,然后等待顯示幕顯示桌面
5. 配置樹莓派
使用管理員權限,執行
leafpad /etc/apt/sources.list
在打開的檔案中,用#注釋掉原檔案內容,用以下內容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
保存,退出,
使用管理員權限執行:
leafpad /etc/apt/sources.list.d/raspi.list
用#注釋掉原檔案內容,用以下內容取代:
deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
保存,退出,
使用sudo apt-get update命令,更新軟體源串列,同時檢查您的編輯是否正確,
完成,換成了清華大學的軟體源,


6. 安裝cmake
再后面的安裝中需要cmake,要先安裝,執行:
apt install cmake
到這里樹莓派的配置就完成了,接下來要開始計算棒toolkit的安裝了
7. 下載OpenVINO toolkit for Raspbian安裝包:
https://download.01.org/openvinotoolkit/2018_R5/packages/l_openvino_toolkit_ie_p_2018.5.445.tgz
本次使用的版本是2018.5.445,安裝請在下面鏈接中查看最新的安裝包版本:
https://software.intel.com/en-us/articles/OpenVINO-Install-RaspberryPI
下載完后包位于Downloads/目錄下,打開命令列
cd ~/Downloads/
解壓包:
tar -xf l_openvino_toolkit_ie_p_2018.5.445.tgz
8. 配置路徑與環境
執行以下命令,會自動對setupvars.sh檔案做修改
sed -i "s|<INSTALLDIR>|$(pwd)/inference_engine_vpu_arm|" inference_engine_vpu_arm/bin/setupvars.sh
再配置環境,有兩種做法
一種是臨時的,只對該次的視窗有效
source inference_engine_vpu_arm/bin/setupvars.sh
還有永久性的,執行:
leafpad /home/pi/.bashrc
打開.bashrc檔案,再最后一行添加一句:
source /home/pi/Downloads/inference_engine_vpu_arm/bin/setupvars.sh

保存,再打開一個新的終端,如果出現:
[setupvars.sh] OpenVINO environment initialized
就表示成功了
9. 添加USB規則
將當前Linux用戶添加到users組:
sudo usermod -a -G users "$(whoami)"
注:這里要說的是我們現在是root用戶,如果打開新視窗的話起始用戶是pi,所以出現[setupvars.sh] OpenVINO environment initialized,是對于pi用戶來說的,如果在新視窗中用root執行程式,其實并沒有成功加載[setupvars.sh] OpenVINO environment initialized,需要自己再執行一遍
source /home/pi/Downloads/inference_engine_vpu_arm/bin/setupvars.sh,才能給root用戶配置好OpenVINO environment initialized,
接下來配置USB規則,執行:
sh inference_engine_vpu_arm/install_dependencies/install_NCS_udev_rules.sh

到這里就成功安裝好計算棒所需的所有東西了,
模型部署:
使用github PINTO0309的OpenVINO-YoloV3工程,應該是個日本的工程師寫的,特別感謝,
利用工程下的openvino_tiny-yolov3_MultiStick_test.py進行測驗,在檔案中指定我們轉化好的模型檔案,

運行,

盡管速度不快,但最快也能達到7-8幀的樣子,
? 本文將訓練好的原始模型經過兩次轉化得到了可以被NCS所支持的模型檔案,并搭建好樹莓派所需的運行環境,最終將模型部署在樹莓派上并完成了測驗,下篇文章將介紹,樹莓派小車的控制程式以及微信報警程式的實作,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/41254.html
標籤:其他
