Getting started

Quickstart

Train your first DeepPoseKit model and run it on a new video in less than a hundred lines of Python.

1 · Prepare your data

Collect a few hundred frames of your subject and annotate keypoints using the built-in annotation tool. This will produce an HDF5 file containing your images and keypoint coordinates.

2 · Load the data

from deepposekit.io import DataGenerator

data_generator = DataGenerator('/path/to/annotation_data.h5')
print(len(data_generator), 'annotated frames')

3 · Configure a training generator

from deepposekit.io import TrainingGenerator

train_generator = TrainingGenerator(
    generator=data_generator,
    downsample_factor=2,
    augmenter=None,
    sigma=5,
    validation_split=0.1,
    use_graph=True,
    random_seed=1,
)

4 · Train a Stacked DenseNet model

from deepposekit.models import StackedDenseNet

model = StackedDenseNet(
    train_generator,
    n_stacks=2,
    growth_rate=32,
    pretrained=True,
)
model.fit(batch_size=16, n_workers=8, epochs=200)
model.save('/path/to/saved_model.h5')

5 · Predict on a new video

from deepposekit.models import load_model
from deepposekit.io import VideoReader

model = load_model('/path/to/saved_model.h5')
reader = VideoReader('/path/to/video.mp4')
predictions = model.predict(reader)

That’s the complete end-to-end loop. For more advanced workflows, continue on to data augmentation and training tips.