基于扩散模型的语义分割

论文标题:LABEL-EFFICIENT SEMANTIC SEGMENTATION WITH DIFFUSION MODELS

论文地址:https://arxiv.org/pdf/2112.03126.pdf

论文代码:https://github.com/yandex-research/ddpm-segmentation

摘要

  1. 背景介绍: 去噪扩散概率模型DDPM最近受到了很多研究关注,因为它们优于其他方法,如GAN,并且目前提供了最先进的生成性能。差分融合模型的优异性能使其在修复、超分辨率和语义编辑等应用中成为一个很有吸引力的工具。
  2. 研究方法: 作者为了证明扩散模型也可以作为语义分割的工具,特别是在标记数据稀缺的情况下。对于几个预先训练的扩散模型,作者研究了网络中执行逆扩散过程马尔可夫步骤的中间激活。结果表明这些激活有效地从输入图像中捕获语义信息,并且似乎是分割问题的出色像素级表示。基于这些观察结果,作者描述了一种简单的分割方法,即使只提供了少量的训练图像也可以使用。
  3. 实验结果: 提出的算法在多个数据集上显着优于现有的替代方法。

K-L散度(相对熵)

Kullback-Leibler Divergence,即K-L散度,是一种量化两种概率分布P和Q之间差异的方式,又叫相对熵。在概率学和统计学上,我们经常会使用一种更简单的、近似的分布来替代观察数据太复杂的分布。K-L散度能帮助我们度量使用一个分布来近似另一个分布时所损失的信息量。

数据的熵

K-L散度源于信息论。信息论主要研究如何量化数据中的信息。最重要的信息度量单位是Entropy,一般用H表示。分布的熵的公式如下:

上面对数没有确定底数,可以是2e10,等等。如果我们使用以2为底的对数计算H值的话,可以把这个值看作是编码信息所需要的最少二进制位个数bits。上面空间蠕虫的例子中,信息指的是根据观察所得的经验分布给出的蠕虫牙齿数量。计算可以得到原始数据概率分布的熵值为3.12 bits。这个值只是告诉我们编码蠕虫牙齿数量概率的信息需要的二进制位bit的位数。

可是熵值并没有给出压缩数据到最小熵值的方法,即如何编码数据才能达到最优(存储空间最优)。优化信息编码是一个非常有意思的主题,但并不是理解K-L散度所必须的。熵的主要作用是告诉我们最优编码信息方案的理论下界(存储空间),以及度量数据的信息量的一种方式。理解了熵,我们就知道有多少信息蕴含在数据之中,现在我们就可以计算当我们用一个带参数的概率分布来近似替代原始数据分布的时候,到底损失了多少信息。

K-L散度度量信息损失

只需要稍加修改熵H的计算公式就能得到K-L散度的计算公式。设p为观察得到的概率分布,q为另一分布来近似p,则pqK-L散度为:

entropy-p-q

显然,根据上面的公式,K-L散度其实是数据的原始分布p和近似分布q之间的对数差值的期望。如果继续用2为底的对数计算,则K-L散度值表示信息损失的二进制位数。下面公式以期望表达K-L散度:

一般,K-L散度以下面的书写方式更常见:

注:log a - log b = log (a/b)

OK,现在我们知道当用一个分布来近似另一个分布时如何计算信息损失量了

散度并非距离

很自然地,一些同学把K-L散度看作是不同分布之间距离的度量。这是不对的,因为从K-L散度的计算公式就可以看出它不符合对称性(距离度量应该满足对称性)。也就是说,用p近似q和用q近似p,二者所损失的信息并不是一样的。

如果你熟悉神经网络,你肯能已经猜到我们接下来要学习的内容。除去神经网络结构的细节信息不谈,整个神经网络模型其实是在构造一个参数数量巨大的函数(百万级,甚至更多),不妨记为f(x),通过设定目标函数,可以训练神经网络逼近非常复杂的真实函数g(x)。训练的关键是要设定目标函数,反馈给神经网络当前的表现如何。训练过程就是不断减小目标函数值的过程。

Occupancy Networks: Learning 3D Reconstruction in Function Space

https://arxiv.org/abs/1812.03828

CVPR2019

code: https://github.com/autonomousvision/occupancy_networks

体素表示的缺点:内存随分辨率呈立方增加,故需要限制在32*32*32或64*64*64。使用例如八叉树的数据自适应表示来降低内存,实现起来又会复杂,现有数据自适应算法依旧局限于相对较小的256*256*256分辨率。

点云表示的缺点:由于缺少底层网格的连接结构,需要额外的后处理来从模型中提取三维几何图形。

网格表示的缺点:现有的网格表示通常基于对一个模板网格的变形,因此不允许任意拓扑。

点云和网格都限制了使用标准前馈网络能可靠预测的点/顶点的数量。

本文贡献:提出了基于对连续三维占据函数进行直接学习的三维重建新方法。利用神经网络gif.latex?f_%7B%5Ctheta%20%7D实现对任意分辨率的占据函数的预测。训练时大大降低了内存,推理时利用简单的多分辨率等值面提取算法从学习的模型中提取网格。

1、介绍了一种基于学习连续三维映射的对三维几何图形的新表示

2、展示了该表示如何用于从多种输入类型中重建三维几何形状

3、实验证明此方法能生成高质量网格且超越目前最优方法

本文提出了一种3D图形的表示方法,并给出了得到他的网络架构和训练方法。用decision boundary (判定边界)来表示物体的表面。这个方法贼好,放在2D类比,就像像素图和矢量图,矢量图是精度是无限的,但又不会耗费额外的内存。

随着深度神经网络的到来,基于学习的三维重建方法逐渐变得流行。但是和图像不同的是,在3D中没有规范的表示,既能高效地进行计算,又能有效地存储,同时还能表示任意拓扑的高分辨率几何图形。很多先进的基于学习的三维重建方法只能表示粗糙的三维几何,或者限制于一个特定的领域。在这篇论文中,作者提出了占用网格,一种新的基于学习的三维重建方法。占位网络隐式地将三维曲面表示为深度神经网络分类器的连续决策边界。与现有方法相比,该表示方式编码了高分辨率的3D输出,并且没有过多的内存占用。同时该方法能够高效地编码三维结构,并且能够从不同种类的输入推断出模型。实验证明,无论是在质量上还是在数量上,对于从单个图像、有噪声的点云和粗糙的离散体素网格进行三维重建,该方法都获得了具有竞争力的结果。

和传统多视图立体几何算法相比,学习模型的方法能够编码3D形状空间中的丰富先验信息,这有助于解决输入的模糊性。生成模型的方法在高分辨率的图像上已经取得了很好的效果,但是还没有复制到3D领域。与2D领域相比,暂时还没有就3D输出表示达成一致,这种表示既能提高内存效率,又能从数据中有效推断。现存的表示方法能够大概分成三类:体素、网格、点云,如下图所示:

体素表示是直接将像素一般化的情况,随着分辨率的提高,这种方法的内存占用将会呈指数增长,因此限制了分辨率。使用适当的损失函数,点云和网格被引入作为深度学习的代替表示。但是点云缺少底层网格的连接结构,从模型中提取3D几何需要额外的过程。现存网格的表示方法大多数是基于一个模板变形,因此不允许任意的拓扑结构。在这篇文章中,作者提出了一种基于直接学习连续三维占用函数的三维重建方法,如上图D所示。和其他方法不同的是,作者用神经网络预测了完全占用函数,它可以在任意分辨率下评估。这篇文章的主要贡献可以分为以下三点:1:介绍了一种基于学习连续三维映射的三维几何表示方法;2:使用此表示法重建各种输入类型的3D几何图形;3:此表示方法能够生成高质量的网格,并且达到先进技术水平。

相关工作

现有的基于学习的三维重建工作可以根据输出表示的不同分为基于体素的、基于点的和基于网格的三种。基于体素:由于其简单性,体素是鉴别和生成3D任务最常用的表示。早期的工作主要集中于使用3D卷积神经网络从一张图像重建三维几何,由于内存限制,分辨率不是很高,如果要达到相对较高的分辨率,需要牺牲网络架构或者减少每次输入的图片数量。其他的工作用体素表示来学习三维形状的生成模型,大多数的模型都是基于变分自动编码器或者生成对抗网络。为了提高分辨率,实现亚体素精度,一些研究人员提出预测截断符号距离字段(TSDF),其中3D网格中的每个点储存截断符号距离到最近的3D表面。然而,与占用表示相比,这种表示通常更难学习,因为网络必须推断出3D空间中的距离函数,而不是仅仅将体素分类为已占用或未占用。而且,这种表示方法的分辨率仍然受到内存的限制。基于点云:三维点云被广泛应用于机器人技术和计算机图形学领域,是一种非常引人注目的三维几何替代表示方法。Fan【1】引入点云作为三维重建的输出表示。然而,与其他表示不同的是,这种方法需要额外的后处理步骤来生成最终的3D网格。基于网格:网格首先被考虑用于区分三维分类或分割任务,在网格的顶点和边跨越的图上应用卷积,最近网格也被应用于三维重建的表示方法。不幸的是,大部分方法倾向于产生自交叉的网格,并且只能产生简单的拓扑结构。与上述方法相比,本文的方法产生了没有自相交的高分辨率封闭表面,并且不需要来自相同对象类的模板网格作为输入。并且使用深度学习来获得更有表现力的表示,可以自然地集成到端到端学习中。

具体一点,一个物体用一个occupancy function 来表示:

在这里插入图片描述

注意,是实数空间,不是离散的按一定分辨率取样的。
然后用一个神经网络来逼近这个函数,给每个实空间的3D点一个0-1之间的占用概率(因此和二分类模型等价)。神经网络 f 输入是一个点和一个几何体的表示(X),输出是一个0-1之间的实数,表示这个点在这个几何体里的概率。
而我们关注的是对象表面的决策边界。根据对物体的观察(如图像、点云等),当使用这样的网络对物体进行三维重建时,必须以输入作为条件。作者使用了下面的简单的功能对等:一个函数,它接受一个观察 x 作为输入,输出一个从点p到R的函数,这可以通过一个函数等价描述:一对(p, x)作为输入和输出一个实数。后一种表示可以用一个神经网络参数化,该神经网络以一对(p,x)作为输入,输出一个表示占用概率的实数:

对不同输入类型的数据,用不同encoder来输入。
单个图像:ResNet
体素:3D CNN
点云:PointNet等

在这里插入图片描述

这就是占用网络。2训练:为了学习神经网络的参数,考虑在对象的三维边界体中随机采样点,对于第i个样本,采样K个点,然后评估这些位置的小批量损失Lb如下所示:

其中xi是B批次的第i个观测值,Oij是点云的真实位置,L是交叉熵损失。该方法的性能取决于用于绘制用于训练的pij位置的采样方案,将在后面详细讨论。这个三维表示方法也可以用于学习概率潜在变量模型,定义损失函数如下:

3推论:为了提取一个新的观测值对应的等值面,作者引入了多分辨率等值面提取算法(MISE),如下图所示。

多分辨率等值面提取(MISE):①以初始分辨率离散化体积空间,给网格中的所有p用网络来评估占据。将大于或等于某阈值的所有网格点p标记为占据(红色圆形),非占据(青色菱形)。阈值是超参数,决定提取的三维表面的厚度。确定所有既含占据又含非占据顶角的体素并标记为动态(红色),如果在当前分辨率应用MC算法,这些是会使网格自相交的体素,将每个动态体素细分成8个子体素;②评估所有由这样细分而引入到占据网格的新的网格点(空心圈)。重复①②直到达到最终目标分辨率。在最终分辨率,利用MC算法提取网格,利用一阶和二阶梯度信息简化和细化输出网格。

首先在给定的分辨率上标记所有已经被评估为被占据(红色圆圈)或未被占据(青色方块)的点。然后确定所有的体素已经占领和未占领的角落,并标记(淡红色),细分为4个亚体素。接下来,评估所有由细分引入的新网格点(空圆)。重复前两个步骤,直到达到所需的输出分辨率。最后使用marching cubes算法【2】提取网格,利用一阶和二阶梯度信息对输出网格进行简化和细化。如果初始分辨率的占用网格包含网格内外各连通部分的点,则算法收敛于正确的网格。因此,采取足够高的初始分辨率来满足这一条件是很重要的。实际上,作者发现在几乎所有情况下,初始分辨率为32的三次方就足够了。通过marching cubes算法提取的初始网格可以进一步细化。在第一步中,使用Fast-Quadric-Mesh-Simplification算法【3】来简化网格。最后,使用一阶和二阶(即梯度)的信息。为了达到这个目标,作者从输出网格的每个面抽取随机点pk进行采样,并将损失最小化:

其中n(pk)为网格在pk处的法向量。4相关细节:作者使用具有5个ResNet块的全连接神经网络实现了占用网络,并使用条件批处理归一化对输入进行条件设置。根据输入的类型使用不同的编码器架构。对于单视图3D重建,使用ResNet18架构。对于点云,使用PointNet编码器。对于体素化输入,使用3D卷积神经网络。对于无条件网格生成,使用PointNet作为编码器网络。更多细节见原文。注:在我看来,这是一个端到端的网络,可以理解成一个GAN网络。前面的全连接神经网络编码输入的图像,预测每一个点被占用的概率,即该3D点是处于模型内部还是在模型的外面。通过采样多个点,我们就可以得到一个决策边界,这个边界就可以近似的理解成模型的外壳,然后通过后面的算法获得更高分辨率的模型。

结果展示:

连续表示(右)和不同分辨率下的体素化(左)的定性比较
上图显示了连续表示(纯橙色线)和网格体素化(蓝线)的IoU,以及两个表示(虚线)所需的每个模型的参数数量。
单幅图像三维重建,输入图像显示在第一列中,其他列显示与不同baselines相比该方法的结果。
真实数据的重建结果

基于点云的三维重建结果比较:

特斯拉 – occupancy network占据网络

视频: https://www.zhihu.com/zvideo/1566362268736200704?playTime=194.2

讲解: https://zhuanlan.zhihu.com/p/572057070

今年Tesla FSD部分,感知网络从去年的Bev感知(Hydranet)的基础上,更近一步,提出了occupancy network.

1. 为什么是occupancy network?

在基于 LiDAR 的系统中,可以根据检测到的反射强度来确定对象的存在,但在相机系统中,必须首先使用神经网络检测对象。如果看到不属于数据集的对象怎么办?比如侧翻的大卡车。仅此一项,就引发了很多事故。

可行驶区域的一些问题

rv、bev (Birds Eye View) 空间下可行驶区域会有一定问题:

  • 地平线的深度不一致,只有2个左右的像素决定了一个大区域的深度。
  • 无法看穿遮挡物,也无法行驶。
  • 提供的结构是 2D的,但世界是 3D 的。
  • 高度方向可能只有一个障碍物(悬垂的检测不到),目前是每类对象设置固定的矩形。
  • 存在未知物体,例如,如果看到不属于数据集的对象。

所以希望有种通用的方式来解决该问题,首先能想到的是bev下的可行驶区域,但相对来说在高度维会比较受限,索性一步到位变成3d空间预测、重建。

2. Occupancy Network

2022 CVPR中,tesla FSD新负责人 Ashok Elluswamy 推出了Occupancy Network。借鉴了机器人领域常用的思想,基于occupancy grid mapping,是一种简单形式的在线3d重建。将世界划分为一系列网格单元,然后定义哪个单元被占用,哪个单元是空闲的。通过预测3d空间中的占据概率来获得一种简单的3维空间表示。关键词是3D、使用占据概率而非检测、多视角。

Occupancy Network

这里输出的并非是对象的确切形状,而是一个近似值,可以理解为因为算力和内存有限,导致轮廓不够sharp,但也够用。另外还可以在静态和动态对象之间进行预测,以超过 100 FPS 的速度运行(或者是相机可以产生的 3 倍以上)。

2020 AI day中的Hydranet算法中有三个核心词汇:鸟瞰图(BEV)空间、固定矩形、物体检测。而occupancy network针对这三点有哪些优化,可以看:

第一是鸟瞰图。在 2020 年特斯拉 AI 日上,Andrej Karpathy 介绍了特斯拉的鸟瞰网络。该网络展示了如何将检测到的物体、可驾驶空间和其他物体放入 2D 鸟瞰视图中。occupancy则是计算占据空间的概率。

BEV vs Volume Occupancy

最主要的区别就是,前者是 2D表示,而后者是3D表示。

第二是固定矩形,在设计感知系统时,经常会将检测与固定输出尺寸联系起来,矩形无法表示一些异形的车辆或者障碍物。如果您看到一辆卡车,将在featuremap上放置一个 7×3 的矩形,如果看到一个行人,则使用一个 1×1 的矩形。问题是,这样无法预测悬垂的障碍物。如果汽车顶部有梯子,卡车有侧拖车或手臂;那么这种固定的矩形可能无法检测到目标。而使用Occupancy Network的话,看到下图中,是可以精细的预测到这些情况的。

固定矩形 vs Volume Occupancy

后者的工作方式如下:

  1. 将世界划分为微小(或超微小)的立方体或体素
  2. 预测每个体素是空闲还是被占用
体素空间中的被占用体素

这里意味着两种方法的思维方式完全不一样,前者是为一个对象分配一个固定大小的矩形,而后者是简单地说“这个小立方体中有一个对象吗? ”。

第三点,物体检测。

目前有很多新提出来的物体检测算法,但大多面向的是固定的数据集,只检测属于数据集的部分或全部对象,一旦有没有标注的物体出现,比如侧翻的白色大卡车,垃圾桶出现的路中,这是没法检测到的。而当思考和训练一个模型来预测“这个空间是空闲的还是被占用的,不管对象的类别是什么?”,正可以避免这种问题。

对象检测 vs Occupancy Network

基于视觉的系统有 5 个主要缺陷:地平线深度不一致物体形状固定静态和移动物体遮挡本体裂缝。特斯拉旨在创建一种算法来解决这些问题。

新的占用网络通过实施 3 个核心思想解决了这些问题:体积鸟瞰图、占用检测体素分类。这些网络可以以超过 100 FPS 的速度运行,可以理解移动对象和静态对象,并且具有超强的内存效率。

模型结构:

cvpr 时的网络结构

  • 输入为不同视角的图像(总共 8 个:正面、侧面、背面等……)。
  • 图像由RegnetBiFPN等网络提取特征
  • 接着transformer模块,使用注意力模块,采用位置图像编码加上QKV获得特征,以此来产生占用Occupancy。
  • 这会产生一个Occupancy feature,然后将其与之前的体积(t-1、t-2 等)融合,以获得4D Occupancy feature
  • 最后,我们使用反卷积来检索原始大小并获得两个输出:Occupancy volume和Occupancy flow。

AI day时的网络结构

相比cvpr时,AI day上的分享更加详细,主要有三点更新:

  1. 最左侧是基于photon count的传感器图像作为模型输入(虽然鼓吹的很高大上,其实就是ISP处理前的raw数据),这里的好处是可以在低光照、可见度低等情况下,感知的动态范围更好。
  2. temporal alignment利用里程计信息,对前面时刻的occupancy features进行时序上的加权融合,不同的时间的特征有着不同的权重,然后时序信息似乎实在Channel维度进行拼接的?组合后的特征进入deconv模块提高分辨率。这样看来时序融合上,更倾向于使用类似transformer或者时间维度作为一个channel的时序cnn进行并行的处理,而非spatial RNN方案。
  3. 相比CVPR的方案,除了输出3D occupancy特征和occupancy flow(速度,加速度)以外,还增加了基于x,y,z坐标的query思路(借鉴了Nerf),可以给occupancy network提供基于query的亚像素、变分辨率的几何和语义输出。

因为nerf只能离线重建,输出的occupancy 猜想可以通过提前训好的的nerf生成GT来监督?

光流估计和Occupancy flow

特斯拉在这里实际上做的是预测光流。在计算机视觉中,光流是像素从一帧到另一帧的移动量。输出通常是flow map 。

在这种情况下,可以有每一个体素的流动,因此每辆车的运动都可以知道;这对于遮挡非常有帮助,但对于预测、规划等其他问题也很有帮助

Occupancy Flow(来源

Occupancy flow实际上显示了每个对象的方向:红色:向前 — 蓝色:向后 — 灰色:静止等……(实际上有一个色轮代表每个可能的方向)

Nerf

特斯拉的 NeRF(来源

神经辐射场,或 Nerf,最近席卷了3D 重建;特斯拉也是其忠实粉丝。它最初的想法是从多视图图像中重建场景(详见3D 重建课程)。

这与occupancy network 非常相似,但这里的不同之处在于也是从多个位置执行此操作的。在建筑物周围行驶,并重建建筑物。这可以使用一辆汽车或特斯拉车队在城镇周围行驶来完成。

这些 NeRF 是如何使用的?

由于Occupancy network产生 3D volume,可以将这些 3D volume与 3D-reconstruction volume(Nerf离线训练得到)进行比较,从而比较预测的 3D 场景是否与“地图”匹配(NeRF 产生 3D重建)。

在这些重建过程中也可能出现问题是图像模糊、雨、雾等……为了解决这个问题,他们使用车队平均(每次车辆看到场景,它都会更新全局 3D 重建场景)和描述符而不是纯像素。

使用Nerf的descriptor

这就是获得最终输出的方式!特斯拉还宣布了一种名为隐式网络的新型网络,其主要思想是相似的:通过判断视图是否被占用来避免冲突

总结来说:

  1. 当前仅基于视觉的系统的算法存在问题:它们不连续,在遮挡方面做得不好,无法判断物体是移动还是静止,并且它们依赖于物体检测。 因此,特斯拉决定发明“Occupancy network”,它可以判断 3D 空间中的一个单元格是否被占用。
  2. 这些网络改进了 3 个主要方面:鸟瞰图、物体类别和固定大小的矩形。
  3. occupancy network分 4 个步骤工作:特征提取、注意和occupancy检测、多帧对齐和反卷积,从而预测光流估计和占用估计。
  4. 生成 3D 体积后,使用 NeRF(神经辐射场)将输出与经过训练的 3D 重建场景进行比较。
  5. 车队平均采集数据用于解决遮挡、模糊、天气等场景

reference:

Marching Cubes 算法

 Marching Cubes算法是三维离散数据场中提取等值面的经典算法,其主要应用于医学领域的可视化场景,例如CT扫描和MRI扫描的3D重建等。

Marching Cube 首先将空间分成众多的六面体网格,类似将空间分成很多的小块

我们有很多的已知采样点,并且知道这些点在空间中的空间场值,现在我们将空间分为很多个小格子,每个小格子都有8个顶点,我们通过计算8个顶点周围(范围与六面体的大小相关)的采样点,近似计算出8个顶点的空间场值(加权评价等方法)。 

以0等值面为例:如何找到0等值面经过的六面体网格? 

算法主要的思想是在三维离散数据场中通过线性插值来逼近等值面,具体如下:三维离散数据场中每个栅格单元作为一个体素,体素的每个顶点都存在对应的标量值。如果体素顶点上的值大于或等于等值面值,则定义该顶点位于等值面之外,标记为“0”;而如果体素顶点上的值小于等值面值,则定义该顶点位于等值面之内,标记为“1”。由于每个体素单元有8个顶点,那么共存在2^8 = 256种情形,下图是Marching Cubes算法的15种基本情形,其他241种情形可以通过这15种基本情形的旋转、映射等方式实现。

 每个体素单元上顶点和边的索引规则如下图左所示,假如体素下方的顶点3的值小于等值面值,其他顶点上的值都大于等值面值(如下图右所示),那么我们可以生成一个与体素边2,3,11相交的三角面片,而三角面片顶点的具体位置则需要根据等值面值和边顶点3-2,3-0,3-7的值线性插值计算得到。

对于与等值面存在交点的体素边,交点坐标用P表示,P1、P2代表边上两个端点的坐标,V1、V2代表这两个端点上的值,V代表等值面值,那么交点坐标的计算公式如下:

P = P1 + (V – V1)·(P2 – P1)/(V2 – V1)

  算法第一步:通过edgeTable表判断等值面和体素单元哪一条边相交

  体素单元顶点状态的索引号定义规则如下:

cubeindex = 0;
if (V[0] < isolevel) cubeindex |= 1;
if (V[1] < isolevel) cubeindex |= 2;
if (V[2] < isolevel) cubeindex |= 4;
if (V[3] < isolevel) cubeindex |= 8;
if (V[4] < isolevel) cubeindex |= 16;
if (V[5] < isolevel) cubeindex |= 32;
if (V[6] < isolevel) cubeindex |= 64;
if (V[7] < isolevel) cubeindex |= 128;

以上图所示为例,仅顶点3标记为“1”,其他顶点标记为“0”,那么体素单元的顶点状态为0000 1000或者8,通过查找表得到edgeTable[8] = 1000 0000 1100,意味着体素单元的边2,3,11和等值面相交,然后通过线性插值计算各个交点的位置。

算法第二步:通过triTable表生成对应三角面片的组成情况

  还是以上图所示为例,通过查找表得到triTable[8] = {3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},意味着该种顶点状态可以生成三角面片(3, 11, 2),代表三角面片的3个顶点为边3,11,2和等值面相交的交点。

  经过上述步骤之后,我们可以得到等值面的点面信息。为了进一步完善显示效果,需要调整顶点法向。假设顶点(i, j, k)上的值为f(i, j, k),采用中心差分方法可以计算该点处的梯度矢量:

对G进行归一化,得到顶点(i, j, k)上的单位法向量,然后对体素单元上8个顶点的法向量进行线性插值就可得到三角面片各个顶点的显示法向量。

参考:http://graphics.stanford.edu/~mdfisher/MarchingCubes.html

Marching Cube的问题

当然最初的Marching Cube 有很多问题,例如拓扑连接二义性,一种状态可以有多种连接关系

而且Marching Cube的效率不是特别高,需要借助分层结构和并行计算。
而且Marching Cube生成面片的大小与六面体的大小相关,过大则会导致模型模糊,细节消失,过小会导致面片的数目过多。

但是从1987年提出Marching Cube至今,已经对其有了很多的改进和优化算法,在处理时间,减少内存开销,分辨率方面都有很大的优化。

图像生成模型 Stable Diffusion|CVPR ’22 Oral

项目地址:https://ommer-lab.com/research/latent-diffusion-models/

试玩: https://huggingface.co/spaces/stabilityai/stable-diffusion

High-Resolution Image Synthesis with Latent Diffusion Models

Stable Diffusion 是一个“文本到图像”的人工智能模型。近日,Stable AI 公司向公众开放了它的预训练模型权重。当输入一个文字描述时,Stable Diffusion 可以生成 512×512 像素的图像,这些图像如相片般真实,反映了文字描述的场景。

这个项目先是经历了早期的代码发布,而后又向研究界有限制地发布了模型权重,现在模型权重已经向公众开放。对于最新版本,任何人都可以在为普通消费者设计的硬件上下载和使用 Stable Diffusion。该模型不仅支持文本到图像的生成,而且还支持图像到图像的风格转换和放大。与之一同发布的还有 DreamStudio 测试版,这是一个用于该模型的 API 和 Web 用户界面。

Stable AI 公司表示:

“Stable Diffusion 是一个文本到图像的模型,它将使数十亿人在几秒钟内创造出令人惊叹的艺术。它在速度和质量上的突破意味着它可以在消费者级的 GPU 上运行。这将允许研究人员和公众在一系列条件下运行它,并使图像生成普及化。我们期待着有围绕这个模型和其他模型的开放生态系统出现,以真正探索潜伏空间的边界。”

Latent Diffusion 模型(LDM)是 Stable Diffusion 模型建立的一种图像生成方法。LDM 通过在潜伏表示空间(latent representation space)中迭代“去噪”输入来创建图像,然后将表示解码为完整的图像,这与其他著名的图像合成技术,如生成对抗网络(GAN)和 DALL-E 采用的自动回归方法不同。最近的 IEEE/CVF 计算机视觉和模式识别会议(CVPR)上有一篇关于 LDM 的论文,它是由慕尼黑路德维希-马克西米利安大学的机器视觉和学习研究小组创建的。今年早些时候,InfoQ 也报道的另一个基于扩散的图片生成 AI 是谷歌的 Imagen 模型。

Stable Diffusion 可以支持众多的操作。与 DALL-E 类似,它可以生成一个高质量的图像,并使其完全符合所需图像的文字描述。我们也可以使用一个直观的草图和所需图像的文字描述,从而创建一个看起来很真实的图像。类似的“图像到图像”的能力可以在 Meta AI 的 Make-A-Scene 模型中找到,该模型刚发布不久。

一些人公开分享了 Stable Diffusion 创建的照片的例子,Stable AI 的首席开发人员 Katherine Crowson 也在 Twitter 上分享了许多照片。毫无疑问,基于人工智能的图片合成技术将对艺术家和艺术界产生影响,这令一些观察家感到担忧。值得注意的是,在 Stable Diffusion 发布的同一周,一幅由人工智能生成的作品在科罗拉多州博览会的艺术竞赛中获得了最高荣誉。

Stable Diffusion 的源代码可以在 GitHub 上查阅。

试玩地址: https://huggingface.co/spaces/stabilityai/stable-diffusion

Contribution

  • Diffusion model是一种likelihood-based的模型,相比GAN可以取得更好的生成效果。然而该模型是一种自回归模型,需要反复迭代计算,因而训练和推理都十分昂贵。本文提出一种diffusion的过程改为在latent space上做的方法,从而大大减少计算复杂度,同时也能达到十分不错的生成效果。( “democratizing” research on DMs),在unconditional image synthesis, inpainting, super-resolution都能表现不错~
  • 相比于其它进行压缩的方法,本文的方法可以生成更细致的图像,并且在高分辨率(风景图之类的,最高达10242px都无压力)的生成也表现得很好。
  • 提出了cross-attention的方法来实现多模态训练,使得class-condition, text-to-image, layout-to-image也可以实现。
方法We condition LDMs either via concatenation or by a
more general cross-attention mechanism.

整体框架如图,先训练好一个AutoEncoder(包括一个encoder和decoder)。因此,我们可以利用encoder压缩后的数据做diffusion操作,再用decoder恢复即可。

  • Autoencoder训练: L1/L2loss来作为重建损失,用GAN来做对抗攻击?,用KL loss来把latent space拉到正态分布,防止搜索空间过大
  • 用了encoder降维后,就可以使用latent space diffusion了~ 具体扩散过程其实没有变,只不过现在扩散和重建的目标为latent space的向量了。Diffusion model具体实现为 time-conditional UNet。

为了引入conditioning的信息,提出了domain specific encoder τθ(y)不同模态的(比如text, class, image…)转成中间表达(intermediate representation),再利用cross-attention来嵌入到UNet中去。

Experiments

展示一些可用的任务:

  • layout-to-image 输入bounding box输出图像。
  • text-to-image输入文本,输出图像。
  • 输入bounding box输出图像。
  • 输入文本,输出图像
    • 输入landscape输出高分辨率的风景图。
    • 超分辨率
    • inpainting (图像修复/编辑)

    效率对比。大概时间上缩短为1/3~ 并且,FID的值更小。

    扩散模型是风口!2022 剑桥 AI 全景报告出炉!

    作者 | 黄楠、施方圆 

    转自 | AI科技评论

    近日,剑桥大学的2022年 AI 全景报告(《State of AI Report 》)出炉!

    报告汇总和聚焦了过去一年里 AI 行业中炙手可热的事件,援引数据来自知名科技公司和研究小组,由投资者 Nathan Benaich 和 Ian Hogarth 编写,从研究、产业、政策、安全、预测五个维度出发,对最新的 AI 发展现状和未来预期进行深度分析。

    以下是报告重点介绍:

    1 扩散模型火热、模型开源提速

    从研究领域来看,今年 AI 发展呈现五大趋势:基于文本到图像的生成能力,扩散模型(Diffusion Models)席卷计算机视觉世界

    扩散模型是深度生成模型中新的 SOTA,在一些基准测试中,其图像生成能力超越了 GAN,是当前文本生成图像最火热的模型,并逐渐扩大到文本生成、文本转音频、文本转视频以及分子设计等领域。

    今年4月,OpenAI 发布 DALL-E 2,只需要给到寥寥几句文本指示就可以生成全新的图像,刚亮相就在图像生成和图像处理领域引发极大的关注度。不久,谷歌也紧接着推出的 Imagen,基于大型 Transformer 语言模型在理解文本方面的能力和扩散模型在高保真图像生成方面的能力,将文本生成图像的逼真度和语言理解提到了新高度。

    而真正将生成式 AI 推向创作高潮的,是 Stability.Ai 在8月份公开发布的 Stable Diffusion 模型,只需输入几行文字描述,几秒钟后,AI 便能生成一幅幻彩斑斓的画作。

    可以看到,目前 Stability.ai 和 Midjourney 等公司所创建的文本转图像模型,已经可以跟发展成熟的 AI 实验室的产品相媲美,其中,Midjourney 采用了订阅制的收费模式已经盈利,Stability 的模型则是开源的。

    此外,基于扩散的文本到视频生成的研究也从今年4月左右就展开了。

    9月下旬,Meta 发布“Make-a-Video”,宣布了从文本到视频生成的 DELL-E 时刻早于预期,文本转视频的扩散模型首次在业界引起轰动。不到一周后,谷歌也发布了两个模型:基于扩散模型的 Imagen 和非扩散模型的 Phenaki,后者能够通过附加提示动态来调整视频生成。AI for science,聚焦塑料回收、核聚变反应堆控制和天然产物发现等更多科学问题

    在 AI for science 研究中,今年有不少突出的工作。

    其中,DeepMind 与悉尼大学、牛津大学合作,将 AI 模型应用到数学领域的拓扑和表示论猜想,提出了一种新的算法,通过研究纽结的结构,发现数学在不同领域中的隐藏联系,该研究发表在《自然》杂志上。

    一年前,DeepMind 发布 AlphaFold2,以原子水平的准确度预测了三分之二的蛋白质结构,并与 EMBL-EBI 共同发布蛋白质结构数据库 AlphaFold DB。

    到了今年7月28日,DeepMind 宣布 AlphaFold DB 已从 100 万个结构扩展到超过 2 亿个结构,扩大超过 200 倍,可用于植物、细菌、动物和其他生物的蛋白质预测结构,极大地提升了人们对于生物学的理解。

    在塑料回收方面,来自 UT  Austin 的研究人员设计了一种能够降解 PET 的酶(PET 是一种占全球固体废物12%的塑料),称为 PET 水解酶(  FAST‑PETase),能够在一周内几乎完全降解51种不同产品,并且还可以从回收的单体中重新合成 PET FAST‑PETase。

    标度法则重新聚焦数据:模型标度并不是全部都需要的,朝单一模型发展,其核心在于数据

    对于通用多任务、多模式模型的尝试,可以追溯到谷歌此前提到的“一个模型来学习”。

    此前有研究发现,LLMs 可实现让机器人通过自然语言对每个步骤的解释来完成各种任务,但由于对机器人所处环境和现实能力缺乏认知,LLMs 的解释时常会出现无法被理解的情况。随着 PaLM-SayCan 的出现,这一问题也已经得到解决。

    DeepMind 推出的 Gato 将这项工作带到了另一个层次,通过一个1.2B参数转换器,可以实现在机器人、模拟环境、视觉和语言中执行数百项任务。

    此外,Transformer 作为一种解码器架构,当前其影响力已经超出 NLP,在计算机视觉上也发挥着重要作用,正在成为真正的跨模态产品。

    社区驱动的大型模型开源速度加快,集合模式可以参与同大型实验室的竞争

    OpenAI、DeepMind 旗下有多个模型已被开源社区实现、克隆和改进,进度远超预期。

    图注:社区驱动的 GPT 等开源

    尽管 AI 研究将越来越集中于少数大型实验室,但随着计算成本和访问权限的降低,因此也出现了最先进的研究在更小、以前不为人知的实验室得到提出等情况,同时,这些新的独立研究实验室也在迅速开源。受神经科学的启发,AI 研究方法向认知科学的方向发展

    数据显示,自2010年以来,中国机构撰写的 AI 论文数量是美国的4.5倍,远远超过美国、印度、英国和德国的总和。

    同时,中国的论文更关注与监控相关的任务,包括对象检测、跟踪、场景理解、动作和说话者识别等。


    2 AI 初创公司投资放缓新贵 AI 半导体初创公司与英伟达相比是否有作为?

    报告显示, 英伟达的芯片在 AI 研究论文中最受欢迎, GPU 的使用率是 ASIC 的131倍,是 Graphcore 、 Habana 、 Cerebras 、 SambaNova 和 Cambricon 的芯片总和的90倍,是谷歌 TPU 的78倍,是 FPGA 的 23 倍。

    招聘冻结和 AI 实验室解散,促使许多初创公司从 DeepMind  OpenAI 等巨头中诞生

    DeepMind 和 OpenAI 的校友各自开花,组建了许多新的初创公司,分别研究不同领域的 AI 技术,如:AGI 、人工智能安全、生物技术、金融科技、能源、开发工具和机器人技术。

    最新 AI 技术被大型科技公司和初创公司转化为商业开发人员工具

    OpenAI 的 Codex 迅速从 2021 年 7 月的研究演变为 2022 年 6 月的开放商业化,微软的 GitHub Copilot 现在以每月 10 美元到每年 100 美元。亚马逊在 2022 年 6 月发布了 CodeWhisperer 预览版。谷歌透露,其内部正在使用以 ML 驱动的代码完成工具,也许几年内会出现在浏览器 IDE 中。同时,拥有 100 多万用户的 Tabnine 筹集了 1500 万美元,承诺有望实现准确的多行代码填写。人工智能加快药物研发,促进医疗产业发展

    人工智能药物发现公司在临床试验中拥有 18 项资产,高于 2020 年的 0 项。

    另外,由于放射科医生的短缺和成影数量的增加,通过评估X光片针对疾病变得更有挑战性。因此立陶宛初创公司 Oxipit 创建了一个名叫 ChestLink 的计算机视觉系统,该系统可以自动报告没有异常的胸部 X 光片,就无需放射科医生来检查,这是业界首个基于计算机视觉的诊断自主认证。大学是孕育人工智能公司的温床

    目前,大学是人工智能公司重要的资源来源,包括 Databricks 、 Snorkel 、 SambaNova 、 Exscientia 等。在英国有 4.3% 的人工智能公司是大学拆分出来的,是所有英国公司的 0.03% ,人工智能是能够拆分的代表性行业之一,通常这需要高昂的代价,技术转让办公室(TTOs)通常就拆分交易条款进行谈判。

    随着市场的扩大,对AI初创公司的投资速度在放缓

    与去年相比, 2022 年预计使用AI的公司融资额将减少36%,但仍有望超过 2020 年的水平,这与全球所有 Start-up 阶段和 Scale-up 阶段的公司投资相当。

    VC 投资的下降在 1 亿以上的轮次中最明显,而投资规模较小的轮次预计到 2022 年底全球将达到 309 亿美元,与 2021 年的水平相当。

    综合公共企业价值(EV)已经下降到 2020 年的水平。同时,私营企业的估值不断增长,综合企业价值已经达到 2.2 万亿美元,比去年增长 16% 。

    目前美国的AI独角兽公司数量领先,其次是中国和英国。美国已经创造了 292 家 AI 独角兽公司,企业价值合计 4.6 万亿美元,中国创造了 69 家 AI 独角兽公司,企业价值合计 1.4 万亿美元,英国创造了 24 家 AI 独角兽公司,企业价值合计 2070 亿美元。

    尽管对于美国 AI 初创公司的投资大幅度下降,但它们仍然占全球人工智能总投资的一半以上。

    企业软件是全球投资最多的类别,而机器人技术占据了 AI 风险投资的最大份额。

    尽管 IPO 和 SPAC IPO 的数量急剧下降,但 AI 公司的收购数量可能会超出 2021 年的水平。

    3 对未来一年的预测

    在2021年的报告中,曾对2022年 AI 的发展情况做出了8项预测,其中已实现 Transformers 在游戏中超过人类表现,这主要得益于 DeepMind 的 Gato 模型可实现对未来状态和动作的预测,日内瓦大学提出的 IRIS 模型则解决了 Atari 环境下的任务。

    未实现的预测中提到,Graphcore、Cerebras、SambaNova、Groq、Mythic 中至少有一家被大型科技公司或者半导体公司收购,在今年也没有实现;ASML 的市值当前仅为1650亿美元,距预期中的5000亿美元还存在很大差距;JAX 框架的使用仍然占 Papers With Code 每月回购的不到1%,未达到预测中的5%

    还有一些往年的预测在今年实现了,其中,美国 CHIPS 法案在今年禁止接收方在中国扩大业务,原预测中英伟达最终未能完成对 Arm 的收购、该交易也于今年正式取消。在 AI 初创公司方面,Helsing(德国)在今年筹集了1亿美元的A轮融资。

    而对于一直备受关注的 AI 治理问题,2019年预测至少有一家主流 AI 公司会对治理及管理模式作出实质性的调整,Anthropic 也在今年成立、作为公益性公司活动。

    报告中也提出了对未来12个月的9项预测,分别是:

    • DeepMind 训练了一个10B参数的多模态 RL 模型,比 Gato 大一个数量级
    • 英伟达宣布与一家专注于 AGI 的组织建立战略关系
    • SOTA LM 在比 Chinchilla 多10倍的数据点上进行训练,证明数据集缩放与参数缩放
    • 生成音频工具的出现,到2023年9月吸引超过10万名开发人员
    • GAFAM 向 AGI 或开源 AI 公司(例如 OpenAI)投资超过10亿美元
    • 面对英伟达的主导地位,半导体初创公司面临现实困境,一家备受瞩目的初创公司被关闭,以低于其最近估值的50%的价格下跌或收购
    • 一项像  Biosafety 实验室这样监管 AGI 实验室的提案得到英、美或欧盟政治家的支持
    • 超过1亿美元将在明年投资于专门的 AI 对齐组织
    • 一个用户生成内容方(如 Reddit)与一家生产 AI 模型的初创公司(如 OpenAI)协商商业解决方案,以对其用户生成内容的语料库进行培训

    ICCV2021|极大似然法做点云降噪

    论文标题:Score-Based Point Cloud Denoising

    论文链接:https://arxiv.org/abs/2107.10981

    作者单位:北京大学

    本文提出了一种新的点云去噪范式,利用噪声点云的分布模型并利用分布的分数,表现SOTA!性能优于DMR、GPDNet等网络。

    从扫描设备获取的点云通常会受到噪声的干扰,这会影响表面重建和分析等下游任务。噪声点云的分布可以看作是一组无噪声样本 p(x) 与某个噪声模型 n 卷积的分布,导致 (p∗n)(x) 的模式是底层清洁表面。为了对嘈杂的点云去噪,我们建议通过梯度上升从 p∗n 增加每个点的对数似然——迭代更新每个点的位置。由于 p∗n 在测试时是未知的,我们只需要分数(即对数概率函数的梯度)来执行梯度上升,我们提出了一种神经网络架构来估计 p∗n 的分数只给定嘈杂的点云作为输入。我们推导出用于训练网络的目标函数,并利用估计的分数开发去噪算法。实验表明,所提出的模型在各种噪声模型下优于最先进的方法,并显示出应用于其他任务(如点云上采样)的潜力。

    VirtualCube: An Immersive 3D Video Communication System

    3D视频会议系统VirtualCube:相隔万里也如近在咫尺般身临其境

    https://www.microsoft.com/en-us/research/project/virtualcube/

    微软亚洲研究院的研究项目 3D 视频会议系统 VirtualCube,可以让在线会议的与会者建立自然的眼神交互,沉浸式的体验就像在同一个房间内面对面交流一样。该技术的相关论文被全球虚拟现实学术会议 IEEE Virtual Reality 2022 接收并获得了大会的最佳论文奖(Best Paper Award – Journal Papers Track)。

    在日常交谈中,相互注视和摆动头部等动作都是自然对话的组成部分,尤其是当我们在面对面交流中变换话题、控制发言或转换交流对象时,都会伴随眼神和肢体动作的交流。然而,当前的视频会议技术却存在着一定的缺陷——由于摄像头和屏幕不在同一高度,如果看向屏幕眼神往往很不自然,如果看向摄像头则无法关注到其他与会者的反应,因此视频会议缺少了线下交流的真实感和互动感。而且在实际的工作中,我们还会有各种不同的会议场景,比如多人会议、同排而坐协同工作等情况,对于捕捉与会者的侧方视线和动作来说,现有的视频会议系统就更无能为力了。

    如果有一个会议系统,可以让人们即使身处不同的地方,也能像在同一房间里一样交流,视线转动就能与同伴建立起眼神沟通,这是否会给远程办公增添一份沉浸式的真实感呢?

    利用现有的普通硬件设备搭建的 3D 视频系统:

    为了解决这些问题,微软亚洲研究院提出了创新的 3D 视频会议系统——VirtualCube,它可以在远程视频会议中建立起真人等大的 3D 形象,无论是正面沟通,还是侧方交流,系统都能够正确捕捉到与会者的眼神、动态,建立起眼神和肢体交流。相关论文被全球虚拟现实学术会议 IEEE Virtual Reality 2022 接收并获得了大会的最佳论文奖(Best Paper Award – Journal Papers Track)

    VirtualCube 系统具有三大优势:

    标准化、简单化,全部使用现有的普通硬件设备。与办公场所中常见的格子间(Cubicle)类似,每个 VirtualCube 都提供了一致的物理环境和设备配置:与会者正前方安装有6个 Azure Kinect RGBD 摄像头,以捕捉真人的图像和眼神等动作;在与会者的正面和左右两侧还各有一个大尺寸的显示屏,以创造出身临其境的参会感。使用现有的、标准化的硬件能够大大简化用户设备校准的工作量,从而实现 3D 视频系统的快速部署和应用。

    感。使用现有的、标准化的硬件能够大大简化用户设备校准的工作量,从而实现 3D 视频系统的快速部署和应用。

    6个 Azure Kinect RGBD 摄像头捕捉人像和眼神等动作

    多人、多场景,任意组合。作为在线视频会议的基础构建,VirtualCube 的虚拟会议环境可由多个空间(Cube)按照不同的布局组成,以支持不同的会议场景,例如两人的面对面会议、两人并排会议,以及多人的圆桌会议等。

    多个空间(Cube)可实现任意组合

    实时、高质量渲染真人图像。VirtualCube 可以捕捉到参与者的各种细微变化,包括人的皮肤颜色、纹理,面部或衣服上的反射光泽等,并实时渲染生成真人大小的 3D 形象,显示在远程与会者的屏幕中。而且虚拟会议环境的背景也可以根据用户的需求自由选择。

    任意变换会议场景,都能身临其境

    V-Cube View和V-Cube Assembly算法双剑合璧,沉浸式会议体验不再是难题

    其实业界对 3D 视频会议的研究从未间断过。早在2000年,就有人曾提出过与类似混合现实技术有关的畅想。基于这个设想,科研人员一直在探索如何将视频会议以更逼真、更自然的方式呈现,期间也出现了不同的技术路线和解决方案,但都没有达到理想的效果。对此,微软亚洲研究院主管研究员张译中和杨蛟龙表示,过往的研究仍然有很多没有解决的问题:首先,在真实环境下,无论放置怎样的单目摄像设备,即使图像质量再高,与会者也很难形成自然的眼神交流,特别是多人会议的情况;其次,很多研究针对特定的会议场景进行优化,如两个人面对面的会议或三人的圆桌会议,很难支持不同的会议设置;第三,虽然在影视界我们能够看到一些逼真的虚拟人,但那是需要专业的技术和影视团队长时间打磨和优化才能实现的,仍然需要一定的手工劳动,目前无法进行实时捕捉和实时渲染。

    为此,微软亚洲研究院提出了 V-Cube View 和 V-Cube Assembly 两大全新算法,在 VirtualCube 中实现了自动捕捉参与者的手势动作和眼神变化,实时渲染形成高保真图像,让参与者在虚拟会议中体验到真实会议的氛围。

    “两个人在交谈且相互注视对方时,对方看到的自己就相当于在自己眼睛的位置放置一个摄像头。但屏幕和摄像头的位置存在高低差,所以当一方注视屏幕中对方的眼睛时,摄像头捕捉到的眼神就会偏离。因此在 VirtualCube 中,我们在与会者正前方的屏幕边缘放置了六个摄像头,通过 V-Cube View 算法合成正确的视点图像,并利用 V-Cube Assembly 确定正确的相对位置,进而给与会者一个沉浸式的会议体验”,张译中介绍道。

    基于深度学习的 V-Cube View 算法,通过 VirtualCube 中的六个摄像头的 RGBD 图像作为输入,实时渲染任意目标视点下人的高保真视频。这里的技术挑战是如何同时做到高保真和实时。对此,微软亚洲研究院主管研究员杨蛟龙解释道:“实时渲染高保真的人像,特别是高保真的人脸一直是个具有挑战性的研究课题。传统的三维重建和纹理贴图的做法虽然可以做到实时绘制,却无法重现出真实人脸复杂的材质和在不同视点下外观的变化。为此我们提出了一种新的 Lumi-Net 渲染方法,其核心思想是利用重构的三维几何作为参考来实现一个四维光场的实时渲染,并结合神经网络进行图像增强,从而提高了渲染的质量,特别是人脸区域的高保真度。”

    具体而言,V-Cube View 算法分为三步进行。首先,研究员设计了一个神经网络来快速求解目标视点深度图作为人体的几何参考(geometry proxy)。然后,算法在给定的几何参考下将获取的多视角 RGB 图像(即光线)进行融合,实现绘制。在这一步中,研究员受传统的非结构化流明图(Unstructured Lumigraph)方法启发,将输入光线与目标像素光线的方向和深度差异作为先验,通过神经网络学习最合适的融合权重。最后,为了进一步提升绘制质量,研究员们使用了神经网络对上一步的绘制结果进行图像增强。整个算法实现了端到端的训练,并在训练过程中引入了感知损失函数及对抗学习技术,使得算法可以自动学习出最优的神经网络,实现高保真的绘制。而且为了保证绘制的实时性,算法的前两步都在低分辨率图像上执行,这样可以在不损失太多精度的情况下大大降低所需计算量。经过精心设计和优化的 V-Cube View 算法,将实时的三维人物渲染质量提升到了一个新的高度。

    V-Cube View 算法示意图

    另外,为了让 VirtualCube 的使用者拥有和线下交流同样的体验,在将与会者映射到虚拟环境时,系统还要考虑他们之间的相对位置关系,这时 V-Cube Assembly 算法就发挥了重要的作用。“在整个虚拟会议环境中,V-Cube Assembly 可以被定义为全局坐标系统,单个的 VirtualCube 则为局部坐标系统。全局坐标系与局部坐标系之间的正确 3D 几何变化,对在视频显示器上正确呈现远程与会者的图像至关重要”杨蛟龙介绍。

    研究员们首先会在 VirtualCube 中捕捉与会者的 3D 几何体,形成局部坐标系,然后将这些局部坐标系的 3D 几何体数据,投射到全局坐标系,经过 V-Cube Assembly 处理,在全局虚拟会议环境中确定每个 VirtualCube 参与者正确的相对位置,最后再将全局 3D 几何体转换为 VirtualCube 的局部坐标系,影射到 VirtualCube 的屏幕上。

    V-Cube Assembly 算法示意图

    抛砖引玉,畅想未来办公无限可能

    VirtualCube 给 3D 视频会议系统提供了一种全新的思路。无论从算法设计、端到端设备部署还是工程调试上,VirtualCube 都证明了利用现有的普通硬件设备就可以实现沉浸式的 3D 视频会议体验。

    除了让与会者“共享”同一个物理空间外,研究员们还在探索利用 VirtualCube 系统满足远程办公中的更多协作需求。例如,研究员们展示了这样一种场景:在协同工作时,两位与会者及其电脑桌面都将是视频会议的一部分,因此与会者并排而坐,并且跨屏幕传递自己桌面上的文档和应用程序会让远程协作更加方便。

    随着技术的不断精进,未来,大家或许都可以实现身隔万里,却能亲临其境一起办公,自然沟通的遥在体验,而这将极大地提高混合办公的效率。微软亚洲研究院的研究员们也希望 VirtualCube 可以成为一颗探索的种子,给更多研究人员带来启发,在大家共同的努力下,找到更好的虚拟空间交互形式,打开未来办公的更多可能。

    PointCLIP 用CLIP巧解点云分类

    论文: CVPR2022 PointCLIP: Point Cloud Understanding by CLIP

    代码:https://github.com/ZrrSkywalker

    本文提出PointCLIP:第一个将 CLIP 应用于点云识别的工作,它将2D预训练的知识迁移到3D领域,可在没有任何 3D 训练的情况下对点云进行跨模态零样本识别。

    在本文中,我们通过提出 PointCLIP 来确定这种设置是可行的,它在 CLIP 编码的点云和 3D 类别文本之间进行对齐。

    因为重新训练clip的代价太大(原始clip的训练数据 有4yi对文本图像对),因此没法去修改clip的模型结构,因此也就意味之模型的输入:text-image形式。因此作者将三d点云数据经过不同视角的渲染,变成M个RGB的二维maps,送如encoder中并获得M个特征,通过与对应的文本特征做一个相似度,来确定 当前的点云类别。

    模型结构

    具体来说,我们通过将点云投影到多视图深度图中而不进行渲染来编码点云,并聚合视图方式的零样本预测以实现从 2D 到 3D 的知识迁移。最重要的是,我们设计了一个视图间适配器,以更好地提取全局特征,并将从 3D 中学到的小样本知识自适应地融合到 2D 中预训练的 CLIP 中。

    通过在小样本设置中微调轻量级适配器,PointCLIP 的性能可以大大提高。此外,我们观察到 PointCLIP 和经典 3D 监督网络之间的互补特性。通过简单的集成,PointCLIP 提高了基线的性能,甚至超越了最先进的模型。因此,PointCLIP 是在低资源成本和数据机制下通过 CLIP 进行有效 3D 点云理解的有前途的替代方案。

    ensembling聚合部分:可以认为是把pointclip作为一个即插即用的模块,用于辅助3D点云分类网络做分类任务 。

    实验结果

    我们对广泛采用的 ModelNet10、ModelNet40 和具有挑战性的 ScanObjectNN 进行了彻底的实验,以证明 PointCLIP 的有效性。