assert bboxes.shape[-1] == 4 # First reverse the flip img_h, img_w = img_shape if flip: bboxes_ = bboxes.clone() bboxes_[:, 0] = img_w - 1 - bboxes[:, 2] bboxes_[:, 2] = img_w - 1 - bboxes[:, 0] bboxes = bboxes_ # Then normalize the bbox to [0, 1] bboxes[:, 0::2] /= img_w bboxes[:, 1::2] /= img_h def _bbox_crop_undo(bboxes, crop_quadruple): decropped = bboxes.clone() if crop_quadruple is not None: x1, y1, tw, th = crop_quadruple decropped[:, 0::2] = bboxes[..., 0::2] * tw + x1 decropped[:, 1::2] = bboxes[..., 1::2] * th + y1 return decropped bboxes = _bbox_crop_undo(bboxes, crop_quadruple) return bboxes, scores if mmdet_imported: MMDET_HEADS.register_module()(BBoxHeadAVA)
def build_head(cfg): """Build head.""" return HEADS.build(cfg)