点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
参考论文:
Polygonal Building Extraction by Frame Field Learning(CVPR2021)
原文地址:
https://arxiv.org/abs/2004.14875
官方代码:
https://github.com/Lydorn/Polygonization-by-Frame-Field-Learning
摘要
目前最先进图像分割模型通常以栅格形式输出分割,但地理信息系统中的应用通常需要矢量多边形。我们在遥感图像中提取建筑物的任务中,将帧场输出添加到深度分割模型中,将预测的帧场与地面实况轮廓对齐,帮助减少深度网络输出与下游任务中输出样式之间的差距。
简介
由于深度进化神经网络(CNN)在处理大量含噪图像方面的成功,它在遥感图像分割方面已经达到了最先进的水平。然而像开放式街道地图(OSM),这样的地理信息系统需要矢量格式的分割数据(如多边形和曲线),而不是由分割网络生成的光栅格式。关于建筑分割的一般分为两大类:
第一种方法将网络生成的概率图矢量化为后验概率图,例如使用轮廓检测(marching squares),然后进行多边形简化(Ramer–Douglas–Peucker)。然而这种方法会受到平滑的角点影响产生伪影。此外,如图1所示,由于光栅输出的离散化会丢失形状信息,因此即使是完美概率图也很难进行多边形化。
另一类深度分割方法直接学习向量表示。例如,Curve-GCN[23]训练一个图卷积网络(GCN)来迭代变形多边形,PolyMapper[21]使用递归神经网络(RNN)一次预测一个顶点。虽然这些方法直接预测多边形参数,但GCN和RNN存在一些缺点。它们不仅更难训练,而且只能处理没有孔洞的简单多边形,无法适应复杂的城市建筑场景。
本文的建筑物提取算法ASM(灵活骨架模型),通过向全卷积网络添加帧场(见图1)为分割矢量化、规则化提供了有用的信息。ASM不是将轮廓拟合到图像数据,而是拟合一个骨架图,其中每条边用一个顶点连接两个节点,可以处理大型建筑物和带有内孔的建筑物等复杂场景。
图1:网络输出的帧场。
方法介绍
目前的挑战有两个方面:一是模型需要做出是否添加轮廓、是否向对象添加孔以及用多少顶点来描述轮廓的离散决策。二是与概率图不同,多边形建筑物提取的输出结构不是网格状的,图像的网格状结构必须将输入转换为平面图表示建筑轮廓的结构。城市中还有一个问题,就是相邻的建筑物共用一堵墙。理想情况下,这种情况下的输出几何体将是多边形的集合,每个建筑物一个,且它们共享对应于公共墙的多段线。目前,没有一种端到端的深度学习方法能够解决这个问题。我们的方法主要包括(1)帧场编码是两个方向而不是一个方向(角点需要)(2)使用回归损失而不是分类损失,以及(3)使用耦合损失来促进分割和帧场之间的一致性。
本文的关键思想是通过要求神经网络以帧场的形式输出缺失的形状信息,帮助多边形化方法解决由离散概率图引起的歧义情况(见图2)。这实际上不会增加训练和推理时间,允许更简单、更快的多边形化,并使分割规则化,从而解决了如果不使用规则化,则会产生圆角的基本真值注释的小偏差问题。
图2:即使是一个完美的分类图,由于局部模糊的概率图,也会产生不正确的多边形化,如(a)所示,行进方块的输出。我们的多边形化方法迭代优化轮廓(b-d)以与框架场对齐,当框架场(蓝色)消除斜墙和角之间的歧义时,产生更好的结果,防止角被切断。
帧场
帧场是本文方法的关键部分。帧场是一个4向量场,它为平面的每个点指定四个向量,前两个向量被约束为与其他两个向量相对,即,每个点被分配一组向量 { ${ u、−u、 v、−v}$ } 。将帧场定义为两个复数$u,v∈ C$。因为建筑与有机形状不同,是具有锐角的规则结构,在这些锐角处捕捉方向性需要两个方向。重新标记和符号变化无关的方式对方向进行编码,如下式: (1)
将式(1)表示为$f(z;c_0,c_2)$,给定一对$(c_0,c_2)$,我们可以轻松恢复相应帧的一对方向,:
(2)
帧场学习
如图3所示,网络将3×H×W图像作为输入,并输出像素分类图和帧场。分类图包含两个通道,$y{int}$对应于建筑内部,$y{edge}$对应于建筑边界。帧场包含四个通道对应的是两个复系数两个复数$c_0,c_2∈ C$。其中损失函数包括分割损失、帧场损失、输出耦合损失、最终损失。
图3:给定一个俯视图像,我们的模型输出一个边缘遮罩、内部遮罩和帧场。通过损失函数将遮罩和场与地面真实数据对齐,加强帧场的平滑度,并确保输出之间的一致性。
帧场多边形化
本文的多边形化方法的主要步骤如图4所示。其灵感来源于活动轮廓模型(ACM)。ACM用给定的轮廓a初始化,将能量函数E最小化使轮廓点移向最佳位置。本文改写ACM以便在骨架图上而不是轮廓上执行优化,从而得到活动骨架模型(ASM),ASM应用于建筑墙概率图$y_{edge}$的细化方法获得的骨架图像的连通像素图。
图4:我们的后处理多边形化算法概述。给定内部分类图和帧场(图3)作为输入,我们使用活动骨架模型(ASM)优化轮廓以与帧场对齐,并使用帧场检测角点,从而简化非角点顶点。
实验结果
本文在CrowdAI Mapping Challenge dataset
和 Inria Aerial Image Labeling dataset
数据集上进行实验。
CrowdAI dataset,对比了U-Net+ASIP,PolyMapper 及我们的UResNet101的建筑物提取结果示例。在表1中,“simple poly”使用“帧场”分割比使用“无帧场”分割效果更好,因为帧场学习具有正则化效果,且
PolyMapper
的性能优于simple poly
,本文的帧场学习和多边形化方法进一步减少误差,并优于PolyMapper
。
图5:CrowdAI测试图像上的建筑物提取结果示例。建筑从左到右变得更加复杂,对比了U-Net+ASIP,PolyMapper 及我们的UResNet101的建筑物提取结果示例。
表1:CrowdAI数据集的验证多边形的原始曲线的平均最大切线角误差。
Inria dataset,如图6所示,对比了U-Net16(无帧场),我们的U-Net16(带帧场)的建筑物提取结果,本文的方法成功地处理了复杂的建筑形状。而且如表2所示,相对更重要的平均最大切线角误差有了显著的降低。
图6:Inria dataset部分。
表2:Inria数据集上多边形提取方法的IoU和平均最大切线角误差。
结论
本文通过学习分割模型的帧场,产生更规则的轮廓(具有锐角的轮廓),提高了建筑物提取的任务的性能。同时帧场几乎不增加推理时间的成本,并且消除了复杂的多边形化情况的歧义。
本文仅做学术分享,如有侵权,请联系删文。
下载1
在「3D视觉工坊」公众号后台回复:3D视觉,即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。
下载2
在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总,即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。
下载3
在「3D视觉工坊」公众号后台回复:相机标定,即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配,即可下载独家立体匹配学习课件与视频网址。
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~