Vincentqyw
fix: roma
c74a070
from . import matchers
from . import readers
from . import evaluators
from . import extractors
def load_component(compo_name, model_name, config):
if compo_name == "extractor":
component = load_extractor(model_name, config)
elif compo_name == "reader":
component = load_reader(model_name, config)
elif compo_name == "matcher":
component = load_matcher(model_name, config)
elif compo_name == "evaluator":
component = load_evaluator(model_name, config)
else:
raise NotImplementedError
return component
def load_extractor(model_name, config):
if model_name == "root":
extractor = extractors.ExtractSIFT(config)
elif model_name == "sp":
extractor = extractors.ExtractSuperpoint(config)
else:
raise NotImplementedError
return extractor
def load_matcher(model_name, config):
if model_name == "SGM":
matcher = matchers.GNN_Matcher(config, "SGM")
elif model_name == "SG":
matcher = matchers.GNN_Matcher(config, "SG")
elif model_name == "NN":
matcher = matchers.NN_Matcher(config)
else:
raise NotImplementedError
return matcher
def load_reader(model_name, config):
if model_name == "standard":
reader = readers.standard_reader(config)
else:
raise NotImplementedError
return reader
def load_evaluator(model_name, config):
if model_name == "AUC":
evaluator = evaluators.auc_eval(config)
elif model_name == "FM":
evaluator = evaluators.FMbench_eval(config)
return evaluator