基于openvino和python环境实现yolox图像检测:踩坑记录

基于openvino和python环境实现yolox图像检测:踩坑记录

最近看到openvino在Github上开源了一部分openvino_contrib,计划支持ARM架构CPU,就想着学学Openvino,想着单刷树莓派,正好yolox宣称吊打yolo系列,有支持各种加速引擎,果断拿来试试,然后就苦逼了,但最终填坑,所以想着记录一下,和大家分享一下。

先甩个openvino_contrib和yolox地址:
Github:openvino_contrib
Github:yolox

第一步:openvino安装

安装openvino,网上有很多现成的教程,其实都是翻译官网教程,最好是按着官网装,因为有些教程结合自己的系统加了一下设置,可能不太适合初装者,基本步骤就是:

 下载安装包——安装——添加环境变量——安装openvino依赖——安装demo依赖——运行demo验证安装成功

安装教程如下
Ubuntu安装openvino官方教程

我是在anaconda的base环境下安装的,记得安装命令前加sudo,不然就装在usr目录下了;记得添加环境变量;在最后跑官方demo_squeezenet的时候,提醒我没有protobuf和test-generator,直接pip install就可以,按理说应该在install_dependencies的时候安装好,问题不大,自己装上就行,装好之后可执行第二步,以下为自己踩过的坑。

注意:

(1)目前的openvino版本还不支持python3.8,base环境最好是3.6,3.7,如果用了3.8版本,安装也能通过
demo测试,但后续做自己的项目会报各种错误,主要是没法解决,我就是重装了anaconda替换了之前的3.8版本。
(2)在base环境下安装的python版本要和以后虚拟环境下的python版本一致,否则也会报错如下,直接创建了和base一样的虚拟环境,还好目前主流的深度学习算法都要求3.6,3.7就行。

ImportError: libpython3.7m.so.1.0: cannot open shared object file: No such file or directory

坑来了: 我在base环境下怎么都无法import cv2,也无法from openvino.inference_engine import IECore,会报以下错误

ImportError: /opt/intel/openvino_2021/python/python3.6/openvino/inference_engine/ie_api.so: undefined symbol: _ZN15InferenceEngine7details14CNNNetworkImplC1ERKNS_11ICNNNetworkE`

我上网翻了无数有关的解答,又说python版本不对的,有说libtbb位置不对的,我基本都试了,都没解决,我一度怀疑Openvino没装好,反复装卸,通过demo测试,都不行,直到创建了一个虚拟环境才实现调用。

第二步:安装yolox环境并运行Openvino demo

(1)从上面的github链接里下载yolox项目,根据requriements安装环境依赖;
(2)采用openvino自带的mo.py将yolox的pth格式模型转换成xml格式,我用的是yolox转换后会生成三个文件bin文件,xml文件和mapping文件,demo运行的时候只需要xml文件;
(3)运行demo,因为demo要调用yolox库函数,我直接把openvino_inference.py文件和检测图片放在项目根目录下了,在终端执行(usr替换自己的用户名)

`python openvino_inference.py -m /home/*usr*/PycharmProjects/YOLOX-main/demo/OpenVINO/python/converted_output/yolox_s.xml -i dog.jpg`
结果如下

检测结果

(4)如果想要使用Pycharm开发环境的话,除了要加载虚拟环境编译器,还需要
a)把openvino导入到python环境中去,按照安装路径opt/intel/openvino(版本号)/python/python3.7找到openvino文件,拷贝到虚拟环境site-packages下去,给出我的参考路径
/home/usr(你的用户名)/anaconda3/envs/yolox/lib/python3.7/site-packages
b)sudo find / -name
pycharm.sh找到pycharm.sh文件,找到文件路径后cd到该目录下,运行./pycharm.sh
c)修改一下openvino_inference.py里的arg参数项目,把required选项注释掉,下面添加deafault=‘模型路径’和’图片路径’,变成默认路径,点击run就可以了!

感想

(1)个人觉得openvino的开源社区做的不太友好,不知道是用的人少还是自己太菜,想找个问题的答案都找不到,学习时间成本有点高,毕竟各大厂都出加速引擎了,都可以跟着教程走一走,我折腾了两天,差点放弃。
(2)base环境下调用cv2和engine其实没有解决,不影响目前使用,但以后在arm上创建虚拟环境可能不太方便,这个问题还是得考虑一下根源和解决办法,要是有大神看到指点一下就好了。
(3)计划接着验证一下openvino的引擎推理速度和在arm上部署的难度和效果。

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值