def METHOD_NAME(self, pred_dets, pred_embs):
    """
    Perform measurement update and track management.
    Args:
        pred_dets (np.array): Detection results of the image, the shape is
            [N, 6], means 'cls_id, score, x0, y0, x1, y1'.
        pred_embs (np.array): Embedding results of the image, the shape is
            [N, 128], usually pred_embs.shape[1] is a multiple of 128.
    """
    pred_cls_ids = pred_dets[:, 0:1]
    pred_scores = pred_dets[:, 1:2]
    pred_xyxys = pred_dets[:, 2:6]
    pred_tlwhs = np.concatenate(
        (pred_xyxys[:, 0:2], pred_xyxys[:, 2:4] - pred_xyxys[:, 0:2] + 1),
        axis=1)
    detections = [
        Detection(tlwh, score, feat, cls_id)
        for tlwh, score, feat, cls_id in zip(pred_tlwhs, pred_scores,
                                             pred_embs, pred_cls_ids)
    ]
    # Run matching cascade.
    matches, unmatched_tracks, unmatched_detections = \
        self._match(detections)
    # Update track set.
    for track_idx, detection_idx in matches:
        self.tracks[track_idx].METHOD_NAME(self.motion,
                                      detections[detection_idx])
    for track_idx in unmatched_tracks:
        self.tracks[track_idx].mark_missed()
    for detection_idx in unmatched_detections:
        self._initiate_track(detections[detection_idx])
    self.tracks = [t for t in self.tracks if not t.is_deleted()]
    # Update distance metric.
    active_targets = [t.track_id for t in self.tracks if t.is_confirmed()]
    features, targets = [], []
    for track in self.tracks:
        if not track.is_confirmed():
            continue
        features += track.features
        targets += [track.track_id for _ in track.features]
        track.features = []
    self.metric.partial_fit(
        np.asarray(features), np.asarray(targets), active_targets)
    output_stracks = self.tracks
    return output_stracks