Closed Anglechina closed 3 years ago
import argparse
import multiprocessing as mp
import time
from detectron2.data.detection_utils import read_image
from detectron2.utils.logger import setup_logger
from predictor import VisualizationDemo
from adet.config import get_cfg
# constants
WINDOW_NAME = "COCO detections"
def setup_cfg(args):
cfg = get_cfg()
cfg.merge_from_file(args.config_file)
cfg.merge_from_list(args.opts)
cfg.freeze()
return cfg
def get_parser():
parser = argparse.ArgumentParser(description="Detectron2 Demo")
parser.add_argument(
"--config-file",
# 1. yaml path:
default="/data/SOTR/configs/SOTR/R101.yaml",
metavar="FILE",
help="path to config file",
)
parser.add_argument(
"--opts",
help="Modify config options using the command-line 'KEY VALUE' pairs",
# 2. weight path:
default=['MODEL.WEIGHTS', '/data/SOTR/tools/output/SOTR_R101/SOTR_R101.pth'],
nargs=argparse.REMAINDER,
)
return parser
if __name__ == "__main__":
mp.set_start_method("spawn", force=True)
args = get_parser().parse_args()
logger = setup_logger()
logger.info("Arguments: " + str(args))
cfg = setup_cfg(args)
demo = VisualizationDemo(cfg)
# 3. image path:
img_path = "/data/SOTR/demo/demo.jpg"
img = read_image(img_path, format="BGR")
start_time = time.time()
predictions, visualized_output = demo.run_on_image(img)
logger.info(
"{}: detected {} instances in {:.2f}s".format(
img_path, len(predictions["instances"]), time.time() - start_time
)
)
# 4. output path:
visualized_output.save("/data/SOTR/demo/output/output.png")
_C.MODEL.SOTR.CONFIDENCE_SCORE = 0.25
self.confidence_score = cfg.MODEL.SOTR.CONFIDENCE_SCORE
if not self.training:
keep_ = cate_scores > self.confidence_score
cate_scores = cate_scores[keep_]
cate_labels = cate_labels[keep_]
seg_masks = seg_masks[keep_]
How’s the time vs solov2 ?
尊敬的作者您好,我想使用自己的图片测试您这里的demo程序,但是参数一致填不对,pth文件已经下载,是否方便给一个使用demo.py测试的示例呢