单图像三维重建、2D到3D气概迁徙和3D DeepDream

作者:Longway
Date:2020-04-25
泉源:
单图像三维重修、2D到3D气概迁徙和3D DeepDream

项目网址:http://hiroharu-kato.com/projects_en/neural_renderer.html
代码网址:https://github.com/hiroharu-kato/neural_renderer
论文名称:Neural 3D Mesh Renderer(CVPR2018)
概述
对于二维图像背后的三维天下建模,哪一种三维示意最合适?现在常见的示意方式有点云、体素和网格,其中多边形网格具有优越的紧致性和几何性子。然则使用神经网络直接由多边形网格天生图像对照难题,由于光栅化的历程阻止了反向流传。因此,作者提出了一个近似的梯度栅格化,使渲染集成到神经网络。使用这个渲染器,可以执行带有轮廓图像监视的单图像三维网格重修,而且该系统比现有的基于体素的方式更好。此外,作者还首次在2D监视下执行基于梯度的3D网格编辑操作,如2D到3D气概迁徙和3D DeepDream。
简介
从二维图像明白三维天下是计算机视觉的基本问题之一。人类在大脑中使用视网膜上的图像来模拟3D天下,机械也可以通过在2D图像背后显式地建模3D天下来更智能地事情。从3D天下天生图像的历程叫做渲染,这在计算机视觉内里非常重要。哪种3D示意方式是最适合建模3D天下?通常有体素、点云和多边形网格。体素难以天生高质量的体素,由于他们是在三维空间有纪律地举行采样,而且影象效率对照低。点云存在纹理和照明难以应用的问题,由于点云没有外面。多边形网格由一系列极点和外面组成,因此它们是可伸缩的,而且有面,进而作者采用了这种方式。
使用网格这种示意方式有两个利益,第一个是示意三维模子时,需要的参数少,模子和数据集也响应对照小。第二个就是它适合几何变换。工具的旋转、平移和缩放由极点上的简朴操作示意。这篇文章提出了两个应用,如下图所示。第一个是单图像三维网格重修,第二个是基于梯度的3D网格编辑,包罗气概迁徙和DeepDream。
单图像三维重建、2D到3D气概迁徙和3D DeepDream
这篇论文主要有三个方面的孝敬:
1.提出了一个近似的梯度网格渲染,使渲染集成到神经网络;
2.实现了从单图像实现三维网格重修,而且没有3D监视;
3.实现了基于梯度的三维网格编辑操作,例如气概迁徙和3D DeepDream。
相关事情
1.神经网络中的三维示意:三维示意有许多方式,好比前面提到的体素、点云等,然则它们都有一定的不足,或者不适合三维重修。其中,多边形网格具有存储效率高、适用于几何变换且具有曲面等特点,因此它现实上是计算机图形学(CG)和计算机辅助设计(CAD)中的尺度形式。然而,由于多边形网格的数据结构是一个庞大的图形,很难集成到神经网络中。
2.单图片三维重修:从图像中估量三维结构是计算机视觉中的一个传统问题,大多数方式使用真实的三维模子来学习2D到3D的映射函数,有些作品通过深度展望重修三维结构,有些则直接展望三维形状。现实上,无需3D监视即可实现三维展望,只需要待重修物体的轮廓即可。
3.通过梯度下降编辑图像:行使可微特征提取器和损失函数,通过反向流传和梯度下降,可以天生损失最小的图像,DeepDream就是这样一个例子。初始图像被频频更新,使得其图像特征的巨细变得更大,通过这个历程,像狗和汽车这样的物体逐渐出现在图像中,图像气概转换可能是最熟悉和最现实的例子了,给定内容图像和样式图像,将天生具有指定内容和样式的图像。
该渲染器提供图像相对于网格极点和纹理的渐变。因此,行使二维图像的损失函数就可以实现网格的DeepDream和气概转换。
渲染的近似梯度
1.渲染通道及其派生:一个3D网格由一组极点和面组成,

Laravel – 上手实现 – 邮件发送

每个极点No是一个三维向量,示意这个极点在3D物体空间中的坐标,每个面F是由三个极点所围成的三角形。为了天生这个工具,物体空间中的极点No被转化为屏幕空间中的极点Ns,这个极点Ns是一个二维向量。
通过采样从屏幕空间的极点Ns和面F天生图像,这个历程叫做光栅化。下图说明晰单个图像的光栅化:
单图像三维重建、2D到3D气概迁徙和3D DeepDream Vi是面的一个极点,Ij是像素Pj的颜色值。Xi现在的位置是x0。当Xi向右移动,面的边与Pj的中央碰撞时,X1是Xi的位置。当Xi=X1时,Ij酿成Iij
2.单面光栅化:这一部门主要解说了当像素点在内里或者外面时,若何界说偏导函数。涉及到的公式对照多,后面将以视频的方式出现,若是想要提前领会的可以联系我。
3.多面光栅化:若是有多个面,光栅化器只在每个像素处绘制最前面的面,这与尺度方式相同。在向后通报的历程中,首先检查是否绘制了交叉点Iij、Iaij和Ibij,若是它们被不包罗Vi的外面遮挡,则不流动梯度。
4.纹理:纹理可以映射到面上。在这个项目中,每个面都有自己的巨细为St×St×St的纹理图像。使用质心坐标系确定纹理空间中对应于三角形{V1,V2,V3}上位置P的坐标。换句话说,若是P示意为P=W1V1+W2V2+W3V3,则让(w1,w2,w3)成为纹理空间中的响应坐标。
5.照明:照明系统可以直接应用于网格上,在这项事情中,使用了简朴的环境光和无阴影的平行光。设la和ld划分为环境光和平行光的强度,nd为指示平行光偏向的单元矢量,nj为面的法向矢量。然后,将外面像素Ilj的修改颜色界说为:
单图像三维重建、2D到3D气概迁徙和3D DeepDream
神经渲染器的应用
1.单图像三维重修:基于体素的方式能够直接天生一个3D模子,然则对于网格来说对照难题。因此,在这项事情中,作者不是重新天生网格,而是将预界说网格变形以天生新网格。具体地说,使用一个有642个极点的各向同性球体,并使用局部偏置向量Bi和全局偏置向量C将每个极点Vi酿成Vi+Bi+C的形式。划分界说轮廓损失Lsl和平滑度损失Lsm如下所示:
单图像三维重建、2D到3D气概迁徙和3D DeepDream
轮廓损失中的S示意的是二进制mask,平滑度损失中的θ示意相邻两个面的夹角度数,两个损失函数划分保证了渲染后的效果和模子的滑腻。
2.基于梯度的三维网格编辑:在这项事情中,基于其渲染图像R来优化由极点Vi、面Fi和纹理Ti组成的3D网格m,而不是天生图像举行编辑。
2D到3D的气概迁徙:在本节中,作者提出了一种将图像Xs的样式传输到网格Mc上的方式。对于二维图像,气概迁徙是通过同时最小化内容损失和气概损失来实现的。在这里,作者把内容指定为三维网格Mc。为了使天生的网格形状与Mc相似,假设两个网格的极点到面的关系相同,我们重新界说了如下内容损失函数:
单图像三维重建、2D到3D气概迁徙和3D DeepDream
作者使用了与2D应用中相同的气概损失,如下所示:
单图像三维重建、2D到3D气概迁徙和3D DeepDream
同时使用正则化器来降低噪声,设P示意图像R中所有相邻像素对的一组颜色:
单图像三维重建、2D到3D气概迁徙和3D DeepDream
3D DeepDream:设f(x)为输出图像x特征图的函数。对于2D图像来说,通过从x=x0最先的梯度下降最小化-|f(x)|2F来实现图像x0的DeepDream。在类似的历程中,将-|f(R(m,φ))|2F相对于Vi和Ti最小化来实现DeepDream。
效果展示
单图像三维重建、2D到3D气概迁徙和3D DeepDream 从单个图像重修三维网格。第一列:输入图像;第二至第四列:网格重修;第五至第七列:体素重修。
单图像三维重建、2D到3D气概迁徙和3D DeepDream 通过体素IoU丈量重修精度,越高越好。可以看到基于网格的方式在13个种别中有10个种别的性能优于基于体素的方式。
单图像三维重建、2D到3D气概迁徙和3D DeepDream 网格在气概转换和DeepDream中的初始状态
单图像三维重建、2D到3D气概迁徙和3D DeepDream 2D到3D气概迁徙。气概图片有汤姆森5号(黄色日落)、巴别塔、尖叫和毕加索肖像
单图像三维重建、2D到3D气概迁徙和3D DeepDream 3D网格的DeepDream  

原创文章,作者:admin,如若转载,请注明出处:https://www.2lxm.com/archives/6240.html