Compute cost based on IoU :type atracks: list[STrack] :type btracks: list[STrack] :rtype cost_matrix np.ndarray
(atracks, btracks)
| 71 | |
| 72 | |
| 73 | def iou_distance(atracks, btracks): |
| 74 | """ |
| 75 | Compute cost based on IoU |
| 76 | :type atracks: list[STrack] |
| 77 | :type btracks: list[STrack] |
| 78 | |
| 79 | :rtype cost_matrix np.ndarray |
| 80 | """ |
| 81 | |
| 82 | if (len(atracks)>0 and isinstance(atracks[0], np.ndarray)) or (len(btracks) > 0 and isinstance(btracks[0], np.ndarray)): |
| 83 | atlbrs = atracks |
| 84 | btlbrs = btracks |
| 85 | else: |
| 86 | atlbrs = [track.tlbr for track in atracks] |
| 87 | btlbrs = [track.tlbr for track in btracks] |
| 88 | _ious = ious(atlbrs, btlbrs) |
| 89 | cost_matrix = 1 - _ious |
| 90 | |
| 91 | return cost_matrix |
| 92 | |
| 93 | def v_iou_distance(atracks, btracks): |
| 94 | """ |