Exemple #1
0
def demo(opt):
    result_root = opt.output_root if opt.output_root != '' else '.'
    mkdir_if_missing(result_root)

    logger.info('Starting tracking...')

    assert osp.exists(opt.input_video), f'{opt.input_video} does NOT exist !'
    file_name, file_ext = osp.splitext(opt.input_video)
    if file_ext in ['.mp4', 'avi']:
        dataloader = datasets.LoadVideo(opt.input_video, opt.img_size)
    else:
        dataloader = datasets.LoadImages(opt.input_video, opt.img_size)
        dataloader.frame_rate = int(round(opt.frame_rate))
    result_filename = os.path.join(result_root, 'results.txt')
    frame_rate = dataloader.frame_rate

    frame_dir = None if opt.output_format == 'text' else osp.join(
        result_root, 'frame')
    eval_seq(opt,
             dataloader,
             'mot',
             result_filename,
             save_dir=frame_dir,
             show_image=False,
             frame_rate=frame_rate,
             use_cuda=opt.gpus != [-1])

    if opt.output_format == 'video':
        output_video_path = osp.join(result_root, 'MOT16-03-results.mp4')
        frame_path = osp.join(result_root, 'frame')
        cmd_str = f'ffmpeg -framerate {opt.frame_rate} -f image2 -i {frame_path}/%05d.jpg -b 5000k -c:v mpeg4 {output_video_path}'
        os.system(cmd_str)
Exemple #2
0
def demo(opt):
    result_root = opt.output_root if opt.output_root != '' else '.'
    mkdir_if_missing(result_root)

    logger.info('Starting tracking...')
    dataloader = datasets.LoadVideo(opt.input_video, opt.img_size)
    result_filename = os.path.join(result_root, 'results.txt')
    frame_rate = dataloader.frame_rate

    frame_dir = None if opt.output_format == 'text' else osp.join(
        result_root, 'frame')
    eval_seq(opt,
             dataloader,
             'mot',
             result_filename,
             save_dir=frame_dir,
             show_image=False,
             frame_rate=frame_rate,
             use_cuda=opt.gpus != [-1])

    if opt.output_format == 'video':
        output_video_path = osp.join(result_root, 'MOT16-03-results.mp4')
        cmd_str = 'ffmpeg -f image2 -i {}/%05d.jpg -b 5000k -c:v mpeg4 {}'.format(
            osp.join(result_root, 'frame'), output_video_path)
        os.system(cmd_str)
Exemple #3
0
def demo(opt):
    result_root = opt.output_root if opt.output_root != "" else "."
    mkdir_if_missing(result_root)

    logger.info("Starting tracking...")
    dataloader = datasets.LoadVideo(opt.input_video, opt.img_size)
    result_filename = os.path.join(result_root, "results.txt")
    frame_rate = dataloader.frame_rate

    frame_dir = None if opt.output_format == "text" else osp.join(
        result_root, "frame")
    eval_seq(
        opt,
        dataloader,
        "mot",
        result_filename,
        save_dir=frame_dir,
        show_image=False,
        frame_rate=frame_rate,
    )

    if opt.output_format == "video":
        output_video_path = osp.join(result_root, "result.mp4")
        cmd_str = "ffmpeg -f image2 -i {}/%05d.jpg -b 5000k -c:v mpeg4 {}".format(
            osp.join(result_root, "frame"), output_video_path)
        os.system(cmd_str)
Exemple #4
0
def demo(opt):
    result_root = opt.output_root if opt.output_root != '' else '.'
    print('OPT: {}'.format(opt.input_video))
    mkdir_if_missing(result_root)

    logger.info('Starting tracking...')
    dataloader = datasets.LoadVideo(opt.input_video, opt.img_size)
    result_filename = os.path.join(result_root, 'results.txt')
    frame_rate = dataloader.frame_rate

    frame_dir = None if opt.output_format == 'text' else osp.join(
        result_root, 'frame')
    try:
        eval_seq(opt,
                 dataloader,
                 'mot',
                 result_filename,
                 save_dir=frame_dir,
                 show_image=True,
                 frame_rate=frame_rate)
    except Exception as e:
        logger.info(e)

    if opt.output_format == 'video':
        output_video_path = osp.join(result_root, 'result.mp4')
        cmd_str = 'ffmpeg -f image2 -i {}/%05d.jpg -b 5000k -c:v mpeg4 {}'.format(
            osp.join(result_root, 'frame'), output_video_path)
        os.system(cmd_str)
Exemple #5
0
def demo(opt):
    result_root = opt.output_root if opt.output_root != '' else '.'
    mkdir_if_missing(result_root)
    file_name = osp.basename(opt.input_video).split('.')[0].replace(' ', '_')
    model_name = osp.basename(opt.load_model).split('.')[0]
    base_name = f'{file_name}_{model_name}_{opt.conf_thres}'

    logger.info('Starting tracking...')
    logger.info(f'Working on: {opt.input_video}')
    dataloader = datasets.LoadVideo(opt.input_video, opt.img_size)
    result_filename = os.path.join(result_root, f'{base_name}_results.txt')
    frame_rate = dataloader.frame_rate

    frame_dir = None if opt.output_format == 'text' else osp.join(
        result_root, f'{file_name}-frames')
    eval_seq(opt,
             dataloader,
             'kitti',
             result_filename,
             save_dir=frame_dir,
             show_image=False,
             frame_rate=frame_rate)

    if opt.output_format == 'video':
        output_video_path = osp.join(result_root, f'{base_name}_result.mp4')
        cmd_str = 'ffmpeg -f image2 -i {}/%05d.jpg -b 5000k -c:v mpeg4 {}'.format(
            osp.join(result_root, f'{file_name}-frames'), output_video_path)
        os.system(cmd_str)
Exemple #6
0
def recogniton(opt):

    print("start tracking")
    if opt.input_stream == '':
        dataloader = datasets.LoadVideo(opt.input_camera, opt.img_size)
    else:
        dataloader = datasets.LoadVideo(opt.input_stream, opt.img_size)

    frame_rate = dataloader.frame_rate

    if opt.save:
        result_root = opt.output_root if opt.output_root != '' else '.'
        mkdir_if_missing(result_root)
        result_filename = os.path.join(result_root, 'results.txt')
        frame_dir = None if opt.output_format == 'text' else os.path.join(
            result_root, 'frame')
        eval_seq(opt, dataloader, 'mot', result_filename,
                 save_dir=frame_dir, show_image=opt.show, frame_rate=frame_rate,
                 use_cuda=opt.gpus != [-1])
    else:
        eval_seq(opt, dataloader, 'mot', show_image=opt.show,
                 frame_rate=frame_rate, use_cuda=opt.gpus != [-1])
Exemple #7
0
def demo(opt):
    paths = pickle.load(open(opt.paths_pkl, 'rb'))
    gpu_list = opt.custom_gpus.split(',')
    if opt.range[1] == -1:
        opt.range[1] = len(paths)
    tasks = paths[opt.range[0]:opt.range[1]]
    to_del_list = []
    for idx, path in enumerate(tasks):
        video_name = osp.splitext(osp.split(path)[1])[0]
        result_root = opt.output_root if opt.output_root != '' else '.'
        result_filename = os.path.join(result_root, '%s.txt' % video_name)
        if os.path.exists(result_filename):
            to_del_list.append(idx)
    deleted_tasks = [
        tasks[idx] for idx in range(len(tasks)) if idx not in to_del_list
    ]
    opt.range[0] = 0
    opt.range[1] = len(deleted_tasks)
    if len(gpu_list) > 1:
        pickle.dump(deleted_tasks, open('cache.pkl', 'wb'))
        opt.paths_pkl = 'cache.pkl'
        multiproc(opt, gpu_list, len(deleted_tasks))
    else:
        for idx, path in enumerate(deleted_tasks):
            video_name = osp.splitext(osp.split(path)[1])[0]
            result_root = opt.output_root if opt.output_root != '' else '.'
            mkdir_if_missing(result_root)
            result_filename = os.path.join(result_root, '%s.txt' % video_name)
            if os.path.exists(result_filename):
                continue

            # logger.info('Starting tracking...')
            # dataloader = datasets.LoadVideo(opt.input_video, opt.img_size)
            dataloader = datasets.LoadVideo(path, opt.img_size)
            frame_rate = dataloader.frame_rate
            frame_dir = None if opt.output_format == 'text' else osp.join(
                result_root, 'frame')
            eval_seq(opt,
                     dataloader,
                     'mot',
                     result_filename,
                     save_dir=frame_dir,
                     show_image=False,
                     frame_rate=frame_rate,
                     tasks_num=len(deleted_tasks),
                     idx=idx)
Exemple #8
0
def recogniton():
    result_root = opt.output_root if opt.output_root != '' else '.'
    mkdir_if_missing(result_root)
    print("start tracking")
    dataloader = datasets.LoadVideo(0, opt.img_size)
    result_filename = os.path.join(result_root, 'results.txt')
    frame_rate = dataloader.frame_rate

    frame_dir = None if opt.output_format == 'text' else os.path.join(
        result_root, 'frame')
    eval_seq(opt,
             dataloader,
             'mot',
             result_filename,
             save_dir=frame_dir,
             show_image=True,
             frame_rate=frame_rate)
Exemple #9
0
def demo(opt):
    result_root = opt.output_root if opt.output_root != '' else '.'
    mkdir_if_missing(result_root)

    logger.info('Starting tracking...')
    dataloader = datasets.LoadVideo(opt.input_video, opt.img_size)
    result_filename = os.path.join(result_root, 'results.txt')
    frame_rate = dataloader.frame_rate

    frame_dir = None if opt.output_format == 'text' else osp.join(
        result_root, 'frame')
    eval_seq(opt,
             dataloader,
             'mot',
             result_filename,
             save_dir=frame_dir,
             show_image=False,
             frame_rate=frame_rate)