论文笔记 Road detection using convolutional neural networks
- 会议:European Conference on Artificial Life (ECAL)
- 机构:Aberystwyth University (英国)
Abstract
- 解决自动驾驶的问题:使用卷积神经网络预测图像中路面的位置和宽度。
- 实验了两种网络架构,六种色彩模型
- 使用机器人Pioneer 3-AT,离线测试5个不同的路段
1. Introduction
- 自动驾驶车辆都需要判断前方的路面和非路面区域
- 当道路线清晰,标准的图像处理+视觉方法可以直接解决
- 当路面不清晰时就会变得复杂
- 图像处理应该足够鲁棒,满足动态复杂路面检测的需求
- 如果能判断前方路面的位置的形状,能够使得问题变简单
Alvarez[^1],Thrun[^2] 尝试通过路面颜色分布的差异进行分割,这种方法不依赖道路标识,但是道路的颜色分布不是一直静止的,局部和动态的变化(阴影,水坑,纹理)都可以降低精度。此外,有些颜色通道,路面和非路面的分布基本没差异。
Ososinski[^3] 提出 Adaptive Statistical Colour Based(ASC),在图像上投影体形来定义路面区域。评估路面检测,采用Mahalanobis距离^wiki 评估在梯形内和外的像素。在多个道路上测试,大部分情况较好,但还是存在识别案例,以及有些具有系统性偏差。依赖前一帧颜色通道,当发生突变时可能存在问题。
本文主要参考这篇文章的工作框架
2. Related Work
- Zhou,提出支持向量机分割输入图像。其假设路面的结构路面,为了能够使用不同路面及减少分类错误,其不断加入新帧中的像素,删除旧帧中的像素。但是在复杂场景中该方法失效。
- Pomerleau,ALVINN项目,最早使用神经网络控制无人车在室外驾驶。三层前馈网络,输入灰度图像,输出车辆方向命令。网络的训练数据通过一个人在一个模拟道路环境中驾驶生成。之后在户外的一个运行车辆上让驾驶员假设车辆来训练网络。该网络能够在已训练过的路上进行假设,但是不能迁移到新的道路环境。
- 为了克服上述问题,Jochem,提出MANIAC模块,其包含几个独立的NN,分别对应基准不同的道路类型,然后整合到一个模块中,基于所有NN的输出,最后得出结果。该方法无法覆盖所以道路类型,需要大量NN,而且每加入一个新NN,整个系统需要重新训练。
- Shinzato,提出一种多网络方法适应多种路段。首先,每个图像被分为多块,每个块10x10像素,每个块被标记为可行或不可信,然后从block提取特征输入NN,然后综合结果输出预测。NN等方法对训练过的路段较好,但是对其他路段较差。
近几年神经网络发展迅速,在检测、识别相关的视觉问题上,卷积神经网络能实现更高的精度。神经网络能获得高层语义特征,对路面检测来说,提取高级语义能够实现更好的鲁棒性。
- Hadsell,使用CNN实现了野地自动驾驶
- Chen,Liu,使用赛车模拟器视频训练CNN,其效果比使用Gabor的baseline方法好。该方法还是主要限制在城市道路场景。
- Huval,使用CNN检测高速公路的车道线,训练数据采用大量采集的视频数据。
- Badrinarayanan,提出反卷积网络用于图片语义分割
- 据作者所知,上述方法没有在非城市道路评估,我们评估了Bad等人的方法在各种不同路面上的效果,如图1所示,效果较差。

Method
- 两个网络架构
- 10组道路序列图像,满足多样的道路环境
- 6个色彩模型(RGB,HSV,YUV,YCbCr,lab,CbCra),看是否会影响CNN的性能
- 评估方法类似Ososinski,结果显示最好的网络性能与ASC基本一致,在一两个环境下CNN更好
Road Shap
路面模型,梯形,两个可变参数,位置$x$,宽度$w$,如图2
增加高度$h$和角度$\theta$,能够实现更好匹配,但是会增加网络任务的复杂度。
对机器人来说位置x已足够让其保持在路面上,宽度w使其满足不同速度需求,使其保证行动的顺滑,不会产生突变。
个人觉得这个模型太简单

CNN
- 是否更深的网络能得到更精确的结果
- 作者设计了一个4层的网络LCNN,输入图像是50x50x3的图像,两层网络(见图3中红框),分别有1000和600个神经元,最后两个节点输出参数x和w
- 平均位置偏差大于20个像素

- 另一个模型采用AlexNet
- 参数随机初始化
- 学习率0.0001
- dropout:0.2(conv)0.5(fc)
- Caffe
- 使用ImageNet初始化,然后去掉最后两个全连接层,使用随机初始化两个输出节点
- 迭代30次

Datasets
自己采集标注了数据集,下载地址:https://www.aber.ac.uk/en/cs/research/ir/dss/#road-driving
离线检测
从6种色彩模型中选择选择每个模型最好的,好的标准是平均像素偏差。可以发现RGB不区分明度和颜色,YUV和YCbCr是相似的颜色模型,也具有相对更低的偏差。AlexNet跨颜色模型的效果更好。但是如果选择和是的色彩模型LCNN也可以与AlexNet比较。

选择两个表现最好的ASC的色彩模型(HSV和lab)与LCNN和AlexNet进行比较。比较结果如下面两个图所示。


Boxplots是一种统计图标,wiki,其关键是理解四分位数,Q1:25%数据小于等于它,Q2:50%数据小于等于它,即中位数,Q3,75%数据小于等于它,四分卫距IQR=Q3-Q1。Q3+1.5IQR就是外限,Q1-1.5IQR就是外限。超过外限的则显示出来。
![]()
可以发现AlexNet的性能比ASC要好,同时也比LCNN好。Lakeside数据集,NN方法偏右,ACS在KITTI数据集的效果较差,如图7所示。

Robot Trials
在室内进行多种颜色环境的训练,25条线路,5种不同道路环境。如图8所示。


25条线路,只有两个没有成功。Red-Blue路线,Robot很难保持在中间,如图8所示,会往右边的绿色区域偏离。
Conclusion
CNN可能不容易分解为清晰的操作原则,但是它们不受人主观意见的干扰,导致系统的鲁棒性受限。我们以ASC方法为baseline,AlexNet展现了更好的效果,并且其简化版LCNN也能达到相似等级的精度。我们在室内环境验证了方法的可行性。为了我们会在更广泛的数据上测试,并将在我们的robot移动平台上嵌入一个GPU模块,使其满足运行CNN,实现实时的控制需求。