Zhuo Chen1,2†,
·
Chengqun Yang1†
·
Zhuo Su2*
·
Zheng Lv2
·
Jingnan Gao1
·
Xiaoyuan Zhang2
·
Xiaokang Yang1
·
Yichao Yan1*
1MoE Key Lab of Artificial Intelligence, Shanghai Jiao Tong University 2PICO
CVPR 2026 (Oral)
Official implementation of POLARNet, a generative portrait relighting framework built on the POLAR OLAT representation.
POLARNet predicts direction-aware OLAT lighting responses from a portrait image and enables realistic portrait relighting under novel illumination. This repository contains the source code, configuration files, and example scripts for environment setup, training, and inference.
Note Pretrained checkpoints are not bundled with this repository. Checkpoint distribution details will be added in a later update.
For OLAT data preparation, preprocessing, and intermediate asset generation, please see the dedicated guide:
Go to the OLAT Data Processing README
That document covers the full processing workflow, required inputs, and step-by-step usage instructions.
- Codebase released.
- Pretrained checkpoint release information will be added later.
- Release pretrained POLARNet checkpoints.
- Add more detailed inference instructions.
- Provide example input/output visualizations.
- Expand dataset preparation documentation.
.
├── configs/ # Configuration files
├── scripts/ # Training and inference scripts
├── src/ # Core implementation
├── requirements.txt # Python dependencies
└── README.md
Some large or machine-specific assets are intentionally excluded from version control.
Some third-party model assets required by the pipeline are not stored in this repository. They will be downloaded automatically the first time you run the relevant script.
No manual Hugging Face cache setup is required in the README. If your environment has custom cache or storage requirements, you may still configure them locally as needed.
Download the pretrained OLAT checkpoint from the link below and place it in the following directory:
POLARNet/examples/inference/ckpts/olat/
Checkpoint download link:
YOUR_CHECKPOINT_DOWNLOAD_LINK_HERE
After downloading, ensure that the checkpoint file is stored under POLARNet/examples/inference/ckpts/olat/. If this directory does not exist, create it manually before running inference.
If your local script or configuration expects a specific checkpoint filename, please keep the filename consistent or update the path in the corresponding script.
We recommend creating a dedicated Conda environment:
conda create -n polarnet python=3.10 -y
conda activate polarnet
pip install -r requirements.txt
pip install -e .If your setup requires a specific CUDA or PyTorch build, install the matching PyTorch version first, then install the remaining dependencies.
Before running training or inference, make sure the following paths are configured correctly in your scripts or configs:
- checkpoint path;
- dataset path;
- input directories;
- output directories.
This repository provides the main code and script entry points for POLARNet. Please inspect the included shell scripts and configuration files to match them with your local environment.
For example:
cd examples/inference/olat/
bash olatlight.shBefore running a script, confirm that:
- the Python environment has been installed successfully;
- required checkpoints are available locally;
- dataset and input paths are set properly;
- output paths are configured as expected.
If you find this repository useful, please consider citing our work.
@InProceedings{Chen_2026_CVPR,
author = {Chen, Zhuo and Yang, Chengqun and Su, Zhuo and Lv, Zheng and Gao, Jingnan and Zhang, Xiaoyuan and Yang, Xiaokang and Yan, Yichao},
title = {POLAR: A Portrait OLAT Dataset and Generative Framework for Illumination-Aware Face Modeling},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2026},
pages = {28871-28881}
}