前言
提示:在PolyLaneNet Lane Estimation via Deep Polynomial Regression这篇论文中作者实现了实现使用深度回归的方式预测车道线多项式的系数,作者并提供了代码和数据集供复现论文结果
论文翻译
源代码
提示:
一、下载源码,配置环境
在上面的链接中克隆代码到本地.
-
使用anaconda配置环境,anaconda还是比较简单的.
pip install -r requirements.txt
使用pip 命令安装相应的包. -
下载图森和论文中提到的数据集,其中一个好像需要给作者发邮件才行.我直接下载了图森的数据集.
-
在根目录下建立两个文件夹 如下图
-
在
experiments
文件夹中在建立一个tusimple
的文件夹.里面是模型文件
-
将数据集train_set文件拷贝到tusimple文件夹中,将整个测试集也放进去.
-
由于我没有做训练,直接使用作者训练好的参数做了下测试,所以在
experiments
文件夹中在建立一个models
文件夹,把权重文件放了进去
-
然后修改cfgs 下的配置文件,
tusimple.yaml
,在测试的时候命令行参数用的config.yaml
所以这两个文件我进行了同样的修改.
主要是修改数据集和测试集的路径
# Training settings
exps_dir: 'experiments'
iter_log_interval: 1
iter_time_window: 100
model_save_interval: 1
seed: 1
backup:
model:
name: PolyRegression
parameters:
num_outputs: 35 # (5 lanes) * (1 conf + 2 (upper & lower) + 4 poly coeffs)
pretrained: true
backbone: 'efficientnet-b0'
pred_category: false
curriculum_steps: [0, 0, 0, 0]
loss_parameters:
conf_weight: 1
lower_weight: 1
upper_weight: 1
cls_weight: 0
poly_weight: 300
batch_size: 16
epochs: 2695
optimizer:
name: Adam
parameters:
lr: 3.0e-4
lr_scheduler:
name: CosineAnnealingLR
parameters:
T_max: 385
# Testing settings
test_parameters:
conf_threshold: 0.5
# Dataset settings
datasets:
train:
type: LaneDataset
parameters:
dataset: tusimple
split: train
img_size: [360, 640]
normalize: true
aug_chance: 0.9090909090909091 # 10/11
augmentations:
- name: Affine
parameters:
rotate: !!python/tuple [-10, 10]
- name: HorizontalFlip
parameters:
p: 0.5
- name: CropToFixedSize
parameters:
width: 1152
height: 648
root: "/home/newmaker/TJK/TJK/tjk_work/PolyLaneNet-master/tusimple"
test: &test
type: LaneDataset
parameters:
dataset: tusimple
split: val
max_lanes: 5
img_size: [360, 640]
root: "/home/newmaker/TJK/TJK/tjk_work/PolyLaneNet-master/tusimple"
normalize: true
augmentations: []
# val = test
val:
<<: *test
二、训练测试
1.训练命令
我这里没有训练,命令如下
python3 train.py --exp_name tusimple --cfg tusimple.yaml
2.测试
python3 test.py --exp_name tusimple --cfg config.yaml --epoch 2695
为了方便可视化 我把63行的view = 1
结果:
总结
这里只是简单的测试了作者的代码,后续仔细学习代码.
模型文件
这是源码中 图森数据集的最好的那个模型参数。
链接:https://pan.baidu.com/s/1pk97t8T5g5VgvXbZd8Uqfg
提取码:plyg