首页 > 其他分享 >基于GAN的单目图像3D物体重建(纹理和形状)

基于GAN的单目图像3D物体重建(纹理和形状)

时间:2022-09-30 12:00:23浏览次数:87  
标签:模型 纹理 GAN 单目 图像 顶点 像素 3D


项目地址:​​https://nv-tlabs.github.io/DIB-R/​


代码地址:​​https://github.com/nv-tlabs/DIB-R​

主要思想

很多机器学习的模型都是在图片上操作,但是忽略了图像其实是3D物体的投影,这个过程叫做渲染。能够使模型理解图片信息可能是生成的关键,但是由于光栅化涉及离散任务操作,渲染过程不是可微的,因此不适用与基于梯度的学习方法。这篇文章提出了DIR-B这个框架,允许图片中的所有像素点的梯度进行分析计算。方法的关键在于把前景光栅化当做局部属性的加权插值,背景光栅化作为基于距离的全局几何的聚合。通过不同的光照模型,这个方法能够对顶点位置、颜色、光照方向等达到很好的优化。此项目有两个主要特点:单图像3D物体预测和3D纹理图像生成,这些都是基于2D监督进行训练的。

简介

在理解真实世界时,3D视觉感知提供了无价的信息。但是人类和机器接受到的原始信息都是2D投影(图像)。从3D模型产生2D图像的过程叫做渲染,这是近几年来一个很好的图像理解过程通过使用不同的算法。

现在很多已经存在的工作都集中于基于光栅化的渲染上,它们以集合方式将3D物体投影到图像平面上,并且不能支持更高级的照明效果,已被证明在很多机器学习应用方面有很好的效果,例如单图片3D预测。作者采用了这种方法。

现存的很多基于光栅化的方法都有一定的缺陷,为此,作者提出了自己的框架DIB-R,一个可微的渲染器。并且包装这个框架在一个神经网络当中,这个程序专注于三维形状和纹理恢复,通过这些程序实现了数值和可视化的最先进结果。 

相关工作

可微的光栅化:这一段说了很多基于光栅化的可微的渲染器,但是都有一定的缺陷,比如说在OpenDR中,梯度仅在网格边缘的一个小范围内是非零的,这必然会影响性能。在Neural 3d mesh renderer中,由于缺乏全彩信息,导致了嘈杂的3D预测,没有凹面特征。还有一些其他的不足,比如说失去了点云之间的连接性,因此不能处理纹理和光照等等。

SoftRas-Mesh提出了一个栅格化的概率计算公式,能够使梯度计算分析。SoftRas-Color扩展了这个框架,以合并顶点颜色和支持纹理和照明理论。和本篇文章不同的关键之处在于,他们指定每个前景像素的最前面的面和计算分析梯度像素的光栅化视为插值的局部网格属性。这使得渲染效果和OpenGL管道一样,并且自然地支持所有顶点属性的优化,此外,还可以将管道扩展到各种不同的光照模型。

对抗的3D物体生成:通过深度学习生成3D图形的方法已经在大量的工作中使用了生成对抗网络(GAN),但是这些方法需要3D监督。作者的这个框架只需要2D监督,并且是第一个同时产生形状和纹理的生成器。

DIB-R:可微的基于插值的渲染器

DIB-R将前景栅格化处理为顶点属性的插值,可以生成真实的图像,其梯度可以通过所有预测的顶点属性完全反向传播,而将背景栅格化定义为学习过程中全局信息的聚合,可以更好地理解形状和遮挡。

1.渲染器通道:现在很多流行的APIs,例如OpenGL和DirectX3D,将渲染3D场景的过程分解为一系列连续的用户定义的程序,称为着色器。当渲染一个3D多边形网格的图像时,首先,顶点着色器将场景中的每个3D顶点投射到定义的二维图像平面上。然后使用栅格化来确定由这些顶点定义的基元覆盖哪些像素以及以何种方式覆盖像素。最后,片段着色器计算每个像素是如何被覆盖它的基元着色的。

2.可微的光栅化:首先,只考虑被一个或多个面覆盖的前景像素。相比标准渲染器, 像素的值被从最近的覆盖它的面分配, 他们把前景光栅化当做顶点属性的插值。对于每个前景像素,我们执行一个z-buffering测试,并将其分配给最近的覆盖面。每个像素都是由这个面单独影响的。

基于GAN的单目图像3D物体重建(纹理和形状)_光栅化

可微的光栅化说明:

一个位于Pi位置的像素被三个顶点V0、V1、V2的面Fi覆盖,每个顶点分别具有自己的属性:U0、U1、U2。Pi和Vi是图像平面上的二维坐标,Ui为标量。使用面的顶点属性的重心插值来计算这个像素的值Ii:

基于GAN的单目图像3D物体重建(纹理和形状)_3d_02


权重w0,w1和w2是由顶点和像素位置使用一个可微函数Ωk(附录中提供)计算得到的:


基于GAN的单目图像3D物体重建(纹理和形状)_光栅化_03

渲染器模型

1.基本模型:DIB-R支持基本的渲染模型,可以直接用顶点颜色或纹理绘制图像。为了定义网格的基本颜色,我们支持顶点属性为顶点颜色或u,v坐标在一个学习或预定义的纹理映射。像素值分别通过顶点颜色或投影纹理坐标的双线性插值来确定。

2.照明模型:为了统一所有不同的照明模型,将图像颜色I分解为网格的组合颜色Ic和照明因素Il和Is:

基于GAN的单目图像3D物体重建(纹理和形状)_渲染器_04

Ic表示插值顶点颜色或纹理映射值从顶点属性没有任何照明效果的直接提取,Il和Is表示照明因素由特定照明模式选择决定,Il将与网格合并颜色,Is是额外的灯光效果,并且不依赖于Ic。

接下来分别介绍了三种照明模型,分别是冯氏、朗伯模型和球面谐波模型。可微分渲染器的设计允许对所有定义的顶点属性和各种渲染模型进行优化,下图显示了一个完整的检查。

基于GAN的单目图像3D物体重建(纹理和形状)_渲染器_05 

(a,b) 顶点颜色渲染器模型中的顶点位置和颜色(c,d)纹理渲染模型中的纹理和纹理标

(e,f) Lambertian模型中的顶点和摄像机位置(g)球谐模型照明,

(h) Phong模型中的材料。 

DIB-R的应用

1从单一图像预测3D物体:输入一张RGBA图片,RGB值I和轮廓S到一个卷积神经网络F中,用特殊的拓扑学预测出网格中每个顶点的位置和颜色值。然后用一个渲染器去把预测的网格生成一个2D的轮廓S’和彩色图像I’。损失函数定义如下:

基于GAN的单目图像3D物体重建(纹理和形状)_渲染器_06

进一步对于彩色图像使用L-1损失:

基于GAN的单目图像3D物体重建(纹理和形状)_光栅化_07

在渲染预测的网格时,不仅使用了真实值的相机位置和原始图像比较,并且任意生成了第二视角和从新的角度生成的真实值做比较,这能够确保网络不仅集中于网格属性在已知的角度。最后,定义损失函数如下:

基于GAN的单目图像3D物体重建(纹理和形状)_3d_08

接下来,将这个方法应用于前一个任务的扩展,预测纹理映射而不是顶点颜色,并回归光照参数以生成更高质量的网格预测。根据所使用的照明模型,神经网络F被修改为预测顶点位置、纹理图和各种照明信息,整体框架如第一张图片所示。

纹理形状的3D生成对抗网络通过二维监督:在第二个应用中,进一步证明了这个方法的能力,通过训练一个生成的对抗网络(GAN)来产生3D纹理形状,只使用2D监督。训练一个网络FGAN预测顶点位置和纹理映射,并利用一个鉴别器D(φ)以区分真正的图片,并呈现预测。对网络FGAN进行了修改,使其以正态分布噪声代替图像作为输入。 

试验

数据集:由来自ShapeNet的13个物体类别组成。从24个不同的角度通过2D监督生成RGB图像作为数据集。为了演示DIB-R支持的多种渲染模型,使用了4种不同的渲染模型来渲染每个图像。

结果展示

从单一图像预测三维物体:几何形状和颜色:

基于GAN的单目图像3D物体重建(纹理和形状)_光栅化_09

基于3D IOU (%) / F-score(%)的单幅图像三维目标预测结果

基于GAN的单目图像3D物体重建(纹理和形状)_光栅化_10

单幅图像三维目标预测的定性结果。第一列和第五列是输入图像,第二列和第六列是模型的预测,第三列和第七列是SoftRas-Mesh的结果,其余两列是N3MR的结果。

从单一图像预测三维物体:几何形状、颜色和光照

基于GAN的单目图像3D物体重建(纹理和形状)_渲染器_11

三维形状、纹理和光线预测定性的例子。Col. 1-3: 1) GT纹理+照明渲染图像,2)纹理渲染图像,3)光照图。Col 4-6:该框架的预测。Col: 7-9: N3MR

基于GAN的单目图像3D物体重建(纹理和形状)_光栅化_12

纹理和光线预测的结果

基于GAN的单目图像3D物体重建(纹理和形状)_光栅化_13

在CUB bird数据集和PASCAL3D+  Car数据集的示例

基于GAN的单目图像3D物体重建(纹理和形状)_渲染器_14

3D GAN从两个视角对汽车图像进行了训练

基于GAN的单目图像3D物体重建(纹理和形状)_3d_15

通过3D GAN的潜在代码之间的插值产生物体效果图,从2个观点

标签:模型,纹理,GAN,单目,图像,顶点,像素,3D
From: https://blog.51cto.com/u_14439393/5725765

相关文章

  • STD:Sparse-to-Dense 3D Object Detector for Point Cloud(腾讯&香港大学)
    主要思想本文提出了一种新的两阶段3D目标检测框架,称之为稀疏到稠密三维目标检测框架(STD)。第一个阶段是自下而上的proposal生成网络,该网络使用原始点云作为输入,通过为每个点......
  • 基于2.5/3D的自主主体室内场景理解研究
    参考链接:https://arxiv.org/abs/1803.03352主要内容摘要随着低成本、紧凑型2.5/3D视觉传感设备的出现,计算机视觉界对室内环境的视景理解越来越感兴趣。本文为本课题的研究提......
  • FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection
    FCOS3D是在2D检测器FCOS的基础上提出的,是一种单目3D检测算法,根据RGB图像进行3D目标检测.FCOS预测的是一个前景点到边界框的4个距离,而FCOS3D需要预测更多的东西,包括3D中......
  • ICCV 2021 | 用于细粒度 3D 形状分割的基于持久同源的图卷积网络
    标题:PersistentHomologybasedGraphConvolutionNetworkforFine-grained3DShapeSegmentation 细粒度3D语义分割是一项对每个3D点输入的标签进行语义分类的任务。对......
  • github疯狂涨星-基于Transformer的端到端3D目标检测
    我们训练了一个端到端Transformer模型,用于点云上的三维目标检测。我们的模型有一个用于特征编码的Transformer编码器和一个用于预测盒子的Transformer解码器。对于一个看不......
  • github非常张星-Real-ESRGAN盲超分
    如上图所示对比双三次上采样、ESRGAN、RealSR以及Real-ESRGAN方法,本论文提出的方法可以获得较好的结果。使用纯合成数据训练的Real-ESRGAN模型能够增强细节,同时消除常见真实......
  • Style3D招聘:渲染、CAD、物理仿真
    Style3DBase杭州,年薪30~200w,优秀的可谈,实习生也要滴岗位职责1:从事服装布料渲染引擎开发工作岗位要求:1、熟悉计算机图形学;2、精通C/C++编程,有很强的代码阅读、分析和设计能力;3......
  • 基于显扬科技3D机器视觉的驱动轮抓取上料系统
    背景:驱动轮是驱动汽车行驶的车轮,其体积大且重,在生产线上的上下料存在人工操作困难,生产效率低的问题。行业难点:1、驱动轮工件体积大且重,传统通过人工操作设备进行抓取,生产效......
  • CF1603D Artistic Partition 题解
    题意一个长度为\(n\)的序列,分为\(k\)段,每段代价是\(c(l,r)=\sum\limits_{i=l}^r\sum\limits_{j=i}^r[\gcd(i,j)\geql]\),求总代价的最小值。分析若\(2^k>n\),总......
  • TE二次开发批量加载发布3dml模型
        在TE的二次开发过程中,把3dml模型用sfs或者sgs发布完成后,如何获取到sfs或者sgs上发布的模型列表,使用一定的规则对模型进行加载,灵活的控制模型图层。   下边......