explaingit

deeplabcut/deeplabcut

5,627PythonAudience · researcherComplexity · 4/5LicenseSetup · hard

TLDR

A tool for scientists to track animal body parts in video without physical markers, using AI trained on a small set of labeled example frames.

Mindmap

mindmap
  root((DeepLabCut))
    What it does
      Markerless pose estimation
      Animal body part tracking
      Video analysis
      Behavior research
    Tech Stack
      Python
      PyTorch
      TensorFlow
      Docker
    Workflow
      Label sample frames
      Train neural network
      Analyze new videos
      Evaluate accuracy
    Audience
      Scientists
      Neuroscience researchers
      Behavior labs
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Label a few video frames of your animal and train a model to automatically track body parts across hours of footage.

USE CASE 2

Run markerless pose estimation on any animal species to study movement and behavior for academic research.

USE CASE 3

Use pretrained models from the model zoo to skip labeling entirely for common animals like mice or flies.

USE CASE 4

Automate video analysis pipelines using the Python API to process large batches of experimental recordings.

Tech stack

PythonPyTorchTensorFlowpipcondaDocker

Getting it running

Difficulty · hard Time to first run · 1day+

GPU is strongly recommended for training, requires Python 3.10+ and either PyTorch or TensorFlow, with optional Docker setup.

Released under LGPL v3, which means you can use and modify it freely but must share changes to the library code under the same license.

In plain English

DeepLabCut is a tool built for scientists and researchers who want to track the movement of animals in video without attaching physical markers to them. Instead of gluing dots onto a mouse or fly, a researcher labels a few body parts in a small set of video frames, and the software learns to find those same points in the rest of the video automatically. The result is a dataset of positions over time, which researchers use to study behavior, movement patterns, and neuroscience. The core idea is markerless pose estimation. You define which points matter for your experiment, such as the tip of a nose, a paw, or a joint, label them in sample images using the built-in labeling tool, and then train a neural network on those labeled examples. Once trained, the model can track those points across hours of video at speeds far beyond what a human annotator could manage. The toolbox works on any animal, including humans, and is not limited to specific species or body configurations. The workflow has several steps: create a project, label frames, train a model, evaluate its accuracy, and then analyze new videos. There is a graphical interface for people who prefer not to work in code, as well as a Python API for scripting and automation. Notebooks for Google Colab are provided so you can run training on cloud GPUs if your own computer does not have one. A model zoo offers pretrained models for common animals so you do not always have to label from scratch. The software requires Python 3.10 or later and can run with either PyTorch or TensorFlow as the underlying deep learning engine. GPU support is optional but strongly recommended for training, since it reduces training time from days to hours. Installation is via pip or conda, and Docker images are also provided. DeepLabCut is used in published academic research and is backed by the Mackenzie Mathis Lab. It is released under the LGPL v3 license and is actively maintained with community forums, an online course, and regular updates.

Copy-paste prompts

Prompt 1
I want to track a mouse's paw movements in video using DeepLabCut. Walk me through creating a project, labeling frames, training a model, and running analysis on a new video.
Prompt 2
How do I use DeepLabCut's model zoo to get started without labeling my own frames? Show me the Python API steps.
Prompt 3
I have DeepLabCut installed and want to run training on Google Colab because my laptop has no GPU. Which notebook should I use and what do I need to upload?
Prompt 4
Help me evaluate how accurate my DeepLabCut model is and interpret the error metrics it outputs after evaluation.
Prompt 5
I want to use the DeepLabCut Python API to batch-analyze 50 videos automatically. Write me a script that loops through a folder and runs analysis on each file.
Open on GitHub → Explain another repo

← deeplabcut on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.