Skip to main content

Semi-supervised pose estimation using pytorch lightning

Project description

Discord GitHub Documentation Status codecov PyPI PyPI Downloads

Lightning Pose is an end-to-end package designed for robust multi-view and single-view animal pose estimation using advanced transformer architectures. It leverages Multi-View Transformers and simulated occlusions 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 unsupervised losses 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.

Below is a quick start guide; see the full documentation here.

Installation

Lightning Pose requires a Linux or WSL environment with an NVIDIA GPU. It has been tested on Ubuntu 18.04, 22.04, and 24.04 with Python versions 3.10-3.12.

For users without access to a local NVIDIA GPU, it is highly recommended to use the Lightning AI cloud environment, which provides a persistent, browser-based "Studio" 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! Installation should take 5-10 minutes depending on your internet connection. 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:

Note that model training time will depend heavily on dataset size and GPU resources. Fitting a typical backbone (ResNet-50 or ViT-Small) on ~200 labeled frames will take about 20 minutes on a T4 GPU. See the publications linked above for more thorough benchmarking of training and inference times.

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.2.1.tar.gz (143.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.2.1-py3-none-any.whl (176.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for lightning_pose-2.2.1.tar.gz
Algorithm Hash digest
SHA256 8747c4c8a8a1e5f5030c81f68facd48b2451d37877283d36c95403f605e03e6e
MD5 0a287dba8eb65700feedbecdd2c397c6
BLAKE2b-256 def33a07a5828318304e93c3e14b8761d2969f232d5d92f856693bdda539f051

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for lightning_pose-2.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ca08f0df786d63458798c82be10b56637f739e7bf594f22f81efa1e7c1d5ce62
MD5 5f2fc22007e6d242d168c17021c74987
BLAKE2b-256 eaec1decf6c132f5e1f23a7645d69c7a57f538b49fc0aa6dddd7bbc67feb53be

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