Exemplo n.º 1
0
    #                     scale = 0.8,
    #                     instance_mode = ColorMode.IMAGE_BW)
    #     v = v.draw_instance_predictions(outputs['instances'].to('cpu'))
    #     cv2.imshow('image', v.get_image()[:, :, ::-1])
    #     cv2.waitKey(0)

    if args.mode == 'infer':
        val_dicts = get_val_dicts()
        for d in random.sample(val_dicts, 10):
            im = cv2.imread(d['file_name'])
            outputs = predictor(im)
            v = Visualizer(im[:, :, ::-1],
                           metadata=openimages_val_metadata,
                           scale=0.8,
                           instance_mode=ColorMode.IMAGE_BW)
            v = v.draw_instance_predictions(outputs['instances'].to('cpu'))
            cv2.imshow('image', v.get_image()[:, :, ::-1])
            cv2.waitKey(0)

    if args.mode == 'evaluate':
        print(cfg.DATASETS.TEST[0])
        trainer = DefaultTrainer(cfg)
        model = trainer.build_model(cfg)
        DetectionCheckpointer(model).load(args.model_pth)
        evaluator = COCOEvaluator(cfg.DATASETS.TEST[0],
                                  cfg,
                                  False,
                                  output_dir="./output/")
        val_loader = build_detection_test_loader(cfg, "openimages_val")
        inference_on_dataset(model, val_loader, evaluator)
Exemplo n.º 2
0
    v = Visualizer(im[:, :, ::-1],
                   MetadataCatalog.get(cfg.DATASETS.TRAIN[0]),
                   scale=0.8)  #为什么这里是cfg.DATASETS.TRAIN[0]而不是TEST呢?
    out = v.draw_instance_predictions(outputs["instances"].to("cpu"))
    # cv2_imshow(out.get_image()[:, :, ::-1])
    out.save("./model_output.jpg")
    i += 1

# #from detectron2.utils.visualizer import ColorMode
# dataset_dicts = load_coco_json("/home/xuyifei/anaconda3/envs/detectron2/lib/python3.7/site-packages/detectron2/datasets/coco/annotations/instances_val.json", "/home/xuyifei/anaconda3/envs/detectron2/lib/python3.7/site-packages/detectron2/datasets/coco/val")
# for d in random.sample(dataset_dicts, 3):
#     im = cv2.imread(d["file_name"])
#     outputs = predictor(im)
#     v = Visualizer(im[:, :, ::-1],
#                    metadata=coco_train_metadata,
#                    scale=0.8,
#                    instance_mode=ColorMode.IMAGE_BW   # remove the colors of unsegmented pixels
#     )
#     out = v.draw_instance_predictions(outputs["instances"].to("cpu"))
#     cv2_imshow(out.get_image()[:, :, ::-1])

print(os.getcwd())
from detectron2.evaluation import COCOEvaluator, inference_on_dataset
from detectron2.data import build_detection_test_loader

evaluator = COCOEvaluator("coco_val_2", cfg, True, output_dir="./output")
val_loader = build_detection_test_loader(cfg, "coco_val_2")
print(inference_on_dataset(trainer.model, val_loader, evaluator))
# another equivalent way is to use trainer.test
Exemplo n.º 3
0
 def build_test_loader(cls, cfg, dataset_name):
     return build_detection_test_loader(cfg,
                                        dataset_name,
                                        mapper=DatasetMapper(cfg, False))
 def build_test_loader(cls, cfg, dataset_name):
     """
     Returns:
         iterable
     """
     return build_detection_test_loader(cfg, dataset_name)