|
|
|
from detectron2.utils.registry import Registry
|
|
|
|
PROPOSAL_GENERATOR_REGISTRY = Registry("PROPOSAL_GENERATOR")
|
|
PROPOSAL_GENERATOR_REGISTRY.__doc__ = """
|
|
Registry for proposal generator, which produces object proposals from feature maps.
|
|
|
|
The registered object will be called with `obj(cfg, input_shape)`.
|
|
The call should return a `nn.Module` object.
|
|
"""
|
|
|
|
from . import rpn, rrpn
|
|
|
|
|
|
def build_proposal_generator(cfg, input_shape):
|
|
"""
|
|
Build a proposal generator from `cfg.MODEL.PROPOSAL_GENERATOR.NAME`.
|
|
The name can be "PrecomputedProposals" to use no proposal generator.
|
|
"""
|
|
name = cfg.MODEL.PROPOSAL_GENERATOR.NAME
|
|
if name == "PrecomputedProposals":
|
|
return None
|
|
|
|
return PROPOSAL_GENERATOR_REGISTRY.get(name)(cfg, input_shape)
|
|
|