1. 引言
在过去十年中,由于自动驾驶汽车和现代汽车中的自适应车辆动力学的发展,道路类型分类已成为一个热门的研究领域,这些汽车面临严重的网络威胁 [1]。高级驾驶辅助系统 (ADAS) 的功能之一是紧急车道保持系统 (ELKS),该系统在欧洲是所有 M1 和 N1 类别新车的强制性要求 [2]。该系统至少应在 65 公里/小时到 130 公里/小时之间的速度时激活。但是,城市中有些道路的限速为 70 公里/小时,并且道路标记质量较差,因此系统不应处于活动状态。因此,它可能会做出错误的决定。例如,在自适应车辆动力学的情况下,车辆的电机控制单元 (MCU) 可以根据环境调整发动机,以减少燃料消耗和排放。
在行业中,真实世界的驾驶数据与识别道路类型相结合,可以帮助了解用户需求。这种新的数据驱动方法是认知移动性的基本支柱,它将数据采集、评估和决策结合到一个整体系统中 [3]。例如,如果知道车辆在不同道路类型上行驶的数量和方式,那么就可以对部件的损坏做出更准确的预测。这可以导致设计更耐用的汽车,为更可持续的未来做出贡献。此外,道路类型分类有助于提高道路安全性,因为驾驶员在居民区可能会超载,而在高速公路上可能会受到不足的激励 [4]。
微型移动设备和电动动力总成的增长正在改变运输习惯,这也可能会影响需求。近年来,已经发表了许多关于智慧城市和移动性的文章,但这些文章需要时间才能得到广泛传播、标准化或引入[5,6,7,8,9,10,11,12]。此外,人工智能,尤其是神经网络,在评估方法中越来越广泛,因为决策不需要一套复杂的规则[13,14,15]。
文献综述
文献中已知道路类型分类问题的几种变体。最广泛的分组是决定它是公路地形还是越野地形 [16\u201217\u201218]。道路类型包括住宅区内部和外部的两类不同的道路。在后一种情况下,可以根据限速进行进一步划分:乡村道路或高速公路。有关不同国家/地区其他道路类型的更多信息,请参见 [19]。
在文献中,对道路进行分类有两种主要方法:基于图像和基于驾驶数据。Tang 和 Breckon 研究了一种针对两个分类问题的低成本相机解决方案:两类(公路和越野)和四类(越野、城市、主要/主干道和多车道高速公路/车道)[20]。从驾驶员的视角摄像头视图定义了三个固定的子区域:道路、道路边缘和路边。输入是这三个子区域的向量,其中包含每个图像帧的纹理、颜色和边缘衍生特征。使用 k 最近邻 (k-NN) 方法和 ANN 方法进行分类。ANN 对 2 类问题的准确率为 90-97%,对 4 类问题的准确率为 80-85%。
Slavkovikj等人通过无监督学习,根据真实世界的道路图像将道路分为两类:铺砌道路和未铺砌道路[21]。在 16,000 个训练样本和 4000 个测试样本中,使用了两步法,在基于 k 均值的判别特征学习之后,使用 SVM 作为分类器。在随机选择的测试集上,无监督特征的准确率达到 85%。
Seeger 等人使用占用网格映射来识别车辆是在高速公路、高速公路、城市道路还是在停车场行驶 [22]。测试车辆配备了激光雷达、雷达和摄像头。使用二进制支持向量机 (SVM) 和卷积神经网络 (CNN) 对文献 (AlexNet [23] 、 GoogLeNet [24] 和 VGG16 [25] 进行分类。结果表明,支持向量机的精度与众所周知的卷积神经网络相似。
Saleh 等人使用卷积神经网络根据路面对公开可用的图像进行了分类 [26]。GoogLeNet [24] 和 VGG16 [25] 通过微调过程进行了进一步训练,分别达到了 98% 和 99% 的准确率。
Mohammad 等人使用了一种基于不断发展的高斯混合模型 (GMM) 的视频分割算法 [27]。对于实验结果,城市模型使用了 [28] 中的视频,而对于其他类,视频来自 YouTube。该方法的性能优于最先进的方法,总体准确率为 96%。
Zheng et al. 引入了一种基于跨层流形不变性的修剪方法,以减小文献中使用的卷积网络的大小 [29]。总共使用了 137,200 张图像,来自 102 个首次观看的视频,其中包括越野、城市和主干道以及高速公路。该方法实现了最先进的性能,参数减少了 40%。
另一个主要类别是基于驾驶数据的分类,其中包括速度、加速度或方向盘角度等数据。Murphey 等人开发了一种基于人工神经网络 (ANN) 的预测模型来识别多种道路类型和交通拥堵程度 [30]。其目的是创建一个车载智能功率管理系统,以减少燃料消耗和排放。特征是时间窗口内速度和加速度的最小值、最大值和平均值,以及在特定速度或加速间隔内花费的时间百分比。11 个标准驾驶循环用于训练 ANN,称为与美国道路类型相关的设施特定循环 [31]。
控制器局域网和车载诊断 (OBD) 数据经常用于实际驾驶行为分析。Daniel 等人根据从 OBD 收集的数据 [32] 引入了一种基于速度的道路类型分类,使用最大车速、平均非怠速车速和车速时间驻留。驾驶被划分为 40 s 的微行程,按前面的指标分类,然后重新分组,以便必须至少在城市中连续行驶一次,在农村中至少有一次连续行程,在高速公路上至少有一次连续出行。本文侧重于分析美国和欧盟的驾驶风格,因此不详细讨论分类。
Taylor 等人对英国道路使用了三种分类方法:单车道或双车道;A、B、C 公路或高速公路;白色、绿色、蓝色或无符号 [33]。在评估过程中,使用了控制器局域网 (CAN) 总线的 10 个属性,例如速度、档位、方向盘角度或悬架运动。随机森林算法获得了最好的结果,其 AUC 值比基于模型的解高得多。
Lee 和 Öberg 使用了带有 GPS 装置的 OBD 数据记录设备 [34]。基于速度的道路类型分类在一个小样本集上执行,并与通过将记录的 GPS 点投影到开源 Open Street Map 上获得的结果进行比较。该研究的重点是驾驶风格与油耗之间的相关性。有人指出,车载 GPS 在山区或城市中无法提供可靠的信号。
Hadrian等人提出了一种端到端方法和时间序列分类方法的组合,称为DeepCAN,它使用CAN总线数据(如速度、加速度、气体和制动踏板信号)进行道路类型分类[35]。该方法包括两个阶段。第一个是表示学习阶段,此时创建潜在特征和聚合特征表示。然后,在分类器学习阶段,将 CNN 用于潜在特征作为端到端分类器,并使用基于梯度提升机 (GBM) 的分类器作为聚合特征。之后,元学习器将两个分类器的决策组合在一起。数据集的一部分是机密的,因此将混合方法与每个分类器的结果进行比较。
表 1 总结了上述相关方法。这些研究的主要分组基于数据类型,可以基于图像或驾驶数据。驾驶数据通常可以从车辆的 CAN 总线记录,该总线可以进一步分为两组:唯一和通用。OBD 是唯一仅提供纵向车辆动力学数据的通用诊断协议。通用意味着数据记录器在更大的车辆组上使用相同的设置;在 OBD 的情况下,这些是配备 ICE 的混合动力汽车。通过高级诊断或访问车载通信,可以获取任意数据。但是,在这种情况下,必须为每辆车单独配置数据记录器。例如,在 [30,33] 中,使用了方向盘角度,在 [35] 中,踏板位置用于分类。表 1 还显示,在大多数情况下,机器学习方法,尤其是 ANN 或 CNN,已被用于分类问题。
表 1.相关道路类型分类方法的摘要。
Table 1. Summary of the relevant road type classification methods.
Data Type | Method | Classes | Authors and Year |
---|
Image | ANN k-NN | off-road, urban road, trunk road, motorway | Tang et al. [20] 2011 |
Image | k-means SVM | paved, unpaved | Slavkovikj et al. [21] 2014 |
Image | SVM CNN | parking area, urban, highway, freeway | Seeger et al. [22] 2016 |
Image | CNN | concrete, rough, sandy roads | Saleh et al. [26] 2020 |
Image | GMM | off-road, urban road, trunk road, motorway | Mohammad et al. [27] 2015 |
Image | CNN | off-road, urban road, trunk road, motorway | Zheng et al. [28] 2021 |
Driving data (unique) | ANN | local, arterial, freeway ramp, freeway | Murphey et al. [30] 2008 |
Driving data (unique) | Random forest | car park, local roadway, main roads, motorway | Taylor et al. 2012 [33] |
Driving data (unique) | GBM CNN | residential road, secondary road, motorway | Hadrian et al. [35] 2023 |
Driving data (universal) | Conventional | city road, rural road, highway | Daniel et al. 2009 [32] |
Driving data (universal) | Conventional | city road, rural road, highway | Lee et al. [34] 2015 |
Driving data (universal) | ANN | city road, rural road, highway | Tollner et al. 2025 |
本研究的目的是开发一种方法,根据驾驶数据确定驾驶事件是否发生在城市、农村地区或高速公路上。此外,该方法需要设计为适用于未知的未来数据。因此,我们的方法选择了通用驾驶数据类型作为输入,主要是速度参数。另一个关键问题是获取基本事实,即有关真实类的信息,从中可以确定方法的准确性。在最先进的方法中,地面实况(即标签)要么在测量过程中手动生成,要么将记录的 GPS 坐标映射到地图上。由于普遍性,记录 GPS 数据对我们来说不是一个选项,因为这些是根据 GDPR 的个人数据。
本研究的贡献如下:
-
我们建议一种适用于所有内燃机或混合动力汽车的数据记录方法,并且可以提供标记数据来验证方法的准确性;
-
我们提出了一种基于神经网络的通用驾驶数据道路类型分类方法,该方法优于我们数据集上现有的最先进方法;
-
我们已经表明,可以使用不同的技术来进一步提高准确性并减少不需要的错误分类的数量;
-
我们提出的方法仅按速度分类,因此可以应用于任意车辆中由任意方法记录的速度曲线。
手稿结构如下。第 2 节介绍了数据记录方法和记录数据的描述。数据清洗、预处理方法和使用的方法在 第 3 节 中给出。在第 4 节中,我们介绍了用于提高性能的结果和技术。第 6 节讨论了这些方法的优缺点和局限性,而最后一部分包含我们得出的结论。
2. 数据记录
由于诊断协议和正则化不同,没有适用于所有车辆的数据记录器,无论动力总成类型如何。此外,任意车辆的车内通信尚不清楚。但是,数据记录仪通常通过 CAN 总线与车辆通信。
2.1. 硬件和软件
尽管电动汽车呈增长趋势,但它们的数量仍然相对较低。根据匈牙利中央统计局的数据,匈牙利乘用车总数的 62% 是汽油车,32% 是柴油车,5% 是混合动力车,1% 是电动车 [36]。因此,数据收集的重点是内燃机 (ICE) 和混合动力汽车。
OBD-II 标准自 2001 年起在欧洲成为汽油车的强制性标准,自 2004 年起成为柴油车的强制性标准[37,38]。该标准允许外部设备访问汽车中的当前数据。OBD-II 诊断方案是公开的;因此,可以通过车辆的 CAN 通信网络在所有车辆上以相同的格式记录参数。有关数据记录和诊断方案的更多信息,请参见 [39,40]。在该方法开始时,选择了一组更广泛的参数来检查它们是否包含额外的信息以改进分类。该参数集如表 2 所示。由于 CAN 通信的串行数据传输,这 9 个参数被连续记录。
表 2.从 OBD-II 标准中选择的参数集,用于数据记录。
Table 2. The selected parameter set from the OBD-II standard for data logging.
Parameter | Parameter ID | Unit | Resolution |
---|
Speed | 13 | km/h | 1 |
Engine speed | 12 | rpm | 1/4 |
Engine load | 4 | % | 1/2.55 |
Throttle position | 17 | % | 1/2.55 |
Engine run time | 31 | s | 1 |
Ambient temperature | 70 | °C | 1 |
Engine coolant temperature | 5 | °C | 1 |
Mass air pressure (MAP) | 11 | kPa | 1 |
Mass air flow (MAF) | 16 | g/s | 1/100 |
我们的目标是使用人工智能 (AI),尤其是 ANN,来解决分类问题。这些方法通过监督学习进行学习,因此需要标记数据,其中标签指示驾驶实际发生的位置。GPS 不适合此目的,因为隐私权和城市和农村地区的性能不佳。因此,除了数据记录器之外,还在触摸屏上创建了一个图形用户界面,允许驾驶员手动选择道路类型(图 1)。
图 1 显示了点火开关打开后的初始化状态。顶行中显示的状态是独占的;当前状态保存在每个周期中。3 × 3 个白框仅提供信息,以确保数据记录正常工作。右下角的三个蓝色框可用于以二进制形式指示是否有任何交通或环境条件影响驾驶。当状态为 active 时,该框将变为红色。
电子控制单元 (ECU) 在点火开关关闭时不工作,因此它们不响应诊断请求。这使得实现分离变得容易,以确保测量文件从点火开关打开到点火开关关闭。这些测量文件可以解释为具有 13 列的表格。除了表 2 中所示的 9 个 OBD-II 参数外,这些列如下:
-
道路类型:无、城市、农村或高速公路,分别编码为从 0 到 3 的整数。
-
Traffic:二进制,表示慢行路段,例如高速公路上的交通拥堵。
-
雨:二进制,表示由于降雨导致行驶缓慢的路段。
-
夜间:二进制,表示由于能见度有限而行驶缓慢的路段。
任何能够 CAN 通信的硬件都适合记录 OBD-II 参数,但需要触摸屏来记录道路类型。我们选择的配置包括以下部分:Arduino Giga R1 Wifi、Seeed studio 的 CAN-BUS 扩展板 v2 和 Arduino Giga 显示扩展板。
2.2. 记录结果
图 2 显示了匈牙利乡村旅行的典型模式。红色、蓝色和绿色背景分别表示城市、农村和高速公路路段。在速度剖面中,可以看出,在 60 分钟左右,高速公路上的速度下降到 50 公里/小时以下,这使得分类变得困难。此外,高速公路之后的农村地区的速度低于最后一个城市路段。MAP 不包括在数字中,因为车辆通常只有 MAP 或 MAF,而环境温度不包括在内,因为它不包含此阶段的相关信息。
在数据记录过程中,驾驶员的注意力至关重要,因为他选择的道路类型被接受为基本实况。出于这个原因,我们只制造了两台数据记录仪并安装在我们的汽车上。测量期在 2024 年,从 6 月初到 10 月初。驾驶数据包括从日常通勤到工作再到家庭度假的所有内容。结果总结在表 3 中。
表 3.四个月测量的摘要。
Table 3. Summary of the four-month measurement.
Total | Number of cycles | 266 |
Distance | 6557 km |
Duration | 119.96 h |
Average | Speed | 54.6 km/h |
Distance | 24.65 km |
Duration | 26.78 min |
Road Type | City | 55.9% |
Rural | 23.9% |
Highway | 20.2% |
Environment | Traffic | 3.22% |
Rain | 2.42% |
Night | 6.59% |
3. 方法
表 2 中提供的测量参数用于开发方法。发动机转速和负载、油门踏板位置、MAP 和 MAF 是与发动机相关的值。因此,这些不能用于通用的独立于车辆的评估。环境温度、发动机冷却液温度和运行时间不提供道路类型分类的相关信息。因此,表 3 中所示的记录驾驶循环的方法中仅使用了车速和标签。
3.1. 数据清理
以下方法仅对速度点进行作,不获取相应的时间作为输入。但是,测量文件中的速度点在时间上并非等距。这可能是可能的,原因有两个:在数据请求期间 ECU 或 CAN 总线繁忙,并且诊断在车辆运行中只有次要优先级。速度点之间的平均距离为 0.1725 秒,标准差为 0.0443。使数据点均匀分布的最简单方法是插值。根据经验,选择了 1 s 的插值间隔。
每个速度点都附有标签,指示驾驶发生的位置。标签可以具有以下值:
-
0:未定义(初始状态;表示特殊情况)
-
1:城市
-
2:农村
-
3:高速公路
标签随速度插值,获得的值四舍五入为整数值。
3.2. 常规方法
从文献综述部分提到的最先进方法中,只有 [32,34] 可以应用于使用相同方法的速度数据。但是,这些研究侧重于驾驶风格分析,而不是准确的道路类型分类,因此没有详细描述这些方法。
该方法包括 2 个阶段:第一个阶段是分类,第二个阶段是将短于给定阈值的段与相邻段合并。第一阶段如算法 1 所示。将 D 表示为测得的行驶循环的集合,其中每个驱动循环由一个速度向量和一个标签向量组成 根据原始方法,将驱动循环分成 40 s 段;设此集合为 S。在我们的版本中,S 包含驾驶循环的最后部分,这些部分短于 40 s。删除集合 S 中速度为零的段,得到集合 S'。
对于集合 S' 的每个元素,计算最大速度 (M)、平均非空闲速度 (N)、平均速度梯度 (G) 和标签向量 (L) 的模式。在原始方法中,使用速度时间驻留时间而不是平均速度梯度,但未定义如何确定此值。前三个指标 (M, N, G) 具有不同的数量级,并且对类的确定贡献不同。因此,应应用加权。权重的值是通过优化确定的,其中指标的加权和与标签的模式之间的差异之和最小化。然后,根据指标的加权和计算类。
Algorithm 1. The algorithm of the first phase of the conventional method |
1: | D: set of the measured driving cycles splitting_time = 40 s |
2: | S ← Split the elements of D into segments of length splitting_time |
3: | S’← Delete the whole zero speed elements of S’ |
4: | M ← Maximum speed for each element of S’ |
5: | N ← Average non-idle speed for each element of S’ |
6: | G ← Average speed gradient for each element of S’ |
7: | L ← Modus of the labels for each element of S’  |
在第二阶段,已应用原始阈值;即,城市至少由 1 个路段组成,农村地区至少由 2 个路段组成,高速公路至少由 4 个路段组成。从驾驶循环开始,就检查条件,如果不满足,则根据前一段覆盖该类。此作旨在过滤掉由于临时高速/低速而导致的错误分类。
另外两种方法被用作后处理。在 20 s 环境中搜索最接近的局部最小值以查找类转换,并将转换移动到那里。最后,将速度仅为零的截面类设置为与之前的类相同。
3.3. 建议的方法
所提出的方法使用神经网络,这需要数据预处理。此方法将 Section 3.1 中介绍的清理后的插值数据作为输入。ANN 具有固定的输入大小;但是,驾驶循环具有不同的循环长度。此外,ANN 的输出是固定的,但一个驾驶周期可以有多种道路类型,这意味着更多的输出。
3.3.1. 数据预处理
驱动循环被分成独立的固定长度子循环,以处理不同的循环长度。为了确定这个长度,我们检查了图 3 所示的周期持续时间的分布。可以看出,大多数驱动器 (52) 的持续时间在 9 到 10 分钟之间,最短持续时间为 3 分钟。选择过高的长度将导致训练中遗漏较短的周期,从而导致数据丢失。在较慢的驾驶速度下,持续时间太短可能会导致错误分类。作为中间选项,选择了 180 秒的分流时间。
当将驾驶循环拆分为固定长度的子循环时,一个子循环可能具有多种道路类型。为了解决这个问题,子循环的目标变量已被修改为它所包含的道路类型的模式。
采用拆分法,将原来的 266 个循环划分为 2249 个子循环,路型比例如表 4 所示。不平衡的数据可能会使模型产生偏差,并导致少数类的预测性能不佳。最流行的方法之一是使用重采样技术。使用了欠采样,减少了多数类中的样本数量,使数据集达到平衡。在这种情况下,每个类的 527 个子周期是随机选择的,因此简化的数据集由 1581 个元素组成。
表 4.子周期拆分后道路类型的比率。
Table 4. The ratio of road types after subcycle splitting.
Road Type | Full Dataset | Reduced Dataset |
---|
Number of Subcycles | Ratio | Number of Subcycles | Ratio |
---|
City | 1147 | 51% | 527 | 33.3%33.3% |
Rural | 575 | 26% | 527 | 33.3%33.3% |
Highway | 527 | 23% | 527 | 33.3%33.3% |
Total | 2249 | 100% | 1581 | 100% |
最小-最大归一化用于将速度值映射到范围 [-1, 1],这有助于加快学习速度并改进初始解决方案 [41]。另一种技术方法是对目标变量进行 one-hot 编码。这意味着预期输出是一个 3 元素向量,而不是数字 1、2 或 3,其中 3 个元素代表 3 个类的概率。这对于稍后在流程中分析误分类非常有用。
3.3.2. 神经网络
从文献中可以看出,最近的道路类型分类问题方法使用了人工神经网络。在此类情况下,可以看到 ANN 的优势,它可以代替构建复杂的规则集。
前面的预处理方法生成的固定大小的插值速度输入是瞬态数据序列。但是,速度的时间相关属性会产生加速度,这对于分类不是必需的。要解决此问题,只需要知道速度值,因为这些值的分布决定了道路类型。此外,加速度会间接地对结果产生负面影响,因为不同车辆类别或驾驶风格之间的加速度可能存在显著差异。由于这些原因,这个问题可以用最简单的顺序网络和前馈神经网络来解决,而不需要递归神经网络。问题的精确表述有助于处理要选择的许多参数。
由于 1 s 插值和 180 s 分裂时间,神经网络输入的维度为 180。同样,由于 one-hot 编码,output dimension 为 3。已经在隐藏的神经元上测试了几种结构,其数量可以任意选择。与少量输出相比,大量输入类似于编码器-解码器神经网络的编码器半部分。因此,应将区间 [180, 3] 划分为等间距的值。对于隐藏层的数量,最佳解决方案是 5。因此,神经网络各层中的神经元数量被选为 180、150、121、92、62、32 和 3。这导致总共有 64.526 个可训练参数。Sigmoid 用于隐藏神经元,softmax 用于输出层用于激活函数。
评估指标用于确定模型的有效性和性能。对于分类问题,这通常是准确率,其定义为正确预测除以预测总数的比率。损失函数用于确定预测值和目标值之间的误差,训练的目标是最小化此误差。首选的损失函数是分类交叉熵,因为它与 softmax 函数相结合,为每个类分配一个概率,可用于进一步分析。优化算法之间没有显着差异,因此 adam 被选为最有效的方法之一。从文献和实践中选择最常用的值是批次大小和训练验证率,分别为 5% 和 80-20%。学习持续时间,即纪元数,是根据图 4 确定的。使用以下模型设置执行运行:
-
指标:准确性
-
损失:分类交叉熵
-
优化器:adam
-
纪元数:5000
-
批量大小: 5
-
训练验证率:80–20%
此外,作为回调选项,训练集上的最小损失已设置为 checkpoint。这意味着,如果训练期间的损失低于之前的迭代,则会保存权重矩阵。训练后,可以恢复与最低损失对应的神经网络进行评估。由于验证集的规模较小,因此训练损失优于验证损失。
图 4 显示了测试运行的结果。在训练集中,epoch 3078 已经实现了 100% 的准确率,验证准确率为 84.15%。在 epoch 4864 中实现了最低的训练损失,其中训练准确率为 100%,验证准确率为 85.57%。
4. 结果
道路类型分类问题可以用 Section 3.3.2 中介绍的神经网络来求解,达到一定的精度。但是,除了网络结构和设置之外,还有其他技术可以提高神经网络的性能。本节介绍了其中的一些方法,这些方法可用于在道路类型分类问题上获得更好的结果,并显示了与传统方法相比的结果。以下所有 ANN 模型均使用 Section 3.3.2 中详述的设置运行。
4.1. 传统方法
第 3.2 节中介绍的常规方法使用第 3.1 节中介绍的具有 40 秒片段的完整数据集,准确率为 83%。然而,研究[32,34]并没有解释为什么选择这个40 s的分光时间。
分裂时间从 1 s 到 360 s 进行测试。在图 5 中,可以确定两个部分:140 秒之前和之后。在第一种情况下,可以看出准确率在很大程度上取决于分光时间的选择,例如,对于 67 秒,准确率为 85.6%,而对于 68 秒,准确率仅为 72.5%。这可能是因为标签和类转换在高精度拆分时间内很接近。在精度较低的情况下,优化器仅找到权重的局部最小值。但是,在 140 s 以上,最小准确率为 86.5%,最大为 89.9 s,为 336 s。在这种情况下,分段足够长,可以计算出一致的平均速度,该速度受单个异常值的影响较小。
4.2. 基本 NN 模型
基本 NN 模型与 Section 3.3.2 中提到的模型相同。训练过程中存在多个随机变量,从权重初始化到每次迭代训练批次的随机排序。因此,已对每个模型执行了三次运行,以提供一致且可比较的结果。
表 5 显示了模型的结果。可以看出,在简化的数据集上获得了与测试运行类似的结果。此外,在整个数据集上实现了 93.25% 的平均准确率。由于模型必须处理不平衡的数据,因此最相关的指标是评估准确性;因此,运行 2 给出了 93.62% 的最佳结果,这比传统方法的最大准确度高 3.5% 以上。
表 5.基本 NN 模型的结果。
Table 5. The results of the base NN model.
Run | Reduced Dataset | Full Dataset |
---|
Train Accuracy | Validation Accuracy | Evaluation Accuracy |
---|
1 | 100% | 86.35% | 93.44% |
2 | 100% | 84.76% | 93.62% |
3 | 99.84% | 86.03% | 92.69% |
Average: | 99.95% | 85.71% | 93.25% |
4.3. 交叉验证
由于数据不平衡、随机训练验证拆分以及减少的数据集中的样本数量较少而导致的随机欠采样可能会导致特殊情况被排除在训练之外,并在评估过程中被错误分类。但是,如果所有数据都包含在训练中,则没有以前未见过的数据可以验证模型的性能。为了解决这个问题,使用了 k 折交叉验证,主要用于估计或比较模型性能。
在这种情况下,已将 k-fold 交叉验证的特殊版本(分层 k-fold 交叉验证)用作重采样技术。缩减的数据集已拆分为 k 个大小相等的折叠,同时在每个折叠中保持平衡的类分布。该模型在 k-1 折叠上进行训练,并在保持集上进行验证。重复此过程,直到所有折叠都是验证折叠一次。总共训练了 k 个不同的模型,并且可以根据这些结果的平均值计算准确率和损失等性能指标。之后,必须在没有验证集的完整缩减数据集上使用相同的设置训练最终模型。
交叉验证方法(表 6)的结果显示,与基本模型(表 5)相比,简化数据集的平均结果略差。然而,在整个数据集上,结果平均提高了 2.52%,最佳结果(运行 1)也增加了 2.33%。
表 6.交叉验证模型的结果。
Table 6. The results of the cross-validation model.
Run | Reduced Dataset | Full Dataset |
---|
Cross-Validation | Final Model | Evaluation Acc. |
---|
Avg Train Acc. | Avg Validation Acc. | Train Acc. |
---|
1 | 99.94% | 83.65% | 99.94% | 95.95% |
2 | 99.92% | 85.42% | 99.81% | 95.51% |
3 | 99.92% | 84.60% | 99.87% | 95.86% |
Average: | 99.93% | 84.56% | 99.87% | 95.77% |
4.4. 加权损失函数
内置的分类交叉熵根据预测与真实值的距离来计算损失,但不区分错误分类。例如,将城市驾驶预测为高速公路驾驶是一个小问题,因为在高速公路上的交通拥堵时可能会出现类似于城市驾驶的速度曲线。然而,将高速高速公路驾驶归类为城市驾驶是一个重大问题,因为城市不会发生如此高的速度。这个问题可以通过对误分类进行加权来解决。
在整个数据集上,基本模型运行 2 实现了最高的准确性,其混淆矩阵如表 7 所示,单元格中的样本数和百分比如下。主对角线中的元素是正确的预测,其总和为 93.62%,即表 4 所示的评估准确性。设混淆矩阵主对角线下方的元素为 I 类误分类,主对角线上方的元素为 II 类误分类。由于上述原因,I 型错误分类更严重。可以看出,II 型误分类率高于 I 型,因为许多农村驾驶被预测为城市驾驶。
表 7.基本模型运行 2 的混淆矩阵。
Table 7. Confusion matrix of the base model run 2.
| | Prediction |
---|
| | City | Rural | Highway |
---|
Ground Truth | City | 1077 47.40% | 71 3.13% | 13 0.57% |
Rural | 17 0.75% | 542 23.86% | 20 0.88% |
Highway | 16 0.70% | 8 0.35% | 508 22.36% |
传统方法最高精度的混淆矩阵如表 8 所示。表 7 和表 8 中的分类循环数不同,因为基本模型的分流时间为 180 秒,而传统方法的分流时间为 336 秒。由于传统方法的准确率较低,因此误分类的数量较高。I 类误差为 4.98%,II 类误差为 4.81%,而基本模型结果分别为 1.8% 和 4.58%。
表 8.具有最高准确度的常规方法的混淆矩阵。
Table 8. Confusion matrix of the conventional method with the highest accuracy.
| | Prediction |
---|
| | City | Rural | Highway |
---|
Ground Truth | City | 499 44.40% | 24 2.14% | 11 0.98% |
Rural | 32 2.85% | 260 23.13% | 19 1.69% |
Highway | 5 0.44% | 19 1.69% | 255 22.68% |
损失函数应根据基本实况和相应的预测进行加权,因此权重矩阵的大小将为 3×3。较高的权重只应用于 I 类错误分类,因为默认情况下,损失函数会惩罚 II 类错误。找到问题的最佳权重并非易事,因为对于太小的权重,该方法与未加权的情况相同。相比之下,权重过大时,II 类错误分类的数量会增加。此外,预测为城市驾驶的高速公路驾驶比其他两个 I 类错误更糟糕。经过几次尝试,应用了表 9 中所示的权重矩阵。
表 9.损失函数的权重矩阵。
Table 9. Weight matrix for the loss function.
如表 10 所示,结果与具有权重的简化数据集的基本模型相似,但整个数据集的平均准确率降低了近半个百分点。为了获得最佳运行,使用加权方法的准确度仅降低 0.3%。
表 10.加权损失函数模型的结果。
Table 10. The results of the weighted loss function model.
Run | Reduced Dataset | Full Dataset |
---|
Train Accuracy | Validation Accuracy | Evaluation Accuracy |
---|
1 | 98.89% | 85.40% | 92.21% |
2 | 98.97% | 86.30% | 92.75% |
3 | 98.57% | 86.67% | 93.31% |
Average: | 98.81% | 86.12% | 92.76% |
然而,检查混淆矩阵(表 11),可以看出 1.8% 的 I 类误差已经减少到 1.14%,评估准确性略有下降。
表 11.加权损失函数模型的混淆矩阵运行 3.
Table 11. Confusion matrix of the weighted loss function model run 3.
| | Prediction |
---|
| | City | Rural | Highway |
---|
Ground Truth | City | 1074 42.27% | 91 4.01% | 12 0.53% |
Rural | 14 0.62% | 541 23.81% | 23 1.01% |
Highway | 6 0.26% | 6 0.26% | 505 22.23% |
4.5. 交叉验证和加权损失函数
如前面的结果所示,加权可用于减少 I 类错误分类,但它也会降低评估准确性。但是,交叉验证也可以提高准确性。因此,很明显应该将这两种方法结合起来。
加权交叉验证的结果(表 12)显示,与基线模型相比,整个数据集的评估准确性提高了 2.5% 以上。此外,与交叉验证相比,平均结果和最佳结果都有所提高。
表 12.加权交叉验证模型的结果。
Table 12. The results of the weighted cross-validation model.
Run | Reduced Dataset | Full Dataset |
---|
Cross-Validation | Final Model | Evaluation Acc. |
---|
Avg Train Acc. | Avg Validation Acc. | Train Acc. |
---|
1 | 98.84% | 86.38% | 98.67% | 96.21% |
2 | 99.03% | 84.67% | 98.73% | 95.60% |
3 | 99.07% | 85.61% | 99.24% | 95.69% |
Average: | 98.98% | 85.55% | 98.88% | 95.83% |
第 1 次运行的 I 型误差降低到不到 1%(表 13)。同样值得注意的是,与之前的结果相比,II 型错误率几乎减少了一半。由于这两个因素,这次运行的评估准确率为 96.21%,是所有运行中最高的。
表 13.加权交叉验证模型的混淆矩阵运行 1。
Table 13. Confusion matrix of the weighted cross-validation model Run 1.
| | Prediction |
---|
| | City | Rural | Highway |
---|
Ground Truth | City | 1112 48.94% | 47 2.07% | 4 0.18% |
Rural | 10 0.44% | 563 24.78% | 13 0.57% |
Highway | 4 0.18% | 8 0.35% | 511 22.49% |
5. 讨论
传统方法和建议方法的主要优点是仅使用速度对道路类型进行分类。第 2 章中提供的数据可用于确定模型参数,但在验证后没有必要记录标记数据。因此,未来数据可以从 CAN 类似地记录,但速度点也可以通过电话或 GPS 记录。
传统方法使用驾驶循环的三个最相关的指标。不同的道路类型有不同的限速,因此最高速度是必不可少的。但是,一个周期中可能会有更高的加速度。因此,还应使用平均速度,并通过非怠速进行校正。平均速度可以以恒定速度或在平均速度附近振荡来实现;因此,平均速度梯度也必须是一个输入。该方法使用三个值作为输入,因此很容易应用于不同的拆分时间。
神经网络的输入数量会随着不同的分割时间(对于恒定的插值时间)而变化,因此,在这种情况下,必须执行新的训练,这很耗时。但是,经过训练的模型分类速度很快。神经网络的优势在于它们不需要特定于周期的指标,只对速度点进行作。基本 NN 模型比传统方法获得了更高的准确性,并且通过不同的技术进一步提高了准确性。此外,加权损失函数可以控制不同误分类类型的比例。
该方法使用分层折叠而不是分层组折叠,后者会更可取。在组折叠中,全驱动的所有循环只能分配给训练集或验证集,而在基本版本中,则没有这样的限制。此方法的使用受数据集的限制。选择了 80-20% 的训练验证比率,但保持该比率和组限制会导致大量数据丢失。另一个挑战是确保城市、农村和高速公路类在训练集和验证集中保持平衡,因为高速公路路段通常发生在较长的驾驶中。
我们未来的目标是进一步开发传统和建议的方法。对于传统方法,我们的目标是搜索提供有关周期相关信息的其他指标。在所提出的方法中,类合并可以进一步提高准确性。目前,神经网络仅根据速度做出决策,但这可以通过添加更多记录的参数来扩展。此外,该方法可以通过在分类后找到道路类型的确切起点和终点来扩展,例如,通过在时间窗口内的速度剖面中找到局部最小值和最大值。当前方法使用简化的数据集,其中类是平衡的。我们未来的目标是引入平衡技术,在学习过程中尽可能多地使用标记数据。此外,要将该方法扩展到不同的网络类型,有必要执行广泛的超参数分析。
6. 结论
本研究考察了基于速度剖面的道路类型分类问题。目的是根据实际测量数据识别城市、农村和高速公路驾驶。文献中所示的方法使用了特殊的数据记录设备,这些设备不适合广泛应用。
开发了一种适用于所有内燃机或混合动力汽车的 OBD 记录设备,可用于记录标记数据以衡量方法的准确性。该设备以后可以独立于驱动程序运行,而无需标记功能。
发现了一种最先进的方法,该方法只能通过速度对道路类型进行分类。基于这项研究,这种方法已经尽可能准确地实施。此外,通过测试过程中使用的参数值,我们自己的数据集得到了进一步的改进。传统方法达到的最高准确率为 89.9%,相应的 I 类误差为 4.9%。我们基于神经网络的方法的基本版本的准确率为 93.6%,在同一数据集上有 1.8% 的 I 类错误。
测量数据中存在特殊的交通情况,例如高速公路上的交通拥堵,如果仅存在于验证集中,则会降低方法的准确性。因此,有必要在训练阶段涉及尽可能多的数据。为了克服这个问题,使用了 k 折叠交叉验证,将准确率提高到 95.9%。由于问题的性质,错误分类并不等同,因为在较快的环境中可能会出现较慢的驾驶速度,但反之则无效。可以通过对损失函数进行加权来处理错误分类的类型。通过设置最佳加权矩阵,该技术将 I 型误差降低到 1.14%,但准确率降低到 93.3%。结合这两种方法,基于神经网络的方法实现了 96% 的准确率和 I 类误差低于 1%。
7.交流与联系
点击这里看最后(源码+论文复现)