annotations_dir = os.path.join('competition_data', 'val_annotations') annotations_files = sorted(os.listdir(annotations_dir)) annotation = [] for file in annotations_files: with open(os.path.join(annotations_dir,file)) as f: data = json.load(f) annotation.append(data) #SSDインポート from ssd import SSD ssd = SSD("ssd_7") models_dir = os.path.join(".", "trained_models") model_path = os.path.join(models_dir, "ssd7.h5") ssd.load_weights(model_path) def plot_bbox(img, gt, out): # グラフサイズの指定 plt.figure(figsize=(11,11)) # 衛星データを表示(BGR->RGB) plt.imshow(img[:,:,::-1]) # 今操作したいaxis(画像)を選択 current_axis = plt.gca() # 正解となるbboxを可視化(赤色で表示) for label in gt["labels"]: # バウンディングボックスの座標から始点と幅、高さを算出し、四角形を生成 xmin = label["box2d"]["x1"]
raise ValueError( "Wrong or unsupported dataset. Available 'COCO' or 'VOC'") print("\n\Testing on %s dataset" % (DATASET_NAME + TESTSET_YEAR)) dataset.show_info() _ = input("Press Enter to continue...") ## 2. Dataloader initialization print("\t2. Dataloader initialization...") dataloader = Dataloader(dataset, TEST_SIZE) test_generator = dataloader.generate_batch("test") ## 3. Network initialization print("\t3. Network initialization...") ssd = SSD(num_classes=len(dataset.label_ids) + 1, input_shape=INPUT_SHAPE) latest = tf.train.latest_checkpoint(CHECKPOINT_DIR) ssd.load_weights(latest) ssd.summary() _ = input("Press Enter to continue...") ## 4. Generate default boxes print("\t4. Default boxes generation...") fm_shapes = ssd.output_shape aspect_ratios = ASPECT_RATIOS scales = SCALES default_boxes = Image.generate_default_boxes(fm_shapes, aspect_ratios, scales) # ---------------------------------------------------------------- # print("Initialization completed!") print("Start Testing...")