Team: play1play
for 'Night Photography Rendering Challenge'
This repo contains the source code of Night Photography Rendering Challenge 2024.
How to run
Run without Docker
- Install python >= 3.9
- Install the required packages:
pip install -r requirements.txt
- Put the test images in the
data
folder or specify the input image path with-p
option. - Run the script:
python run.py -p <input_image_path> -o <output_image_path>
- The output images will be saved in the
output
folder or specifiy the output path with-o
option.
Run with Docker
- Build the docker image from beginning (optional):
docker build -t play1play .
- Run the docker container with gpu on linux:
docker run -it --rm --gpus=all -v $(pwd)/data:/data play1play ./run.sh
Do not forget to to --gpus flag, our model requires GPU to run.
Update
2024.3.21:
Final version v3.0 is released for 3rd validation!
Key features:
- Utilize the patch-based and calibration-based white-balance algorithm to improve the image quality.
- Modify the resizing strategy to improve the image quality.
2024.3.16:
Release v2.0 for 3rd validation!
Key features:
- Increase the overall saturation and brightness of the image.
- Add more contrast to the image.
- Add more dynamic range to the image.
Algorithm changes:
- Add luma shading correction (LSC) module
- Add auto-contrast module (dynamic gamma)
- LSC, LTM, auto-contrast module can dynamiclly adjust the parameters based on the camera gain from the metadata.
- Add another white-balance process at the end of the pipeline to further improve the image quality.
Key algorithm parameter explanation:
- k_th: defines the threshold for the noise level, higher means tolerant to noise, lower means more sensitive to noise. For this sensor, default is 2.5e-3.
Note that this paramerts are shared by all the modules, and hence defined as the member varibale in RawProcessingPipelineDemo class.
- s of local_tone_mapping: defines how to apply the gain map to different image channels. Higher means more saturated, lower means less saturated. Default is 0.7.
Currently, s is automatically adjusted based on the camera gain from the metadata.
2024.3.7:
release v1.0 for 3rd validation!
Version-1
- TMO-ratio50
Version-2
TMO: ratio50
Gamma: 1.5
Contrast:[low=2,high=0.2]
Post-AWB: GI