Skip to content

Commit 5a3376f

Browse files
authored
Fix multi_camera_multi_target_tracking_demo (#3675)
* Fix multi_camera_multi_target_tracking_demo Close #3480 Close #3619 * Support newer scipy * multi_camera_multi_target_tracking_demo: test --m_segmentation
1 parent 1d1888a commit 5a3376f

File tree

4 files changed

+13
-9
lines changed

4 files changed

+13
-9
lines changed

demos/multi_camera_multi_target_tracking_demo/python/mc_tracker/sct.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -511,8 +511,8 @@ def _compute_detections_assignment_cost(self, active_tracks_idx, detections, fea
511511
reid_dist_curr, reid_dist_avg, reid_dist_clust = None, None, None
512512
if self.tracks[idx].f_avg.is_valid() and features[j] is not None \
513513
and self.tracks[idx].get_last_feature() is not None:
514-
reid_dist_avg = 0.5 * cosine(self.tracks[idx].f_avg.get(), features[j])
515-
reid_dist_curr = 0.5 * cosine(self.tracks[idx].get_last_feature(), features[j])
514+
reid_dist_avg = 0.5 * cosine(self.tracks[idx].f_avg.get().squeeze(), features[j].squeeze())
515+
reid_dist_curr = 0.5 * cosine(self.tracks[idx].get_last_feature().squeeze(), features[j].squeeze())
516516

517517
if self.process_curr_features_number > 0:
518518
num_features = len(self.tracks[idx])

demos/multi_camera_multi_target_tracking_demo/python/multi_camera_multi_target_tracking_demo.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@ def run(params, config, capture, detector, reid):
197197

198198
if len(config.embeddings.save_path):
199199
save_embeddings(tracker.scts, **vars(config.embeddings))
200+
detector.infer_queue.wait_all()
200201

201202

202203
def main():

demos/multi_camera_multi_target_tracking_demo/python/utils/network_wrappers.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ def wait_and_grab(self):
125125
return outputs
126126

127127

128-
class MaskRCNN(DetectorInterface):
128+
class MaskRCNN(IEModel, DetectorInterface):
129129
"""Wrapper class for a network returning masks of objects"""
130130

131131
def __init__(self, core, model_path, trg_classes, conf=.6,
@@ -185,16 +185,16 @@ def forward(self, im_data, im_info):
185185
if im_info is not None:
186186
im_info = im_info.reshape(1, *im_info.shape)
187187
feed_dict['im_info'] = im_info
188-
self.infer_request.infer(feed_dict)
188+
self.infer_queue[0].infer(feed_dict)
189189
if self.segmentoly_type:
190-
output = {name: self.infer_request.get_tensor(name).data[:] for name in self.output_keys_segmentoly}
190+
output = {name: self.infer_queue[0].get_tensor(name).data for name in self.output_keys_segmentoly}
191191
valid_detections_mask = output['classes'] > 0
192192
classes = output['classes'][valid_detections_mask]
193193
boxes = output['boxes'][valid_detections_mask]
194194
scores = output['scores'][valid_detections_mask]
195195
masks = output['raw_masks'][valid_detections_mask]
196196
else:
197-
output = {name: self.infer_request.get_tensor(name).data[:] for name in self.output_keys}
197+
output = {name: self.infer_queue[0].get_tensor(name).data for name in self.output_keys}
198198
valid_detections_mask = np.sum(output['boxes'], axis=1) > 0
199199
classes = output['labels'][valid_detections_mask] + 1
200200
boxes = output['boxes'][valid_detections_mask][:, :4]

demos/tests/cases.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1059,12 +1059,15 @@ def single_option_cases(key, *args):
10591059
)),
10601060

10611061
PythonDemo(name='multi_camera_multi_target_tracking_demo', device_keys=['-d'],
1062-
model_keys=['-m', '--m_reid'], test_cases=combine_cases(
1062+
model_keys=['-m', '--m_segmentation', '--m_reid'], test_cases=combine_cases(
10631063
TestCase(options={'--no_show': None,
10641064
**MONITORS,
10651065
'-i': [DataPatternArg('multi-camera-multi-target-tracking'),
1066-
DataPatternArg('multi-camera-multi-target-tracking/repeated')],
1067-
'-m': ModelArg('person-detection-retail-0013')}),
1066+
DataPatternArg('multi-camera-multi-target-tracking/repeated')]}),
1067+
[
1068+
TestCase(options={'-m': ModelArg('person-detection-retail-0013')}),
1069+
TestCase(options={'--m_segmentation': ModelArg('instance-segmentation-security-0228')}),
1070+
],
10681071
single_option_cases('--m_reid',
10691072
ModelArg('person-reidentification-retail-0277'),
10701073
ModelArg('person-reidentification-retail-0286'),

0 commit comments

Comments
 (0)