基于UNet 分割模型增加了检测头来识别车道线的类型(单实线、双黄线等10种),同时可以识别出"所在车道"和"车道线类型"。
训练代码【训练练手代码】
1 数据说明
基于开源数据集 VIL100。其中数据标注了所在的六个车道的车道线和车道线的类型。
8条车道线(六个车道),对应的顺序是:7,5,3,1,2,4,6,8。其中1,2对应的自车所在的车道,从左往右标记。
车道线的类别(10个类别):单条白色实线、单条白色虚线、单条黄色实线、单条黄色虚线、双条白色实线、双条黄色实线、双条黄色虚线、双条白色实虚线、双条白色黄色实线、双条白色虚实线。
说明示例:
train.txt
/JPEGImages/0_Road001_Trim003_frames/00045.jpg /Annotations/0_Road001_Trim003_frames/00045.png 0 0 0 1 1 1 1 1 0 0 0 1 2 10 2 1
标签说明:
/JPEGImages/0_Road001_Trim003_frames/00045.jpg 图片
/Annotations/0_Road001_Trim003_frames/00045.png 分割标签(png的p模式存储的标签)
0 0 0 1 1 1 1 1 0 0 0 1 2 10 2 1 共十六个值,前8个是对应的车道(8条车道线,对应的顺序是7,5,3,1,2,4,6,8),后8个值是线的类别(10个类别)
0 0 0 1 1 1 1 1(共8条车道线,左起前三条000无车道线,11111有到车道)
0 0 0 1 2 10 2 1(每条车道线对应的类型,左起前三条000无车道线,1 2 10 2 1分别对应的车道线类型)
00045.jpg 图像
00045.png 分割标签
2 模型结构
基于UNet 分割模型增加了检测头来识别车道线的类型(单实线、双黄线等10种),可以识别出"所在车道"和"车道线类型"。
分割输出头9个通道,1(没有车道线)+8个条车道;车道线类型输出头8x11,8条车道是11种(1+10)的哪种线型。
3 分割效果
4 部署参考
onnx、tensorRT、RKNN、Horzion 部署