scale_index = 0
for EPOCH in range(0, conf.YOLO_EPOCHS, conf.YOLO_CH_DIM_EPOCHS):
    YOLO_GENERATOR_CONF = conf.yolo_generator_config
    if scale_index == 0:
        np.random.shuffle(SCALES)
        train_scales = SCALES + [conf.YOLO_DIM] * 2
    img_size = train_scales[scale_index]
    scale_index = (scale_index + 1) % len(train_scales)
    YOLO_GENERATOR_CONF['IMAGE_H'] = YOLO_GENERATOR_CONF['IMAGE_W'] = img_size
    YOLO_GENERATOR_CONF['GRID_H'] = YOLO_GENERATOR_CONF[
        'GRID_W'] = img_size // 32

    yolo_model, base_model = models.get_yolo_model(
        img_size=img_size,
        gpus=conf.YOLO_USE_MULTI_GPU,
        load_weights=LAST_CKPT_PATH,
        verbose=True)

    checkpoint = multi_gpu_ckpt(CKPT_PATH,
                                base_model,
                                monitor='val_loss',
                                verbose=1,
                                save_best_only=False,
                                save_weights_only=True,
                                mode='min',
                                period=1)

    last_checkpoint = multi_gpu_ckpt(LAST_CKPT_PATH,
                                     base_model,
                                     monitor='val_loss',
Esempio n. 2
0
import seaborn as sns

video_name = str(sys.argv[1])
frame_skip = 1

YOLO_LAST_CKPT_PATH = os.path.join(conf.YOLO_CKPT, 'last.hdf5')
UNET_LAST_CKPT_PATH = os.path.join(conf.U_NET_CKPT, 'last.hdf5')

print('Generating metadata...')
coco_valid = COCO(conf.VALID_ANNO)

if not os.path.exists(conf.YOLO_CKPT):
    os.makedirs(conf.YOLO_CKPT)

yolo_model = models.get_yolo_model(img_size=conf.YOLO_DIM,
                                   gpus=0,
                                   load_weights=YOLO_LAST_CKPT_PATH,
                                   verbose=True)[0]
unet_model = models.get_U_Net_model(img_size=conf.U_NET_DIM,
                                    gpus=0,
                                    load_weights=UNET_LAST_CKPT_PATH,
                                    verbose=True)[0]
print('YOLO model loaded!')

videoCapture = cv2.VideoCapture(video_name)
fps = videoCapture.get(cv2.CAP_PROP_FPS)
size = (int(videoCapture.get(cv2.CAP_PROP_FRAME_WIDTH)),
        int(videoCapture.get(cv2.CAP_PROP_FRAME_HEIGHT)))
videoWriter = cv2.VideoWriter('detect_output.avi',
                              cv2.VideoWriter_fourcc('M', 'J', 'P', 'G'), fps,
                              size)