深度学习——车道线检测

论文 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

Original: https://blog.csdn.net/qq_31329259/article/details/125289715
Author: wei2023
Title: 深度学习——车道线检测

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/532992/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球