红帽白皮书新鲜出炉!点击获取,让你的云战略更胜一筹! 了解详情
写点什么

卫星影像识别技术在高德数据建设中的探索与实践

  • 2020-04-12
  • 本文字数:2457 字

    阅读完需:约 8 分钟

卫星影像识别技术在高德数据建设中的探索与实践

导读

对于地图服务而言,地图数据的准确率和覆盖率是服务质量的关键因素,而地图数据的更新,依赖于多种信息源,如轨迹热力,实采图像,卫星影像等。近年来,由于遥感卫星数量的增多及高分辨率光谱相机的出现,以及卫星影像图自身覆盖广、视角好、信息丰富的特点,卫星影像作为地图数据更新的信息源起到了越来越重要的作用。


对于卫星影像的使用方式,高德经历了由前端用户展示,到人工数据作业参考,再到主动发现更新地图数据的进化过程,这同时也是我们不断挖掘影像数据价值的过程。本文会介绍高德视觉团队将卫星影像从被动参考升级为主动发现的过程中的探索和实践。

卫星影像关键元素

按照几何结构划分,影像元素可分为三大类:道路元素(road),地物元素(region),建筑物元素(building):


道路元素:包含普通道路,精细道路(主/辅路/非机动车道,提前右转路),连接点(贯穿路、出入口、掉头口、路口等)。


地物元素:包含建筑区域、拆迁区域、水域、农田、山区、林地、大棚等。


建筑物元素:建筑物楼块。


卫星影像在数据更新上的优势

路网是地图数据的基础,所有的道路属性、动态事件、POI 引导都需要基于准确的路网数据信息。而卫星影像由于具有上帝视角,对区域内路网的连接关系、复杂的路口关系、平立交关系的判断具有全局而丰富的信息支撑。同时,由于卫星影像覆盖广、成本低的特点,对于热力稀疏或者采集车难以覆盖的区域,可以进行很好的路网数据补充。



路网三大信息源:热力、卫星影像、实采


作为用户导航的终点,POI(“Point of interest”的缩写,在地图数据中,一个 POI 可以是一栋房子、一个商铺、一个公交站等)坐标位置的准确性十分重要。通过高德 POI 中 Top1000w 的统计,70%的 POI 需要与楼块进行绑定,POI 到达点与沿街楼块具有强依赖关系。



POI 与楼块强相关性

卫星影像识别技术探索实践

卫星影像精细语义分割(Semantic)


在语义分割上,为了提升算法精度,我们将主要方向聚焦在上下文信息的结合,如使用了 U-Net 结构、ASPP、Non-local 等对信息的聚合具有作用的结构。同时引入了 Attention 加强了网络对图像显著区域,即当前分割任务所关注的类别进行了注意力聚焦,使得效果达到进一步提升。


  • U-Net 结构


由于影像图像语义较为简单、结构较为固定,高级语义信息和低级特征都显得很重要,因此我们选用了 U-Net 作为网络的基础结构。Encoder-Decoder 分别下采样 4 次+上采样 4 次,将 Encoder 得到的高级语义特征图恢复到原图片的分辨率。


相比于 FCN 和 Deeplab 等,U-Net 共进行了 4 次上采样,并在同一个 Stage 使用了 Skip Connection,而不是直接在高级语义特征上进行监督和 Loss 反传,这样就保证了最后恢复出来的特征图融合了更多 Low-Level 的 Feature,也使得不同 Scale 的 Feature 得到了融合,从而可以进行多尺度预测和 DeepSupervision。4 次上采样也使得分割图恢复边缘等信息更加精细。


  • ASPP


使用不同扩张率的扩张卷积,并进行特征结合,得到多尺度特征,同时得到全局信息和局部信息。


  • Attention


关注图像显著区域,将 U-Net 的浅层和对应的深层进行信息结合后,得到 Attention 的参数,再作用于当前深层,得到最终 Attention 的结果输出。


  • Non-local


特定层的卷积核在原图上的感受野(local)是有限的,Non-local 通过将空间中不同像素间的关系编码到当前层的输出,从而将全局信息加入到输出结果中,就能很好地解决 local 操作无法看清全局的情况,为后面的层带去更丰富的信息。



U-Net 结构(左上) Attention(左下) Non-local(右上) ASPP(右下)


影像楼块实例分割(Instance)


实例分割有两种主流方法,第一种是基于目标检测,在得到目标检测框之后再在框内做语义分割前景和背景,由于这种方法需要借助目标检测中的区域提议,因此该方法称为 Proposal-Based 方法。


另一种方法是,在语义分割图的基础上,将像素聚集到不同的实例上,这种被称为 Proposal-Free 方法。我们对两种主流方法进行了对比实验,由于楼块具有多样性、“矮胖结构”的特点,Proposal-Based 方法效果要优于 Proposal-Free 方法。


对于楼块数据而言,重要的表达内容是楼块的底座位置及其形状。然而由于影像拍摄视角问题,部分高楼在视觉上呈现斜射的效果,部分基座边缘被遮挡,为识别造成了极大的难度。


经过数据分析与推算,我们发现绝大多数的楼块底座形状是和楼顶形状一致的,因此我们采用了楼顶分割+楼顶到基座偏移量的多任务学习方案,将分割出的楼顶形状加上一个楼顶到基座的偏移向量,对基座的形状和位置进行了一个比较理想的还原。


多元素识别效果展示

针对卫星影像不同元素的图像特征与拓扑结构关系,我们设计了多个识别模型,包含普通道路识别、精细路网识别、地物分类识别、楼块识别等,作用于高德多种类别的数据更新。



普通道路识别(左上) 精细路识别(右上) 地物分类(左下) 楼块识别(右下)

未来展望 &挑战

  • 路网数据的准确/快速更新


用户在使用导航过程中可能会遇到一些场景:比如为什么这里有条新路却给导航了一条绕远的路?为什么导航了一条已经不能走的路?为什么本来这里可以掉头却还要往前多走几公里才能掉头?这些由路网数据错误导致的导航偏差,是我们未来需要解决的核心问题,也是业界的难题。未来我们期望通过视觉算法层面的优化,通过多采集源的融合预测,通过提前发现建设中道路等一系列手段,来快速感知到现实世界中发生的路网变化。


  • 数字城市中的楼块与 AOI 建设


对于数字城市来说,楼块和 AOI(兴趣区,Area Of interest)是重要的元素之一:如用户想要前往某个店铺,实际导航的到达点是店铺所在的楼块;用户想要前往某个小区的某个楼,实际导航的到达点是小区的入口,因此楼块与 AOI 的准确与完备直接影响到用户导航最后几百米的使用感受。同时结合最近的疫情防控,数字城市中的楼块和 AOI 信息可以对写字楼、小区等区域的疫情防控提供有力的数据支持。未来我们期望通过结合卫星影像的发现能力,进一步完善数字城市的数据建设,连接真实世界,让出行更美好。


本文转载自公众号高德技术(ID:amap_tech)。


原文链接


https://mp.weixin.qq.com/s/Cg2Sg5K15T1EjX_KYbsErw


2020-04-12 10:002665

评论 1 条评论

发布
用户头像
牛逼
2020-04-13 10:49
回复
没有更多了
发现更多内容

dvwa 通关记录1 - 暴力破解 Brute Force

Todd-Lee

渗透测试 DVWA

leetcode 204. Count Primes 计数质数 (Easy)

okokabcd

LeetCode 算法与数据结构

Linux性能调优之内存负载调优的一些笔记

山河已无恙

签约计划第三季

【高并发项目实战】自适应高并发复杂场景的订单拆分算法工具

小明Java问道之路

高可用 高并发 高性能 签约计划第三季 8月月更

学习英语的网站与资料

玄兴梦影

学习 英语

一、《图解HTTP》- WEB和网络基础

懒时小窝

图解https

小程序容器+自定义插件,可实现混合App快速开发

Speedoooo

小程序 插件 APP开发

让你10分钟就能看懂Linux文件权限(超级详细、超级简单!!!)

Albert Edison

Linux centos linux 文件权限控制 8月月更

Android编译系统初探

桑榆

8月月更

系统可用性:SRE口中的3个9,4个9...到底是个什么东西?

董哥的黑板报

运维 后端 可用性 SRE

【Go实现】实践GoF的23种设计模式:迭代器模式

元闰子

Go 设计模式 迭代器模式

Nacos配置中心之加载配置

急需上岸的小谢

8月月更

你认同这个观点吗?大多数企业的数字化都只是为了缓解焦虑

雨果

数字化转型 数字化

Gitee图床被屏蔽后,我搭建了一个文件系统并封装成轮子开源!

IT学习日记

Java springboot 签约计划第三季 seaweedfs文件系统 Gitee图床崩了

物无定味适口者珍,Python3并发场景(CPU密集/IO密集)任务的并发方式的场景抉择(多线程threading/多进程multiprocessing/协程asyncio)

刘悦的技术博客

多线程 协程 多进程 Python3 Python.

Java中的引用

flow

签约计划第三季

鲲鹏编译调试插件实战

乌龟哥哥

8月月更

PDF转Word有那么难吗?做一个文件转换器,都解决了

IC00

C# 签约计划第三季

前端食堂技术周刊第 46 期:Chrome 三方 cookie 计划、npm 引入更多安全增强功能、Awesome Bun

童欧巴

Linux npm Cookie

好好活就是做有意义的事,有意义的事就是好好活

宇宙之一粟

8月月更

如何给 UE4 场景添加游戏角色

HelloWorld杰少

c++ 游戏 UE5 8月月更

SRv6 L3VPN的工作原理

穿过生命散发芬芳

8月月更 SRv6

Serverless基础知识

阿泽🧸

Serverless 8月月更

毕业作业-设计电商秒杀系统

Fan

#架构实战营

如何优雅的消除系统重复代码

慕枫技术笔记

设计模式 代码 签约计划第三季 8月月更

GRPC MacOS M1 处理器的问题

HoneyMoose

LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之一:解题思路

程序员欣宸

LeetCode 8月月更

企业公众号文章写作方向:如何写出读者认可的优质内容

石头IT视角

【SeaTunnel】从一个数据集成组件演化成企业级的服务

Apache SeaTunnel

大数据 微服务 数据处理 数据集成 大数据 开源

Python 教程之输入输出(1)—— 在 Python 中接受输入

海拥(haiyong.site)

Python 8月月更

开源一夏|要有遥不可及的梦想,也要有脚踏实地的本事

坚果

开源 HarmonyOS OpenHarmony 8月月更

卫星影像识别技术在高德数据建设中的探索与实践_大前端_高德技术_InfoQ精选文章