第二十章 LaneAF框架结构以及接入MMDetection3D模型(车道线感知)

一 前言

近期参与到了手写AI的车道线检测的学习中去,以此系列笔记记录学习与思考的全过程。车道线检测系列会持续更新,力求完整精炼,引人启示。所需前期知识,可以结合手写AI进行系统的学习。

二 LaneAF接入openlane数据集

2.1 LaneAF文件结构

|-- README.md
|-- datasets  # 数据处理,返回img, seg, mask, af
|   |-- culane.py
|   |-- llamas.py
|   |-- openlane.py
|   |-- transforms.py
|   `-- tusimple.py
|-- infer_culane.py  # 推理
|-- infer_llamas.py
|-- infer_openlane.py
|-- infer_tusimple.py
|-- models  # banckbone
|   |-- dla
|   |   `-- pose_dla_dcn.py
|   |-- enet
|   |   |-- ASNeck.py
|   |   |-- ENet.py
|   |   |-- InitialBlock.py
|   |   |-- RDDNeck.py
|   |   |-- UBNeck.py
|   |-- erfnet
|   |   |-- __init__.py
|   |   |-- erfnet.py
|   |   `-- erfnet_encoder_pretrained.pth.tar
|   `-- loss.py
|-- train_culane.py  # 训练
|-- train_llamas.py
|-- train_openlane.py
|-- train_tusimple.py
|-- utils  # 工具
|   |-- __init__.py
|   |-- affinity_fields.py
|   |-- metrics.py
|   `-- visualize.py

2.2 ENet网络

ENet是一个轻量化的神经网络,因为我们的重点是学习体会LaneAF亲和力场的思想。下面是以下学习连接,可以自行查阅。
ENet —一种针对实时语义分割的深度神经架构
[论文笔记] ENet:Real-Time Semantic Segmentation
轻量级实时语义分割1:ENet & ERFNet

2.3 代码分析

下面我们对主要代码进行展开分析。

2.3.1 openlane.py

第二十章 LaneAF框架结构以及接入MMDetection3D模型(车道线感知)_第1张图片
类,函数与方法的调用关系:
第二十章 LaneAF框架结构以及接入MMDetection3D模型(车道线感知)_第2张图片

2.3.2 affinity_fields.py

第二十章 LaneAF框架结构以及接入MMDetection3D模型(车道线感知)_第3张图片

2.2.3 train_openlane.py

第二十章 LaneAF框架结构以及接入MMDetection3D模型(车道线感知)_第4张图片

代码逻辑比较清晰,并已做详细注释,故不作解读。

2.2.4 infer_openlane.py

第二十章 LaneAF框架结构以及接入MMDetection3D模型(车道线感知)_第5张图片

三 LaneAF接入MMDetection3D

3.1 代码结构

第二十章 LaneAF框架结构以及接入MMDetection3D模型(车道线感知)_第6张图片

3.2 相关代码实现

3.2.1 train.py

第二十章 LaneAF框架结构以及接入MMDetection3D模型(车道线感知)_第7张图片

3.2.2 openlane_dataset_AF.py

第二十章 LaneAF框架结构以及接入MMDetection3D模型(车道线感知)_第8张图片

3.2.3 openlane_af2D.py

第二十章 LaneAF框架结构以及接入MMDetection3D模型(车道线感知)_第9张图片

3.2.4 LaneDetector2D.py

第二十章 LaneAF框架结构以及接入MMDetection3D模型(车道线感知)_第10张图片

3.2.5 laneAF2Dhead.py

第二十章 LaneAF框架结构以及接入MMDetection3D模型(车道线感知)_第11张图片

你可能感兴趣的:(车道线检测,手写AI,深度学习,深度学习,视觉检测,人工智能)