Skip to main content

Semi-supervised pose estimation using pytorch lightning

Project description

Discord GitHub Documentation Status PyPI PyPI Downloads

Lightning Pose is an end-to-end toolkit designed for robust multi-view and single-view animal pose estimation using advanced transformer architectures. It leverages Multi-View Transformers and patch-masking training to learn geometric relationships between views, resulting in strong performance on occlusions Aharon, Whiteway et al. 2026. For single-view datasets it leverages temporal context and learned plausibility constraints for strong performance in challenging scenarios Biderman, Whiteway et al. 2024, Nature Methods. It has a rich GUI that supports the end-to-end workflow: labeling, model management, and evaluation.

Installation

Lightning-pose requires a Linux or WSL environment with an NVIDIA GPU.

For users without access to a local NVIDIA GPU, it is highly recommended to use the Lightning AI cloud environment, which provides persistent, browser-based "Studios" with on-demand access to powerful GPUs and pre-configured CUDA environments.

Install dependencies:

sudo apt install ffmpeg

# Verify nvidia-driver with CUDA 12+
nvidia-smi

In a clean python virtual environment (conda or other virtual environment manager), run:

pip install lightning-pose lightning-pose-app

That's it! To run the app:

litpose run_app

Please see the installation guide for more detailed instructions, and feel free to reach out to us on Discord in case of any hiccups.

Getting Started

To get started with Lightning Pose, follow the guides on our documentation:

Community

The Lightning Pose team also actively develops the Ensemble Kalman Smoother (EKS), a simple and performant post-processor that works with any pose estimation package including Lightning Pose, DeepLabCut, and SLEAP.

Lightning Pose is primarily maintained by Karan Sikka (Columbia University) and Matt Whiteway (Columbia University).

Lightning Pose is under active development and we welcome community contributions. Whether you want to implement some of your own ideas or help out with our development roadmap, please get in touch with us on Discord (see contributing guidelines here).

Funding

We are grateful for support from the following:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lightning_pose-2.1.0.tar.gz (119.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lightning_pose-2.1.0-py3-none-any.whl (148.7 kB view details)

Uploaded Python 3

File details

Details for the file lightning_pose-2.1.0.tar.gz.

File metadata

  • Download URL: lightning_pose-2.1.0.tar.gz
  • Upload date:
  • Size: 119.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.11.15 Linux/6.17.0-1010-azure

File hashes

Hashes for lightning_pose-2.1.0.tar.gz
Algorithm Hash digest
SHA256 ca5640052b1be6eeb8e653e07216259347ab59f40a628cc9d95f1d620d936256
MD5 377791aa372f6a30f41718fca16e7cfd
BLAKE2b-256 4b54aa6bedf0f7f0f8f07d6d030a593b4ad4052bc83f7b5e2b1ba8fa8e52e627

See more details on using hashes here.

File details

Details for the file lightning_pose-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: lightning_pose-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 148.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.11.15 Linux/6.17.0-1010-azure

File hashes

Hashes for lightning_pose-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 22715afa4f849b6a811c618afe54ae6e3b8405bad33984d68c11c9108fae028d
MD5 18fc59fa68afbc5225caefa97505da64
BLAKE2b-256 53d415ebaba6a2f829e26850ed0ac7de3087c152633731ee4ea36cb7ddbe430c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page