#!/usr/bin/env python # -------------------------------------------------------- # Fast R-CNN # Copyright (c) 2015 Microsoft # Licensed under The MIT License [see LICENSE for details] # Written by Ross Girshick # -------------------------------------------------------- # Reval = re-eval. Re-evaluate saved detections. from __future__ import absolute_import from __future__ import division from __future__ import print_function import _init_paths from model.test import apply_nms from model.config import cfg from datasets.factory import get_imdb import pickle import os, sys, argparse import numpy as np import pprint def parse_args(): """ Parse input arguments """ parser = argparse.ArgumentParser(description='Re-evaluate results') parser.add_argument('output_dir', nargs=1, help='results directory', type=str) parser.add_argument('--imdb', dest='imdb_name', help='dataset to re-evaluate', default='voc_2007_test', type=str) parser.add_argument('--comp', dest='comp_mode', help='competition mode', action='store_true') if len(sys.argv) == 1: parser.print_help() sys.exit(1) args = parser.parse_args() return args def from_dets(imdb_name, output_dir, args): imdb = get_imdb(imdb_name) imdb.competition_mode(args.comp_mode) with open(os.path.join(output_dir, 'discovery.pkl'), 'rb') as f: dets = pickle.load(f) print('Evaluating detections') imdb.evaluate_discovery(dets, output_dir) if __name__ == '__main__': args = parse_args() pprint.pprint(args) output_dir = os.path.abspath(args.output_dir[0]) imdb_name = args.imdb_name from_dets(imdb_name, output_dir, args)