GMPI多平面圖像生成框架
GMPI (Generative Multiplane Images)是一個多平面圖像生成框架,使 2D GAN 具有 3D 感知能力。
生成的輸出稱為“生成多平面圖像”(GMPI),并強(qiáng)調(diào)其渲染不僅質(zhì)量高,而且保證視圖一致,這使得 GMPI 與許多先前的作品不同。重要的是,alpha 映射的數(shù)量可以動態(tài)調(diào)整,并且可以在訓(xùn)練和推理之間有所不同,從而減輕內(nèi)存問題并能夠在不到半天的時間內(nèi)以 1024 2 的分辨率快速訓(xùn)練 GMPI。
Project Page | Paper
環(huán)境設(shè)置
此代碼已在帶有 CUDA 10.2 的 Ubuntu 18.04 上進(jìn)行了測試。
conda env create -f environment.yml
使用預(yù)訓(xùn)練檢查點
下載檢查點
cd /path/to/this/repo export GMPI_ROOT=$PWD
請下載預(yù)訓(xùn)練檢查點,并將它們放在${GMPI_ROOT}/ckpts
結(jié)構(gòu)應(yīng)該是:
. +-- ckpts | +-- gmpi_pretrained | | +-- FFHQ256 | | +-- FFHQ512 | | +-- FFHQ1024 | | +-- AFHQCat | | +-- MetFaces
使用以下變量進(jìn)行說明。
# This can be FFHQ256, FFHQ512, FFHQ1024, AFHQCat, or MetFaces
export DATASET_NAME=FFHQ1024
export OUTPUT_DIR=${GMPI_ROOT}/ckpts/gmpi_pretrained/${DATASET_NAME}
# Set this to your favourate seed
export SEED=589
# - When psi = 1.0 there is no truncation, which is used for quantitative results in the paper.
# - To obtain better qualitative results, use psi < 1.0.
export TRUNCATION_PSI=1.0
渲染單個圖像
以下命令呈現(xiàn)圖像${OUTPUT_DIR}/rendered.png,以及:
-
mpi_alpha.png:所有平面的 alpha 貼圖, -
mpi_rgb.png:所有平面都使用相同的 RGB 紋理, -
mpi_rgba.png:所有平面的 RGB-alpha 圖像。
conda activate gmpi && \
export PYTHONPATH=${GMPI_ROOT}:${GMPI_ROOT}/gmpi/models:$PYTHONPATH && \
python ${GMPI_ROOT}/gmpi/eval/vis/render_video.py \
--ckpt_path ${OUTPUT_DIR}/generator.pth \
--output_dir ${OUTPUT_DIR} \
--seeds ${SEED} \
--nplanes 96 \
--truncation_psi ${TRUNCATION_PSI} \
--exp_config ${OUTPUT_DIR}/config.pth \
--render_single_image 1
注意:nplanes = 96在論文中用于報告定量和定性結(jié)果,但 GMPI 即使使用 32 個平面也能夠產(chǎn)生高質(zhì)量的結(jié)果。nplanes如果遇到 CUDA 內(nèi)存不足錯誤,請使用較小的值(例如 32)。
評論
圖片
表情
