Esempio n. 1
0
 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.
Esempio n. 2
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)
Esempio n. 3
0
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)
Esempio n. 5
0
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)):
Esempio n. 6
0
        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')