--- library_name: pytorch pipeline_tag: image-to-image license: apache-2.0 tags: - image-to-image - color-grading - 3d-lut - computer-vision - pytorch --- # Nolanizer V1 Nolanizer V1 is a scene-adaptive image-to-image model for cinematic global color grading. It preserves the input composition and predicts a color transformation designed to produce a restrained, large-format cinematic look associated with Christopher Nolan-inspired visual language. The model analyzes each image, predicts a mixture of eight learned `33³` 3D LUT bases, and applies bounded exposure, contrast, saturation, temperature, and tint adjustments. A single intensity control blends continuously between the original image and the full grade. > Nolanizer is an independent research project. It is not affiliated with, > endorsed by, or an official product of Christopher Nolan, any > cinematographer, colorist, or film studio. The output is an algorithmic > interpretation of a cinematic visual style, not a claim about how a specific > person would grade an image. ## Model details | Property | Value | | --- | --- | | Task | Scene-adaptive global image color grading | | Framework | PyTorch | | Architecture | CNN condition encoder with a learnable 3D LUT mixture | | LUT basis | 8 learned LUTs, each `33 × 33 × 33` | | Global controls | Exposure, contrast, saturation, temperature, and tint | | Effect range | `0.0` to `1.0` | | Recommended weights | EMA | | Release checkpoint | Epoch 7 | The transformation is global: every output pixel is produced from its input color and the scene-conditioned grade. Spatial structure, objects, and composition are therefore left unchanged. ## Files | File | Purpose | | --- | --- | | `nolanizer_v1.pt` | Frozen epoch-7 checkpoint; use EMA weights | | `config.json` | Architecture and inference contract | | `training_config.yaml` | Resolved optimization configuration | | `checkpoint_manifest.json` | Checkpoint checksum and release metrics | | `requirements.txt` | Runtime Python dependencies | ## Usage The checkpoint requires the Nolanizer Python package or a Nolanizer source checkout. Install the project, then run: ```bash python -m pip install -e . python -m nolanizer.inference \ --checkpoint huggingface/nolanizer-v1/nolanizer_v1.pt \ --input path/to/input.jpg \ --output path/to/output.jpg \ --intensity 0.8 \ --weights ema ``` Supported inputs include standard RGB images such as JPEG, PNG, and WebP. ### Intensity - `0.0`: exact identity output - `0.6–0.9`: recommended range for most images - `1.0`: full predicted grade The inference command saves the graded image and can also expose the predicted LUT mixture and global adjustment parameters for inspection. ## Evaluation The release checkpoint passed the project's frozen color, content-preservation, clipping, LUT-basis health, and exact-identity gates. | Metric | Value | | --- | ---: | | CIEDE2000 | `5.7666` | | Lab MAE | `3.6339` | | Luminance SSIM | `0.8617` | | Edge correlation | `0.9837` | | Clipped-pixel ratio | `0.0017` | These are internal release metrics rather than a perceptual preference score. They should not be interpreted as a guarantee of equivalent performance on every image domain. ## Intended use - Interactive grading of photographs and still images - Research and education in global cinematic color grading - Analysis of scene-conditioned LUT mixtures - Non-destructive look exploration through the intensity control ## Limitations - The renderer applies global color and tone transformations only; it does not perform local masking or selective relighting. - It cannot change geometry, composition, production design, lens characteristics, film grain, bloom, or halation. - Extremely clipped highlights, near-black images, unusual color spaces, and heavily compressed inputs may produce unstable or subtle results. - Skin-tone behavior has not been assessed with a dedicated demographic benchmark. - Output quality is subjective and depends on exposure, white balance, scene content, and the selected intensity. ## Responsible use Use the model only with images you have the right to process. Do not present generated results as an official Christopher Nolan look, endorsement, or creative decision. Keep the original image when provenance or faithful color reproduction matters.