小小甜菜OpenVINO爬坑记 - oZhiZhuXia12的博客 - CSDN博客

标签: | 发表时间:2019-01-06 13:03 | 作者:
出处:https://blog.csdn.net

小小甜菜OpenVINO爬坑记

OpenVINO是intel提供的一个深度学习优化工具,目前可以使用在win10,Ubuntu16.04两个平台上,官方已经宣布后期会支持树莓派系统。它是Movidius x的使用接口,同时支持多种框架,也提供了大量例程。
我使用的是UP Squared板卡,运行Ubuntu16.04。

在ubuntu上安装OpenVINO

      //要安装在ubuntu16.04上,ubuntu18.04依赖出错。R4版有一定BUG,但不影响使用
//解压缩l_openvino_toolkit_p_2018.4.420.tgz
cd l_openvino_toolkit_p_2018.4.420
sudo ./install_GUI.sh
cd /opt/intel/computer_vision_sdk/install_dependencies
sudo -E ./install_cv_sdk_dependencies.sh
sudo gedit ~/.bashrc
//最后添加:source /opt/intel/computer_vision_sdk/bin/setupvars.sh
source ~/.bashrc
cd /opt/intel/computer_vision_sdk/deployment_tools/model_optimizer/install_prerequisites
sudo ./install_prerequisites.sh
//运行dome
cd /opt/intel/computer_vision_sdk/deployment_tools/demo
./demo_squeezenet_download_convert_run.sh
./demo_security_barrier_camera.sh
//使用Movidius,在新终端下
sudo usermod -a -G users "$(whoami)"
cat <<EOF > 97-usbboot.rules
SUBSYSTEM=="usb", ATTRS{idProduct}=="2150", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idProduct}=="2485", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idProduct}=="f63b", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
EOF
sudo cp 97-usbboot.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
sudo ldconfig
rm 97-usbboot.rules
//使用GPU
cd /opt/intel/computer_vision_sdk/install_dependencies/
sudo -E su
./install_NEO_OCL_driver.sh
reboot

官方说明
参考
树莓派预览版

参考例程

人脸检测

      //ubuntu16.04+OpenVINO(R4)+USB摄像头
//该项目默认服务器与处理后台放在一起,和通过修改实现前后端分离。项目使用Node.js,后台使用C++构建mosquitto服务器。
sudo apt update
sudo apt install ffmpeg
sudo apt install libssl-dev
git clone https://github.com/17702513221/openVINO.git
cd /home/xs/openVINO/AI_work/face-access-control
mkdir -p build && cd build
cmake ..
make
//配置环境
sudo apt update
sudo apt install npm nodejs nodejs-dev nodejs-legacy
sudo apt install libzmq3-dev libkrb5-dev
sudo apt install sqlitebrowser
cd /home/xs/openVINO/AI_work/webservice/server
npm install
cd /home/xs/openVINO/AI_work/webservice/front-end
npm install
npm run dist
//运行程序
//1.启动Web服务,包括服务器和前端组件。
cd /home/xs/openVINO/AI_work/webservice/server/node-server
node ./server.js
cd /home/xs/openVINO/AI_work/webservice/front-end
npm run dev
//2.启动ffserver
cd /home/xs/openVINO/AI_work
sudo ffserver -f ./ffmpeg/server.conf
//4.启动cvservice和pipe到ffmpeg:(笔记本自带摄像头有BUG,我使用的是USB摄像头)
cd /home/xs/openVINO/AI_work/face-access-control/build
 export MQTT_SERVER=localhost:1883
 export MQTT_CLIENT_ID=cvservice
 export FACE_DB=./defaultdb.xml
 export FACE_IMAGES=../../webservice/server/node-server/public/profile/
 ./cvservice 0 2>/dev/null | ffmpeg -f rawvideo -pixel_format bgr24 -video_size vga -i - http://localhost:8090/fac.ffm
//5.浏览器打开
http://localhost:8080
//监控MQTT发送的数据
mosquitto_sub -t 'person/seen'
'commands/register' 'person/registered'

摄像头监控

      //环境搭建在ubuntu16.04+OpenVINO(R3)
sudo apt update
sudo apt install ffmpeg
git clone https://github.com/17702513221/openVINO.git
//构建程序(测试版)
cd /home/xs/openVINO/reference_example/web_detector/application
source env.sh
mkdir -p build && cd build
cmake ..
make
//构建程序(web显示版)
cd /home/xs/openVINO/reference_example/web_detector/application
source env.sh
mkdir -p build && cd build
cmake ..
make CXX_DEFINES=-DUI_OUTPUT
//运行该应用程序
cd /home/xs/openVINO/reference_example/web_detector/build
//在CPU上运行
./web_detector -d CPU -m ../resources/ssd-cpu.xml -l ../resources/labels.txt
//在神经计算棒上运行
./web_detector -d MYRIAD -m ../resources/ssd-ncs.xml -l ../resources/labels.txt
//在浏览器上显示结果
google-chrome  --user-data-dir=$HOME/.config/google-chrome/Web_detector --new-window --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt index.html
//查询摄像头设备号
ls /dev/video*
//修改conf.txt测试摄像头或视频
/dev/video0 person
../resources/bus_station_6094_960x540.mp4 person

人员计数器

      //安装依赖环境
sudo apt update
sudo apt install npm nodejs nodejs-dev nodejs-legacy
sudo apt install libzmq3-dev libkrb5-dev
sudo apt install libssl-dev
sudo apt-get install doxygen graphviz
git clone https://github.com/17702513221/openVINO.git
cd /home/xs/openVINO/reference_example/paho.mqtt.c
make
make html
sudo make install
sudo ldconfig
cd /home/xs/openVINO/reference_example/people-counter/ieservice
mkdir -p build && cd build
source /opt/intel/computer_vision_sdk/bin/setupvars.sh
cmake ..
make
cd /home/xs/openVINO/reference_example/people-counter/webservice/ui
npm install
cd /home/xs/openVINO/reference_example/people-counter/webservice/server
npm install
sudo apt install ffmpeg
//运行程序
cd /home/xs/openVINO/reference_example/people-counter/webservice/server/node-server
node ./server.js
cd /home/xs/openVINO/reference_example/people-counter/webservice/ui
npm run dev
cd /home/xs/openVINO/reference_example/people-counter
sudo ffserver -f ./ffmpeg/server.conf
cd /home/xs/openVINO/reference_example/people-counter/ieservice/bin/intel64/Release
wget https://raw.githubusercontent.com/nealvis/media/master/traffic_vid/bus_station_6094_960x540.mp4
export MQTT_SERVER=localhost:1884
export MQTT_CLIENT_ID=cvservice
./obj_recognition -i bus_station_6094_960x540.mp4 -m ssd-cpu.xml -l  ssd-cpu.bin -d CPU -t SSD -thresh 0.7 0 2>/dev/null | ffmpeg -v warning -f rawvideo -pixel_format bgr24 -video_size 544x320 -i - http://localhost:8090/fac.ffm
//5.浏览器打开
http://localhost:8080

yolov3识别

      //环境搭建ubuntu16.04+openVINO(R4)(自己根据之前的项目改写的,依赖还没统计,如果前面例子跑通,这个就能运行)
//先生成模型,默认下载官网权重转,实际项目可以使用darknet训练自己的权重
git clone https://github.com/17702513221/tensorflow_tools.git
cd tensorflow-yolo-v3
wget https://pjreddie.com/media/files/yolov3.weights
wget https://raw.githubusercontent.com/nealvis/media/master/traffic_vid/bus_station_6094_960x540.mp4
python3 demo.py --weights_file yolov3.weights --class_names coco.names --input_img Traffic.jpg --output_img out.jpg
cd /opt/intel/computer_vision_sdk/deployment_tools/model_optimizer
sudo python3 mo_tf.py --input_model /home/xs/xs/tensorflow-yolo-v3/yolo_v3.pb --tensorflow_use_custom_operations_config extensions/front/tf/yolo_v3.json --input_shape=[1,416,416,3]
将生成的yolo_v3.xml和yolo_v3.bin复制到本文件夹下
cd /home/xs/inference_engine_samples/intel64/Release
//视频测试:
./object_detection_demo_yolov3_async -i /home/xs/tensorflow_tools/tensorflow-yolo-v3/bus_station_6094_960x540.mp4 -m /home/xs/tensorflow_tools/tensorflow-yolo-v3/yolo_v3.xml -d CPU
//摄像头测试:
./object_detection_demo_yolov3_async -i cam -m /home/xs/tensorflow_tools/tensorflow-yolo-v3/yolo_v3.xml -d CPU
//下载我的开源项目运行:
git clone https://github.com/17702513221/openVINO.git
cd AI_work/yolov3-cpp
./build.sh
//测试(需先用tensorflow-yolo-v3生成模型,测试默认CPU其它需求自行修改)
./start.sh
//监视发送到本地服务器的MQTT消息,发送的是labels的序号,如:person对应0(需先使用新终端开启本地服务器)
mosquitto_sub -t 'yolov3/results'

darknet教学
yolo算法笔记
yolov3参数理解
车牌识别1
车牌识别2
HyperLPR车牌识别
Cascade车牌检测器训练
openVINO使用Intel® System Studio编写教学
System Studio许可证下载
openpose介绍

常用工具

  • 安装Intel® System Studio 2019
      下载解压缩后,使用注册邮件获取激活码安装
cd /home/xs/system_studio_2019_ultimate_edition_offline
sudo ./install.sh
//启动
source /opt/intel/system_studio_2019/iss_ide_eclipse-launcher.sh
  • visual studio code
    到微软的vscode网站 (下载地址) https://code.visualstudio.com/Download,即可安装,可以使用( 命令行输入code . 在任何目录中打开该编辑器,只用deb安装的可以命令行打开,其他不行)
    sudo dpkg -i code_1.30.0-1544567151_amd64.deb
  • sqlite可视化工具
      sudo apt-get install sqlitebrowser
sqlitebroswer test.db

相关 [小小 甜菜 openvino] 推荐:

小小甜菜OpenVINO爬坑记 - oZhiZhuXia12的博客 - CSDN博客

- -
小小甜菜OpenVINO爬坑记. OpenVINO是intel提供的一个深度学习优化工具,目前可以使用在win10,Ubuntu16.04两个平台上,官方已经宣布后期会支持树莓派系统. 它是Movidius x的使用接口,同时支持多种框架,也提供了大量例程. 我使用的是UP Squared板卡,运行Ubuntu16.04.

小小探索家

- 廖哥 - Poboo
好让人羡慕的生活啊,因为社会的快速发展,看了照片我才霎那了解,原来我们离自然如此的遥远,我们所苦苦追求的物质享受,也是如此的不值一钱,我们辛辛苦苦 为自己的孩子拼搏,但我们却给他们留下了什么.

小小的都市传说~

- 月七 - 怪奇小屋
最近一直没有时间找奇怪的片子看,就解说一个比较无聊的小知识来混更吧XD. 首先是新番《我的朋友很少》第三话里的戳图. 不知道会不会有同学产生疑问“为什么是100个呢. 实际上,这个说法是出自一个日本的童谣来着,内容是这样的. 在这里可以听到,就是这样一首曲调活泼欢快的歌XD(请不要在意为什么是菊丸唱的……).

「草本的小幸福哲学」:小小图片,小小幸福!

- 鹿鸣 - 有意思吧
图片没有语言,但是却可以告诉你很多. 图片不会说话,但是却可以安慰你的心灵. 图片不会写字,但是它会记录生活的点滴. 图片没有生命,但是它会陪你度过沧桑的岁月……. 让我们用图片记录那些琐事,那些岁月,那些故事,蔓延在每个人心里,让那些美好的记录印刻在你我的心上. PS:本来每张图片下面,我都会写一段文字的.

小小井盖,也有春天

- 温克人 - 东西
译者:哈土鳖科维奇 cromartielu@gmail.com. 尊重他人劳动成果,转帖时请注明来源东西网dongxi.net、原作者署名、及译者笔名. 我们都见过蹲在铁路站台上身穿马甲手持相机的“火车迷”,而如今又出现了一种新的“迷” - 井盖迷. 这些家伙们不远万里跋山涉水,就为了去见识一下不寻常的井盖.

小小奶豆的人生哲学Ⅶ

- junyan - 有意思吧
人生好似键盘,很多时候你需要果敢的按下Enter,也有时我们会无奈的按下Esc,随着滴滴答答的声音,敲打出人生的炫彩. 聪明的我们会适时的Delete,卸下不必要的烦恼,四处拷贝着周围的快乐,粘帖到自己的心情中……大家好,我是奶豆. (注:本文系原作者授权发布,欢迎各位同学转载分享. 查看详情评论:小小奶豆的人生哲学Ⅶ.

SumatraPDF 1.9 - 小小的就可以看PDF

- - 綠色工廠 Easylife Blog
Sumatra PDF是一款開放原始碼的pdf閱讀器, 此軟體免費、小巧. 只要一個exe文件,解壓後才923KB,可查看中文pdf. 比較特別的是,除了pgup/pgdn翻頁外,還可用p/n (previous,netx)翻頁,功能極度精簡,所以,速度快,也無須寫太多介紹了.

小小的智能卡,方便的签到

- Shanshan - 爱范儿 · Beats of Bits
荷兰公司 Mediamtic Lab 发明了一个新的方式让人们能够摆脱手机,更快地在 Facebook Places 上签到. 人们只需要有 RFID 的智能卡和智能读卡器,便可以完成整个签到流程. 假如你身上带有一张支持 Facebook 签到的智能卡,然后四处转转,发现了一个不错的咖啡店,在里面喝完咖啡之后,你走到这个店里的读卡器前面“嘀”一下,只需要一步你就完成了一次签到.

一碗小小清补凉:迷上特别的海南甜品

- 悟怡 - 美食画报-豆果网的美食杂志
在北京一带,甜品是被作为饭前小吃在正餐前上桌;而在广东一带,甜品大多是饭后食用的小吃,也可作为宵夜的小品. 只有海南不同,甜品几乎都不以配角的形式出现,要么充当夜宵的主角,如清补凉、鸡屎藤,大部分摊档都是用尽全力只经营好其中一项就算大功告成. 这次就和小豆一起感受海南甜品的独特魅力和与众不吧~ . 在海南说清补凉,是一件很难讨巧的事.

亞森‧羅蘋各國版本的小小考察

- Sopp - Nostalgiabyrinth
福爾摩斯和亞森‧羅蘋是許多人的推理啟蒙讀物,那麼,有人知道這兩部系列各有多少作品嗎. 前者很清楚,就是56部短篇與4部長篇,但後者能回答出來的人就不多了,一方面是因為羅蘋沒有福爾摩斯那麼名聞遐邇,另一方面是羅蘋的版本實在有點亂. 因為雜誌處理時序的關係,有時會發生英文版比法文版早發表的情況(《虎牙》、《八大奇案》),另外還有一、兩篇短篇在英文版與法文版所收錄的作品集不同,甚至還出現法文版未收錄,僅在英文版出現過的短篇.