论文中提到了两部分网络一个是lanenet做车道预测一个是hnet做车道拟合LanenetLaneNet网络分为两个分支论文中的segmentation branch是做二分分类判断是否是车道线对应的就是代码中的binary segmentation论文中的embedding branch是为了区分不同的车道线对应的就是代码中的instance segmentation。代码中将这两部分branch的名字稍作改变确实比较好理解。Binary segmentationBinary网络Binary segmentation的backbone部分代码实现了vgg和dense两种网络结构实际上与论文中的ENet不一样建议还是要使用ENet作为backbone因为vgg和dense肯定都无法达到real time的效果。我参考github上的enet将Binary segmentation的backbone替换成了enet。从论文中我们知道Binary这个分支和Instance这个分支公用ENet的前两个stage后面三个stage是各自不同的。Binary LossBinary Loss Binary的gt image其实就是一张二值化的图片车道部分显示白色背景显示黑色。gt image是由tusimple数据中json文件生成的将json文件中每条车道的点进行拟合画出来的曲线。处理的脚本可以参考generate_tusimple_dataset.py但是这个文件中稍微有点问题没有过滤掉tusimple数据集中没有标记的图片。需要自己稍微修改一下。网络output的tensor是[width, height, 4]可以看成是图片每个像素点上是4个数字后面会用这四个数字进行聚类。Instance Lossgt image网络训练好后我们运行网络可以得到两张图片一张Binary一张Instance