While halation and chromatic aberrations are sometimes considered as defects, artists often use these optical flaws for aesthetic purposes. Most films contain an anti-halation filter, but the Cinestill 800T does not. This produces a beautiful red halo around light sources, and has a Tungsten white balance, which creates a colour contrast between red and green tones. In this project, the goal is to recreate digitally the look of this specific film stock focusing on three aspects:
- the film grain: this film stock has a high sensitivity and produces a lot of grain, which is also pleasing aesthetically
- the halo: the halo is the main characteristic of this film stock
- the colour profile: the colour profile is not the one of your digital camera.
This project trains various image-to-image deep learning models on a novel dataset of image pairs capturing the same scene on a digital and film camera.
Here is a list of things that you likely want to do:
- Check out the demo of the model (Not yet available)
- Find all project details in the full report (Not yet available)
- Inspect the experiment logs on W&B (Not yet available)
- Download the image pair dataset from Zenodo or Huggingface (Not yet available)
# clone project
git clone https://github.com/mikasenghaas/sillystill
cd sillystill
# [OPTIONAL] create conda environment
conda create -n sillystill python=3.9
conda activate sillystill
# install pytorch according to instructions
# https://pytorch.org/get-started/
# install requirements
pip install -r requirements.txt
# clone project
git clone https://github.com/mikasenghaas/sillystill
cd stillystill
# create conda environment and install dependencies
conda env create -f environment.yaml -n sillystill
# activate conda environment
conda activate sillystill
Before contributing, please make sure that you install the Git hooks of pre-commit
(e.g. it will be triggered on every git commit) by running the following command:
pre-commit install
To check if everything works as expected you can run pre-commit run --all-files
which will run all hooks on the entire repository.
Train model with default configuration
# train on CPU
python src/train.py trainer=cpu
# train on GPU
python src/train.py trainer=gpu
This work was kindly funded by the Image and Visual Representation (IVLR) Lab at EPFL as part of the Computational Photography (CS-413) class and supervised by Raphaël Wan-Li Marc Achddou and Sabine Süsstrunk. Thank you for making this project possible!
This repository is bootstrapped from this Lightning & Hydra Template.