avBuffer / Yolov5_tf

Yolov5/Yolov4/ Yolov3/ Yolo_tiny in tensorflow
288 stars 108 forks source link

或许数据处理的时候计算iou存在错误 #10

Open xiaowenhe opened 3 years ago

xiaowenhe commented 3 years ago

在dataset.py 第234行计算IOU的时候 iou_scale = self.bbox_iou(bbox_xywh_scaled[i][np.newaxis, :], anchors_xywh),代码中用的anchor是实际的相对与实际坐标的anchor大小,比如【10,13, 16,30, 33,23, 30,61, 62,45, 59,119, 116,90, 156,198, 373,326】,而bbox_xywh_scaled确是除以strides之后的,这样的话,是否存在矛盾呢? 比如,某gt的宽高都为608,训练时的图片最大宽高,假设gt占满全图。则608/8 = 76。也就是说,bbox_xywh_scaled里面的宽高最大才78,那anchor里面的 大于这个宽高的anchor还有什么用呢?所以,这个地方计算iou的时候感觉存在问题。

以上是个人理解,有不对的,请谅解!

1726251215 commented 3 years ago

按照作者给的测试代码和训练代码,对应的anchor应该是[10/8,13/8, 16/8,30/8, 33/8,23/8, 30/16,61/16 ... 373/32, 326/32]

avBuffer commented 3 years ago

Hey all, Anchor values maybe caculate according to your train data, and then replace the anchor file.