基于樹莓派與YOLOv3模型的人體目標檢測小車(三)

模型效果:

在上文中,我們制作了數(shù)據(jù)集,并利用數(shù)據(jù)集進行了模型的訓練醉箕,利用靜態(tài)圖片和視頻對模型的檢測效果進行了檢驗,發(fā)現(xiàn)效果還是不錯的徙垫。

image
image

? 前兩張為靜態(tài)圖片檢測讥裤,后一張為視頻檢測效果截圖。

image

? 但是模型要想部署在算力微弱的樹莓派上姻报,還需要進行兩次模型轉化才能運行在NCS上進行前向推理己英。

模型轉化:
第一次轉化:(.weight-->.pb)

這里的模型轉化OpenVINO給出了官方指南https://docs.openvinotoolkit.org/latest/_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_YOLO_From_Tensorflow.html 但是可能會出現(xiàn)錯誤。

 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

執(zhí)行完上述代碼吴旋,就能得到Tensorflow支持的模型文件损肛。

第二次轉化:(.pb-->.IR)

第二次的模型轉化我在windows環(huán)境下完成的。

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 
image
樹莓派環(huán)境配置:
1. 材料硬件:
  1. 樹莓派3B+

  2. intel movidius 神經(jīng)元計算棒

  3. 顯示器荣瑟、鼠標鍵盤治拿、讀卡器、用于做樹莓派系統(tǒng)盤的16GTF卡

  4. 燒寫樹莓派系統(tǒng)用的PC(win10)

2. 下載樹莓派鏡像并解壓

樹莓派系統(tǒng)鏡像使用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. 啟動樹莓派

紅綠指示燈都會閃就表示系統(tǒng)啟動成功同波,然后等待顯示器顯示桌面

5. 配置樹莓派

使用管理員權限,執(zhí)行

leafpad /etc/apt/sources.list

在打開的文件中叠国,用#注釋掉原文件內(nèi)容未檩,用以下內(nèi)容取代:

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

保存,退出粟焊。
使用管理員權限執(zhí)行:

leafpad /etc/apt/sources.list.d/raspi.list

用#注釋掉原文件內(nèi)容冤狡,用以下內(nèi)容取代:

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,要先安裝晴楔,執(zhí)行:

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. 配置路徑與環(huán)境

執(zhí)行以下命令纪岁,會自動對setupvars.sh文件做修改

sed -i "s|<INSTALLDIR>|$(pwd)/inference_engine_vpu_arm|" inference_engine_vpu_arm/bin/setupvars.sh

再配置環(huán)境,有兩種做法
一種是臨時的则果,只對該次的窗口有效

source inference_engine_vpu_arm/bin/setupvars.sh

還有永久性的幔翰,執(zhí)行:

leafpad /home/pi/.bashrc

打開.bashrc文件,再最后一行添加一句:

source /home/pi/Downloads/inference_engine_vpu_arm/bin/setupvars.sh
在這里插入圖片描述

保存西壮,再打開一個新的終端遗增,如果出現(xiàn):

[setupvars.sh] OpenVINO environment initialized

就表示成功了

9. 添加USB規(guī)則

將當前Linux用戶添加到users組:

sudo usermod -a -G users "$(whoami)"

注:這里要說的是我們現(xiàn)在是root用戶,如果打開新窗口的話起始用戶是pi茸时,所以出現(xiàn)[setupvars.sh] OpenVINO environment initialized贡定,是對于pi用戶來說的,如果在新窗口中用root執(zhí)行程序可都,其實并沒有成功加載[setupvars.sh] OpenVINO environment initialized缓待,需要自己再執(zhí)行一遍
source /home/pi/Downloads/inference_engine_vpu_arm/bin/setupvars.sh,才能給root用戶配置好OpenVINO environment initialized渠牲。
接下來配置USB規(guī)則旋炒,執(zhí)行:

sh inference_engine_vpu_arm/install_dependencies/install_NCS_udev_rules.sh
在這里插入圖片描述

到這里就成功安裝好計算棒所需的所有東西了。

模型部署:

使用github PINTO0309的OpenVINO-YoloV3工程签杈,應該是個日本的工程師寫的瘫镇,特別感謝。

利用工程下的openvino_tiny-yolov3_MultiStick_test.py進行測試答姥,在文件中指定我們轉化好的模型文件铣除。

image

運行。

image

盡管速度不快鹦付,但最快也能達到7-8幀的樣子尚粘。

? 本文將訓練好的原始模型經(jīng)過兩次轉化得到了可以被NCS所支持的模型文件,并搭建好樹莓派所需的運行環(huán)境敲长,最終將模型部署在樹莓派上并完成了測試郎嫁。下篇文章將介紹秉继,樹莓派小車的控制程序以及微信報警程序的實現(xiàn)。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末泽铛,一起剝皮案震驚了整個濱河市尚辑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌盔腔,老刑警劉巖杠茬,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異弛随,居然都是意外死亡澈蝙,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門撵幽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人礁击,你說我怎么就攤上這事盐杂。” “怎么了哆窿?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵链烈,是天一觀的道長。 經(jīng)常有香客問我挚躯,道長强衡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任码荔,我火速辦了婚禮漩勤,結果婚禮上,老公的妹妹穿的比我還像新娘缩搅。我一直安慰自己越败,他們只是感情好,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布硼瓣。 她就那樣靜靜地躺著究飞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪堂鲤。 梳的紋絲不亂的頭發(fā)上亿傅,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天,我揣著相機與錄音瘟栖,去河邊找鬼葵擎。 笑死,一個胖子當著我的面吹牛慢宗,可吹牛的內(nèi)容都是我干的坪蚁。 我是一名探鬼主播奔穿,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼敏晤!你這毒婦竟也來了贱田?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤嘴脾,失蹤者是張志新(化名)和其女友劉穎男摧,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體译打,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡耗拓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了奏司。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乔询。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖韵洋,靈堂內(nèi)的尸體忽然破棺而出竿刁,到底是詐尸還是另有隱情,我是刑警寧澤搪缨,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布食拜,位于F島的核電站,受9級特大地震影響副编,放射性物質發(fā)生泄漏负甸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一痹届、第九天 我趴在偏房一處隱蔽的房頂上張望呻待。 院中可真熱鬧,春花似錦队腐、人聲如沸带污。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鱼冀。三九已至,卻和暖如春悠就,著一層夾襖步出監(jiān)牢的瞬間千绪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工梗脾, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留荸型,地道東北人。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓炸茧,卻偏偏與公主長得像瑞妇,于是被迫代替她去往敵國和親稿静。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容