NVIDIA DiffusionRenderer Cosmos: fotók/videók "újrafényelése"

A NVIDIA kutatóinak DiffusionRenderer nevű új projektje egy neurális hálózat alapú megközelítést mutat be a képek és videók valósághű rendereléséhez. Ez a rendszer két kulcsfontosságú feladatot integrál: az inverz renderelést, amely a bemeneti média alapján becsüli meg a jelenet geometriai és anyagi tulajdonságait, valamint a forward renderelést, amely ezen információk felhasználásával fotórealisztikus képeket generál különböző megvilágítási körülmények között. A projekt felhasználja a videó diffúziós modelleket a pontosság és a fotórealizmus növelése érdekében, különösen a árnyékok és visszaverődések tekintetében, amelyek pontosabbak, mint a klasszikus fizikai alapú renderelési módszerekkel előállítottak. A DiffusionRenderer széles körű alkalmazásokat tesz lehetővé, mint például a valós idejű jelenet-újrailluminálás, anyag-szerkesztés és virtuális objektumok beillesztése valós felvételekbe.

Egy HDRI map (High Dynamic Range Image map) egyszerűen szólva egy olyan környezetfotó, ami 360°-ban rögzítette egy helyszín megvilágítási értékeit – nem csak színhűséget, de valós fényerő-viszonyokat is. Ezek a képek több fényszintet (sötéttől a ragyogóig) képesek tárolni, 32 bit/pixel csatornánként, így a valós világ világítási dinamikáját visszaadják.

*Linkek*
RunPod: https://runpod.io?ref=2pdhmpu1
DiffusionRenderer: Neural Inverse and Forward Rendering with Video Diffusion Models: https://research.nvidia.com/labs/toronto-ai/DiffusionRenderer/
NVIDIA blog: https://blogs.nvidia.com/blog/cvpr-2025-ai-research-diffusionrenderer/
Kutatási anyag: https://arxiv.org/pdf/2501.18590
Hugging Face: https://huggingface.co/collections/zianw/diffusionrenderer-cosmos-6849f2a4da267e55409b8125
GitHub DiffusionRenderer (Cosmos): https://github.com/nv-tlabs/cosmos1-diffusion-renderer
Cosmos Tokenize1: https://huggingface.co/nvidia/Cosmos-Tokenize1-CV8x8x8-720p
HDRIs Poly Haven: https://polyhaven.com/hdris
HDRI Skies: https://hdri-skies.com/free-hdris/

*Telepítés*
Videókártya: A40
Template: Runpod Pytorch 2.2.0
Tárhely:
30 Gbyte / 70 Gbyte

git clone https://github.com/nv-tlabs/cosmos1-diffusion-renderer.git

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
source ~/.bashrc

conda env create --file cosmos-predict1.yaml
conda activate cosmos-predict1
pip install -r requirements.txt
ln -sf $CONDA_PREFIX/lib/python3.10/site-packages/nvidia/*/include/* $CONDA_PREFIX/include/
ln -sf $CONDA_PREFIX/lib/python3.10/site-packages/nvidia/*/include/* $CONDA_PREFIX/include/python3.10
pip install transformer-engine[pytorch]==1.12.0

ln -sf $CONDA_PREFIX/lib/python3.10/site-packages/triton/backends/nvidia/include/crt $CONDA_PREFIX/include/
pip install git+https://github.com/NVlabs/nvdiffrast.git

Hozzáférés kérése:
https://huggingface.co/nvidia/Cosmos-Tokenize1-CV8x8x8-720p

huggingface-cli login
CUDA_HOME=$CONDA_PREFIX PYTHONPATH=$(pwd) python scripts/download_diffusion_renderer_checkpoints.py --checkpoint_dir checkpoints

*Futtatás*
CUDA_HOME=$CONDA_PREFIX PYTHONPATH=$(pwd) python cosmos_predict1/diffusion/inference/inference_inverse_renderer.py \
--checkpoint_dir checkpoints --diffusion_transformer_dir Diffusion_Renderer_Inverse_Cosmos_7B \
--dataset_path=asset/examples/image_examples/ --num_video_frames 1 --group_mode webdataset \
--video_save_folder=asset/example_results/image_delighting/ --save_video=False

CUDA_HOME=$CONDA_PREFIX PYTHONPATH=$(pwd) python cosmos_predict1/diffusion/inference/inference_forward_renderer.py \
--checkpoint_dir checkpoints --diffusion_transformer_dir Diffusion_Renderer_Forward_Cosmos_7B \
--dataset_path=asset/example_results/image_delighting/gbuffer_frames --num_video_frames 1 \
--envlight_ind 0 1 2 3 --use_custom_envmap=True \
--video_save_folder=asset/example_results/image_relighting/

Illumination randomization of images: by setting --use_custom_envmap to False.
environment maps: ENV_LIGHT_PATH_LIST in cosmos_predict1/diffusion/inference/inference_forward_renderer.py