I gave a quick shot at fixing the error discussed in #7.
Basically, it involves changing the IoU matrix in 3 different places: BoxError, ClassError, BackgroundError.
BoxError:
Here we use gt_unused_cls instead of gt_cls_iou, because we only want to match for localisation errors with unmatched annotations.
ClassError:
Here we use gt_unused_noncls instead of gt_noncls_iou, because we only want to match for classification errors with unmatched annotations.
BackgroundError:
Here we use gt_unused_iou instead of gt_iou, because we want to have BackgroundErrors when there is no suiteable unmatched annotation. If we would leave this to gt_iou, it would cause detections that failed the BoxError/ClassError because we know only match with unused annotations to become OtherErrors, while they should in fact be BackgroundErrors (IMO).
Hey,
I gave a quick shot at fixing the error discussed in #7. Basically, it involves changing the IoU matrix in 3 different places: BoxError, ClassError, BackgroundError.
BoxError:
Here we use
gt_unused_cls
instead ofgt_cls_iou
, because we only want to match for localisation errors with unmatched annotations.ClassError: Here we use
gt_unused_noncls
instead ofgt_noncls_iou
, because we only want to match for classification errors with unmatched annotations.BackgroundError: Here we use
gt_unused_iou
instead ofgt_iou
, because we want to have BackgroundErrors when there is no suiteable unmatched annotation. If we would leave this togt_iou
, it would cause detections that failed the BoxError/ClassError because we know only match with unused annotations to become OtherErrors, while they should in fact be BackgroundErrors (IMO).