Projective Urban Texturing(Yiangos Georgiou)
概述
我们提出了一种神经结构来生成城市环境中的照片级真实感纹理。 我们的投影城市纹理(PUT)系统迭代地生成目标纹理风格和细节, 输出是一个纹理图集,应用到输入的三维城市模型上。 PUT是以先前相邻的纹理为条件的,以确保连续生成的纹理之间的一致性。
算法实现
初始输入只有mesh,纹理图集为空 ,第一步是渲染(第一次是空纹理,所以实际上没有渲染纹理);第二步是将渲染后的图片传入网络(描述在下面),该网络的作用是纹理生成,根据输入的mesh,自动预测并生成相应纹理;第三步是纹理传播模块,将第二步生成的纹理扣下来,放到纹理图集中。最后根据当前纹理图集和mesh,循环回第一步,渲染出有部分纹理的图片再传入网络。
网络简述
神经网络使用了Johnson等人的体系结构 [Justin Johnson, Alexandre Alahi, and Fei fei Li. Perceptual losses for real-time style transfer and super-resolution. In ECCV, 2016. 3] 。该网络包含三个卷积,9个残差块,两个步幅为1/2的分数步幅卷积,以及一个将特征映射到RGB图像(3x512x256)的卷积层。
一共使用了三个Loss。
Multi-layer Patch-wise Contrastive Loss
Adversarial losses
Inter-frame consistency loss
总目标函数是上述损失的加权组合
注:三维几何和真实世界的全景照片这两个集合是不配对的,即没有几何或语义对应。
编译
github地址: https://github.com/ygeorg01/PUT
win10\win11+blender3.3
environment.yml
name: PUT
channels:
- pytorch
- anaconda
- nvidia
- conda-forge
- defaults
dependencies:
- blas=1.0=mkl
- brotli=1.0.9=h8ffe710_7
- brotli-bin=1.0.9=h8ffe710_7
- bzip2=1.0.8=he774522_0
- ca-certificates=2023.5.7=h56e8100_0
- certifi=2023.5.7=pyhd8ed1ab_0
- charset-normalizer=3.1.0=pyhd8ed1ab_0
- cuda-cccl=12.1.109=0
- cuda-cudart=11.8.89=0
- cuda-cudart-dev=11.8.89=0
- cuda-cupti=11.8.87=0
- cuda-libraries=11.8.0=0
- cuda-libraries-dev=11.8.0=0
- cuda-nvrtc=11.8.89=0
- cuda