写点什么

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

  • 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:002685

评论 1 条评论

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

Java 网络:InetAddress类的应用以及通过Socket实现TCP编程

android 程序员 移动开发

Jetpack系列——ViewModel

android 程序员 移动开发

Kotlin协程实现原理概述

android 程序员 移动开发

JETPACK-COMPOSE-ALPHA-版现已发布!

android 程序员 移动开发

Koltin28

android 程序员 移动开发

Kotlin Lambda巩固

android 程序员 移动开发

Linux虚拟机与Windows宿主机间的通信

android 程序员 移动开发

IOS开发之——事件处理-hiTest(69)

android 程序员 移动开发

Java线程(十):CAS

android 程序员 移动开发

Jaxb2 实现JavaBean与xml互转

android 程序员 移动开发

JetPack现在都成了Android开发必备技能嘛?

android 程序员 移动开发

JNI 与 NDK 入门(一)

android 程序员 移动开发

IOS开发之——CABasicAnimation(95)

android 程序员 移动开发

Java的Url编码和解码

android 程序员 移动开发

JETPACK-COMPOSE-ALPHA-版现已发布!(1)

android 程序员 移动开发

Kotlin从头开始(一):lambda表达式和高阶函数 一

android 程序员 移动开发

Java 创建型模式:单态模式,原型模式,工厂方法

android 程序员 移动开发

Java之JNI初步认识

android 程序员 移动开发

Jetpack-在数据变化时如何优雅更新Views数据

android 程序员 移动开发

Linux上SSH免密登录

android 程序员 移动开发

ListView 与 RecyclerView 你应该弄懂的都在这里了

android 程序员 移动开发

Jetpack Compose 1

android 程序员 移动开发

Fabric.js 从入门到________

德育处主任

大前端 可视化 canvas 画布 FabricJS

Koltin47

android 程序员 移动开发

Kotlin-+-协程-+-Retrofit-+-MVVM优雅的实现网络请求

android 程序员 移动开发

Kotlin的自定义View,实现带弧形的进度条

android 程序员 移动开发

JAVA-Android-多线程实现方式及并发与同步

android 程序员 移动开发

Jetpack系列(一) — Navigation

android 程序员 移动开发

JS Bridge实现

android 程序员 移动开发

Kotlin 协程使用手册

android 程序员 移动开发

Linux 的make及makefile文件格式

android 程序员 移动开发

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