基于导引点预测的视觉导航系统使用说明(四)仿真环境算法的在线部署

本章主要介绍训练好的模型如何部署到CARLA中。这里模型的训练代码用python写的,部署的代码是C++,所以需要用到tensorRT将pytorch的.onnx模型转为.engine模型。具体过程下面将介绍。

1 tensorRT的使用。

1.1安装

(1)tensorRT请不要用xyx文件夹下的那个,我重新上传了百度网盘,请从百度网盘上下载,连接如下:

https://pan.baidu.com/s/1nDXrkxmn8R8lM8kGBLseLQ?pwd=96kj

提取码: 96kj

无需安装,把该文件夹下载到自己电脑即可。该文件缺少lib和bin两个文件夹,从下面连接下载这两个文件夹文件:

https://pan.baidu.com/s/1aEXQb9qdXWIG8cI0Px4RkQ

提取码: zp76

解压后将bin和lib这两个文件夹复制到/TensorRT-7.0.0.11.Ubuntu-18.04.x86_64-gnu.cuda-10.0.cudnn7.6/TensorRT-7.0.0.11目录下。

(2)cudnn安装。下载连接如下

https://pan.baidu.com/s/1cTF6Rkm66KtgySbDqZ8KTA

提取码: scrg
下载后用以下命令解压:

tar -xvf cudnn-10.0-linux-x64-v7.6.4.38.tgz 

解压后生成一个cuda文件夹,将cuda/lib64文件夹下的所有文件复制到tensorRT目录的lib文件夹下,文件夹地址如下所示:/TensorRT-7.0.0.11.Ubuntu-18.04.x86_64-gnu.cuda-10.0.cudnn7.6/TensorRT-7.0.0.11/lib。将cuda/include文件夹下的所有文件复制到tensorRT目录的include目录下,文件夹地址如下所示:/TensorRT-7.0.0.11.Ubuntu-18.04.x86_64-gnu.cuda-10.0.cudnn7.6/TensorRT-7.0.0.11/include

1.2模型格式转换(.onnx转.engine)

.onnx模型都在/xyx/Waypoints_predict_carla_online_carla/onnx这个文件夹下面,转换后的.engine模型请放到文件夹/xyx/Waypoints_predict_carla_online_carla/engine下。
(1)首先删除/xyx/Waypoints_predict_carla_online_carla/engine文件夹下的所有模型文件(因为这些文件是我电脑用tensorRT转的,不适用于其他电脑),.engine模型必须由本电脑用tensorRT将.onnx模型转换才能使用。
(2)用tensorRT将.onnx转为.engine。
在路径/TensorRT-7.0.0.11.Ubuntu-18.04.x86_64-gnu.cuda-10.0.cudnn7.6/TensorRT-7.0.0.11/bin下打开终端,输入如下的转换指令:

./trtexec --onnx=/home/swc/Desktop/owx/carla/Waypoints_predict_carla_online_carla_junctions/onnx/res18_cnn4_carla_1.onnx --shapes=input1:3x288x128,input2:3x128x128 --explicitBatch=1 --saveEngine=/home/swc/Desktop/owx/carla/Waypoints_predict_carla_online_carla_junctions/onnx/res18_cnn4_carla_1.engine --workspace=3200 --fp16

其中–onnx=/home/swc/Desktop/owx/carla/Waypoints_predict_carla_online_carla_junctions/onnx/res18_cnn4_carla_1.onnx是要转换的.onnx模型,--shapes=input1:3x288x128,input2:3x128x128是模型的两个输入图像的尺寸。--explicitBatch=1 是batchsize为1,–saveEngine=/home/swc/Desktop/owx/carla/Waypoints_predict_carla_online_carla_junctions/onnx/res18_cnn4_carla_1.engine为保存的.engine文件。这两个路径改成自己文件对应的路径。效果如下图:如果没有报错则可以。
在这里插入图片描述

2 部署程序。

注意注意!!!在这里补充一下更换CARLA服务器地图的操作。下面分别是老版本启动carla方法和新版本启动carla方法,老版本就是前面讲的,新版本里会有更换地图。
(1)老版本启动carla过程:
第一步:运行carla.sh

./carla.sh

第二步:运行vehicle.sh

./vehicle.sh

(2)新版本启动carla过程:
第一步:运行carla.sh

./carla.sh

第二步:修改城镇地图。方法就是修改/CARLA_0.9.10.1/PythonAPI/examples/manual_control.py这个python文件的代码,改完后运行该程序。修改如下:
1.更改地图。代码第1045行,修改括号中的’Town07’换成自己想要的地图。

world = client.load_world('Town07')

修改后运行(可以不在py27这个环境下运行),运行过程中如果缺少哪个库就pip install 那个库。点击运行,第一遍一般会出现闪退,如果闪退则继续点击运行,第二遍就不会闪退了。运行成功效果如下:
在这里插入图片描述
第三步:运行vehicle.sh

./vehicle.sh

这样服务器的地图就会变成自己想要的地图了。

2.1修改.pro文件依赖。

程序为C++工程,路径为:/xyx/Waypoints_predict_carla_online_carla,用qt打开,并修.pro文件。
有tensorRT的地方都换成自己的路径。

2.1修改.cpp文件中地图和模型的路径。

img_deal.cpp文件的第35,36行修改地图和.engine模型路径,换成自己的路径。

map_path = "./map/tpTown02.jpg";
engine_path = "./engine/res18_cnn4.engine";

第48行,为城镇的序号,请和所选地图对应:

town_num = 2;

修改结束后编译。将前面步骤全部打开后运行该工程。效果如下:
在这里插入图片描述

2.2发布全局路径。

“goal_map”图上的蓝色点表示车的位置,在“map”路线图上鼠标左键点击出自己想要的全局路径,点击好路径后按下键盘的"s"键发布全局路径,“globamap”图中则会出现红色的全局路径。
在这里插入图片描述
在这里插入图片描述
则会看到如下截取的地图。
在这里插入图片描述

2.3启动自动驾驶模式。

发布完全局路径后开启手机APP的“自主模式”即可让车辆按照指定的路线行驶。
在这里插入图片描述
以上便是模型的部署,后期会继续更新如何采集数据、训练模型。在开始进行数据采集和模型训练前请认真看完徐锦江(毕业的师兄)的毕业论文,了解整个工程的过程。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值