深度学习笔记(十二)车道线检测 LaneNet 代码结构
lanenet-lane-detection ├── config //配置文件 ├── data //一些样例图片和曲线拟合参数文件 ├── data_provider // 用于加载数据以及制作 tfrecords ├── lanenet_model │ ├── lanenet.py //网络布局 inference/compute_loss/compute_acc │ ├── lanenet_front_end.py // backbone 布局 │ ├── lanenet_back_end.py // 网络任务和Loss计算 inference/compute_loss │ ├── lanenet_discriminative_loss.py //discriminative_loss实现 │ ├── lanenet_postprocess.py // 后处理操作,包括聚类和曲线拟合 ├── model //保存模型的目录semantic_segmentation_zoo ├── semantic_segmentation_zoo // backbone 网络定义 │ ├── __init__.py │ ├── vgg16_based_fcn.py //VGG backbone │ └─+ mobilenet_v2_based_fcn.py //mobilenet_v2 backbone │ └── cnn_basenet.py // 基础 block ├── tools //训练、测试主函数 │ ├── train_lanenet.py //训练 │ ├── test_lanenet.py //测试 │ └──+ evaluate_dataset.py // 数据集评测 accuracy │ └── evaluate_lanenet_on_tusimple.py // 数据集检测结果保存 │ └── evaluate_model_utils.py // 评测相关函数 calculate_model_precision/calculate_model_fp/calculate_model_fn │ └── generate_tusimple_dataset.py // 原始数据转换格式 ├─+ showname.py //模型变量名查看 ├─+ change_name.py //模型变量名修改 ├─+ freeze_graph.py//生成pb文件 ├─+ convert_weights.py//对权重进行转换,为了模型的预训练 └─+ convert_pb.py //生成pb文首先按照链接下载 Tusimple 数据集:train_set.zip test_set.zip test_label.json
调用 tools/generate_tusimple_dataset.py 将原始数据转换格式
这里会生成 train.txt 和 val.txt,调整格式如下:
testing/gt_image/0000.png testing/gt_binary_image/0000.png testing/gt_instance_image/0000.png testing/gt_image/0001.png testing/gt_binary_image/0001.png testing/gt_instance_image/0001.png testing/gt_image/0002.png testing/gt_binary_image/0002.png testing/gt_instance_image/0002.png 调用 data_provider/lanenet_data_feed_pipline.py 转换标注成 TFRecord 格式【LaneNet】车道线检测代码复现过程
