1、RESA复现
1.1 准备阶段
1.1.1 克隆仓库
git clone https://github.com/zjulearning/resa.git
此目录标记为$RESA_ROOT
。
1.1.2 创建环境
创建一个conda虚拟环境并激活它(conda是可选的)。
conda create -n resa python=3.8 -y
conda activate resa
1.1.3 安装依赖
#首先安装pytorch,您的系统中的cudatoolkit版本应该相同。 (您也可以使用pip安装pytorch和torchvision)
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
#也可以通过pip工具安装 pip install torch torchvision
#安装python包
pip install -r requirements.txt
1.1.4 数据准备
下载CULane和Tusimple。 然后将它们提取到$ CULANEROOT
和$ TUSIMPLEROOT
。 创建到data
目录的链接。
cd $RESA_ROOT
mkdir -p data
ln -s $CULANEROOT data/CULane
ln -s $TUSIMPLEROOT data/tusimple
对于CULane,应具有以下结构:
$CULANEROOT/driver_xx_xxframe # data folders x6
$CULANEROOT/laneseg_label_w16 # lane segmentation labels
$CULANEROOT/list # data lists
对于Tusimple,您应具有以下结构:
$TUSIMPLEROOT/clips # 数据文件夹
$TUSIMPLEROOT/lable_data_xxxx.json # 这里说有4个这样的json文件,我重新下载了一下数据集,发现还是3个
$TUSIMPLEROOT/test_tasks_0627.json # 测试任务的json文件
$TUSIMPLEROOT/test_label.json # 测试标签json文件
对于Tusimple,未提供语义标注信息,因此我们需要根据json标注生成语义信息。
python tools/generate_seg_tusimple.py --root $TUSIMPLEROOT #$TUSIMPLEROOT:data/tusimple
#这将产生语义标签,生成对应的二值化图
1.1.5 安装CULane评价工具
此工具需要OpenCV C ++。 请按照此处安装OpenCV C ++。 或者只是使用命令sudo apt-get install libopencv-dev
安装opencv。
然后编译CULane的评估工具。
cd $RESA_ROOT/runner/evaluator/culane/lane_evaluation
make
cd -
请注意,默认的opencv
版本是3。如果使用opencv2,请在Makefile
中将OPENCV_VERSION:= 3
修改为OPENCV_VERSION:= 2
。
1.2 训练
运行如下脚本:
python main.py [configs/path_to_your_config] --gpus [gpu_ids]
例如:
python main.py configs/culane.py --gpus 0 1 2 3
1.3 测试
运行如下脚本:
python main.py c[configs/path_to_your_config] --validate --load_from [path_to_your_model] [gpu_num]
例如:
python main.py configs/culane.py --validate --load_from culane_resnet50.pth --gpus 0 1 2 3 --view
python main.py configs/tusimple.py --validate --load_from tusimple_resnet34.pth --gpus 0 1 2 3
注释:可以下载官方的模型,直接放在resa的主目录中,测试的时候将–load_from的地址修改为tusimple_resa34.pth。
作者在CULane和Tusimple数据集上提供了两个经过训练的ResNet模型。
(Tusimple:百度网盘 请输入提取码 (baidu.com)(code:s5ii),CULane:百度网盘 请输入提取码 (baidu.com)(code:rlwj))