def main(): args = DemoOptions().parse() args.use_smplx = True device = torch.device( 'cuda') if torch.cuda.is_available() else torch.device('cpu') assert torch.cuda.is_available(), "Current version only supports GPU" hand_bbox_detector = HandBboxDetector('third_view', device) #Set Mocap regressor body_mocap = BodyMocap(args.checkpoint_body_smplx, args.smpl_dir, device=device, use_smplx=True) hand_mocap = HandMocap(args.checkpoint_hand, args.smpl_dir, device=device) # Set Visualizer if args.renderer_type in ['pytorch3d', 'opendr']: from renderer.screen_free_visualizer import Visualizer else: from renderer.visualizer import Visualizer visualizer = Visualizer(args.renderer_type) run_frank_mocap(args, hand_bbox_detector, body_mocap, hand_mocap, visualizer)
def main(): args = DemoOptions().parse() args.use_smplx = True device = torch.device('cuda') if torch.cuda.is_available() else torch.device('cpu') assert torch.cuda.is_available(), "Current version only supports GPU" hand_bbox_detector = HandBboxDetector('third_view', device) #Set Mocap regressor body_mocap = BodyMocap(args.checkpoint_body_smplx, args.smpl_dir, device = device, use_smplx= True) hand_mocap = HandMocap(args.checkpoint_hand, args.smpl_dir, device = device) run_frank_mocap(args, hand_bbox_detector, body_mocap, hand_mocap)
def __init__(self): self.args = DemoOptions().parse() self.args.use_smplx = True self.args.save_pred_pkl = True self.device = torch.device( 'cuda') if torch.cuda.is_available() else torch.device('cpu') self.bbox_detector = HandBboxDetector(self.args.view_type, self.device) self.hand_mocap = HandMocap(self.args.checkpoint_hand, self.args.smpl_dir, device=self.device) self.visualizer = Visualizer(self.args.renderer_type)
def main(): args = DemoOptions().parse() args.use_smplx = True device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu") #Set Mocap regressor if not torch.cuda.is_available(): hand_bbox_detector = HandBboxDetector_cpu("third_view", device) body_mocap = BodyMocap_cpu(args.checkpoint_body_smplx, args.smpl_dir, device = device, use_smplx= True) hand_mocap = HandMocap_cpu(args.checkpoint_hand, args.smpl_dir, device = device) # Set Visualizer if args.renderer_type in ['pytorch3d', 'opendr']: from renderer.screen_free_visualizer import Visualizer else: from renderer.visualizer import Visualizer visualizer = Visualizer(args.renderer_type) run_frank_mocap_cpu(args, hand_bbox_detector, body_mocap, hand_mocap,visualizer) else: print("This is the CPU beta version")
def main(): args = DemoOptions().parse() # load pkl files pkl_files = gnu.get_all_files(args.pkl_dir, ".pkl", "full") # get smpl type demo_type, smpl_type = __get_data_type(pkl_files) # get smpl model smpl_model = __get_smpl_model(demo_type, smpl_type) # Set Visualizer assert args.renderer_type in ['pytorch3d', 'opendr'], \ f"{args.renderer_type} not implemented yet." from renderer.screen_free_visualizer import Visualizer visualizer = Visualizer(args.renderer_type) # load smpl model visualize_prediction(args, demo_type, smpl_type, smpl_model, pkl_files, visualizer)
def main(): args = DemoOptions().parse() device = torch.device('cuda') if torch.cuda.is_available() else torch.device('cpu') assert torch.cuda.is_available(), "Current version only supports GPU" # Set bbox detector body_bbox_detector = BodyPoseEstimator() # Set mocap regressor use_smplx = args.use_smplx checkpoint_path = args.checkpoint_body_smplx if use_smplx else args.checkpoint_body_smpl print("use_smplx", use_smplx) body_mocap = BodyMocap(checkpoint_path, args.smpl_dir, device, use_smplx) # Set Visualizer if args.renderer_type in ['pytorch3d', 'opendr']: from renderer.screen_free_visualizer import Visualizer else: from renderer.visualizer import Visualizer visualizer = Visualizer(args.renderer_type) run_body_mocap(args, body_bbox_detector, body_mocap, visualizer)
args.out_dir = os.path.join(output, args.input_path.replace(root, "").split(".")[0]) args.out_dir = os.path.join(args.out_dir, f"hand_bboxes_{args.th_hands}") if not os.path.exists(args.out_dir): os.makedirs(args.out_dir) elif not args.replace and os.path.exists(os.path.join(args.out_dir, f"finished.marker")): print(f"[{i}/{len(lines)-1}] Already processed video -> '{args.out_dir}'") continue print(f"[{i}/{len(lines)-1}] Processing video '{args.input_path}' -> '{args.out_dir}'") run_hand_mocap(args, bbox_detector) print(f"[FINISHED] Time: {time.time() - t0} s") if __name__ == '__main__': args = DemoOptions().parse() args.use_smplx = True device = torch.device('cuda') if torch.cuda.is_available() else torch.device('cpu') assert torch.cuda.is_available(), "Current version only supports GPU" #Set Bbox detector bbox_detector = HandBboxDetector(args.view_type, device, th=args.th_hands) if args.list: run_from_list(args, bbox_detector) else: root = "/data/sessions_processed/final_dataset/" args.out_dir = os.path.join(args.out_dir, args.input_path.replace(root, "").split(".")[0], f"hand_bboxes_{args.th_hands}") if not os.path.exists(args.out_dir): os.makedirs(args.out_dir)
visualizer = Visualizer(args.renderer_type) for i in range(1, len(lines)): t0 = time.time() path = lines[i].replace("\n", "") session, task = (path.split(".")[0]).split("/")[-2:] args.input_path = path args.out_dir = f"/output/annotations/{session}/{task}/hand_bboxes_0.2/" if not args.replace and os.path.exists( os.path.join(args.out_dir, MARKER)): print( f"[{i}/{len(lines)-1}] Landmarks already extracted for this video -> '{args.out_dir}'" ) continue print( f"[{i}/{len(lines)-1}] Extracting hand landmarks of '{session} - {task}'" ) # run run_hand_mocap(args, bbox_detector, hand_mocap, visualizer) print(f"[FINISHED] Time: {time.time() - t0} s") if __name__ == '__main__': args = DemoOptions().parse() if args.list: run_from_list(args) else: main(args)