前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深层卷积神经网络在路面分类中的应用

深层卷积神经网络在路面分类中的应用

作者头像
智能算法
发布2019-07-16 17:28:37
1.5K0
发布2019-07-16 17:28:37
举报
文章被收录于专栏:智能算法智能算法

编者按:路面峰值附着系数是实现车辆精确运动控制的关键参数。现有的路面识别方法多是基于车辆动力学构建状态观测器实现。此类方法通常适用于车辆加速和减速期间,在轮胎力饱和的情况下,例如在强制动条件下,确定摩擦系数是可行的。困难在于在更正常的驾驶环境下获得摩擦估计,也就是当轮胎滑移率较小时的估计(路面附着利用较低)。实际的道路环境往往复杂多变,而此类方法的收敛速度往往不足以实现实时估计的要求。因此,如何实现高精度实时的路面识别方法将会是此类方法研究的难点与重点。与此同时,基于机器视觉的路面识别方法的优势在于探测范围广、预测性强,但是易受环境中的光线等因素干扰,未来此类方法的研究重点会放在抗干扰能力和对图像识别准确率上。而基于车辆动力学的识别方法与基于图像的识别方法的有效结合,可以充分解决实时性与准确性冲突的问题,基于图像的识别方法为基于车辆动力学的识别方法提供预测的参考输入,可以提前获悉前方路面的特征,使得智能驾驶系统的性能得到提升。

本文译自:

《Assessment of Deep Convolutional Neural Networksfor Road Surface Classification》

文章来源:

21st International Conference on IntelligentTransportation Systems (ITSC)

作者:

Marcus Nolte, Nikita Kister and Markus Maurer

原文链接:

https://ieeexplore.ieee.org/document/8569396

摘要:当参数化控制算法用于车辆稳定性或轨迹跟踪控制时,道路—轮胎摩擦系数是决定控制性能好坏的重要参数。影响摩擦系数的一个主要因素是路面状况。基于摄像头的前向路面分类,有助于实现车辆控制算法中的摩擦系数的早期辨识。在本文中,训练和比较两种不同的深度卷积神经网络模型在道路摩擦力估算中的应用,并描述了在可用的训练数据和合适的数据集构建方面训练分类器的挑战。

1

引言

几十年来,基于车辆动力学的控制系统已经在许多车辆中实施。实现良好性能控制算法的核心挑战是估计道路—轮胎摩擦系数μ,其表征车辆轮胎对当前路面的最大附着能力。μ取决于多种因素,例如轮胎和道路温度以及轮胎的材质,不同路面状况下的μ对最大可传递驱动或制动力具有重大影响。因此,估计摩擦系数是车辆动力学领域中广泛讨论的科学问题。

许多文献提出的方法(例如[1],[2])主要利用车辆的状态参数的变化实现摩擦系数辨识,例如利用当前测量的车辆动力学参数,搭建状态观测器来估计摩擦系数。另一类方法是利用车辆下方的传感器(麦克风、雷达、光学传感器),实现实时辨识车辆下方的路面特征。已经证明这些方法可以提高控制性能[2],更进一步地,预测方法可以为控制性能带来额外的好处,例如前瞻性估算可以使控制算法尽早获得到即将到来的路况。在车辆控制和无人车的轨迹规划的上层决策中,提前获知车辆前方的道路状况对策略的制定更加有益,尤其是当车辆接近潮湿或积雪的路面时。

激光雷达和毫米波雷达传感器允许检测湿表面,但相机可以利用路面反射率不同,通过图像提供高分辨率纹理信息。纹理信息不仅允许检测湿表面,而且还允许区分不同程度的湿表面,例如在混凝土和鹅卵石路之间。这些附加信息已经被用于预测道路摩擦系数[3]-[5]。由于深度卷积神经网络(CNN)已成功应用于不同的分类任务,同时也适用于自动驾驶领域,因此使用基于CNN的方法进行路面分类似乎很有希望。

然而,学习分类器的性能很大程度上依赖于训练数据的设计。大多数可用数据集都记录在市区的干燥条件下。因此,对于给定任务,数据集提供给训练的CNN是一种不均匀不充分的信息。从公开可用的自动驾驶数据集[6] [7]创建了一个混合数据集,包括其它来自[8]的记录的数据,以及不是专门为自动驾驶而设计的数据集的图像[7][9][10]和来自网络搜索的图像。基于这个混合数据集,本文提出了基于ResNet50 [11]和InceptionNetV3 [12]的两种不同卷积网络架构,以区分六类路面。在训练数据集的设计时,比较和讨论了从两个网络获得的结果。

本文的其余章节组织如下:第二节总结了前人关于路面附着系数估计的工作。第三节描述了为训练给定任务CNN创建均匀充分数据集的挑战。在描述了第四节中分类的常用方法之后,第五节描述了网络架构的训练参数。获得的结果将在第六节讨论,然后讨论对所提出方法的未来应用展望(第七节)。

2相关工作

关于相关工作,Khaleghian等最新出版了关于道路摩擦估计方法的文献综述。在本文中,将集中讨论基于摄像头和深度学习的的路面分类方法。

在[3]中提出了一种用于音频和视频数据的路面分类组合预测方法。他们使用灰度共生矩阵来区分图像部分的纹理属性。它们在白天和夜晚条件下区分六种不同类别(干燥,潮湿沥青和鹅卵石)的路面。基于图像的分类与音频信息融合,音频信息被处理以提取不同路面的特征频率。不幸的是,没有提供关于两种方法的性能的信息。

Omer和Fu提出了一种纯粹的基于图像的方法来检测积雪路面[4]。车辆前方的区域用于转换成图像直方图作为特征训练支持向量机。使用地理定位信息作为附加功能,可以实现85%的平均分类准确度。

钱等评估不同的基于深度学习的动态区域表面分类方法[5],评估的特征是MR8 [14]以及SURF特征[15]。为了分类,将Fisher Vectors与Bag of Visual Words以及Texton字典进行比较。训练分类器进行二级(沥青与积雪冰雪覆盖的道路)、三级(干沥青、湿沥青、雪或冰覆盖的道路)至五级分类(干沥青、湿沥青、积雪、冰路面)。对于二级分类,具有98%分类准确度。对于五级问题,分类准确率降至62%。

Valada和Burgard提出了一种基于音频的方法,并利用复发长短期记忆(LSTM)单位辅助训练卷积神经网络,以区分九个类别的路面(沥青、割草、高草、铺路、鹅卵石、泥土、木材、油毡和地毯)[1]。卷积层的输入数据是通过短期傅里叶变换提取的谱图。该方法的平均分类准确度分别为97.52%(仅CNN)和98.67%(CNN + LSTM)。

3

关于可用数据集的挑战

训练深度神经网络的一个挑战是适当的、带注释的训练数据。训练神经网络用于分类任务的一个挑战是由数据集中过度表示的类(多数类)和代表不足的类(少数类)引起的类不平衡问题:如果单个类支配训练集或单个类仅表示少量样本,分类性能会显著降低[16]。对于深度卷积网络在路面分类中的应用,这会产生以下结果:虽然有许多数据集可用于图像分类(ImageNet [17])或自动驾驶,例如KITTI [6],但是缺乏一个特定的数据集使得路面分类可用。借助于那些用于自动驾驶的数据集会导致数据集严重不平衡,因为大多数图像是在晴天或多云的天气中记录的,原因是如果挡风玻璃上没有雨水能获得更好的照明和更少的光学障碍。此外,大多数记录的路面是平坦的沥青,而没有表示诸如土路或沙子的表面,因为它们不常出现在城市道路上。

A. 数据集的组成

为了选择合适的训练数据,我们研究了各种可用的数据集,这些数据集应该为整个表面类型提供更平衡的图像集。此外,组合来自多个数据集的训练数据具有覆盖若干不同摄像机的优点,这有助于避免学习特定车辆的摄像机设置的特征,影响网络的泛化。我们应用的一个限制是,朝向表面的视角应该与挡风玻璃安装的相机的视角模糊地相似,以避免对所选图像施加人为扭曲。对于数据集的组成,我们使用以下数据集中的图像:

• NREC Human Detection & Tracking in Agriculture[18]

• KITTI Vision Benchmark Suite [6]

• Oxford Robocar Dataset [7]

• New College Vision and Laser Data Set [10]

• Imageset published by [9]

• Image sequences captured in the Stadtpilot projectby our research vehicle Leonie [8]

每个单独数据集中可用的获得的类列于表I中。

表I 各个数据集中的可用类,括号中的数字表示所选样本的总数

分析这些数据集并将大多数类“沥青”与少数类“鹅卵石”进行比较产生10:1的不平衡比:“沥青”由超过10000个图像组成,而“鹅卵石”仅用1300多个图像表示。

为了抵消这种不平衡,我们在[19]的例子中添加了来自Google image search的更多图像,而不是应用过度采样或欠采样,以进行细粒度图像分类。

B.测试和训练数据的选择

所有使用的数据集都提供帧序列,而不是独立记录帧的随机集合。因此,来自单个序列的帧之间的道路状况仅略微变化。当将所选图像分成测试和训练集时,我们不仅分割单个序列,而且还选择来自不同序列的图像以进行测试。最终使用的测试集由每个类的300个图像组成。

剩下的图像用于训练,构建三种不同的训练集。

第一组仅由来自上述数据集的图像组成。为了创建平衡集,每个类随机选择700个图像训练,300张图像用于测试验证。

对于第二个数据集,如前所述,使用来自Google image search的图像扩展了“鹅卵石”和“湿沥青”。由于图像搜索导致可用样本(草)太少或者有足够数量的图像(沥青),因此只扩展了前两类。使用Google image search扩展了“鹅卵石”,使每个类包含2500个图像。“湿沥青”被延长以增加该类别内图像的变化。因此,训练集增加了一倍多。选择500个图像进行验证。

对于第三个数据集,来自基本数据集的所有类都使用来自Google image search的300个图像进行扩展,这些图像对应于“草地”。、

为了克服序列中连续帧之间缺乏变化的问题,使用的序列以n为单位进行帧的采样,其中n取决于序列的长度。

4

路面分类方法

为了对车辆前方的道路状况进行分类,评估了几种策略,包括对整个图像进行分类并选择感兴趣的区域。对整个图像执行分类任务可提供有关环境的其他信息,例如光照条件和天空。然而,评估表明,这种方法导致严重的过度拟合,只能提供80%的验证准确性。因此,对感兴趣的区域(参见图1)进行分类,其将验证准确度提高到超过90%,如第六节中的结果所示。

图1 选择感兴趣区域的一些示例图像,裁剪的图像被调整为224×224像素

由于具有不同视野的不同相机导致每个所选数据集中道路的位置不同,因此针对每个数据集单独定义感兴趣区域的位置。提取的纹理贴片尺寸调整为224×224像素,用于训练和分类。

5

训练参数

如上所述,我们评估了ResNet50和InceptionV3的分类任务。两种架构都使用来自ImageNet数据集的预训练权重进行初始化,并使用交叉熵作为随机梯度下降最小化的成本函数进行训练。两种架构的初始学习率设置为3·10-5,以保护预先训练的权重。以48为单位的批量大小进行训练,验证准确度在五个周期之后没有显著增加,因此较早使训练停止以避免过度拟合。

为了适应车辆的运动以及由此导致的路面视角变化,我们还对每个批次应用了数据增强。为此,纹理贴片水平镜像以±40°的间隔随机旋转,并按随机因子0.9至1.1进行缩放。

由于感兴趣的区域可以包含模糊的纹理信息,例如如果补丁中有多个表面类型,则所选标签在某种程度上可能不正确。出于这个原因,我们应用了0.1倍的标签平滑。

6

结论

A.训练和分类表现

本节概述了所实现的训练和分类结果,其中包括上述三个数据集的实现体系结构(普通、两个类的图像搜索增强、所有类的增强)。

考虑到训练性能,InceptionV3模型在七(第二训练数据集)到十(第一训练数据集)周期之后终止。在第三个周期之后达到最大验证精度,如图2(左侧)所示。在基本数据集和第二数据集上训练的模型的平均验证准确度是可比较的。

使用来自Google image search的所有类的图像扩展基本数据集导致训练数据的验证准确度降低约1.5%。训练数据集的扩展不会影响训练的持续时间。在NVIDIA Titan X GPU上进行的推理平均时间需要153 ms。

图2 在三个数据集上训练的InceptionV3(左)和ResNet50(右)架构的训练和验证准确性。从上到下:基本数据集,具有从图像搜索扩展的鹅卵石类别和湿沥青类别数据集,具有图像搜索增强的所有类的数据集。绘制所有数据,直到人为使训练终止。

在评估测试数据集的性能时,InceptionV3架构的行为有所不同:

在第一和第二数据集上训练模型的测试准确度为90%。然而,使用图像搜索中的图像扩展所有类,导致测试精度仅为84%。模型的行为提供了一个提示,即训练数据的额外变化不会带来任何好处。相反,网络开始过度拟合。ResNet50架构的训练比InceptionV3模型的训练花费更长时间:训练在十(基本数据集)到二十个周期(第二和第三数据集)之后终止。与InceptionV3架构相比,添加来自Google image search的图像可加快训练过程(参见图2,右侧)。

在第一个数据集上训练的ResNet模型在测试数据集上出现了比相应的InceptionV3模型更低的测试精度(80%)。但是,从Google image search中部分添加图像可将测试精度提高4%,达到92%。

ResNet50架构暴露了与InceptionV3相同的过度拟合行为,当基本数据集扩展为每个类的图像时,性能降低到84%。在NVIDIA Titan X上,ResNet50的推断需要94 ms。

B.结果分析

查看图5中的辨识图谱,来自“湿沥青”的图像通常被归类为沥青,但在任何情况下都没有归类为草地,在增加“鹅卵石”和“湿沥青”类别时。相比之下,鹅卵石的分类精度提高了2%,沥青的分类精度提高了12%。来自雪和草地类的图像具有高辨识率。

通过检查错误分类的图像,可以识别出错误分类的几种可能原因。

第一个是图像中的主导颜色。在雪和草的给定类别中,最显著的特征是颜色,因为草通常是绿色的并且被雪覆盖的道路通常是白色的。因此,作为学习特征的颜色可以导致两个类的高辨识率。评估错误的那些分类,它们的图像包含这些颜色。错误分类的样品如图3所示。

图3 每行中的前两个图像是被错误分类,最右边的图像是训练集的一部分。

当评估来自“污垢”类别的图像时,错误分类的样本部分地包含草的特征,这使得该类倾向于被错误分类为草。错误分类的原因同样适用于包含过度曝光区域的图像,该区域看起来是白色的,因此可能被错误分类为雪。不是只有含有“污垢”类别的样品容易产生模糊的纹理信息,如图4所示

图4 具有模糊类别的图像示例:鹅卵石上有水坑(左),鹅卵石和沥青混合(右)

如果感兴趣的区域包含两个路面之间的过渡(例如沥青和鹅卵石,如图4右侧所示),则它包含两个类别的特征,因此也易于错误分类。另一个例子是在已经干燥的鹅卵石路上留下水坑(图4左侧)。虽然表面的一部分是湿的,但表面应该被认为是鹅卵石。

图5 对测试数据的评估:经过培训的InceptionV3(顶部)和ResNet50(底部)体系结构的图谱。从左到右:基本数据集,具有从图像搜索扩展的鹅卵石类别和湿沥青类别数据集,具有图像搜索增强的所有类的数据集。

尽管分类器在单帧上运行,但图像是序列的一部分。为了在应用于这些序列时获得分类结果的稳定性的印象,我们评估了来自Stadtpilot项目的样本序列的分类,其不是训练数据集的一部分。没有在帧之间执行跟踪。

图6 分类结果是序列。每个图像被分开分类,不执行跟踪。从上到下的真实情况:鹅卵石,湿沥青,湿沥青。

对于该分类,在第二数据集上训练的ResNet50。在图6中,显示了序列中三个最差的分类结果。观察这些结果,可以看出错误分类倾向于出现在几个帧的组中。如中心和底部序列中所示的波动可以使训练的分类器不适合于自适应控制算法。

7

结论和未来的工作

在本文中,我们提出了一种基于CNN的路面分类方法,可以作为预测道路摩擦系数的基础。经过训练的网络模型能够区分六种类型的表面标签。通过Google image search得到不常见类的图像来补充来自公开数据集的自动驾驶数据,有助于将ResNet50的整体分类准确度提高4%,并在区分湿沥青和鹅卵石时减少混淆。

对于所呈现的任务,如果基本数据集扩展为包含少数类别补充的图像集,则训练的ResNet50模型在测试数据上的平均分类准确度方面优于InceptionV3 2%。测试数据集的平均准确度为92%,该方法的性能优于使用基于图像的经典特征分类器的方法[4][5]。不幸的是,[4]和[5]都没有提供关于精度的更详细的结果,因此基于平均精度的比较可能会受到类的实际选择和可用的区别特征的偏差。

与[1]中提出的基于音频的反应分类方法相比,我们的方法在平均分类准确度方面提高5%至6%(CNN与CNN + LSTM),而且提供了在车辆前方的预测。

对于将来的工作,我们将把方法扩展到语义分割的图像。这保证了关于表面贴片位置的细粒度信息,从而提供了控制算法参数化的附加信息。为了稳定序列的分类性能,我们将评估LSTM单元添加到ResNet50模型的可行性。

对于所提出的CNN模型在道路摩擦力估算中的应用,湿沥青和泥土作为沥青的错误分类是一个关键问题,因为这可能导致过高的道路摩擦系数,这反过来会降低危急情况的控制性能。出于这个原因,我们将进一步研究ResNet50模型以解决这些类的错误分类。

声明:本文系网络转载,仅作学习交流,版权归原作者。如涉版权,请联系删!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 智能算法 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像搜索
图像搜索(Image Search)基于腾讯云的图像解决方案,集成了图像检索、超细粒度元素挖掘和图像匹配等技术,通过以图搜图的方式在用户自建图片库中快速检索出与输入图片相同或相似的图片集合,可应用于图片版权保护、电商侵权审核、相似素材查询、同款商品搜索与推荐等场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档