机器学习在交通标志检测与细粒度分类中的应用

应用于AMAP的交通标志检测技术有助于有效提高AMAP的数据生产效率,实现以T+0(零时差)的近似速度更新地图数据的目标。

机器学习在交通标志检测与细粒度分类中的应用
在线工具推荐:三维数字孪生场景工具 - GLTF/GLB在线编辑器 - Three.js AI自动纹理化开发 - YOLO 虚幻合成数据生成器 - 3D模型在线转换 -  3D模型预览图生成服务

在当今数字互联的世界中,地图是日常生活中不可或缺的一部分,而数据对于地图服务来说是不可或缺的。动态地图服务为用户提供了对大量数据支持的智能要素的直接和显式访问。

在地图服务技术的萌芽阶段,通过车辆、自行车、飞机和卫星图像等工具从一系列专业收集数据。在过去的两年里,地图数据是通过智能硬件的众包收集的。然后,收集到的数据以前所未有的速度和无与伦比的准确性进行更新。地面上的快速变化促使用户越来越依赖地图服务应用程序。随着对地图服务的需求不断增长,专注于卓越用户体验的地图公司将更新数据的速度和准确性作为关键目标。有效数据更新方向的第一步是交通标志检测。

本文介绍了机器学习在AMAP地图数据生成中的应用。下面概述的技术解决方案和设计已经过验证,并取得了很好的效果。此外,这些解决方案还为AMAP数据的快速更新提供了基本的技术保障。

什么是交通标志检测?

它是在街景图像中自动检测交通标志的过程,例如限速标志、掉头禁止标志、人行横道标志和电子眼。这些检测结果将传送到生产流程中,以便为地图服务用户生成地图数据

交通标志检测的挑战

交通标志检测的主要挑战包括交通标志形式的复杂性以及拍摄过程中对自然环境的敏感性。交通标志检测对算法性能有严格的要求,以实现数据更新速度快、数据精度高。让我们深入了解具体挑战:

1. 样品形式差异很大

交通标志在以下几个方面差异很大:

  • 种类繁多:交通标志根据国家标准分为数百个类别。
  • 形式多样:交通标志的常见形式包括三角形、圆形、方形、菱形和八角形。交通标志的物理设施包括地面标线、电子眼、交通信号灯、限高杆和围栏。
  • 广泛的颜色分布:交通标志的常见颜色包括黄色、红色、蓝色、绿色、黑色和白色。
  • 巨大的图像尺寸差异:交通标志图像的大小从数百像素(如方牌和人行横道标志)到几十像素(如电子眼)不等。
1
图 1:常见交通标志(标牌)

2. 对自然条件下变化的敏感性

交通标志可能被车辆或树木挡住,也可能在自然条件下磨损。其次,图像采集可能会受到天气或季节的影响,导致图像模糊和色彩失真。

2
图 2:在自然条件下捕获的交通标志

由于错误识别类似于交通标志的标志,例如商业标语牌和公益广告牌,算法的准确性会受到严重影响。

3
图 3:类似于交通标志并在检测交通标志时产生噪音的标志示例

3. 性能要求

以下是实现数据快速更新和数据准确性高的算法性能要求:

  • 准确召回率:AMAP对各种场景下的召回率和准确率提出了很高的要求。虽然召回失败可能会延迟数据更新,但错误召回可能会影响应用程序的整体效率和运行周期,从而影响实时数据更新。
  • 吞吐量:AMAP每天处理数以亿计的图像,因此需要高效的算法来及时处理数据,以确保及时更新地图数据。
  • 可扩展性:不同类型的交通标志反映了各个国家或地区的独特特征,并且也可能随着时间的推移而根据国家标准的修改而变化。因此,这需要高度可扩展的算法来快速适应新的交通标志。

AMAP交通标志检测解决方案

学术界训练深度学习模型进行目标检测,特别是端到端模式,以实现全局最优的检测结果。端到端模式易于使用,因为它只需要注释数百个对象的样本,并将它们放入深度学习框架中进行迭代训练即可获得最终模型。

端到端模式分为两阶段方法(Faster R-CNN[1])和一级方法(YOLO[2]、SSD[3])。在实际应用中,务必注意以下几点:

  • 样本标注成本高:所有训练样本都需要根据所有类别进行标注。因此,在添加新类别时,必须对历史训练样本进行全面标注,成本极高。
  • 不支持单类别迭代:交通标志以不同的频率出现,并且某些交通标志优先于其他交通标志。因此,AMAP要求对某些交通标志类别(例如电子眼和限速标志)具有高度准确的召回率。但是,端到端模式需要全品类迭代,不支持单品类迭代。这增加了算法迭代和测试的成本。
  • 复杂模型训练:需要处理数百个类别且频率差异很大的交通标志。然而,大规模分类、低收敛性以及召回率和准确率之间的不平衡使得训练单个目标检测模型变得复杂。

考虑到常见目标检测技术的发展和AMAP对交通标志检测的要求,我们选择Faster R-CNN作为基础检测框架,因为它的检测效果更好(特别是对于小目标)和独立区域建议网络(RPN),可以满足扩展性要求。在速度方面,我们也实施了有针对性的优化和调整。

4
图 4:用于交通标志检测的目标检测和细粒度分类

对于实际应用,我们将检测框架分为以下两个阶段:

1. 目标检测

它是通过Faster R-CNN检测捕获图片中的所有交通标志,从而以更高的召回率和执行速度以粗粒度的方式对交通标志进行分类的过程。

在实践中,采用以下策略来提高算法能力:

  • 结果:将检测目标分为N类,如长宽比异常的圆形、三角形、正方形和人行横道标志。每个类别都配置了专属的RPN,并根据相应的尺寸设计了锚的比例和规模。
    根据需要将不同层的特征图应用于不同的 RPN,以使设计更具针对性。采用多种样品增强方法来解决各种类型样品分布不均的问题。在训练过程中,通过使用 OHEM 和其他方法进一步调整样本分布。比如,采用虚拟合成数据生成器来生成训练数据用以进行模型训练,以提高算法的识别能力。
  • 性能:各类共享基本卷积层,确保检测时间不会过度上升。
  • 可扩展性:在理想情况下,只需添加一个 RPN 即可独立迭代单个新类别,而不影响其他类别的结果。如图 5 所示,RPN 1 和 RPN 2 相互独立。
5
图 5:多 RPN 设计的原理图

2. 细粒度分类

它被定义为通过过滤噪声来确保高召回率和准确性,以细粒度的方式对目标检测阶段获取的候选帧进行分类的过程。在实际实施中,还使用了以下策略来改善结果:

  • 为每个类别配置一个独立的细粒度网络,而不会干扰其他类别。每个类别都是独立迭代的,并与其他类别并行迭代。这使得多人同时进行研发,有效缩短了研发周期。
  • 根据特定类别的复杂程度,选择具有不同计算复杂度的网络进行细粒度分类和噪声抑制。这避免了由于高度复杂的类别而导致的效率瓶颈上升。
  • 每个类别的样本都是独立收集的,也可以针对特定类别进行收集和注释。这大大提高了构建训练集和测试集的效率。如图 6 所示,可以使用简单的网络来处理圆形交通标志,因为它们很容易与其他类型的交通标志区分开来。对于方形交通标志,必须根据文本的布局和内容来区分正负样本。因此,必须使用更深层次的网络对此类样本进行分类。
6
图 6:细粒度分类的模块化示意图

细粒度分类使用多个模型,这些模型会增加服务器的视频 RAM 使用率,并对计算资源提出额外的要求。为了解决这些问题,我们通过在模型之间动态分配和共享临时缓冲区,然后裁剪框架的反向传播函数来优化深度学习框架。这些措施可将视频 RAM 使用量减少 50% 以上。

结果和收益

上一节中说明的解决方案已正式启动。召回率准确率满足生产要求,日均图像吞吐量超过1000万张。图 7 显示了该解决方案的一些结果(不同的框表示不同的检测结果)。

7
图7 交通标志检测结果

结论

应用于AMAP的交通标志检测技术有助于有效提高AMAP的数据生产效率,实现以T+0(零时差)的近似速度更新地图数据的目标。

目前,我们还使用UnrealSynth虚幻合成数据生成器 进行合成数据的生成。合成数据旨在提供真实世界数据的真实模拟,同时避免使用真实数据带来的道德、隐私和成本问题。通过使用合成数据,组织可以克服数据可用性有限的限制,同时仍能实现准确而强大的机器学习模型。

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号