mirror of https://github.com/hero-y/BHRL
49 lines
1.6 KiB
Python
49 lines
1.6 KiB
Python
from ..builder import DETECTORS
|
|
from .two_stage import TwoStageDetector
|
|
|
|
|
|
@DETECTORS.register_module()
|
|
class CascadeRCNN(TwoStageDetector):
|
|
r"""Implementation of `Cascade R-CNN: Delving into High Quality Object
|
|
Detection <https://arxiv.org/abs/1906.09756>`_"""
|
|
|
|
def __init__(self,
|
|
backbone,
|
|
neck=None,
|
|
rpn_head=None,
|
|
roi_head=None,
|
|
train_cfg=None,
|
|
test_cfg=None,
|
|
pretrained=None,
|
|
init_cfg=None):
|
|
super(CascadeRCNN, self).__init__(
|
|
backbone=backbone,
|
|
neck=neck,
|
|
rpn_head=rpn_head,
|
|
roi_head=roi_head,
|
|
train_cfg=train_cfg,
|
|
test_cfg=test_cfg,
|
|
pretrained=pretrained,
|
|
init_cfg=init_cfg)
|
|
|
|
def show_result(self, data, result, **kwargs):
|
|
"""Show prediction results of the detector.
|
|
|
|
Args:
|
|
data (str or np.ndarray): Image filename or loaded image.
|
|
result (Tensor or tuple): The results to draw over `img`
|
|
bbox_result or (bbox_result, segm_result).
|
|
|
|
Returns:
|
|
np.ndarray: The image with bboxes drawn on it.
|
|
"""
|
|
if self.with_mask:
|
|
ms_bbox_result, ms_segm_result = result
|
|
if isinstance(ms_bbox_result, dict):
|
|
result = (ms_bbox_result['ensemble'],
|
|
ms_segm_result['ensemble'])
|
|
else:
|
|
if isinstance(result, dict):
|
|
result = result['ensemble']
|
|
return super(CascadeRCNN, self).show_result(data, result, **kwargs)
|