Arulkumar03/Wheat_HEAD_Detection_Counting_ComputerVision_Model
0
1#!/usr/bin/env python32import numpy as np3from typing import List4 5from detectron2.structures import Instances6 7 8def create_prediction_pairs(9 instances: Instances,10 prev_instances: Instances,11 iou_all: np.ndarray,12 threshold: float = 0.5,13) -> List:14 """15 Args:16 instances: predictions from current frame17 prev_instances: predictions from previous frame18 iou_all: 2D numpy array containing iou for each bbox pair19 threshold: below the threshold, doesn't consider the pair of bbox is valid20 Return:21 List of bbox pairs22 """23 bbox_pairs = []24 for i in range(len(instances)):25 for j in range(len(prev_instances)):26 if iou_all[i, j] < threshold:27 continue28 bbox_pairs.append(29 {30 "idx": i,31 "prev_idx": j,32 "prev_id": prev_instances.ID[j],33 "IoU": iou_all[i, j],34 "prev_period": prev_instances.ID_period[j],35 }36 )37 return bbox_pairs38 39 40LARGE_COST_VALUE = 10000041 