Tracking
The tracker is a stage that each frame takes an untracked bundle of poses and gives them IDs.
skelshop.bbtrack.TrackStage
#
A pipeline stage wrapping the skelshop.track.PoseTrack
generic approach
to distance-based tracking.
Internally it uses the following class, which implements a generic approach to online pose tracking:
skelshop.track.track.PoseTrack
#
Performs generic distance-based pose tracking.
__init__(self, spec)
special
#
Takes a TrackingSpec and constructs the corresponding tracking algorithm.
Source code in skelshop/track/track.py
def __init__(self, spec: TrackingSpec):
"""
Takes a TrackingSpec and constructs the corresponding tracking
algorithm.
"""
self.next_id = 0
self.prev_tracked: FrameBuf = (
collections.deque(maxlen=spec.prev_frame_buf_size)
)
self.spec = spec
Which is in turn configured using a:
skelshop.track.spec.TrackingSpec
dataclass
#
A domain specific language for threshold distance-based style tracking.
Candidate poses are first filtered using cand_filter
and then procedure
is executed to decide how to assign the candidates.
Several configurations are given in:
skelshop.track.confs.CONFS
#
A dictionary of ready-made tracking specs
Attributes:
Name | Type | Description |
---|---|---|
"lighttrackish" |
TrackingSpec |
A LightTrack-like algoirhtm using greedy matching |
"opt_lighttrack" |
TrackingSpec |
A LightTrack-like algorithm which attempts to make optimal matches |
"deepsortlike" |
TrackingSpec |
A DeepSort-like algorithm (currently missing Kalman filtering) |
There are references to two systems in the name: LightTrack1 and DeepSort2. The configurations are inspired by these, but not exact implementations.
Looking at the implementations in skelshop.track.confs.CONFS
is a good
starting point for adding new configurations, or extending the tracking, e.g.
with a new approach to reidentification.
-
Guanghan Ning, Heng Huang (2019) LightTrack: A Generic Framework for Online Top-Down Human Pose Tracking https://arxiv.org/abs/1905.02822 ↩
-
Nicolai Wojke, Alex Bewley, Dietrich Paulus (2017) Simple Online and Realtime Tracking with a Deep Association Metric https://arxiv.org/abs/1703.07402 ↩