src.models

src.models – Core model components for keypoint-based image transformation

This module contains the core models used in the pipeline for keypoint-based image transformation, including the generator, discriminator, and keypoint detector layers. These models can be used independently or together as part of a GAN or motion transfer pipeline.

Modules:

  • generator.py: Contains KeypointBasedTransform, a configurable Keras layer that warps an image using keypoints and local affine Jacobians. It supports optional custom motion models and upscalers.

  • discriminator.py: Defines build_discriminator, a simple CNN-based discriminator suitable for use in GANs. It distinguishes between real and generated images.

  • keypoint_detector.py: Defines KeypointDetector, a Keras layer for learning keypoint locations and their corresponding Jacobian matrices using separate convolutional branches. Supports custom sub-models.

Usage Example:

from src.models.discriminator import build_discriminator
from src.models.generator import KeypointBasedTransform
from src.models.keypoint_detector import KeypointDetector

# Discriminator model
discriminator = build_discriminator()

# Generator model layer
transform_layer = KeypointBasedTransform(batch_size=16)

# Keypoint detector layer
kp_detector = KeypointDetector(num_keypoints=10)
 1"""
 2`src.models` – Core model components for keypoint-based image transformation
 3
 4This module contains the core models used in the pipeline for keypoint-based image transformation,
 5including the generator, discriminator, and keypoint detector layers. These models can be used 
 6independently or together as part of a GAN or motion transfer pipeline.
 7
 8Modules:
 9--------
10
11- `generator.py`:
12    Contains `KeypointBasedTransform`, a configurable Keras layer that warps an image using
13    keypoints and local affine Jacobians. It supports optional custom motion models and upscalers.
14
15- `discriminator.py`:
16    Defines `build_discriminator`, a simple CNN-based discriminator suitable for use in GANs.
17    It distinguishes between real and generated images.
18
19- `keypoint_detector.py`:
20    Defines `KeypointDetector`, a Keras layer for learning keypoint locations and their corresponding
21    Jacobian matrices using separate convolutional branches. Supports custom sub-models.
22
23Usage Example:
24--------------
25
26```python
27from src.models.discriminator import build_discriminator
28from src.models.generator import KeypointBasedTransform
29from src.models.keypoint_detector import KeypointDetector
30
31# Discriminator model
32discriminator = build_discriminator()
33
34# Generator model layer
35transform_layer = KeypointBasedTransform(batch_size=16)
36
37# Keypoint detector layer
38kp_detector = KeypointDetector(num_keypoints=10)
39
40```
41"""