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

简介: 本文主要介绍机器学习技术在高德的地图数据生产的具体应用,这些技术方案和设计都已经过验证,取得了不错的效果,并且为高德地图数据的快速更新提供了基础的技术保证。

导读

数据对于地图来说十分重要,没有数据,就没有地图服务。用户在使用地图服务时,不太会想到数据就像冰山一样,用户可见只是最直接、最显性的产品功能部分,而支撑显性部分所需要的根基,往往更庞大。

地图数据最先是从专业采集来的,采集工具就是车、自行车、飞机和卫星影像等,近两年有了利用智能硬件的众包采集。采集之后,就是把数据更新的速度和精准度都无限提升。因为地面上变化太快了,用户越来越依赖于地图应用。所以数据更新的速度和数据的准确度就是在乎用户体验的地图公司的第一要务了。而数据更新的第一步,就是交通标志检测。

本文将主要介绍机器学习技术在高德的地图数据生产的具体应用,这些技术方案和设计都已经过验证,取得了不错的效果,并且为高德地图数据的快速更新提供了基础的技术保证。

“交通标志检测”定义

交通标志检测,特指在普通街景图像上通过自动化手段检测出各种类型的交通标志,如限速、禁止掉头、人行横道和电子眼等。这些检测结果将作为生产数据交付给地图数据制作流程,最终演变为服务于广大用户的地图数据。

难点与挑战

交通标志检测的主要难点有样式繁杂,且在拍摄过程中受自然环境的影响较大。此外,为满足数据更新的速度和数据准确度的要求,对于算法的性能要求也格外严格。

样本形态差异大

交通标志的形态差异主要体现在:

类型繁多:国标定义的交通标志有几百个类型;

形状多样:常见交通标志的形状有三角形、圆形、方形、菱形、八边形等,还有地面标线、电子眼、信号灯,以及限高杆、栅栏等物理设施;

颜色分布广泛:常见的有黄色、红色、蓝色、绿色、黑色、白色等;

图像内尺寸差异大:从几百像素(如方牌、人行横道等)到十几像素(如电子眼)不均匀分布;

1

图1 常见道路交通标志(标牌类)

自然场景下变化多端

在自然场景下,交通标志存在树木或车辆遮挡、磨损等情况;天气、季节等也会影响到图像采集过程中,造成图像模糊、颜色失真等。

2

图2 自然场景下拍摄的交通标志

一些外形与交通标志相似的标牌,如商户的招牌、交通公益广告牌等,对算法的准确率造成极大的挑战。

3

图3 类似交通标志的噪声示例

性能要求

准召率:我们的应用场景中对于召回率和准确率的要求极高,任何未召回都会导致数据更新的延迟,而错召回则会影响作业效率与作业周期,最终对数据的快速更新造成影响;

吞吐量:高德每天需要处理上亿张图片,这就要求我们的算法不仅效果要好,处理速度也必须够快,以免造成数据积压,影响地图数据的更新时效;

扩展性:交通标志的类型不是一成不变的(国标会存在调整,不同国家和地区之间各有特色),因此需要算法环节具有非常好的扩展性,能够快速适应新增的各种交通标志类型;

高德地图中的交通标志检测方案

当前学术界针对目标检测任务常用的深度学习模型一般都采用End2End的方式进行训练,以得到全局最优的检测效果。这个方案在使用时非常简单,只需要标注好“几百类物体的样本”,然后放到深度学习的框架里进行迭代训练,就可以获得最终模型,主要可以分为Two Stage(FasterRCNN[1])和One Stage(YOLO[2],SSD[3])两大类。

但是在实际使用过程中,需要应对如下问题:

样本标注成本高:所有训练样本都需要进行全类别标注,当有新增类别时需要将历史训练样本全量补标,成本极高;

无法单类迭代:由于交通标志出现的频率和重要性不等,业务上对于部分类型(如电子眼、限速牌等)的准召率要求更高。但是End2End的模型必须针对所有类型全量迭代,无法优化单一类型,导致算法迭代和测试成本极高;

模型训练难度大:我们需要处理的交通标志有几百类,且各自出现频率差异很大,使用单一目标检测模型完成如此巨大的分类任务,模型训练难度太大,收敛缓慢,召回率、准确率上难以平衡;

结合通用目标检测技术的发展以及高德地图对于交通标志检测的需要,我们最终选择了Faster-RCNN作为基础检测框架,它的检测效果更好(尤其是针对小目标),独立的RPN网路也可以满足扩展性要求。速度方面,我们也进行了针对性的优化调整。

在实际使用时,我们将检测框架分为目标检测与精细分类两阶段:

4

图4 交通标志检测的目标检测和精细分类阶段

目标检测阶段

目标检测阶段的目的是通过Faster-RCNN在图片中检测所有的交通标志,并进行粗分类,要求极高的召回率和执行速度。在实际使用时,我们采用了如下策略来提升算法能力:

效果方面:将检测目标根据外形特征分为N大类(如圆形、三角形、方形,以及高宽比异常的人行横道等),再为每一类配置专属的RPN网络,各个RPN根据对应的尺寸特性设计Anchor的Ratio和Scale;不同RPN根据需要使用不同层的特征图,设计更有针对性;

效果方面,针对各个类型样本分布不均匀问题,使用多种样本增强手段,并在训练过程中使用OHEM等方式进一步调整样本分布;

效果方面,还借鉴了IoU-Net、Soft-NMS等方案,进一步提升检测效果;

性能方面,各个大类之间共享基础卷积层,保证检测时间不会过分增长;

扩展性方面,对于新增类型,理想情况下只需要新增一个RPN网络单独迭代,可以不对其他类型的效果造成任何影响(如下图,RPN1和RPN2完全独立);

5

图5 多RPN设计示意图

精细分类阶段

精细分类阶段的目的是对目标检测阶段得到候选框进行精细分类并滤除噪声,保证极高的召回率和准确率。在实际实现中,还使用以下策略来提升效果:

为每个大类配置独立的精细分类网络,互相之间不干扰;各个大类的迭代完全独立和并行,可以多人并行研发,有效缩短研发周期;

针对各个大类的难易程度,选择不同计算复杂度的网络来完成精细分类和噪声抑制,避免因为某些类型复杂度过高产生效率瓶颈;

样本方面,各个大类可以独立收集样本,可以针对特定类型进行收集和标注,训练和测试集合的构建效率大幅提升;

如下图,针对圆形标牌,其差异比较明确,可以使用简单网络;针对方牌,需要根据文字布局和内容来区分正负样本,分类难度大,因此必须使用较深的网络:

6

图6 精细分类模块示意图

由于同时使用了多个模型,上述方案会导致服务器的显存占用显著增加,对计算资源产生额外要求。针对该问题,我们针对深度学习框架进行优化,动态分配并在各模型间共享临时缓冲区,并裁剪框架的反向传播功能,最终使得显存占用降低50%以上。

效果与收益

上述方案已经正式上线,准召率都达到了生产作业的要求,日均图片吞吐量在千万以上。以下是部分效果图(不同框代表不同检测结果):

8


9


__20190716142811

图7 交通标志检测效果图

小结

交通标志检测技术已经在高德地图内部得到应用,有效提升了高德地图的数据制作效率,达成地图数据更新速度接近T+0(时间差为零)的目标。

目前我们也在把机器学习技术用于数据的自动化制作,进一步减少现实世界和地图数据之间的差异,做到“连接真实世界,让出行更美好”。

相关文章
|
1天前
|
机器学习/深度学习 监控 算法
机器学习在图像识别中的应用:解锁视觉世界的钥匙
机器学习在图像识别中的应用:解锁视觉世界的钥匙
129 95
|
9天前
|
机器学习/深度学习 数据采集 运维
机器学习在运维中的实时分析应用:新时代的智能运维
机器学习在运维中的实时分析应用:新时代的智能运维
48 12
|
25天前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
39 1
|
1月前
|
机器学习/深度学习 数据采集 算法
机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用
医疗诊断是医学的核心,其准确性和效率至关重要。本文探讨了机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用。文章还讨论了Python在构建机器学习模型中的作用,面临的挑战及应对策略,并展望了未来的发展趋势。
106 1
|
1月前
|
机器学习/深度学习 数据采集 算法
隧道裂纹识别:基于计算机视觉与机器学习的应用分享
隧道裂纹的自动检测通过深度学习与计算机视觉技术实现,替代了传统人工检查,提高了检测精度与效率。本文介绍了一套完整的裂纹检测流程,包括图像采集、预处理、裂纹检测与标定、后处理及结果展示,提供了图像处理与深度学习模型的基本代码框架,旨在帮助读者掌握隧道裂纹检测的实际应用方法。
|
28天前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
95 4
|
7天前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
22 2
|
1月前
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络
|
1月前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
89 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
阿里云人工智能平台 PAI 团队发表的图像编辑算法论文在 MM2024 上正式亮相发表。ACM MM(ACM国际多媒体会议)是国际多媒体领域的顶级会议,旨在为研究人员、工程师和行业专家提供一个交流平台,以展示在多媒体领域的最新研究成果、技术进展和应用案例。其主题涵盖了图像处理、视频分析、音频处理、社交媒体和多媒体系统等广泛领域。此次入选标志着阿里云人工智能平台 PAI 在图像编辑算法方面的研究获得了学术界的充分认可。
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024