trackforge / trackers / deepsort
Module deepsort
DeepSORT (Simple Online and Realtime Tracking with a Deep Association Metric) implementation.
This module provides a DeepSORT tracker that uses appearance features for more robust tracking.
Quick Reference
| Item | Kind | Description |
|---|---|---|
DeepSort |
struct | Deep SORT tracker implementation. |
Types
Track
struct Track {
pub track_id: u64,
pub class_id: i64,
pub hits: usize,
pub age: usize,
pub time_since_update: usize,
pub state: TrackState,
pub mean: crate::utils::kalman::StateVector,
pub covariance: crate::utils::kalman::CovarianceMatrix,
pub score: f32,
pub features: Vec<Vec<f32>>,
// [REDACTED: Private Fields]
}
Fields
| Name | Type | Description |
|---|---|---|
features |
Vec<Vec<f32>> |
Features (embeddings) collected during the current update cycle or while tentative. These are flushed to the metric gallery when appropriate. |
Implementations
fn new(mean: StateVector, covariance: CovarianceMatrix, track_id: u64, class_id: i64, n_init: usize, max_age: usize, score: f32, feature: Vec<f32>) -> Self
Convert TLWH to (x, y, a, h)
Convert (x, y, a, h) to TLWH
fn update(&mut self, kf: &KalmanFilter, detection: &MeasurementVector, score: f32, class_id: i64, feature: Vec<f32>)
Trait Implementations
DeepSortTracker
struct DeepSortTracker {
pub metric: crate::trackers::deepsort::nn_matching::NearestNeighborDistanceMetric,
pub max_age: usize,
pub n_init: usize,
pub tracks: Vec<crate::trackers::deepsort::track::Track>,
pub kf: crate::utils::kalman::KalmanFilter,
pub max_iou_distance: f32,
}
Implementations
fn new(metric: NearestNeighborDistanceMetric, max_age: usize, n_init: usize, max_iou_distance: f32) -> Self
Trait Implementations
DeepSort<E: AppearanceExtractor>
Deep SORT tracker implementation.
Wraps the tracker logic and appearance feature extraction.
Implementations
fn new(extractor: E, max_age: usize, n_init: usize, max_iou_distance: f32, max_cosine_distance: f32, nn_budget: usize) -> Self
Create a new Deep SORT tracker.
# Arguments
| Argument | Description |
|---|---|
extractor |
The appearance feature extractor. |
max_age |
Maximum frames to keep a track without detection. Default: 70. |
n_init |
Minimum hits to confirm a track. Default: 3. |
max_iou_distance |
Threshold for IoU matching. Default: 0.7. |
max_cosine_distance |
Threshold for cosine distance matching. Default: 0.2. |
nn_budget |
Maximum library size for appearance features. Default: 100. |
fn update(&mut self, image: &DynamicImage, detections: Vec<(BoundingBox, f32, i64)>) -> Result<Vec<Track>, Box<dyn Error>>
Update the tracker with new frame and detections.
# Arguments
| Argument | Description |
|---|---|
image |
The current video frame. |
detections |
List of (BoundingBox, Score, ClassID). |
# Returns
List of confirmed tracks.
Trait Implementations
Metric
Trait Implementations
TrackState
Trait Implementations