基于生成式的图像隐式分解方法概述
背景
图像的隐层特征分解其实并不是个新颖的命题,它一直是计算机视觉领域一个较困难的挑战。通俗来说图像的隐层分解指得就是从一张图像中恢复几何,材质,光照,着色等分量。而它之所以困难的原因是因为这些分量都是耦合的,通常来说一张图中会包括若干光照效果例如阴影,遮蔽,全局光照,材质着色等。以往的方法通常都是分解其中的单一分量,例如从图中分解出几何分量(例如法向量),对于材质分量,大多方法只可以分解出基色(Albedo分量)。而近些年随着深度学习的发展,特别是生成式模型的成功,大家开始尝试着通过生成模型来学习到图像中的某一维或者某几维隐层特征。
生成式模型
在这里我会简单介绍下生成模型的历史及发展,基于深度学习的生成式模型其实已有超十年的发展历史,2014年提出的生成对抗网络(Genarative adversarial network,GAN[2])就是生成式模型的一种,他在计算机视觉,人机交互等领域都有着大量研究,并随着模型理论研究的进展,网络结构的突破,不断延伸向其它领域。网络结构大致可以理解成有一个生成器,一个鉴别器,生成器接受噪声,生成假图,鉴别器接受生成结果,和GT对比,判断它是真图还是假图。其实这整个过程就是一个博弈的思想,等到训练完成,假图可以达到以假乱真的地步,这就是GAN的大概原理。但GAN有它的局限性,因为它很容易出现模式崩溃,因此这个模型很难训练。

Figure 1: GAN流程图[1]
与生成对抗网络同时期的生成模型还有变分自编码器(Variational Auto Encoder, VAE[4])。变分自编码器的网络结构大概分为一个编码器和一个解码器,编码器接收一张图片,输出编码后的特征图,解码器接受特征图,解码还原一张图片。整个训练过程就是使得生成的图和原图逐渐接近。这两大类生成模型在我看来最大的相似点其实都是降维的隐式特征提取。与之不同的则是近年来大火的大模型(以Sora为例),其核心的结构就包括了最近大火的一种生成模型——扩散模型。扩散模型的基础原理是:假设现在有一张图片,我们不断给这张图片加噪声,那最终就会得到一张完全的噪声图,这个过程可以称之为前向扩散。那这个过程反过来想,一张噪声图逐步去噪,最终就能恢复出原图,这个过程拿神经网络来建模,我们就可以生成新数据。扩散模型同样很难训练,他有数以亿计的参数量,因此目前大多论文都会选择微调(fine-tune)的方式,来使得大模型学到完成当前自己的任务所需要的先验信息。

Figure 2: VAE示意图[3]
以今年的SIGGRAPH中一篇个人比较感兴趣的相关方向论文举例来说生成模型如何在这个方向中发挥作用。通 过微调两个扩散模型,可以分别完成两个相对对立的问题,即图像分解和图像合成。图中左侧网络输入的任务是从单张图片中分解出各个分量,即基色,法向量,粗糙度,金属度等。而根据实验结果来说,由于扩散模型的加入,耦合分量能被分解的更干净,这是非生成式方法很难能做到的。


Figure 3: RGB↔X: Image Decomposition and Synthesis Using Material- and Lighting-aware Diffusion Models[5]
更近一步思考,个人理解图像分解问题其实是很多下游任务的基石,例如说图像编辑,或进一步而言场景生成及场景编辑。当我们拥有了一组被分离的相对干净的特征层,我们才能将创作的权利还给创作者,这批数据才真正成为可用的数据,进而结合AIGC或者大模型的能力,能够做到随机且可控的场景生成及场景编辑,为更下游的任务赋能。