树莓派3上安装使用NCS2之三:自己模型成功转换并识别

书接上回https://blog.csdn.net/weixin_44345862/article/details/99960398树莓派3上安装使用NCS2之二:intel OPENVINO转化tensorflow模型,一句话死活过不去,惹不起我还躲不起啊,这么垃圾的官网教程,我在自己的干净的windows10系统上装了openVINO专门用于tensorflow模型转神经计算棒NCS2能识别的bin和xml文件对儿。最简单的安装就是在win10上了,官网安装指导连接:https://docs.openvinotoolkit.org/2019_R1/_docs_install_guides_installing_openvino_windows.html 简单说几句:
下载的w_openvino_toolkit_p_2019.1.087版本,为了跟树莓派上的版本差不多但又不超过他,以确保这里转化的模型能在树莓派上运行啊!
Visual Studio 2017 Community版本(注册后永久免费,官网的只有2019版本了,找这个费了一些功夫)
cmake-3.14.6-win64-x64
python-3.6.5-amd64
一路很顺畅,唯一令我担忧的是运行install_prerequisites.bat的时候,它装了所有的平台依赖,并且过程中看到安得tensorflow是1.14.0,可我的树莓派上装的是tensorflow1.13.1,一顿各种下载安装条滚完之后,最后竟然还出了红色的错误部分,不知道是哪个平台的依赖出了问题,所以其实不如运行option2因我只在乎tensorflow, 单独的配置语句为:install_prerequisites_tf.bat,于是又跑了一遍这句单独安装tensorflow,
在这里插入图片描述同样出了前面的红色错误提示,
在这里插入图片描述
看来问题出现在tensorflow这里,干脆正好我想装1.13.1,于是就自己pip安装tensorflow1.13.1,语句为:
pip3 install tensorflow==1.13.1
在这里插入图片描述
安装结尾样的:
在这里插入图片描述
然后开始转化模型,东西不能放在c盘,因创建文件有管理员权限要求,所以在d盘新建文件夹mytest,操作在此目录下进行。
首先是参考别人的输入:python “C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\mo_tf.py” --input_model frozen_inference_graph.pb --output_dir uban --data_type FP16 --batch 1
在这里插入图片描述
最后是错误
在这里插入图片描述 加入shap,语句如下:python “C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\mo_tf.py” --input_model frozen_inference_graph_demo.pb --input_shape [1,224,224,3] --output_dir demo --data_type FP16
还是错误:
在这里插入图片描述
最后参考官网的输入指令模式https://docs.openvinotoolkit.org/2019_R1/_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_Object_Detection_API_Models.html 得到了正确结果。输入:
python “C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\mo_tf.py” --input_model frozen_inference_graph.pb --tensorflow_use_custom_operations_config ssd_v2_support.json --tensorflow_object_detection_api_pipeline_config pipeline.config --data_type FP16 --reverse_input_channels

在这里插入图片描述
后面是
在这里插入图片描述
成功后,在mytest文件夹多了三个文件:frozen_inference_graph.bin,frozen_inference_graph.xml和frozen_inference_graph.mapping,只需要把frozen_inference_graph.bin,frozen_inference_graph.xml两个放到树莓派就可以了。其它三个文件是运行转化语句前需要准备好的。
在这里插入图片描述
需要的三个文件:frozen_inference_graph.pb,pipeline.config和ssd_v2_support.json,不用指出输出路径和文件名,自动输出到mytest文件夹里。frozen_inference_graph.pb是我训练的固化好的模型,pipeline.config是我训练时自动生成的,我打开看了一下,跟训练需要使用的config文件是一样的,如下:
在这里插入图片描述

ssd_v2_support.json是从openvino安装目录下拷贝过来的,C:\Program Files (x86)\IntelSWTools\openvino_2019.1.087\deployment_tools\model_optimizer\extensions\front\tf文件夹下:
在这里插入图片描述
官网说ssd_v2_support.json — for frozen SSD topologies from the models zoo,虽然我的模型训练用的是ssd_mobilenet_v1_coco_2017_11_17可官网都这么说了,那我就省点事,直接用吧,可能上面的那个ssd_support.json更好,但谁让我这个成功了呢,留给后来人验证吧。
把frozen_inference_graph.bin,frozen_inference_graph.xml两个放到树莓派与之一同样的路径和代码,输入:
./armv7l/Release/object_detection_sample_ssd -m frozen_inference_graph.xml -d MYRIAD -i /home/pi/Downloads/build/example.jpg
在这里插入图片描述
使用同样的图片(上次是人脸,这次是我手中的目标物,识别到人脸是不可能的,除非造假,因训练模型的时候,config中我设置的识别类为1),看到我手中的粉色方框了吧,那就是我的目标物。识别出来了!哈哈哈哈。

在这里插入图片描述
过程和性能如下:
在这里插入图片描述
在这里插入图片描述
接近21帧每秒的速度,太惊人了。没用此棒之前是延迟5-10s,是不是此棒性能输出造假?我还需要下一步自己写摄像头程序,实测一下!
用opencv测试图片的代码如下(摄像头的见之四https://blog.csdn.net/weixin_44345862/article/details/100035834):
在这里插入图片描述
—经过自己写python程序,调用摄像头实测,可以实现实时跟随,毫无卡顿,太厉害了!哈哈,打假失败,原来是真的!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值