Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
numpy
h5py
Cython
scipy
torch>=0.3.1
scipy==1.2.1
torch==0.4.1
opencv-python
cffi
sklearn
numba
torchvision
torchvision==0.2.1
fire
motmetrics
motmetrics
pillow==6.2.2
24 changes: 13 additions & 11 deletions tracker/mot_tracker.py
Original file line number Diff line number Diff line change
Expand Up @@ -188,9 +188,9 @@ def __init__(self, min_cls_score=0.4, min_ap_dist=0.64, max_time_lost=30, use_tr

self.kalman_filter = KalmanFilter()

self.tracked_stracks = [] # type: list[STrack]
self.lost_stracks = [] # type: list[STrack]
self.removed_stracks = [] # type: list[STrack]
self.tracked_stracks = [] # type: list[STrack]
self.lost_stracks = [] # type: list[STrack]
self.removed_stracks = [] # type: list[STrack]

self.use_refind = use_refind
self.use_tracking = use_tracking
Expand All @@ -216,6 +216,14 @@ def update(self, image, tlwhs, det_scores=None):
det_scores = np.ones(len(tlwhs), dtype=float)
detections = [STrack(tlwh, score, from_det=True) for tlwh, score in zip(tlwhs, det_scores)]

# set features
tlbrs = [det.tlbr for det in detections]
features = extract_reid_features(self.reid_model, image, tlbrs)
features = features.cpu().numpy()
for i, det in enumerate(detections):
det.set_feature(features[i])

"""step 2.1: scoring by reid model"""
if self.classifier is None:
pred_dets = []
else:
Expand All @@ -228,7 +236,8 @@ def update(self, image, tlwhs, det_scores=None):
detections.extend(tracks)
rois = np.asarray([d.tlbr for d in detections], dtype=np.float32)

cls_scores = self.classifier.predict(rois)
cls_scores = 1.0 - matching.mean_reid_distance(self.tracked_stracks, detections, metric='euclidean')

scores = np.asarray([d.score for d in detections], dtype=np.float)
scores[0:n_dets] = 1.
scores = scores * cls_scores
Expand All @@ -245,13 +254,6 @@ def update(self, image, tlwhs, det_scores=None):
pred_dets = [d for d in detections if not d.from_det]
detections = [d for d in detections if d.from_det]

# set features
tlbrs = [det.tlbr for det in detections]
features = extract_reid_features(self.reid_model, image, tlbrs)
features = features.cpu().numpy()
for i, det in enumerate(detections):
det.set_feature(features[i])

"""step 3: association for tracked"""
# matching for tracked targets
unconfirmed = []
Expand Down