论文 Ultra Fast Structure-aware Deep Lane Detection 学习笔记
论文下载:https://arxiv.org/abs/2004.11757 原论文车道线识别效果:
一、环境搭建:
本文的环境:ubuntu20.04
1.miniconda python虚拟环境软件安装
(1)miniconda下载安装 清华源:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/?C=M&O=D
bash Miniconda3-py38_4.9.2-Linux-x86_64.sh
(2)创建conda python虚拟环境
查看conda已经创建的虚拟环境
conda-env list
默认已经创建好了base,我们需要自定义创建一个环境lane
conda create -n lane python=3.8
conda activate lane
切换到该虚拟环境下安装cuda pytorch等软件
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
注意:若有nvidia显卡,需要安装显卡驱动,两种方法:一种直接在官网下载对应型号的驱动,然后安装,另一种是apt安装sudo apt install nvidia-driver-510 .具体驱动型号按照自己的硬件设备选择
(3)配置miniconda 文件: $HOME/.condarc 修改为如下内容:
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
custom_channels:
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
(4)添加启动命令 文件:$HOME/.bashrc
注意:主要原因——ros的python环境和conda的python虚拟环境不一致,如果直接启动conda,会导致ros无法启动,所以为了两者兼得,我们在需要的时候启动conda即可,不需要的时候直接关闭。
- 关闭conda 打开终端自动初始化过程
- 创建conda启动命令
alias conda_ac='source ~/miniconda3/bin/activate lane'
alias conda_de='conda deactivate'
这样就可以在命令行直接conda_ac 打开conda 环境,conda_de 关闭conda环境。
也可直接conda命令启动关闭虚拟环境
conda activate lane
conda deactivate lane
2.配置pip软件源
将pip的软件源改成国内,下载更快。 文件:$HOME/.config/pip/pip.conf 改为
[global]
timeout = 60000
index-url = http://pypi.douban.com/simple
trusted-host = pypi.douban.com
或者改为其他也可 清华:https://pypi.tuna.tsinghua.edu.cn/simple 中国科学技术大学 : https://pypi.mirrors.ustc.edu.cn/simple 豆瓣:http://pypi.douban.com/simple/
二、数据准备
1. 代码下载:
论文源代码:https://github.com/cfzd/Ultra-Fast-Lane-Detection ros改写代码:git clone https://github.com/AbangLZU/Ultra-Fast-Lane-Detection.git 本文以某大牛改写的ros代码为例
2. 训练集下载:
百度云盘下载CULane数据集:https://pan.baidu.com/s/1KUtzC24cH20n6BtU5D0oyw 约44GB 解压压缩包,将23两部分合并起来 创建文件夹,第一个放置代码,第二个放置数据,第三个放置运行数据 注意:切莫将数据放在代码文件夹下,后期训练会将代码文件夹下的所有文件复制到运行数据文件夹下,导致大量数据的复制,需要花费大量时间。 train.py 存在复制命令
3. ros测试——模型及测试数据下载
测试bag下载地址:https://pan.baidu.com/s/16CgNtRqL4afECL4Ehe7lkQ 密码: gmw3 某大牛训练好的模型:(CULane数据集,50个epoch): https://pan.baidu.com/s/16CgNtRqL4afECL4Ehe7lkQ 密码: gmw3 原论文模型(CULane数据集): https://pan.baidu.com/share/init?surl=9Ig0TrV8MfmFTyCvbSa4ag 密码:w9tw
本文测试视频数据:https://download.csdn.net/download/qq_31329259/85645799 本文训练好的模型:https://download.csdn.net/download/qq_31329259/85645774
二、模型训练
1. 在configs/culane.py中修改训练数据和运行log文件夹的路径
2.训练
训练命令:
conda activate lane
python train.py configs/culane.py --ecpoch 50
命令行可指定具体的参数
3.训练结果
三、ros环境测试
(1) 启动ros 主节点
roscore
(2) 启动测试数据 循环播放
rosbag play -l culane0380.bag
(3) 启动代码
conda activate lane
python lane_detect_ros_node.py configs/ros_config.py --test_model /home/rdcas/rosbag/lane-detect/ep049.pth
(4)查看效果
rqt_image_view
enjoy
参考文章:https://blog.csdn.net/AdamShan/article/details/115769942
|