Skip to content

Reverse tracking implementation seems to differ from paper #63

Description

@ziliHarvey

Thanks for the details on the forward and reverse order tracking fusion part mentioned in the paper!
However when I go through the code below

# execute the reverse-order tracking stage
if self.modules_dicts['reverse_tracking_config'].enable:
frm_tracks = dict()
reverse_tracks = list()
keys = ['boxes_global', 'name', 'score', 'sample_idx',
'hit', 'num_points', 'obj_ids']
# transfer the tracking result to frame-level strutcure
for tk_id in tk_result.keys():
sample_idx = tk_result[tk_id]['sample_idx']
for i, sa_idx in enumerate(sample_idx):
if sa_idx not in frm_tracks.keys():
frm_tracks[sa_idx] = defaultdict(list)
frm_tracks[sa_idx]['start'].append(1 if i == 0 else 0)
for key in keys:
frm_tracks[sa_idx][key].append(tk_result[tk_id][key][i])
for key, items in frm_tracks.items():
for k, v in items.items():
items[k] = np.array(v)
for idx, frm_id in enumerate(frame_list[::-1]):
frm_tk_data, reverse_tracks = self.reverse_tracking_module(
frm_id, data_dict[frm_id], frm_tracks[frm_id], reverse_tracks
)
for key, val in frm_tk_data.items():
for sub_key, sub_val in val.items():
tk_result[key][sub_key] = np.insert(
tk_result[key][sub_key], 0, sub_val, axis=0
)
tk_result[key]['pose'] = np.insert(
tk_result[key]['pose'], 0, data_dict[frm_id]['pose'], axis=0
)

I didn't see "These tracks are then associated together by a locationaware similarity matching score. Finally, we fuse the paired tracks with the WBF [42] strategy to further ameliorate the missing boxes and stable the motion state". I'm expecting something like a function to associate 2 trajectories (forward and backward for the same object) by bipartite matching and then another function to merge and refine the paired 2 trajectories into 1 complete trajectory.

Did I miss anything in the code?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions