(self, img, img_metas, rescale=False)
| 83 | return losses |
| 84 | |
| 85 | def simple_test(self, img, img_metas, rescale=False): |
| 86 | # TODO inherit from a base tracker |
| 87 | assert self.roi_head.with_track, 'Track head must be implemented.' |
| 88 | frame_id = img_metas[0].get('frame_id', -1) |
| 89 | if frame_id == 0: |
| 90 | self.init_tracker() |
| 91 | |
| 92 | x = self.extract_feat(img) |
| 93 | proposal_list = self.rpn_head.simple_test_rpn(x, img_metas) |
| 94 | det_bboxes, det_labels, track_feats = self.roi_head.simple_test(x, img_metas, proposal_list, rescale) |
| 95 | |
| 96 | bboxes, labels, ids = self.tracker.update(det_bboxes, det_labels, frame_id, track_feats) |
| 97 | |
| 98 | # if track_feats is not None: |
| 99 | # bboxes, labels, ids = self.tracker.match( |
| 100 | # bboxes=det_bboxes, |
| 101 | # labels=det_labels, |
| 102 | # track_feats=track_feats, |
| 103 | # frame_id=frame_id) |
| 104 | |
| 105 | bbox_result = bbox2result(det_bboxes, det_labels, |
| 106 | self.roi_head.bbox_head.num_classes) |
| 107 | |
| 108 | if track_feats is not None: |
| 109 | track_result = track2result(bboxes, labels, ids, |
| 110 | self.roi_head.bbox_head.num_classes) |
| 111 | else: |
| 112 | track_result = [ |
| 113 | np.zeros((0, 6), dtype=np.float32) |
| 114 | for i in range(self.roi_head.bbox_head.num_classes) |
| 115 | ] |
| 116 | return dict(bbox_results=bbox_result, track_results=track_result) |
| 117 | |
| 118 | def show_result(self, |
| 119 | img, |
nothing calls this directly
no test coverage detected