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

Download files

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

Source Distribution

kinematic_tracker-24.2.0.tar.gz (291.6 kB view details)

Uploaded Source

Built Distribution

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

kinematic_tracker-24.2.0-py3-none-any.whl (59.6 kB view details)

Uploaded Python 3

File details

Details for the file kinematic_tracker-24.2.0.tar.gz.

File metadata

  • Download URL: kinematic_tracker-24.2.0.tar.gz
  • Upload date:
  • Size: 291.6 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for kinematic_tracker-24.2.0.tar.gz
Algorithm Hash digest
SHA256 810ddfa6d9d8b937e37830a9f0d018060d20b6e459b5eeaa0af2bfa37a23372f
MD5 dbef2ab96d171f8a280b28c8c62b2af5
BLAKE2b-256 9f9f963c0491e0f4198a3c7f5bbb57dd95d909c329c18db6110061fc381d82da

See more details on using hashes here.

File details

Details for the file kinematic_tracker-24.2.0-py3-none-any.whl.

File metadata

  • Download URL: kinematic_tracker-24.2.0-py3-none-any.whl
  • Upload date:
  • Size: 59.6 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for kinematic_tracker-24.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 739fb937a0bb0d2fcb4117608684cef4d867abb12a96c9e4c8fd845a78a0ecca
MD5 34dd20f03be52bee8b90b2819f6ed6e4
BLAKE2b-256 ef2780c358fa0312525fb14c12f1886b25cb2a2498f06b3aa807d97e2757e2af

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

24.2.0 This release

2 files

24.1.0

2 files

24.0.0

2 files

23.0.0

2 files

22.0.0

2 files

21.0.0

2 files

20.10.0

2 files

20.9.0

2 files

20.8.0

2 files

20.7.0

2 files

20.6.0

2 files

20.5.0

2 files

20.4.1

2 files

20.4.0

2 files

20.3.0

2 files

20.2.0

2 files

20.1.0

2 files

20.0.0

2 files

19.3.1

2 files

19.3.0

2 files

19.2.0

2 files

19.1.0

2 files

19.0.0

2 files

18.0.4

2 files

18.0.3

2 files

18.0.2

2 files

18.0.1

2 files

18.0.0

2 files

17.0.1

2 files

17.0.0

2 files

16.1.0

2 files

16.0.0

2 files

15.7.1

2 files

15.7.0

2 files

15.6.0

2 files

15.5.0

2 files

15.4.0

2 files

15.0.1

2 files

15.0.0

2 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