Skip to main content

Kinematic Tracker

logo logo

📖 Live docs: https://kovalp.github.io/kinematic-tracker-docs/

This tracker is based on kinematic Kalman filters. The system state can consist of multiple parts, each defined by its kinematic order and dimensionality. For example, to track cuboids aligned with Cartesian axes, we might decide for a constant-acceleration motion model for Cartesian coordinates and a constant-position motion model for the sizes of the cuboids. This choice encoded by orders = [3, 1]. The dimensionality of both parts (coordinates and sizes) is 3. Therefore dimensions = [3, 3] in our example.

The state of the cuboids aligned with Cartesian axis will have 12 variables. Internally, a block-diagonal states are used, i.e.

state = p_x, v_x, a_x, p_y, v_y, a_y, p_z, v_z, a_z, s_x, s_y, s_z

To simplify the input/output processing, one might find attractive a derivative-sorted order

state = p_x, p_y, p_z, s_x, s_y, s_z, v_x, v_y, v_z, a_x, a_y, a_z

This package provides utility classes for such conversion (block-diagonal ↔ derivative sorted).

Process noise models

The tracker supports various process noise models, including a custom adaptive process noise model based on a white-noise assumption.

Association metrics

A number of association metrics are implemented. Some of the metrics are experimental.

  • Mahalanobis with a process-measurement noise sum covariance (HPH + R) -- default.
  • Axes-aligned GIoU for segments, bounding boxes, cuboids etc.
  • 3D yaw-only GIoU (volumetric GIoU for cuboids oriented by yaw).
  • Mahalanobis with size-modulated covariance (experimental).
  • IoU-like two-yaw (experimental): based on Mahalanobis distance with diagonal covariance.

Installation

If you plan to use OpenCV with HighGUI, then

pip install kinematic-tracker[gui]

If you do not plan to use OpenCV's GUI, then

pip install kinematic-tracker[headless]

In any case, you choose one extra: gui or headless.

Usage

Simple examples are available in the test/tutorials folder. The test folder is available in the source package

pip download kinematic-tracker --no-binary :all: --no-deps

Use the kinematic-tracker as dependency

uv add kinematic-tracker --extra headless

If you happen to need GUI-enabled version of OpenCV, then

uv add kinematic-tracker --extra gui

Metadata

Release files for kinematic-tracker 24.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kinematic-tracker 24.2.0
File Size Uploaded
kinematic_tracker-24.2.0.tar.gz 291.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kinematic-tracker 24.2.0
File Interpreter ABI Platform
kinematic_tracker-24.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 351.2 kB

Release files / kinematic_tracker-24.2.0.tar.gz

Download URL kinematic_tracker-24.2.0.tar.gz
Size 291.6 kB
Tags Source
SHA-256 checksum
How to use checksums
810ddfa6d9d8b937e37830a9f0d018060d20b6e459b5eeaa0af2bfa37a23372f
BLAKE2b-256 checksum
How to use checksums
9f9f963c0491e0f4198a3c7f5bbb57dd95d909c329c18db6110061fc381d82da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / kinematic_tracker-24.2.0-py3-none-any.whl

Download URL kinematic_tracker-24.2.0-py3-none-any.whl
Size 59.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
739fb937a0bb0d2fcb4117608684cef4d867abb12a96c9e4c8fd845a78a0ecca
BLAKE2b-256 checksum
How to use checksums
ef2780c358fa0312525fb14c12f1886b25cb2a2498f06b3aa807d97e2757e2af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

24.2.0 This release

2 release files

24.0.0

2 release files

22.0.0

2 release files

21.0.0

2 release files

20.6.0

2 release files

20.5.0

2 release files

20.4.1

2 release files

20.4.0

2 release files

20.3.0

2 release files

19.3.1

2 release files

19.3.0

2 release files

19.2.0

2 release files

19.1.0

2 release files

19.0.0

2 release files

17.0.1

2 release files

17.0.0

2 release files

16.1.0

2 release files

15.7.0

2 release files

15.6.0

2 release files

15.5.0

2 release files

15.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page