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)
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 ')
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 = [[], [], [], []] # 记录器清零