Ejemplo n.º 1
0
    else:
        pose_model = InferenNet(4 * 1 + 1, pose_dataset)
    pose_model.cuda()
    pose_model.eval()

    runtime_profile = {'dt': [], 'pt': [], 'pn': []}

    # Init data writer
    writer = DataWriter(args.save_video).start()
    # time.sleep(10)
    data_len = dataset.__len__()
    im_names_desc = tqdm(range(data_len))
    for i in im_names_desc:
        start_time = getTime()
        with torch.no_grad():
            (inp, orig_img, im_name, boxes, scores) = test_loader.read()
            if boxes is None or boxes.nelement() == 0:
                writer.save(None, None, None, None, None, orig_img,
                            im_name.split('/')[-1])
                continue
            print("test loader:", test_loader.len())
            ckpt_time, det_time = getTime(start_time)
            runtime_profile['dt'].append(det_time)
            # Pose Estimation
            inps, pt1, pt2 = crop_from_dets(inp, boxes)
            inps = Variable(inps.cuda())

            hm = pose_model(inps)
            ckpt_time, pose_time = getTime(ckpt_time)
            runtime_profile['pt'].append(pose_time)
Ejemplo n.º 2
0
    else:
        raise IOError('Error: must contain either --indir/--list')

    # Load input images
    data_loader = ImageLoader(im_names, batchSize=args.detbatch,
                              format='yolo').start()

    # Load detection loader
    print('Loading YOLO model..')
    sys.stdout.flush()
    det_loader = DetectionLoader(data_loader, batchSize=args.detbatch).start()

    print('here will show the det_loader information')
    data_loader_length = data_loader.length()
    for i in range(data_loader_length):
        (orig_img, im_name, boxes, scores, inps, pt1, pt2) = det_loader.read()
        print('image_name', im_name)
        print('boxes', boxes)
        print('scores', scores)
        print('inps', inps)
        print('pt1', pt1)
        print('pt2', pt2)
        print('------------------------------------------------------------')
    print('data_loader finish+++++++++++++++++++++++++++++++++++')

    det_processor = DetectionProcessor(det_loader).start()
    print('successful processed')

    print('here is the result which is processed')
    data_len = data_loader.length()
    print('start shown ')
Ejemplo n.º 3
0
    def loop():
        n = 0
        while True:
            yield n
            n += 1

    print('Initing tracker...')
    sys.stdout.flush()
    im_names_desc = tqdm(loop())
    store_tracker1 = for_store_tracker()
    store_tracker2 = for_store_tracker()
    for i in im_names_desc:
        try:
            with torch.no_grad():
                (orig_img, frame_id, bbox, bbox_score, kp, kp_score,
                 imgs) = det_loader_1.read()
                if bbox == None or len(bbox) == 0:
                    continue
                if init_flag == 1:

                    init_info[0].append(frame_id)
                    init_info[1].append(bbox)
                    init_info[2].append(bbox_score)
                    init_info[3].append(imgs)
                    if len(init_info[0]) != 25:  # 不满25帧,结束当前循环,进行积累
                        continue
                    else:
                        # 初始化追踪器 tracker / tracker_id
                        init_flag, Frames_Lib, tracker, tracker_id, tracker_cnt, feature_model = init_frames(
                            cam_number, init_info)
                        init_info = [[], [], [], []]  # 记录器清零