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
: ContainsKeypointBasedTransform
, a configurable Keras layer that warps an image using keypoints and local affine Jacobians. It supports optional custom motion models and upscalers.discriminator.py
: Definesbuild_discriminator
, a simple CNN-based discriminator suitable for use in GANs. It distinguishes between real and generated images.keypoint_detector.py
: DefinesKeypointDetector
, 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"""