高精地图中地面标识识别技术历程与实践

导读:本文将主要介绍高德在高精地图地面标识识别上的技术演进,这些技术手段在不同时期服务了高精地图产线需求,为高德地图构建高精度地图提供了基础的技术保证。

1.面标识识别

地面标识识别,指在地图道路中识别出各种类型的地面标识元素,如地面箭头、地面文字、时间、地面数字、减速带、车距确认线、减速丘、人行横道、停止让行线、减速让行线等。这些自动化识别结果将作为生产数据交付给地图生产产线,经过制作后演变成服务于自动驾驶、车载导航、移动导航的地图。

高精地图一般对各个地图要素精度至少有着厘米级的要求,所以相对于普通地图来说需要更高的位置精度,这也是与普通地图识别的最大不同,所以探索如何将地面标识识别得又全又准是我们一直努力的方向。

地面标识识别有两大难点:一是地面标识本身的种类、大小繁多,二是地面标识易被磨损遮挡,清晰度参差不齐,这给高精度识别带来了巨大的挑战。

1)地面标识种类繁多:实际场景中地面标识种类繁多,在内容、颜色、形状、尺寸等方面均有不同分布。

颜色:比如黄色、红色、白色等

形状:箭头形、各种文字数字形状、条形、多条形、面状、丘状等

尺寸:国标定义的标准箭头长度为9m,但也存在1m~2m甚至1m以下的地面标识元素,尤其减速带以及人行道等尺寸差异会更大,反映到图像中像素个数以及长宽比均会有较大差异。

图1. 部分地面标识

2)磨损压盖多:地面元素长年累月受车辆、行人等碾压会造成磨损,以及经常存在的堵车等场景更是加大了地面要素被遮挡的可能。所以从激光雷达获取的点云数据和由相机获取的可见光图像数据的质量均参差不齐,对地面标志识别带来了极大的挑战。

常见的问题如下所示,示例如图2所示。

地面标识磨损:地面标志由于磨损褪色、掉漆导致不完整或者严重不清晰

采集环境问题:遮挡(施工、车辆)、由于环境改变引起的材料激光反射率差异以及可见光不清晰(雨天、逆光等)

图2. 自然场景下拍摄的地面标识

2. 识别起步

地面标识识别需要做的是将地面标识这部分区域提取出来,则最直观的是对其进行阈值分割、骨架提取、连通域分析等传统方法。首先获取点云中地面点集合,接着获取集合中高反射率部分的骨架集合,然后对每个局部骨架区域计算强度截断阈值,最后对区域进行连通区域搜索以及附加降噪措施等。

另外我们也尝试了GrabCut等算法在地面标志上的提取,GrabCut算法对前景和背景分别聚类,得到k组类似的像素集合,然后对前景和背景分别进行高斯混合模型(GMM)建模,判断像素属于地面标志还是背景。在提取疑似地面标识区域后,再经过机器学习模型(SVM等)进行细分类以获得更好的识别效果。

图3. 传统提取方法识别结果

由上图可以看到,对于一些前后景区分比较好的地面标识提取的比较好,但是针对有磨损、模糊、前景背景相似、背景复杂等情况均效果欠佳,容易漏召回且位置精度不高,鲁棒性不强。

3.深度学习时代

2012年Hinton团队提出的Alexnet网络赢得了2012年图像识别大赛冠军,相比传统方法获得显著提升,CNN在图像领域有了明显优势。近几年,基于深度学习的检测识别技术也得到了很大发展。

深度学习时代是数据和硬件驱动的时代,结合部分人工标注以及自动化生成,我们拥有百万级的数据,而且各种场景的数据还在不断丰富,结合算法探索与创新,我们取得了越来越好的技术与业务效果。

目前检测识别技术主要分为两大方向:Two-Stage(如RCNN系列)和One-stage(SSD、YOLO等)。Two-Stage网络优势在于效果整体较好,识别位置较精确,对小目标检测也有一定的竞争力。

One-stage检测识别方法优势在于处理速度较快。高精地图不仅需要较高的识别性能、也需要有足够高的识别位置精度,所以我们选择了准确率较高的Two-stage大方向。

1)R-FCN检测

结合位置敏感得分图(position-sensitive score map)和位置敏感降采样(position-sensitive roi pooling)等操作,R-FCN算法在目标检测识别上获得了较高的性能和位置精度,我们选择了R-FCN检测算法实现对地面标识的检测识别。

R-FCN算法基于深度学习的方法,通过学习大量实际场景样本,所以在泛化性上取得了比较大的提升,自动化识别对于不同场景的识别能力有所提高,地面标识召回率得到了较大的改善。算法示意图如下所示:

图4. R-FCN算法示意图

以下为一些地面标识检测识别示例:

图5. R-FCN算法地面标识识别示例

引入深度学习极大的改善了高精地图地面标识自动识别的性能,地面标识召回得到了很大提升,美中不足的是R-FCN存在着一个弊端就是其输出的最终检测位置是基于地面标识类别的得分,但往往得分最高的位置并不一定跟实际位置最贴合,所以在位置预测精度上,R-FCN并不完美。

2)级联检测器

随着深度学习的发展以及业界对目标检测识别位置精度的要求不断提高,更多高精度检测识别算法被提了出来,如Iou-Net等。

我们适时采用了更加先进的识别算法,以期获得更加精准的位置精度来满足产线业务需求,结合级联检测,利用Deformable-Conv自适应感受野等技术提升算法识别精度。

该算法不同于传统算法对roi进行一次预测回归得到最终位置,而是通过级联的形式不断修正预测的位置和实际位置的偏差,每经过一个级联回归器,算法识别结果均会更加贴合真值,这非常有利于提高识别精度,契合高精地图对目标位置精度的高要求,最后在召回和位置精度上都达到更好的效果。

图6.级联检测算法原理图

以下为一些算法识别结果示例:

图7. 级联检测算法识别示例

通过引入级联形式的检测识别模型令高精产线自动识别能力在识别精度上得到了不错的提升,但我们对自动识别位置精度提升的挖掘是无止尽的,所以有了以下的方案。

3)级联检测 + 局部回归

设想一下,如果我们在地面标识区域进行局部的位置回归,那么网络就能够聚焦到更加细微的地面标识区域,最终得到更加接近边界的位置。结合实际在做地面标志识别时,我们将容易造成精度问题的部分单独做位置精修,得到了更加精细的位置。

以下为部分算法识别结果示例:

图8. 算法识别示意图


采用检测+回归技术方案实现了更加好的位置检测精度,让我们离“真实世界”更进了一步。其缺点是技术方案流程较长,不够简洁美观。

4)基于角点的检测

基于角点回归的目标检测方法,使用单个卷积神经网络预测两组热力图来表示不同物体类别的角的位置,即将目标边界框检测为一对关键点(即边界框的左上角和右下角),以及每个检测到的角点的嵌入向量。其中角点用于确定目标位置,嵌入向量用于对属于同一目标的一对角点进行分组。

此种方法简化了网络的输出,通过将目标检测为成对关键点,消除了现有的检测器设计中对特征层需要大量anchors的弊端,因为大量anchors造成了大量的重叠以及正负样本不均衡。同时为了产生更紧密的边界框,网络还预测偏移以精细调整角点的位置。通过预测热力图、嵌入向量、以及偏移最终得到了精确的边界框。

图 9 角点检测示意图

由于在检测任务中需要获取相同尺寸的特征图对目标进行位置回归、类别分类等,算法会对其进行量化以及降采样等操作,不可避免会有精度上的损失。这个弊端带来的最大影响就是经由检测回归出的位置不够鲁棒,在某些情况下会出现或多或少的偏移。

5)级联检测 + 分割精修

随着语意分割技术的不断成熟,基于深度学习的语意分割已经能够将输入图像进行像素级的分类,而且其精度也越来越高,也就是图片中要素的轮廓越来越精细。

我们采用以resnet 为主干的分割模型,并结合了自适应感受野、多尺度融合、Coarse-Fine融合、感兴趣区域注意力机制等技术实现了对地面标识的像素级分割。

为了获取地面标识的实体信息,我们仍然用检测来确定地面标识大致位置,但是不同的是最终由对应区域的地面标识分割语义信息获取最终精确的地面标识位置。

图10.地面标识分割示意图

以下为部分检测结合精修示例图:

图11. 分割精修示例

语义分割的引入使得地面标识的识别位置精度得到了改善,解决了由检测带来的识别位置精度不鲁棒的问题,使得高精地图地面标识自动化效果上了一个新的台阶。

但是这种方法稍显繁琐,而且检测和分割任务都需要耗费大量GPU资源,也就是说一张图片需要同时多次GPU运算加上后续的CPU后处理融合才能够得到最终的结果,如果能够将这些步骤优化,那么必然能够简化流程同时节省大量运算资源。

6)PAnet

基于以上考虑,我们采用了基于PAnet的检测识别算法。传统的实例分割模型各层中的信息传播不够充分。PAnet较好的解决了这些问题,充分融合了coarse、fine特征,不仅有自顶向下的特征融合还结合了自底向上的特征融合,在高层特征中充分融合进了底层的强定位特征,解决了浅层特征信息丢失的问题。

另外还结合了自适应特征降采样将不同特征层进行融合提取roi特征做预测,以及添加额外mask前景背景分类分支,使得预测mask更加精确,这些手段结合对于目标检测位置精度有比较大的收益。同时,分割和检测任务结合能够互相促进取得更好的结果。

图 12 PAnet 示意图

以下为一些算法的识别结果示例。可以看到算法对部分磨损模糊的地面标识也有了一定的宽容度,其位置精度有了巨大的改善。(图中地面标识外框为检测得到的大概位置,内框为根据像素级分割得到的位置,取内框为地面标识最终位置)。

图 13 检测识别实例

采用上述方案需要将点云投影为2D空间,中间有一定的归一化量化操作,不可避免的会损失一些信息,最直观的是在一些点云反射率较低的地方容易造成目标丢失。如果能够在原始3维点云上提取那么这些问题就迎刃而解。

7)基于3维点云的目标检测

基于上面的考虑,我们探索原始点云上的3D物体检测,3D点云识别是各种真实世界应用的一个重要组成部分,如自主导航、重建、VR/AR等。与基于图像的检测相比,激光雷达提供可靠的深度信息,可以用于精确定位物体并表征它们的形状。

我们探索了多种3维点云识别算法,比如基于bird-view、voxel等的3维点云识别。由于PointRCNN在原始3维点云目标检测上的良好表现,我们采用基于PointRCNN的方法提取地面标识,整个检测框架包括两个阶段:第一阶段将整个场景的点云分割为前景点和背景点,以自下而上的方式直接从点云生成少量高质量的3D proposal。

第二阶段在规范坐标中修改候选区域获得最终的检测结果,将每个proposal经池化后转换为规范坐标,以便更好地学习局部空间特征,同时与第一阶段中全局语义特征相结合,用于预测Box优化和置信度预测。

图 14 3维点云检测

4. 效果与收益

大数据的支撑使得我们的算法拥有更好的鲁棒性与识别能力。结合算法中各种策略以及多种数据源(点云、可见光等),我们在不断提升地面标识识别精度,其位置精度在Ground Truth 5cm范围区间内达到99%以上,召回也达到了99.99%以上,各项指标都得到了稳步提升。

上述方案已经正式上线,并处理了大量数据,准召率都达到了生产作业的要求,同时算法对人工作业产线的效率提升作用日益提高。以下是部分效果图:

图15. 地面标识检测效果图

5. 写在最后

高精地图被称作自动驾驶系统的“眼睛“,与普通地图最大的不同点在于使用主体不同。普通导航地图的使用者是人,用于导航、搜索,而高精地图的使用者是计算机,用于高精度定位、辅助环境感知、规划与决策。因而高精地图对地图要素不仅需要极高的召回率,还需要非常高的位置精度。

高精地图中要素的识别对技术提出了比较高的要求,纵观整个高精地图产业发展,地图制作逐渐从纯人工过渡到半自动乃至全自动。期间识别技术也不断得到发展与完善,从手动构造特征到自动特征、从2维识别到3维以及更高维识别、从单源识别到多源融合等。

目前,高精地图多采用人工作业,人工作业质量和效率始终是一个矛盾点,相比之下,机器自动识别有着更高的效率、更低的作业成本以及不亚于人工的作业质量。自动识别的应用必将加速高精地图构建,推动高精地图产业发展。高精度地面标识识别技术已经在高德高精地图内部得到应用,有效提升了数据制作效率与制作质量,为高德构建高精地图提供坚实的技术支撑。


原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/517439.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RuoYi-Cloud 部署篇_04(windows环境 mysql+nginx版本)

文章目录一、nginx 操作流程1. nginx 安装启动2. nginx 配置3. nginx 重新启动二、前端项目编译2.1. 前端编译打包2.2. 静态复制迁移三、后端项目启动2.1. 我启动了6个服务2.2. 测试验证一、nginx 操作流程 1. nginx 安装启动 nginx(windows环境安装) …

从P4到P9, 在马云家写代码到双11前端PM

阿里妹导读:今年的双11已经是阿里资深前端技术专家舒文来阿里的第11年,从应届生到双11前端PM,他一路升级打怪,实现了岗位上从P4到P9的晋升。这第11届双11顺利结束之际,他把在阿里这些年的成长经历做一个总结和分享&…

在Java虚拟机上班是一种怎样的体验?

来源 | 编程技术宇宙责编| Carol封图 | CSDN 下载自视觉中国本文用知乎体的风格简单介绍了JVM中几个内置线程的工作,希望对大家学习JVM有一点帮助。匿名用户JVM老鸟228 人赞同了该回答利益相关,匿了!JVM公司里面线程众多,派系林立…

微服务架构四大金刚利器

概述 互联网应用发展到今天,从单体应用架构到SOA以及今天的微服务,随着微服务化的不断升级进化,服务和服务之间的稳定性变得越来越重要,分布式系统之所以复杂,主要原因是分布式系统需要考虑到网络的延时和不可靠&…

RuoYi-Cloud 部署篇_01(linux环境 Oracle +nginx版本)

文章目录一、基础准备1. 技术选型2. 源码克隆3. 安装依赖4. 安装oracle5. 安装启动Mysql6. 安装启动Redis7. 创建数据库,执行 SQL脚本文件二、安装与配置 nacos2.1. 下载nacos2.2. 安装 nacos2.3. nacos持久化配置2.4. 执行脚本文件2.5. nacos连接 mysql 配置信息2.…

当60亿次攻击来袭,人机联合打了一场漂亮的防御战

云是大规模体量下各种小概率事件常态化的一个复杂场,云上的攻防对抗是攻击者和防御者在这张复杂场上的博弈与演化。大规模的环境之中充斥着各种各样转瞬即逝的信息,对于威胁,没有什么是比「大规模」和「转瞬即逝」还更好的隐匿与庇护。任何一…

RuoYi-Cloud 部署篇_02(linux环境 Oracle +nginx版本)

文章目录一、模块配置修改1. ruoyi-gateway-dev.yml2. ruoyi-auth-dev.yml3. ruoyi-system-dev.yml4. ruoyi-gen-dev.yml5. ruoyi-job-dev.yml6. ruoyi-file-dev.yml二、后端配置预启动2.1. 部署资料整合2.2. 模块端口划分2.3. 组件端口划分2.4. 服务脚本编写2.5. 前端编译生产…

一个多业务、多状态、多操作的交易链路?闲鱼架构这样演进

前言 双十一刚刚结束,成交额2684亿震惊全世界,每秒订单峰值达54.4W笔。在闲鱼2000万DAU,交易数额同样增长迅速的今天,我们如何保障交易链路的稳定与快速支撑业务?这篇文章从客户端开发的角度,介绍闲鱼交易…

RuoYi-Cloud 部署篇_03(linux环境 Oracle +nginx版本)

请参考RuoYi-Cloud 分布式部署_03(linux环境 Mysqlnginxredis版本)

没想到 Google 排名第一的编程语言,为什么会这么火?

没想到吧,Python 又拿第一了! 在 Google 公布的编程语言流行指数中,Python 依旧是全球范围内最受欢迎的技术语言!01为什么 Python 会这么火?核心还是因为企业需要用它!因为其易用、逻辑简单并拥有海量扩展包…

写1行代码影响1000000000人,这是个什么项目?

不带钱不带卡,只带手机出门就能畅行无阻,这已是生活的常态。益普索发布的《2019第一季度第三方移动支付用户研究》报告显示,移动支付在手机网民中的渗透率高达95.1%,截至今年1月,支付宝全球用户数已经突破10亿。你或许…

高德客户端及引擎技术架构演进与思考

2019杭州云栖大会上,高德地图技术团队向与会者分享了包括视觉与机器智能、路线规划、场景化/精细化定位、时空数据应用、亿级流量架构演进等多个出行技术领域的热门话题。现场火爆,听众反响强烈。我们把其中的优秀演讲内容整理成文并陆续发布出来&#x…

免费直播:主流深度框架对比:总有一款适合你~

常常有小伙伴在后台反馈:想了解深度学习该怎么学?自学难度大又没有效果,该怎么办?CSDN为了解决这个难题,联合唐宇迪老师为大家带来了一场精彩的直播【一节课掌握深度学习必备框架】。本次直播将带大家了解在开始深度学…

Swift 在 GAIA 平台云端一体化的探索

作者|姜沂(倾寒) 出品|阿里巴巴新零售淘系技术部 S1 阶段在使用 SwiftUI 编写集团内部使用的 SOT APP 时,有幸参与到 GAIA (FaaS)平台云端一体化的探索,从头到尾实现了一套基于 Swift 语言实现的遵守 GAIA…

微信小程序实现刷脸登录

🎨领域:Java后端开发🔥收录专栏: 系统设计与实战 🐒个人主页:BreezAm 💖Gitee:https://gitee.com/BreezAm ✨个人标签:【后端】【大数据】【前端】【运维】 文章目录&am…

SOFAStack的前世今生

十二年前,为了解决支付宝第一代架构在迅猛发展的业务面前捉襟见肘的困境,蚂蚁金服技术团队开启了一次前所未有的尝试。创新都是被逼出来的,今天高速发展的SOFAStack同样如此。 十二年时间,几代蚂蚁技术人参与攻坚,SOFA…

从浪漫走向坚韧:开源数据库的演变

图:Peter Zaitsev作者 | Adrian Bridgwater译者 | 火火酱,责编| Carol“最初,所有的软件都是开源的。”——这是Percona首席执行官彼得扎伊采夫(Peter Zaitsev)在其公司今年虚拟年度用户/客户峰会上的开场白。如果我们…

中国数据库OceanBase登顶之路

今年天猫双11当天,OceanBase数据库再次刷新数据库处理峰值,达6100万次/秒,创造了新的世界纪录。 在此之前一个月,据权威机构国际事务处理性能委员会TPC披露:蚂蚁金服的分布式关系数据库OceanBase,打破美国…

github 访问慢,一键加速,完美访问

文章目录1. 下载dev-sidecar2. 安装3. 开机启动4. 安装证书5. 开启增强模式6. 重新启动dev-sidecar7. 测试验证1. 下载dev-sidecar https://gitee.com/docmirror/dev-sidecar/releases/v1.6.1 2. 安装 这里windows环境演示 双击安装 3. 开机启动 4. 安装证书 5. 开启增强…

给 AI 讲故事,如何教它脑补画面?

阿里妹导读:视觉想象力是人与生俱来的, AI 能否拥有类似的能力呢?比如:给出一段故事情节,如何让机器展开它的想象力,“脑补”出画面呢?看看阿里AI Labs 感知实验室的同学们如何解决这个问题。 …