论文题目:Enhanced free space detection in multiple lanes based on single CNN with scene identification

开源代码:github.com/fabvio/ld-ls

——————重要的事情要框住——————

这是一篇很奇特的论文,作者骨骼清奇,脑回路与众不同,我也不清楚应该怎样去评价,就只介绍吧

——————重要的事情要框住——————

一、概述

这篇文章做的是道路识别,和之前只识别车道线不同,他还考虑到自动驾驶决策时所用到的信息,一旦考虑到这一层,问题就多了去了,作者细致地把他能想到的都做出来了,这也是之所以说他奇特的地方(我猜测他生活中要么是个暖男,要么是个怪胎),下面我们就把他想到的列出来梳理一下:

  1. 所有被车道线框住的区域都是可行驶区域吗?高速路上三条路车道都是往一个方向的,可以随意变线,但是如果是在乡村双向道上,变线就会有麻烦。如果是在城市道路上呢,有时候是多车道往一个方向,有时候又是双向,这可咋整。作者就想了一个办法,对训练集里面的数据添加标签,分为高速、乡村、城市和其他,总之就是把这些作为先验信息让网络去训练。
  2. 车道上有车咋办? 作者的思路是只识别可行驶区域,而不是像其他车道线识别方法一样把车道线框住的所有区域都识别成一个大区域。也就是把障碍物所占的区域扣除去。
  3. 那这样不就变成了两个任务,车道线识别和障碍物识别? 两个网络? 为了实现端到端,作者把这两个网络合并到一起了。

二、算法介绍

算法的整体设计思想就是按照概述中提到的那几个点,所以算法的设计过程也是围绕这几点来进行的。既然是端到端,那核心就是这个网络,我们直接介绍网络结构。先上图

从图中可以看出,网络在经过encode以后就分化出两支,一支是decoder,用于从像素级别分类被车道线分割的各个区域,另一支是road classfication,用于输出图像的种类,是高速、乡村、城市、还是其他。

此处选用的网络是以ERFNet为原型做的改进,关于ERFNet如果想做详细了解,可以参考这篇解读

网络结构的详细信息如表中所示。其实这张表就是包含我们刚才所介绍的三大部分:encoder、decoder和road classfication

至于损失函数,作者使用的是交叉熵,在这方面他也没做什么改进,只是论文里专门有一小节介绍了这个东西。和网络结构一起,算是对他这整个网络一个完整的介绍。

三、实现效果

作者列了一张表,来对比其他同类方法的效果

表中最后一行是本文所最终使用的版本方法的效果,特别指出的是,最后一列是衡量运算量的指标,越小越好。从表中可以看出,精度方面他的方法并没有占忧,速度方面提升了很多,而且亮点是多了一个scene的识别,就是高速、城市等场景的识别,能够为决策提供依据

四、总结与思考

这篇文章我确实不知道应该怎么评价,它在精度方面并没有提高,唯一的亮点是多了一个场景的识别,在其他方法中,车道线检测和场景识别是分开做的,他把这两个任务统一到一起,实现了端到端。