Torch 两个矩形框重叠面积的计算 (IoU between tow bounding box)
1 function DecideOberlap(BBox_x1, BBox_y1, BBox_x2, BBox_y2, BBox_gt_x1, BBox_gt_y1, BBox_gt_x2, BBox_gt_y2) 2
3 x1 = BBox_x1; 4 y1 = BBox_y1; 5 width1 = BBox_x2 - BBox_x1; 6 height1 = BBox_y2 - BBox_y1; 7
8 x2 = BBox_gt_x1; 9 y2 = BBox_gt_y1; 10 width2 = BBox_gt_x2 - BBox_gt_x1; 11 height2 = BBox_gt_y2 - BBox_gt_y1; 12
13 endx = math.max(x1+width1, x2+width2); 14 startx = math.min(x1, x2); 15 width = width1 + width2 - (endx - startx); 16
17 endy = math.max(y1 + height1, y2 + height2); 18 starty = math.min(y1, y2); 19 height = height1 + height2 - (endy - starty); 20
21 if width<=0 or height<=0 then 22 ratio = 0; 23 else
24 Area = width*height; 25 Area1 = width1*height1; 26 Area2 = width2*height2; 27 ratio = Area/Area1; 28 end 29
30 return ratio 31
32 end