PolyDiffuse:Polygonal Shape Reconstruction via Guided Set Diffusion Models 论文学习笔记

概要

本文介绍了一种新的结构重建算法,利用了扩散模型将图片数据转化为矢量多边形数据。该方案面临的挑战主要有两个:1.最终的结果是一个几何形状的集合,它的表示并不唯一。一个拥有n个多边形的集合有n!个等价的表示,这会使去噪的过程有歧义。2.不同于扩散模型常被应用的领域——生成,重建的结果应当是唯一且准确的(生成常被用于做相似数据的生成,而重建则是对于原始数据进行唯一结果的重建)。这就需要仔细地设计初始噪声。本文的技术贡献有两点,1.扩散模型的前向扩散过程中,通过控制噪声输入来区分同一结果的不同表示,从而解决去噪歧义的问题。2.反向去噪过程中,通过制导网络模块来引导和约束最终多边形的生成过程,使其能贴合传感器数据。

Introduction

重建和生成两个研究领域现如今表现出越来越强的相似性,如重建方面应用了transformer来迭代地重建和细化室内平面图和建筑模型,这一过程类似于生成领域的AR-Transformer算法。

近年来,由于扩散模型的出现,生成式AI得到了巨大的发展。因此自然而然地能联想到一个问题:“扩散模型能被应用于结构化重建吗?”而这个问题并不好解决,主要是基于两个问题:1.多边形等价表示导致的加噪过程的模糊性。2.去噪最终只需要达到单个解,导致对于初始噪声的要求较严格。

本文主要的技术贡献是引导集扩散模型(GS-DM)。这是基于一个被称为制导网络的可学习网络来设计的。制导网络的作用是为设计高斯噪声。详细地说,制导网络为每个元素设置一个单独的高斯作为噪声分布,而不是为所有元素设置一个固定的零均值单位方差高斯,并且在去噪训练之前通过最小化排列模糊度作为损失函数来学习。在测试时,反向过程由制导网络初始化单元高斯噪声,然后根据传感器数据进行去噪以重建多边形形状。制导网络需要根据现有方法或注释器检测图像所得到的结果进行粗略的初始重建。即,这个网络要求一定的人工标注或机器学习方法的初始标注,即去噪初始化时需要用某种方案标注下重建多边形的粗略位置和初始角点数。去噪过程相当于不断调整这些角点的位置。

本文对两个多边形结构重建任务进行了广泛的实验:使用Structured3D数据集从点云密度图像重建平面图,以及使用nuScenes数据集从机载相机输入构建高清地图。

Related Work

对于多边形的结构化重建

多边形结构化重建是计算机视觉一个活跃的研究领域,其重点是将光栅传感器数据转换为矢量几何,如平面图,线框图等。近年来,利用神经网络进行端到端的重建方法越来越多。而本文的PolyDiffuse则是基于扩散模型,并在平面图和高清地图的重建工作上表现出良好的性能,同时它也支持更广泛的实际用例。

基于扩散的生成式模型

扩散模型在近几年取得了巨大的进展,且在内容生成和似然估计上表现出了良好的性能。本文探索了扩散模型在结构化重建方面的潜力,提出了GS-DM模型,由传感器数据(即图像等数据)引导反向去噪的过程,并重建复杂多边形形状。本文所用的公式与声学扩散模型PriorGrad有关,但是不同于PriorGrad直接根据目标估计了整体的噪声的均值和方差,本文则是逐单元逐步地去去噪。

去噪扩散概率模型的原理

扩散模型在正向扩散过程中逐步向数据注入噪声,并通过反向去噪过程从噪声中生成数据。这一节主要阐述的是去噪扩散概率模型(DDPM)的公式原理。

前向扩散过程采用马尔科夫前向过程的原理(下一个状态只和前一状态有关),逐步将原始数据x0转化为充满高斯噪声的数据q(x0)。其中每一步的数学公式表示如1。其含义是下一状态是xt是前一状态xt-1和高斯噪声I的加权和,βt是一个在每一阶段固定的或者可学习的常数,不同阶段的βt不同,一般来讲越往后越大。

通过推导,可以推导出在x0条件下xt的概率分布应如公式2,3。

最终可得出x0和xt的关系如下公式:

代入到由贝叶斯公式计算得出的xt-1的计算公式中,可以得出xt-1和xt的关系公式,即公式4。其中Z是一个符合高斯分布的噪声。这也是反向传播所用到的核心公式。最终的训练目标就是一个噪声预估器。训练降噪的损失函数如5。

Method

引导集扩散模型GS-DM

将多边形集合抽象成在条件y下的一组元素集合X = {x1, x2, ... ,xN}。扩散模型在预测多边形上一个直接应用的方法是将某种元素排列看作一个向量,通过扩散和降噪来学习和生成最终的结果X。而挑战在于由于X是一个集合,所以其中的元素有阶乘大小的排列方式,这容易使去噪过程变得模糊。为了缓解上述问题,本文通过“引导网络”这一结构来逐元素地学习噪声的注入过程,并在降噪过程中迭代地逐元素地根据传感器数据调整数据,并生成最终结果。

正向过程:在标准扩散过程中,样品的不同排列变体在扩散过程中逐渐变得难以区分。为了使特定的表示x0与其排列变体分开,文章的设计是为每个元素注入噪声。其元素x的分布迭代公式如6,xit表示第i个元素在第t次加噪后的状态。每次元素分布的均值都会加µ,而标准差都会乘σ。最终通过DDPM的公式推导加噪公式,每次加噪后的均值和标准差的公式表示如7,8,9。

由上述公式可以看出,xi0到xit的转化公式仅依赖于均值和标准差,且T下元素i的状态是符合T时的均值和标准差下的正态分布的。文章将均值和标准差设计为由引导网络预测获得。同时定义标准差是一个不会随T变化而变化,只和元素i有关的定值。

反向过程:训练时,由于x0是已知的,所以每个多边形的顶点数目和大体位置都是已知的。而在测试时,这些都是未知的。因此使用一个proposal generator来生成假定的最终分布x0的初始值,即假定最终生成的各个多边形的顶点数目和大体位置。这种分布的生成过程可以是人工的或通过某种算法得出的。首先根据假定分布来计算出初始的符合高斯分布的噪声,然后再逐步降噪,降噪的过程类似于公式4。其中ϵ是降噪网络。输入为整个集合的当前状态xt,并输出每个元素的噪声预测。

降噪网络:降噪网络的损失函数如公式11,它类似于传统的降噪网络损失函数如公式5。其中有两个关键参数是μ和 σ由引导网络算出来的。引导网络的训练在下一节。这里这两项参数通过神经网络给出的原因可能是为了有一个具有唯一性排列的损失,即不同的初始数据排列下这两项参数可能不同,从而导致损失函数不定。因此直接用一个神经网络的预测结果来替代不定的参数,以保证损失值的唯一性。

(实际上就是训练一个能选择特定类型排列的神经网络,以降低训练模糊性,我的理解是这个神经网络在输入初始的几何形状集合后,会将集合转化为一种具有特定规则的排列,并根据这种排列输出不同t下这两项参数。这样最终训练出的扩散模型是朝着这种特定规则排列的方向去降噪以获得最终的几何形状集合。如果不用这个而是直接算各种排列下最小损失值,或者用其它方法的话,由于每次排列的不定性,导致最终的降噪网络难以选择向哪种排列方向进行降噪,也就是所谓的训练的模糊性。)

引导网络:由上述内容可知,在训练降噪网络之前,就必须先训练好一个引导网络,以保证排列的唯一性。这里用了个广泛应用于矩阵学习中的三重损失函数来训练引导网络,如12,其中P是所有的排列情况(这地方说损失只考虑最接近的的负排列情况,没搞懂什么意思)。在又加上两个正则化项后,最终损失值如13。

image

image

总的来说,GS-DM的训练分为两个阶段:先训练引导网络,再用固定的引导网络去训练降噪网络。

PolyDiffuse:基于GS-DM的多边形重建

特征表示:x代表多边形元素的集合,而其中的每个元素xi要么代表一个完整多边形,要么代表一条折线。xi由任意(平面图重建)或固定(高清地图重建)的定点组成,即xi = {vi1,vi2,......}每个顶点包括一个2D坐标,以y优先,x其次的顺序找到起始的顶点,然后以逆时针方向构造多边形。

引导网络:正如前文所说,正向扩散和反向降噪的过程依赖于均值 µ和 标准差σ。且每个元素都遵循如下的正态分布。文章用两个不同的Transformer来预测每个元素的µ和 σ,且不同时刻的均值和标准差计算公式如(14)。为了简单起见,transformer值只根据初始状态x0和i来预测一个方差和均值并用14来计算每一时刻的方差和均值,而不是去预测每一时刻的参数。引导网络只在训练集上起作用,测试集会用人工标注或单独的检测器来进行噪声结构的初始化。

降噪网络:降噪网络借鉴了RoomFormer和MapTR,这两个网络都是改编自Transformer编码器-解码器的架构,但是需要对它们进行修改使它们适应降噪网络。使用xt作为Transformer解码器的输入节点,每个节点代表一个顶点,它由x轴坐标,y轴坐标和索引三个的位置编码拼接而成。同时,使用位置编码对时间步长t进行编码,并将这一特征添加到解码器的每个块中。

采样加速和似然评估:PolyDiffuse的重建过程基于公式10。文章使用了先进的概率流ODE求解器(?)来加速采样过程,并在生成过程中只运行一次图像编码器,因为视觉特征在所有步骤中共享。同时,PolyDiffuse还是用了似然评估来改善自己的重建质量。

Experiment

本文使用了和RoomFormer一样的DETR风格的Transformer架构,同时增加了迭代次数,因为该模型的收敛速度要显著慢于原来的神经网络。当然,对比时也对于原版神经网络执行了同样的迭代次数,但发现原版在过多epoch下出现了过拟合。

平面图重建

使用了Structured3D数据集,点云被转换为256*256的点密度图像作为输入。PolyDiffuse与Floor-SP,MoteFloor,LETR,HEAT和Roomformer五个方法进行了对比。前两种通过学习度量函数来求解最优平面图,后三种使用基于端到端的transformer神经网络,速度要快得多。RoomFormer在PolyDiffuse里还起到了提案生成器的作用,通过删除Dice损失来简化实现。由于数据集非常小,文章增加了随机旋转数据增强。同时对改进后的RoomFormer生成器部分进行了四倍于原始训练epoch的训练,以提高整体性能。下表可以看出本文的方法在高级几何推理方面具有优势。同时,PolyDiffuse在测试时可以很好地使用不同的生成器。左图可以看出polydiffuse改进了RoomFormer的生成图质量,右图则表示PolyDiffuse通过枚举多边形的不同顶点数并评估其自身的重建可能性来实现基于搜索的自细化。这部分是用户手动指出不完美的多边形(在左侧虚线框内),然后运行文章的算法,为这些多边形使用不同数量的顶点,同时评估重建的可能性。

高清地图重建

使用了nuScenes数据集,该地图包括三大类元素:行人过路、分隔线和道路边界。为了公平的比较,文章使用与其它的工作相同的数据集分割和预处理设置,并且还用20个均匀插值的顶点表示每个折线。与MapTR类似,文章在实验中只使用RGB图像作为传感器输入。使用的也是通用评估方案,但在阈值和一些实现上进行了调整。方法与VectorMapNet和MapTR进行比较。该实验中MapTR被作为了提议生成器。PolyDiffuse在顺序感知角距离方面显示出明显的优势,与作为提议生成器的MapTR相比,最低阈值的AP变得更差,而最高阈值的AP则有所改善。

消融实验

标准扩散模型与带引导集的扩散模型对比:虽然标准DM在10个采样(去噪?)步骤中产生了合理的结果,但它并不优于基准方法RoomFormer。此外,随着采样步长的减少,标准DM的性能显著下降,因为随着采样步长的增大,去噪模糊对性能的损害更严重。

采样步骤数:PolyDiffuse对更少的采样步骤具有鲁棒性,并且仅使用两个采样步骤仍然可以略微改进RoomFormer。

训练epoch:当训练时间较长时,PolyDiffuse不断改进,而RoomFormer则存在过拟合问题。然而,即使使用默认时间表,PolyDiffuse也明显优于RoomFormer。

Conclusion

本文介绍的PolyDiffuse是一个从传感器数据重建高清多边形形状的系统,它的核心是引导集扩散模型,通过控制噪声注入的过程以避免去噪过程中的序列歧义。实验上,PolyDiffuse也在高清地图的重建和平面图的重建上表现出来强大的能力。同时也为扩散模型在重建领域的研究提供了可能。

限制:PolyDiffuse有两个主要限制:1.它难以去预测缺失的几何形状。这可以通过似然估计+人工标注的方式来改善。2.它依赖于初始的状态,即标注器。标注器标注点数和初始位置不准确都有可能导致结果不准确。为每种类型的初始重构训练特定的制导和去噪网络是一种解决方案,但会带来更多的计算量。

个人总结:与其说是一个新的重建网络,不如说PolyDiffuse的主要作用体现在它的降噪方面。感觉它更多的应用是为现有的结果进行一个调整和改善,但初始的位置和形状则是需要用某种方式来指定的。总感觉更好的应用是被用在带人工指向的图像分割领域,即细化粗略的分割?此外这篇文章的神经网络架构也没很好地被解释,个人猜测特征图像是在transformer的交叉注意力部分被作为信息加入的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值