Open xiaowenhe opened 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的时候感觉存在问题。
以上是个人理解,有不对的,请谅解!
按照作者给的测试代码和训练代码,对应的anchor应该是[10/8,13/8, 16/8,30/8, 33/8,23/8, 30/16,61/16 ... 373/32, 326/32]
Hey all, Anchor values maybe caculate according to your train data, and then replace the anchor file.
在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的时候感觉存在问题。
以上是个人理解,有不对的,请谅解!