结论:
YOLO中计算iou时不考虑中心点坐标,只考虑宽高。即强制把GTbox和anchor的中心点重合(在此gridcell中重合,也就是gridcell的原点)粗暴的计算GTbox和anchor的iou。
这点和faster-rcnn中计算iou的方式(计算iou时采用(x,y,w,h)四个点坐标)并不一样。
为什么可以这么做呢?
因为得益于YOLO的特性,只要GTbox的中心落在某个gridcell中,那么这个GTbox就归这个gridcell管。在衡量iou时,只需要得到anchor与GTbox的形状接近程度这一信息,就可以判断每个gridcell中的哪一个achor更适合回归此GTbox。这么做计算量少,还可以加速训练和推理速度。
为什么faster-rcnn等算法不能这么做?
因为faster-rcnn没有YOLO这种特性,不给每一个gridcell“分配任务”。而且GTbox的坐标也不遵循中心点是相对于gridcell的相对坐标,宽高是相对于整张图片的相对坐标。