NetEase-GameAI / Face2FaceRHO

The Official PyTorch Implementation for Face2Face^ρ (ECCV2022)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

关于测试时长

vito929 opened this issue · comments

您好,
感谢您的开源,
在论文中我读到 用2080Ti显卡可以达到25fps的速度(14401440)。我现在使用2080Ti显卡目前还达不到15fps(≈14fps) 的速度而且是在(512512)的分辨率下。想请问您

  1. 这个速度是否是正常?毕竟目前我用的是DECA来fit
  2. 我测试速度的方式是否合理?希望你能指出问题 ,十分感谢

关于测试速度的方式,我是这样做的:

  1. 一共输入1000张 512*512 图片,计算总时长,从而得到 fps
  2. 计时部分不进行IO操作,提前读取好1000张图片,reenact之后不保存image
torch.cuda.synchronize()
start = time.time()

for i,img in enumerate(tqdm(path_list)):
    
    # ------------------ fitting ------------------------
    drv_params = drv_fitting.fitting(i)
    drv_headpose = pose_lml_extractor.get_pose(
        src_params['shape'], drv_params['exp'], drv_params['pose'],
        drv_params['scale'], drv_params['tx'], drv_params['ty'])

    drv_lmks = pose_lml_extractor.get_project_points(
        src_params['shape'], drv_params['exp'], drv_params['pose'],
        drv_params['scale'], drv_params['tx'], drv_params['ty'])
    # ------------------ reenactment ------------------ 
    drv_face = dict()
    drv_face = load_data(opt,drv_face,drv_headpose,drv_lmks) 

    drv_face['landmark_img'] = landmark_img_generator.generate_landmark_img(drv_face['landmarks'])
    drv_face['landmark_img'] = [value.unsqueeze(0) for value in drv_face['landmark_img']]
    model.reenactment(src_face['landmark_img'], drv_face['headpose'].unsqueeze(0), drv_face['landmark_img'])
    
    visual_results = model.get_current_visuals()
    

        

torch.cuda.synchronize()
dur = time.time()-start
commented

你可以只测reenactment的速度 这个DECA是很慢的 所以达不到论文里的速度

你好,
根据你所说,这次我只测试了reenactment的速度,这次达到了 70fps,果然是这个DECA速度很慢。谢谢
请问可以给我一些建议吗,关于如何提升DECA fitting这一步的速度?

commented

可以尝试使用一个轻量的3DMM模型 替换 DECA

可以尝试使用一个轻量的3DMM模型 替换 DECA

请问可以推荐一个light-weighted 3DMM模型吗?谢谢