Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
59 lines (52 sloc) 3.39 KB

Development Roadmap

IO module

  • Abstract data IO with
  • Support for custom data sets by subclassing
  • Support for loading DeepLabCut formatted data
  • Utility function for initializing a new image set for annotation
  • Utility function for merging a new image set to an existing dataset
  • Add methods for appending new images to with
  • Utility function for merging multiple arbitrary with
  • Utility function for converting data to data and vice-versa
  • Support more DLC features within
  • Support passing multiple for, but ensure all are compatible before training the model.

Annotation module deepposekit.annotate

  • Add support for deepposekit.annotate.Annotator to edit DeepLabCut formatted data Ensure this does not destroy compatibility with DLC.
  • Remove extra step of initializing a skeleton and remove deepposekit.annotate.Skeleton, as this is confusing and not all that helpful.
  • Abstract deepposekit.annotate.gui.GUI and deepposekit.annotate.Annotator to use new with abstracted data IO
  • Develop submodule deepposekit.annotate.outliers with tools for identifying outlier data for adding to data sets

Models modules deepposekit.models

  • Add MobileNetV2 and DenseNet backbones to deepposekit.models.DeepLabCut
  • Add pretrained DenseNet frontend to StackedDenseNet model
  • Support arbitrary image sizes (not just powers of 2) with tf.keras.layers.ZeroPaddding2D
  • Support dynamic image sizes with with automatic padding at inference. Is this possible without reducing functionality?

Examples and Documentation

  • Improve and update docstrings across the package
  • Add example notebook for using custom data sets
  • Add example notebook for using DeepLabCut formatted data
  • Add example for identifying outliers and appending new images to a training set
  • Add html documentation

Tests (once API has stabilized)

  • Import all modules and submodules
  • Download example data
  • Run training for all models
  • Save model
  • Load model
  • Resume training
  • Predict on new data


  • Put deepposekit on PyPI
  • Update to tf.keras (stand-alone keras will be deprecated)
  • Update to Tensorflow 2.0
  • deepposekit.visualize module with functions for making videos and plotting data
  • deepposekit.pose3d module? Does it make sense to support this, or just make the API abstract enough to let others use their own solution for 3D?
  • deepposekit.localize module. Train models that localize individuals using confidence maps. Update and further abstract deepposekit.annotate, deepposekit.models, etc.
  • deepposekit.multiple module. Add support for small groups of multiple individuals? Does it make sense to support this or focus on deepposekit.localize?
You can’t perform that action at this time.