def __init__(self, record_thresh, base_name, vid_fname, return_thresh=None): self.vid_fname = vid_fname self.base_name = base_name self.record_thresh = record_thresh self.return_thresh = return_thresh self.vin = swag.VideoCapture(self.vid_fname) self.vid_data = get_video_data(self.base_name) self.decode_time = 0.
def __init__(self, base_name, video_fname, csv_fname, objects, normalize, model, model_dump_fname, **kwargs): self.base_name = base_name self.video_fname = video_fname self.csv_fname = csv_fname self.objects = objects self.normalize = normalize self.model = model self.model_dump_fname = model_dump_fname for key, value in kwargs.items(): setattr(self, key, value) self.vid_data = get_video_data(base_name)
def main(): parser = argparse.ArgumentParser() parser.add_argument('--data_path', default='/lfs/1/ddkang/blazeit/data/') parser.add_argument('--out_dir', default='/lfs/1/ddkang/blazeit/data/resol-65/') parser.add_argument('--base_name', required=True) parser.add_argument('--date', required=True) args = parser.parse_args() DATA_PATH = args.data_path base_name = args.base_name date = args.date RESOL = 65 OUT_DIR = args.out_dir OUT_DIR = os.path.join(OUT_DIR, base_name) os.makedirs(OUT_DIR, exist_ok=True) OUT_FNAME = os.path.join(OUT_DIR, base_name + '-' + date + '.npy') vd = get_video_data(base_name) csv_fname = get_csv_fname(DATA_PATH, base_name, date) video_fname = get_video_fname(DATA_PATH, base_name, date, load_video=True) cap = swag.VideoCapture(video_fname) nb_frames = cap.cum_frames[-1] - 1 data = np.zeros((nb_frames, 3, RESOL, RESOL), dtype=np.float32) for i in tqdm.tqdm(range(nb_frames)): ret, frame = cap.read() if not ret: print('uhoh') break # frame = vd.process_frame(frame) frame = cv2.resize(frame, (RESOL, RESOL)).astype('float32') frame /= 255. frame[...,:] -= [0.485, 0.456, 0.406] frame[...,:] /= [0.229, 0.224, 0.225] frame = frame.transpose(2, 0, 1).copy() data[i] = frame np.save(OUT_FNAME, data)
def main(): parser = argparse.ArgumentParser() parser.add_argument('--video_dir', required=True) parser.add_argument('--index_fname', required=True) parser.add_argument('--npy_fname', required=True) parser.add_argument('--resol', type=int, required=True) parser.add_argument('--base_name', default=None) args = parser.parse_args() vid_dir = args.video_dir index_fname = args.index_fname npy_fname = args.npy_fname resol = args.resol if args.base_name is None: crop_and_exclude = False else: crop_and_exclude = True from blazeit.data.video_data import get_video_data video_data = get_video_data(args.base_name) cap = VideoCapture(vid_dir, index_fname) data = np.zeros((cap.cum_frames[-1], resol, resol, 3), dtype=np.float32) for i in range(len(data)): if i % 1000 == 0: print('Processing frame', i) ret, frame = cap.read() if not ret: print('Something really bad happened') sys.exit(1) if crop_and_exclude: frame = video_data.process_frame(frame) data[i] = cv2.resize(frame, (resol, resol)) data /= 255. data[..., :] -= [0.485, 0.456, 0.406] data[..., :] /= [0.229, 0.224, 0.225] np.save(npy_fname, data)
def main(): parser = argparse.ArgumentParser() parser.add_argument('--base_name', required=True) parser.add_argument('--base_dir', default='/lfs/1/ddkang/blazeit/data/') parser.add_argument('--type', default='ivid') args = parser.parse_args() base_name = args.base_name base_dir = args.base_dir vid_data = get_video_data(base_name) OBJECTS = vid_data.classes feather_dir = os.path.join(base_dir, 'feather', base_name) csv_dir = os.path.join(base_dir, 'csv', base_name) proc = functools.partial(f, classes=args.type, feather_dir=feather_dir, csv_dir=csv_dir, OBJECTS=OBJECTS, feather_to_csv=feather_to_csv) pool = mp.Pool() pool.map(proc, sorted(os.listdir(feather_dir))) '''for fname in sorted(os.listdir(feather_dir)):
min_conf = 0.2 elif args.type == 'mask': min_conf = 0.8 else: raise NotImplementedError base_name = args.base_name base_dir = args.base_dir seqnms_dir = os.path.join(base_dir, 'seqnms', base_name) filtered_dir = os.path.join(base_dir, 'filtered', base_name) '''proc = functools.partial(f, seqnms_dir=seqnms_dir, filtered_dir=filtered_dir) pool = mp.Pool() pool.map(proc, sorted(os.listdir(seqnms_dir)))''' video_data = get_video_data(base_name) _, json_fname = tempfile.mkstemp() video_data.serialize(json_fname) for fname in sorted(os.listdir(seqnms_dir)): print('Processing:', fname) csv_in_fname = os.path.join(seqnms_dir, fname) csv_out_fname = os.path.join(filtered_dir, fname) ret = subprocess.call([ './filter_cc', str(min_conf), json_fname, csv_in_fname, csv_out_fname ]) if ret != 0: print(ret) raise RuntimeError('Something very bad happened')