Skip to main content

Polychase motion tracking core bindings

Project description

Polychase

A free and open-source motion tracking addon for Blender, inspired by KeenTools GeoTracker.

Overview

Polychase is a 3D motion tracking solution that allows you to track camera movement or object motion in video footage within Blender. It uses optical flow analysis and PnP, aided by user input to provide accurate tracking results.

Features

Core Tracking Capabilities

  • 3D Pin Mode: Place and manage tracking pins on 3D geometry
  • Camera/Geometry Tracking: Track camera/geometry movement through 3D space
  • Trajectory Refinement: Refine tracking results using bundle adjustment

Advanced Features

  • Variable Camera Parameters: Support for estimating focal length and principal point
  • Keyframe Management: Complete keyframe control for tracked animation
  • Scene Transformation: Transform entire tracked scenes
  • Animation Conversion: Convert between camera and object tracking
  • Real-time Preview: Live tracking progress and results
  • Mask Support: 3D masking for selective tracking

User Interface

  • Integrated Blender UI: Native Blender panels and operators
  • Visual Feedback: Color-coded pins, wireframes, and progress indicators
  • Customizable Appearance: Adjustable pin colors, sizes, and wireframe styles

Usage

Basic Workflow

  1. Setup Scene:

    • Import your video footage as a movie clip
    • Add or import the 3D geometry you want to track
    • Set up a camera object
  2. Create Tracker:

    • Open the Polychase panel in Blender's 3D viewport
    • Create a new tracker
    • Assign your clip, geometry, and camera
  3. Analyze Video:

    • Set the database path for optical flow storage
    • Run "Analyze Video" to generate optical flow data
  4. Pin Mode:

    • Enter pin mode to place tracking points on your 3D geometry
    • Add pins by clicking on the geometry surface
    • Drag the pins to adjust the pose of the geometry/camera
  5. Track Sequence:

    • Choose tracking direction (forward/backward)
    • Select tracking target (camera or geometry)
    • Run tracking to generate keyframes
  6. Refine Results:

    • Use the refine sequence tool to improve tracking accuracy

Pin Mode Controls

  • Left Click: Add new pin
  • Right Click: Delete pin
  • M: Go to mask drawing mode
  • ESC: Exit pin mode

Technical Details

Architecture

  • C++ Core: High-performance tracking algorithms written in C++
  • Python Bindings: pybind11 integration for Blender compatibility
  • Blender Integration: Native Blender addon with custom operators and panels

Algorithms

  • Optical Flow: Off-the-shelf OpenCV solution
  • 3D Tracking: PnP (Perspective-n-Point) solving for camera pose estimation
  • Bundle Adjustment: Global non-linear optimization for trajectory refinement
  • Ray Casting: Accelerated mesh intersection using Embree

Demo & Technical Walkthrough

Watch the technical walkthrough on YouTube

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

polychase_core-0.0.2-cp311-cp311-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.11Windows x86-64

polychase_core-0.0.2-cp311-cp311-manylinux_2_28_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

File details

Details for the file polychase_core-0.0.2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for polychase_core-0.0.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 78f948f713175b323637d03f5cd7e58ee3d5ceff995f93ec7271d85f3d3a854b
MD5 e53c0f68bee1e2e188a74c2600fe32db
BLAKE2b-256 f099c9ec2c07b976fd6b78683b8c62df52d3df426f10e16c0c9c0e53fd25bc3c

See more details on using hashes here.

File details

Details for the file polychase_core-0.0.2-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for polychase_core-0.0.2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d90e0d2aee62999e270aee6d40cafe49293e5ae52d332b2365bdcf0b002d35e8
MD5 a064b9c37aab7ab560c3c22e30c9ae0d
BLAKE2b-256 c27124d3e7d29ab804ca9ad3baa5382cc0ba2d603c4f4e14b0cf79b7b6b52fea

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