害,要开始正儿八经地准备刷面试题了,今个咱就拿这个IoU开刀。
虽然老夫从来没做过基于检测框的目标检测项目。
Q1:啥是IoU?如何计算IoU?
IoU就是交并比嘛,两个框相交的面积除以合并的面积。
定义bbox1, bbox2为两个长度为 4 的数组,用于表示两个检测框左上和右下坐标点。
1 | def BoxIoU(bbox1, bbox2): |
其实以上应该都只是基于常规检测框的IoU计算,如果是非矩形检测框或者分割任务中的IoU则要另当别论。
对于分割任务,定义mask1, mask2为两个相同大小的二维二值numpy数组。
1 | def SegIoU(mask1, mask2): |
Q2:啥是mIoU?如何计算mIoU?
mIoU即均交并比。对于每个类计算一遍IoU后取平均就行了。