在miivii域控制器(基于Xavier)上复现Ultra-Fast-Lane-Detection源论文项目

源项目链接

一、安装

参考源项目安装教程,个别步骤有改动:

1、我没有安装Anaconda,所以跳过步骤2
2、步骤3中安装pythorch torchvision的血泪史:网上看了很多下载pytorch源码进行安装的教程,都没有成功,卡了N多天。今天搜Xavier配置tensorRT的教程,无意中看到了其中用下载编译好的whl文件和安装包的方法配置pytorch、torchvision,试了后一次成功。

(2020.11.10更新)卸载pytorch
在这里插入图片描述
卸载torchvision
在这里插入图片描述

3、步骤3中安装requirements.txt中的依赖项

(1)opencv-python是安装ROS时自带的
(2)tensorboard域控制器刷机后自带tensorflow tensorboard
(3)addict pathspec 终端执行命令sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple addict pathspec
(4)sklearn:用sudo pip3 install安装时,下载好安装包后一直卡在安装依赖上,即使提前安装好依赖仍然如此。之后用sudo apt install python3-sklearn安装成功,import sklearn没有报错。
(5)tqdm: $ sudo pip3 install tqdm
4、数据集准备
下载了TuSimple数据集,按照教程组织文件结构,只是在clips文件夹下只放了0313-1 0313-2 0531 0601四个数据文件夹

所以在执行convert_tusimple.py脚本时,测试集.txt的生成报错,只生成了train_gt.txt

(2020.09,19更新)demo.py是基于CULane数据集,只要下载好数据集,程序不需要做改动。

二、运行

1、修改configs/culane.py

data_root改为CULane根文件夹的绝对路径:/home/nvidia/.../CULane
官方文档里说log_path也要修改,暂时没搞清楚怎么改,先保持原状。

2、 终端执行命令

python3 demo.py configs/culane.py --test_model model/culane_18.pth

执行完毕后,每个场景生成一个.avi视频,共9个场景:正常,拥挤,强光照射,阴影,无车道线,车道中有指示箭头,弯道,交叉路口,夜晚。

三 BUGS

1、No module named ‘past’

$ sudo pip3 install future

2、 AttributeError: module ‘scipy.special’ has no attribute ‘softmax’

参考ModuleNotFoundError: No module named ‘scipy.special._ufuncs’,刷系统时后scipy=0.19.1,版本太旧,执行以下命令卸载scipy重新安装:

$ sudo apt-get purge python3-scipy
#scipy=1.5.3
$ sudo pip3 install scipy

SciPy是一个开源的Python算法库和数学工具包。 SciPy包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。与其功能相类似的软件还有MATLAB、GNU Octave和Scilab。

3、ModuleNotFoundError: No module named ‘alfred.vis’

sudo pip3 install alfred-py

以下是将项目代码改造为ROS节点时遇到的BUG(2020.11.10更新)

4、改造为ROS节点时,用python3解释器,报错“ModuleNotFoundError: No module named ‘rospkg’”

sudo pip3 install rospkg

5、ImportError: dynamic module does not define module export function (PyInit_cv_bridge_boost)

参考Unable to use cv_bridge with ROS Kinetic and Python3,报错原因是:cv_bridge在python2下编译,不能在python3下执行。因此参照博客开头卸载python3下的pytorch和torchvision,参考PyTorch for Jetson - version 1.7.0 now available安装python2.7下的pytorch和torchvision.

四 protobuf自定义ROS消息类型

参考[译]Protobuf 语法指南Protobuf3 系列二 定义复杂的proto文件Google Protobuf简明教程

四 publish车道线检测的消息类型

python中,在/opt/ros/melodic/share/autoware_msgs/msg/下有DetectedObject.msgDetectedObjectArray.msg,不需要自定义消息类型。
C++中,在/opt/ros/melodic/include/autoware_msgs/下有DetectedObject.hDetectedObjectArray.h

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值