#!/usr/bin/env python import sys from vdetlib.utils.common import iou, quick_args import scipy.io as sio import numpy as np if __name__ == '__main__': args = quick_args(['gt_list', 'save_file']) with open(args.gt_list) as f: gt_list = [line.strip() for line in f.readlines()] tot_overlaps = [] for ind, gt_file in enumerate(gt_list, start=1): gt_boxes = sio.loadmat(gt_file)['boxes'] num_gt = len(gt_boxes) if ind % 1000 == 0: print "{:.2%}: Processed {} files.".format(1. * ind / len(gt_list), ind) if num_gt <= 1: continue o_ind = np.triu_indices(num_gt, 1) overlaps = iou(gt_boxes, gt_boxes) valid_overlaps = overlaps[o_ind] tot_overlaps += valid_overlaps.tolist() if ind % 1000 != 0: print "100 %: Processed {} files.".format(ind) sio.savemat(args.save_file, {'gt_overlaps': np.asarray(tot_overlaps)})
import argparse import numpy as np import scipy.io as sio import os import sys sys.path.insert(1, '.') import h5py from vdetlib.vdet.dataset import imagenet_vdet_classes from vdetlib.utils.common import quick_args from vdetlib.utils.protocol import proto_load, proto_dump, bbox_hash import gzip import json if __name__ == '__main__': args = quick_args(['vid_file', 'score_root', 'save_det']) vid_proto = proto_load(args.vid_file) vid_name = vid_proto['video'] assert vid_name == os.path.basename(os.path.normpath(args.score_root)) print "Processing {}.".format(vid_name) if os.path.isfile(args.save_det): print "{} already exists.".format(args.save_det) sys.exit(0) det_proto = {} det_proto['video'] = vid_name det_proto['detections'] = [] for frame in vid_proto['frames']: frame_id = frame['frame'] basename = os.path.splitext(frame['path'])[0]
#!/usr/bin/env python import sys from vdetlib.utils.common import iou, quick_args import scipy.io as sio import numpy as np if __name__ == '__main__': args = quick_args(['gt_list', 'save_file']) with open(args.gt_list) as f: gt_list = [line.strip() for line in f.readlines()] tot_overlaps = [] for ind, gt_file in enumerate(gt_list, start=1): gt_boxes = sio.loadmat(gt_file)['boxes'] num_gt = len(gt_boxes) if ind % 1000 == 0: print "{:.2%}: Processed {} files.".format(1. * ind / len(gt_list), ind) if num_gt <= 1: continue o_ind = np.triu_indices(num_gt, 1) overlaps = iou(gt_boxes, gt_boxes) valid_overlaps = overlaps[o_ind] tot_overlaps += valid_overlaps.tolist() if ind % 1000 != 0: print "100 %: Processed {} files.".format(ind) sio.savemat(args.save_file, {'gt_overlaps': np.asarray(tot_overlaps)})
import argparse import numpy as np import scipy.io as sio import os import sys sys.path.insert(1, '.') import h5py from vdetlib.vdet.dataset import imagenet_vdet_classes from vdetlib.utils.common import quick_args from vdetlib.utils.protocol import proto_load, proto_dump, bbox_hash import gzip import json if __name__ == '__main__': args = quick_args(['vid_file', 'score_root', 'save_det']) vid_proto = proto_load(args.vid_file) vid_name = vid_proto['video'] assert vid_name == os.path.basename(os.path.normpath(args.score_root)) print "Processing {}.".format(vid_name) if os.path.isfile(args.save_det): print "{} already exists.".format(args.save_det) sys.exit(0) det_proto = {} det_proto['video'] = vid_name det_proto['detections'] = [] for frame in vid_proto['frames']: frame_id = frame['frame'] basename = os.path.splitext(frame['path'])[0]