Seokjun Choi, Hoon-Gyu Chung, Yujin Jeon, Giljoo Nam, Seung-Hwan Baek
Conference: IEEE/CVF International Conference on Computer Vision (ICCV), 2025
DIR dataset is a dataset for Display Inverse Rendering (DIR). It contains assets captured from LCD & polarization-camera system.
Why Display Inverse Rendering? Display inverse rendering uses a monitor as a per-pixel, programmable light source to reconstruct object geometry and reflectance from captured images. Key features include:
Display Inverse Rendering (DIR) dataset.git clone https://github.com/MichaelCSJ/DIR.git
cd DIR
conda env create -f environment.yml
conda activate DIR
Download the DIR dataset for perform our display inverse rendering baseline. It consists of 16 real-world objects with diverse shapes and materials under precisely calibrated directional lighting. There are some versions of dataset as 'DIR-basic', 'DIR-pms', 'DIR-hdr', and 'DIR-multi-distance'.
βββ A
β βββGT_geometry (for reference(main) view)
β β βββ'normal.npy',
β β βββ'normal.png',
β β βββ'point_cloud_gt.npy'
β βββmain
β β βββdiffuseNspecular
β β β βββ'000 - 143.png',
β β β βββ'black.png',
β β β βββ'white.png',
β β βββRAW_polar
β β β βββ'000 - 143_[SHUTTER_TIME].png',
β β β βββ'black_[SHUTTER_TIME].png',
β β β βββ'white_[SHUTTER_TIME].png',
β βββside
β β βββdiffuseNspecular
β β β βββ'000 - 143.png',
β β β βββ'black.png',
β β β βββ'white.png',
β β βββRAW_polar
β β β βββ'000 - 143_[SHUTTER_TIME(us)].png',
β β β βββ'black_[SHUTTER_TIME(us)].png',
β β β βββ'white_[SHUTTER_TIME(us)].png',
β βββ'mask.png'
β βββ'point_cloud.npy' (unprojected pixel w.r.t. depth & focal length)
βββ A [Suffix (default "PNG")]
β βββ'000 - 143.png',
β βββ'filenames.txt',
β βββ'light_directions.txt'
β βββ'light_intensities.txt',
β βββ'mask.png'
β βββ'Normal_gt.mat'
After downloading, place them under data/ as the following directory tree.
To run the baseline, execute train.py with the following command:
python train.py --name YOUR_SESSION_NAME --dataset_root YOUR_DATASET_PATH
By default, this code performs inverse rendering using multi-light images captured with an OLAT pattern. If you want to use a small number of multi-light images with a multiplexed display pattern, run the code as follows:
python train.py --name YOUR_SESSION_NAME --dataset_root YOUR_DATASET_PATH --use_multiplexing True --initial_light_pattern YOUR_DISPLAY_PATTERNS
You can use display patterns provided by DDPS for YOUR_DISPLAY_PATTERNS.
Place display patterns under patterns/ as the following directory tree.
Lighting Patterns (Initial):
Lighting Patterns (Learned):
Once training is completed, a folder named YYYYMMDD_HHMMSS will be created inside the /results/SESSION directory, containing the TensorBoard logs, OLAT rendering results, and the fitted parameters for each object.
Run relighting.py to render images under novel directional lightings based on recovered normal map and BRDF parameter maps.
You can also use the provided code (relighting.py) for relighting the object under novel directional lights based on the recovered attributes. Follow the instructions displayed at the end of the prompt to use it. It should look like this.
To output .avi video:
python relighting.py --datadir ./results/YOUR_SESSION_NAME/OBJECT_NAME --format avi
If you find this repository useful, please consider citing this paper:
(TBD)
7 commits
Python
100.0%
Seokjun Choi, Hoon-Gyu Chung, Yujin Jeon, Giljoo Nam, Seung-Hwan Baek
Conference: IEEE/CVF International Conference on Computer Vision (ICCV), 2025
DIR dataset is a dataset for Display Inverse Rendering (DIR). It contains assets captured from LCD & polarization-camera system.
Why Display Inverse Rendering? Display inverse rendering uses a monitor as a per-pixel, programmable light source to reconstruct object geometry and reflectance from captured images. Key features include:
Display Inverse Rendering (DIR) dataset.git clone https://github.com/MichaelCSJ/DIR.git
cd DIR
conda env create -f environment.yml
conda activate DIR
Download the DIR dataset for perform our display inverse rendering baseline. It consists of 16 real-world objects with diverse shapes and materials under precisely calibrated directional lighting. There are some versions of dataset as 'DIR-basic', 'DIR-pms', 'DIR-hdr', and 'DIR-multi-distance'.
βββ A
β βββGT_geometry (for reference(main) view)
β β βββ'normal.npy',
β β βββ'normal.png',
β β βββ'point_cloud_gt.npy'
β βββmain
β β βββdiffuseNspecular
β β β βββ'000 - 143.png',
β β β βββ'black.png',
β β β βββ'white.png',
β β βββRAW_polar
β β β βββ'000 - 143_[SHUTTER_TIME].png',
β β β βββ'black_[SHUTTER_TIME].png',
β β β βββ'white_[SHUTTER_TIME].png',
β βββside
β β βββdiffuseNspecular
β β β βββ'000 - 143.png',
β β β βββ'black.png',
β β β βββ'white.png',
β β βββRAW_polar
β β β βββ'000 - 143_[SHUTTER_TIME(us)].png',
β β β βββ'black_[SHUTTER_TIME(us)].png',
β β β βββ'white_[SHUTTER_TIME(us)].png',
β βββ'mask.png'
β βββ'point_cloud.npy' (unprojected pixel w.r.t. depth & focal length)
βββ A [Suffix (default "PNG")]
β βββ'000 - 143.png',
β βββ'filenames.txt',
β βββ'light_directions.txt'
β βββ'light_intensities.txt',
β βββ'mask.png'
β βββ'Normal_gt.mat'
After downloading, place them under data/ as the following directory tree.
To run the baseline, execute train.py with the following command:
python train.py --name YOUR_SESSION_NAME --dataset_root YOUR_DATASET_PATH
By default, this code performs inverse rendering using multi-light images captured with an OLAT pattern. If you want to use a small number of multi-light images with a multiplexed display pattern, run the code as follows:
python train.py --name YOUR_SESSION_NAME --dataset_root YOUR_DATASET_PATH --use_multiplexing True --initial_light_pattern YOUR_DISPLAY_PATTERNS
You can use display patterns provided by DDPS for YOUR_DISPLAY_PATTERNS.
Place display patterns under patterns/ as the following directory tree.
Lighting Patterns (Initial):
Lighting Patterns (Learned):
Once training is completed, a folder named YYYYMMDD_HHMMSS will be created inside the /results/SESSION directory, containing the TensorBoard logs, OLAT rendering results, and the fitted parameters for each object.
Run relighting.py to render images under novel directional lightings based on recovered normal map and BRDF parameter maps.
You can also use the provided code (relighting.py) for relighting the object under novel directional lights based on the recovered attributes. Follow the instructions displayed at the end of the prompt to use it. It should look like this.
To output .avi video:
python relighting.py --datadir ./results/YOUR_SESSION_NAME/OBJECT_NAME --format avi
If you find this repository useful, please consider citing this paper:
(TBD)
7 commits
Python
100.0%