文章目录

  • 先决条件
  • 一、配置环境
    • 1. 安装Open VINO 2020.3.194环境
      • a. 在Ubuntu系统上无sudo权限命令行安装OpenVINO
      • b. 验证安装成功
      • c. 安装MO
    • 2. 安装ROS环境
      • a. 换源
      • b. 添加ros-latest.list并更新
      • c. 激活ros环境
      • d. 安装ROS编译相关的包
    • 3. 安装配置realsense相关环境
    • 4. 安装gflags-dev库
    • 5. 设置环境变量
  • 三、编译ros_openvino_toolkit
    • 1. 下载
    • 2. 编译
    • 3. 关于配置文件说明
  • 四. 下载模型
    • 关于下载模型时可能遇到的问题:
    • 使用MO转换模型
      • 1. 更新protobuf
      • 2. 设置快捷键
      • 3. 模型转换
    • 给模型下载路径设置链接

文章说明:关于openvino环境版本,需要安装OpenVINO 2020版本,笔者实测,在OpenVINO 2020.3.194、2020.3.341、2020.3.355环境下都可以运行ros_openvino_toolkit项目。


先决条件

  • 支持的CPU型号:x86_64,包括:

    • 6th-8th Generation Intel® Core™
    • Intel® Xeon® v5 family
    • Intel® Xeon® v6 family
  • 支持的集成显卡配置(可选)
    • 6th to 8th generation Intel® Core™ processors with Iris® Pro graphics and Intel® HD Graphics
    • 6th to 8th generation Intel® Xeon® processors with Iris Pro graphics and Intel HD Graphics (excluding the e5 product family, which does not have graphics)
    • Intel® Pentium® processors N4200/5, N3350/5, N3450/5 with Intel HD Graphics
  • 操作系统:Ubuntu 18.04 LTS
  • ROS Melodic
  • OpenVINO 2020.3 LTS
  • RGB 摄像头(RealSense D400 系列或标准USB 摄像头)或 视频/图像文件作为输入

一、配置环境

这里仅以无sudo权限安装2020.3.194版本作为参考,仅仅只是提供一种思路。请读者根据实际项目需求,自行选择安装版本和方式。

1. 安装Open VINO 2020.3.194环境

参考

  1. OpenVINO官方安装教程
  2. 官方下载链接

a. 在Ubuntu系统上无sudo权限命令行安装OpenVINO

环境信息如下:

  1. Ubuntu18.04
  2. OpenVINO™ Version 2020.3

这里的安装方式是下载安装包并安装。下载解压步骤内容不再赘述,官方教程里面讲解很详细。
接下来进入OpenVINO解压后的目录,这里以~/Downloads目录为例:

cd ~/Downloads/l_openvino_toolkit_p_2020.3.194/
sh ./install.sh

执行无UI安装脚本后,按照提示安装(这里我是通过默认安装,安装目录在~/intel/openvino)

接下来source ./bin文件夹下的setupvars.sh,并将以下命令添加到.bashrc文件中(如果默认终端是zsh,就添加到.zshrc文件)

source ~/intel/openvino/bin/setupvars.sh

b. 验证安装成功

进入demo文件夹,执行验证脚本

cd ~/intel/openvino/deployment_tools/demo
# 将样例和模型全下载下来,并编译
./demo_squeezenet_download_convert_run.sh
# 编译通过后执行
~/inference_engine_samples_build/intel64/Release/classification_sample_async  -i car.png -m ~/openvino_models/ir/public/squeezenet1.1/FP16/squeezenet1.1.xml -d CPU

编译成功截图:

c. 安装MO

参考Configuring the Model Optimizer(2020.3版本)

  1. 进入安装目录
cd ~/intel/openvino/deployment_tools/model_optimizer
  1. 使用OpenVINO提供的虚拟环境安装MO

这里最好还是用虚拟环境,毕竟没有root权限,无法在系统的/etc/python3/目录下安装。
使用anaconda的python可以安装,也可以使用它提供的额外的虚拟环境。

  • 新建虚拟环境
    virtualenv --system-site-packages -p python3 ./venv
  • 启动虚拟环境
    source ./venv/bin/activate
  • 安装MO
    cd ./install_prerequisites/ && ./install_prerequisites.sh
  • 设置环境变量
    alias venv_activate='source ~/intel/openvino/deployment_tools/model_optimizer/venv/bin/activate'添加到.zshrc或者.bashrc中,需要激活虚拟环境时,运行venv_activate即可

2. 安装ROS环境

a. 换源

# 备份原来的sources.list
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
# 修改sources.list
sudo gedit /etc/apt/sources.list

sources.list替换成以下内容:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

b. 添加ros-latest.list并更新

参考ROS wiki官方教程安装时,有可能会出现如图所示的错误,这时可以尝试以下解决办法:

sudo sh -c 'echo "deb https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ bionic main
" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update

参考链接:

  1. Ubuntu 镜像使用帮助- 清华大学开源软件镜像站: https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
  2. ROS Wiki:Ubuntu install of ROS Melodic: http://wiki.ros.org/melodic/Installation/Ubuntu
  3. ROS 镜像使用帮助-清华大学开源软件镜像站: https://mirrors.tuna.tsinghua.edu.cn/help/ros/

c. 激活ros环境

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

d. 安装ROS编译相关的包

sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential

按照官网教程,运行以下命令:

sudo rosdep init
sudo rosdep fix-permissions
rosdep update

这时候报错:cannot download default sources list

解决办法:

进入网站 https://ip.tool.chinaz.com/raw.githubusercontent.com,我们可以看到raw.githubusercontent.com 的IPV4地址,将其添加到/etc/hosts中,如

185.199.109.133              raw.githubusercontent.com

并尝试运行sudo rosdep init

如果运行rosdep init命令且终端显示超时报错时,可以尝试以下办法:

sudo gedit /etc/resolv.conf

在文件末尾添加以下内容:

nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器

PS: 为了加速GitHub访问,推荐将以下内容添加到 /etc/hosts 文件中。
参考链接: https://gitee.com/ineo6/hosts

# GitHub Host Start
185.199.108.154              github.githubassets.com
140.82.112.22                central.github.com
185.199.108.133              desktop.githubusercontent.com
185.199.108.153              assets-cdn.github.com
185.199.108.133              camo.githubusercontent.com
185.199.108.133              github.map.fastly.net
199.232.5.194                github.global.ssl.fastly.net
140.82.112.4                 gist.github.com
185.199.108.153              github.io
140.82.113.3                 github.com
140.82.114.5                 api.github.com
185.199.108.133              raw.githubusercontent.com
185.199.108.133              user-images.githubusercontent.com
185.199.108.133              favicons.githubusercontent.com
185.199.108.133              avatars5.githubusercontent.com
185.199.108.133              avatars4.githubusercontent.com
185.199.108.133              avatars3.githubusercontent.com
185.199.108.133              avatars2.githubusercontent.com
185.199.108.133              avatars1.githubusercontent.com
185.199.108.133              avatars0.githubusercontent.com
185.199.108.133              avatars.githubusercontent.com
140.82.113.9                 codeload.github.com
52.217.94.28                 github-cloud.s3.amazonaws.com
52.217.107.84                github-com.s3.amazonaws.com
52.217.104.4                 github-production-release-asset-2e65be.s3.amazonaws.com
52.216.88.43                 github-production-user-asset-6210df.s3.amazonaws.com
52.216.141.188               github-production-repository-file-5c1aeb.s3.amazonaws.com
185.199.108.153              githubstatus.com
64.71.144.202                github.community
185.199.108.133              media.githubusercontent.com
# Please Star : https://github.com/ineo6/hosts
# Mirror Repo : https://gitee.com/ineo6/hosts
# Update at: 2021-08-15 22:08:52
# GitHub Host End

3. 安装配置realsense相关环境

sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo bionic main" -u
sudo apt update
sudo apt-get install librealsense2-dev
sudo apt-get install ros-melodic-librealsense2

4. 安装gflags-dev库

sudo apt-get install -y libgflags-dev

5. 设置环境变量

将以下内容添加到.bashrc或者.zshrc里面

export CPU_EXTENSION_LIB+=~/intel/openvino/deployment_tools/inference_engine/lib/intel64/libinference_engine.so
export GFLAGS_LIB+=/usr/lib/x86_64-linux-gnu/libgflags_nothreads.a

三、编译ros_openvino_toolkit

1. 下载

获取代码

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src

在工作空间下的src目录中,下载ros_openvino_toolkit dev-ov2020.3:

git clone https://github.com/intel/ros_openvino_toolkit.git
cd ros_openvino_toolkit/
git checkout dev-ov2020.3

如果网络状况不佳,下载缓慢,可以尝试使用gitee:

git clone https://gitee.com/openvinotoolkit-robotics/ros_openvino_toolkit.git
cd ros_openvino_toolkit/
git checkout dev-ov2020.3

2. 编译

在工作空间根目录下编译:

cd ~/catkin_ws
catkin_make_isolated
source ./devel_isolated/setup.bash

3. 关于配置文件说明

修改 vino_launch/param文件夹下的yaml文件(以pipeline_object.yaml为例):

  1. inputs有几种选项: StandardCameraRealSenseCameraImage, Video
  2. model指向OpenVINO IR模型中xml文件的绝对路径
  3. engine有好几种选项CPUGPU, MYRIAD, 我们这里使用CPU做验证。

四. 下载模型

模型分为intel和public,我们先以intel的一个模型来做例子

关于下载模型时可能遇到的问题:

OpenVINO中文社区针对国内开发者下载缓慢的痛点,专门将常用public模型放入gitee仓库https://gitee.com/openvinotoolkit-prc/public_models.git中,欢迎大家共同维护!

git clone https://gitee.com/openvinotoolkit-prc/public_models.git

使用MO转换模型

1. 更新protobuf

如果在运行mo时报错:

[ ERROR ]
Detected not satisfied dependencies:protobuf: not installed, required: 3.6.1

根据提示,需要安装protobuf,版本3.6.1

解决办法:更新protobuf

  1. protobuf下载列表: https://github.com/protocolbuffers/protobuf/releases
  2. 解压安装
tar -xf protobuf-all-3.6.1.tar.gz
cd protobuf-3.6.1
./configure
make
make check
sudo make install
cd ./python
python3 setup.py build
python3 setup.py test
sudo python3 setup.py install
  • 参考链接: https://community.intel.com/t5/Intel-Distribution-of-OpenVINO/protobuf-not-installed-required-3-6-1/m-p/1154807/highlight/true?profile.language=zh-TW

2. 设置快捷键

添加以下命令到.zshrc或者.bashrc中:

alias model_printall='python3 ~/intel/openvino/deployment_tools/open_model_zoo/tools/downloader/downloader.py --print_all'
alias model_grep='python3 ~/intel/openvino/deployment_tools/open_model_zoo/tools/downloader/downloader.py --print_all | grep'
alias model_download_name='cd ~/intel/openvino/deployment_tools/open_model_zoo/tools/downloader && python3 ~/intel/openvino/deployment_tools/open_model_zoo/tools/downloader/downloader.py --name'
alias cd_model_dir='cd ~/intel/openvino/deployment_tools/open_model_zoo/tools/downloader'
  1. model_printall: 打印输出所有OpenVINO支持的model名称
  2. model_grep: 在model_printall的基础之上使用grep命令
  3. model_download_name: 使用OpenVINO模型下载器,对特定名称的model进行下载
  4. cd_model_dir: 进入下载好的模型路径下。

3. 模型转换

sudo python3 /opt/intel/openvino/deployment_tools/open_model_zoo/tools/downloader/converter.py --name=mobilenet-ssd --mo /opt/intel/openvino/deployment_tools/model_optimizer/mo.py

给模型下载路径设置链接

sudo mkdir -p /opt/ros_openvino_toolkit
sudo ln -s /home/cxs/intel/openvino/deployment_tools/open_model_zoo/tools/downloader /opt/ros_openvino_toolkit/models

ros_openvino_toolkit环境搭建纪实相关推荐

  1. 瑞萨linux编译环境,瑞萨RZ/A2M Linux4.19系统构建与驱动移植纪实之一:BSP环境搭建...

    瑞萨RZ/A2M Linux4.19系统构建与驱动移植纪实之一:BSP环境搭建 我的系统信息 下载RZ/A Linux-4.19 BSP 编译安装带有SSL模块的Python 2.7 我的系统信息 下 ...

  2. Anaconda3+python3.7.10+TensorFlow2.3.0+PyQt5环境搭建

    Anaconda3+python3.7.10+TensorFlow2.3.0+PyQt5环境搭建 一.Anaconda 创建 python3.7环境 1.进入 C:\Users\用户名 目录下,找到 ...

  3. Windows10+Anaconda3+Pycharm环境搭建

    Windows10+Anaconda3+Pycharm环境搭建 一.安装Anaconda3 1.进入 anconda官网,下载Anaconda3 2.安装,选项默认继续安装(可以自行更改安装位置),等 ...

  4. SpringCloud Alibaba微服务实战(一) - 基础环境搭建

    说在前面 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来 ...

  5. 2021年大数据环境搭建(二):分布式环境搭建

    2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 分布式环境搭建 集群规 ...

  6. 2021年大数据Spark(八):环境搭建集群模式 Standalone HA

    环境搭建-Standalone HA 高可用HA Spark Standalone集群是Master-Slaves架构的集群模式,和大部分的Master-Slaves结构集群一样,存在着Master单 ...

  7. 2021年大数据Spark(六):环境搭建集群模式 Standalone

    目录 环境搭建-Standalone 前言 Standalone 架构 ​​​​​​​集群规划 修改配置并分发 修改slaves ​​​​​​​分发到其他机器 修改spark-env.sh 集群启动和 ...

  8. CentOS7环境搭建使用PhpStorm上传代码

    一.虚拟机介绍 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的.运行在一个完全隔离环境中的完整计算机系统. 虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实win ...

  9. window10 系统上 ecplise 环境搭建

    ecplise 安装需要用到  JDK 环境的搭建以及ecplise 的下载 这两部完成即可 一: JDK环境搭建 到官网上下载JDK并且安装即可(下载的时候注意选择Accept License Ag ...

最新文章

  1. 如何成为软件工程师的团队合作者
  2. [jdk8]Predicate 函数式接口
  3. 读《程序设计实践》之一 风格
  4. Discrete Log Algorithms :Baby-step giant-step
  5. oracle重新编译package,如何有效的编译数据库中的失效对象(Package,trigger等)
  6. ZooKeeper3.4.5-最基本API开发
  7. 拦截器,利用拦截器进行登陆权限控制
  8. 图论 —— DAG 图的最长路
  9. django 1.8 官方文档翻译: 4-2-4 人性化
  10. 己椒苈黄汤治水肿案(联想的风)
  11. VMware许可证过期解决方案
  12. 海康存储服务器 硬盘红色,海康磁盘阵列存储服务器
  13. Android 自定义实现倒三角图片
  14. 【数据结构】AOE网——关键路径
  15. 汽车计算机控制系统及其组成,汽车计算机控制系统的研究.doc
  16. 互联网电视变身哄娃神器:YOYO搜片真方便
  17. 基本功short与Unsigned short以及Java基本类型
  18. “终于我从字节离职了...“一个年薪40W的测试工程师的自白...
  19. ArcGIS对比MapInfo
  20. VC6.0读取Excel文件数据

热门文章

  1. C# Winform验证码
  2. DPCM 压缩系统的实现和分析
  3. [java] javax.el.PropertyNotFoundException: Property 'id' not found on type bean.Student
  4. 【数据结构与算法】之深入解析“买卖股票的最好时机III”的求解思路与算法示例
  5. RxSwift之UI控件UISlider与UIStepper扩展的使用
  6. HarmonyOS之常用布局DirectionalLayout的使用
  7. 2019年第十届蓝桥杯 - 省赛 - Java研究生组 - A. 立方和
  8. 蚂蚁疾奔:蚂蚁集团两地上市全速推进
  9. Martix工作室考核题 —— 输出1000以内能被3整除,且个位数为6的所有整数。
  10. ROS中配置主从机需注意的几点