会员登录 立即注册

搜索

高真实感的人物形象SyncTalk

[复制链接]
崎山小鹿 发表于 2024-11-20 15:16:56 | 显示全部楼层 |阅读模式
崎山小鹿
2024-11-20 15:16:56 2673 7 看全部
        SyncTalk是一种基于NeRF的高同步性说话人合成方法,专门针对提升说话人视频真实感和同步性而设计,克服了以往在同步性方面遇到的挑战,仅使用5分钟的说话视频即可生成高真实感的人物形象。目前该工作已入选CVPR 2024

        神经辐射场(NeRF)是一种神经网络,可以从部分二维图像中重建复杂的三维场景。各种模拟、游戏、媒体和物联网(IoT)应用程序都需要三维图像,以使数字交互更加逼真和准确。NeRF 可学习特定场景的几何形状、物体和角度。然后,它可以从新的视角呈现逼真的三维视图,自动生成合成数据以填补空白。

f4aefb718ce7499f9c92b64a95c93a75.png


baidu网盘下载
https://pan.baidu.com/share/init ... PHjrRg&pwd=6666

双击inference.bat即可运行演示。
首次运行"inference.bat"时,需要自动下载几个文件,如果联网下载过慢,可以执行如下操作:
将checkpoints目录下的文件移动到C:\Users\Administrator\.cache\torch\hub\checkpoints目录
例如:C:\Users\Administrator\.cache\torch\hub\checkpoints\alexnet-owt-7be5be79.pth
注意:Administrator是windows的用户名,这里改成自己的用户即可。
微信截图_20241120221942.png

看效果


定制自己的模型
更新代码:
SyncTalk项目地址:https://github.com/ZiqiaoPeng/SyncTalk

数据预处理
1、准备视频
视频要求,帧速率 :25FPS,帧宽高:512*512,每帧画面必须有说话的人,视频长度建议在4分02秒内,多于此时间会报错,需要调整代码。
如果你视频中声音质量比较差的话,效果大概率不会好。声音质量比较差指的是:1)存在难以忽略的噪声。2)在空旷的房间里录制的视频有回音。3)视频人声不清楚。建议录制视频时候使用外接麦克风,不用拍摄设备自带的麦克风。

视频需要高分辨率,低分辨率的视频训练出来效果较差。

视频放入目录 SyncTalk-Windows\face-SyncTalk\SyncTalk\data\<ID>\<ID>.mp4

预处理命令:

python data_utils/process.py data/<ID>/<ID>.mp4 --asr ave


预处理一共分10个步骤,可以单独运行每一步:
例如单独运行第三步:
python  data_utils/process.py data/meimei/meimei.mp4 --task 3

每一步都会生成相应文件,如下:
1.生成aud.wav
2.生成ori_imgs
3.生成parsing
4.生成bc.jpg
5.生成face_mask、torso_imgs
6.生成ori_imgs/*.lms
7.生成track_params.pt
8.生成flow_result、flow_list.txt、keypts.jpg、keypoints.txt、bundle_adjustment.pt、rigid_flow.jpg、track_xys.npy
9.生成bs.npy
10.生成transforms_train.json、transforms_val.json


可以使用最新版的AD-NeRF做预处理,AD_NeRF官网地址:https://github.com/YudongGuo/AD-NeRF/tree/master


开始训练
python main.py data/test3 --workspace model/trial_test3 -O --iters 60000 --asr_model ave


训练maya.png

头部训练:
python main.py data/vrhm/  --workspace trial_vrhm/ -O --iters 200000

唇部微调
python main.py data/vrhm/  --workspace trial_vrhm/ -O --iters 500000 --finetune_lips

身体部分训练
python main.py data/vrhm/  --workspace trial_vrhm_torso/ -O --torso --head_ckpt <trial_ID>/checkpoints/npg_xxx.pth> --iters 200000 --preload 2

训练中2.png

最后用SyncTalk以自己的形象训练了一个数字人:


如果用更高清的素材,更清晰的录音会得到更好的效果。想训练一个自己形象的数字人请和我们联系。
参考:
https://blog.csdn.net/ScottOcp/article/details/140243136
https://aws.amazon.com/cn/what-is/neural-radiance-fields/
天不生墨翟,万古如长夜!以墨运商,以商助墨。金双石科技长期招聘科技研发人才!微信:qishanxiaolu   电话:15876572365   公司:深圳市金双石科技有限公司
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-11-21 22:43:08 | 显示全部楼层
崎山小鹿
2024-11-21 22:43:08 看全部
如果提示缺失文件
79999_iter.pth下载地址:
https://github.com/YudongGuo/AD- ... sing/79999_iter.pth

=================================================
Traceback (most recent call last):
  File "G:\BaiduNetdiskDownload\SyncTalk-Windows\face-SyncTalk\venv\lib\site-packages\scipy\io\matlab\_mio.py", line 39, in _open_file
    return open(file_like, mode), True
FileNotFoundError: [Errno 2] No such file or directory: '3DMM/01_MorphableModel.mat'

解决:
01_MorphableModel.mat的下载地址:
https://huggingface.co/wsj1995/s ... _MorphableModel.mat

=================================================
FileNotFoundError: [Errno 2] No such file or directory: 'G:\\BaiduNetdiskDownload\\SyncTalk-Windows\\face-SyncTalk\\SyncTalk\\data_utils\\face_tracking\\3DMM\\3DMM_info.npy'

将“01_MorphableModel.mat”放入data_util/face_tracking/3DMM/;cd data_util/face_tracking;运行
python  data_utils/face_tracking/convert_BFM.py
就会生成3DMM_info.npy文件

天不生墨翟,万古如长夜!以墨运商,以商助墨。金双石科技长期招聘科技研发人才!微信:qishanxiaolu   电话:15876572365   公司:深圳市金双石科技有限公司
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-11-22 14:50:58 | 显示全部楼层
崎山小鹿
2024-11-22 14:50:58 看全部
下面都是代码版本混乱导致的问题
步骤3
问题:
FileNotFoundError: [Errno 2] No such file or directory: 'data_util/face_parsing/79999_iter.pth'

解决:
而时间上这个文件是存在的,他在data_utils\face_parsing  这个目录,所以要修改data_utils\face_parsing\test.py 代码修正目录:

    parser = configargparse.ArgumentParser()
    parser.add_argument('--respath', type=str,
                        default='./result/', help='result path for label')
    parser.add_argument('--imgpath', type=str,
                        default='./imgs/', help='path for input images')
    parser.add_argument('--modelpath', type=str,
                        default='data_utils/face_parsing/79999_iter.pth')
    args = parser.parse_args()
    evaluate(respth=args.respath, dspth=args.imgpath, cp=args.modelpath)


步骤7
问题:
dataset\data/Mymay\ori_imgs\ori_imgs 0 6073

解决:
修改:data_util/face_tracking/face_tracker.py  40、41行
id_dir = os.path.join('dataset', args.idname)
lms, img_paths = load_dir(os.path.join(id_dir, 'ori_imgs'), start_id, end_id)
为:
parser.add_argument('--idname', type=str, default='obama',
                    help='idname of target person')
parser.add_argument(
    "--path", type=str, default="obama/ori_imgs", help="idname of target person")

parser.add_argument('--img_h', type=int, default=512, help='image height')
parser.add_argument('--img_w', type=int, default=512, help='image width')
parser.add_argument('--frame_num', type=int,
                    default=11000, help='image number')
args = parser.parse_args()
start_id = 0
end_id = args.frame_num
args.idname = os.path.basename(os.path.dirname(args.path))
#获取目标名字
id_dir = os.path.join('data', args.idname)
lms, img_paths = load_dir(os.path.join(args.path), start_id, end_id)


天不生墨翟,万古如长夜!以墨运商,以商助墨。金双石科技长期招聘科技研发人才!微信:qishanxiaolu   电话:15876572365   公司:深圳市金双石科技有限公司
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-11-23 10:27:22 | 显示全部楼层
崎山小鹿
2024-11-23 10:27:22 看全部
步骤11:开始训练
python  main.py data/liushiqi --workspace model/trial_liushiqi -O --iters 60000 --asr_model ave

[INFO] Trainer: ngp | 2024-11-23_10-27-07 | cuda | fp16 | model/trial_liushiqi
[INFO] #parameters: 768165
[INFO] Loading latest checkpoint ...
[WARN] No checkpoint found, model randomly initialized.
[INFO] load 100 val frames.
[INFO] load  aud_features: torch.Size([5565, 1, 512])
Loading val data: 100%|████████████████████████████████████████████████████████████| 100/100 [00:00<00:00, 1334.10it/s]
[INFO] eye_area: 0.0023155224043875933 - 0.7356387972831726
[INFO] max_epoch = 12
==> Start Training Epoch 1, lr=0.001000 ...
loss=0.0091 (0.0134), lr=0.000943: : 100% 5057/5057 [07:34<00:00, 11.13it/s]
loss=0.0134
==> Finished Epoch 1.
++> Evaluate at epoch 1 ...
  0% 0/100 [00:00<?, ?it/s]G:\BaiduNetdiskDownload\SyncTalk-Windows\face-SyncTalk\venv\lib\site-packages\torch\nn\modules\module.py:1501: UserWarning: FALLBACK path has been taken inside: torch::jit::fuser::cuda::runCudaFusionGroup. This is an indication that codegen Failed for some reason.
To debug try disable codegen fallback path via setting the env variable `export PYTORCH_NVFUSER_DISABLE=fallback`
(Triggered internally at C:\cb\pytorch_1000000000000\work\third_party\nvfuser\csrc\manager.cpp:340.)
  return forward_call(*args, **kwargs)
loss=0.0121 (0.0108): :  97% 97/100 [00:43<00:00,  3.90it/s]G:\BaiduNetdiskDownload\SyncTalk-Windows\face-SyncTalk\venv\lib\site-packages\face_alignment\api.py:147: UserWarning: No faces were detected.
  warnings.warn("No faces were detected.")
Traceback (most recent call last):
  File "G:\BaiduNetdiskDownload\SyncTalk-Windows\face-SyncTalk\SyncTalk\main.py", line 249, in <module>
    trainer.train(train_loader, valid_loader, max_epochs)
  File "G:\BaiduNetdiskDownload\SyncTalk-Windows\face-SyncTalk\SyncTalk\nerf_triplane\utils.py", line 1031, in train
    self.evaluate_one_epoch(valid_loader)
  File "G:\BaiduNetdiskDownload\SyncTalk-Windows\face-SyncTalk\SyncTalk\nerf_triplane\utils.py", line 1403, in evaluate_one_epoch
    metric.update(preds, truths)
  File "G:\BaiduNetdiskDownload\SyncTalk-Windows\face-SyncTalk\SyncTalk\nerf_triplane\utils.py", line 589, in update
    lms_pred = self.get_landmarks(preds)
  File "G:\BaiduNetdiskDownload\SyncTalk-Windows\face-SyncTalk\SyncTalk\nerf_triplane\utils.py", line 560, in get_landmarks
    lms = self.predictor.get_landmarks(img)[-1]
TypeError: 'NoneType' object is not subscriptable
loss=0.0121 (0.0108): :  97% 97/100 [00:44<00:01,  2.18it/s]

No faces were detected.
lms = self.predictor.get_landmarks(img)[-1]

#img: 输入图像(假设是RGB格式),用于关键点检测。lms: 面部的 68个关键点坐标,返回为一个 (68, 2) 的 numpy 数组,数据类型为 float32
def get_landmarks(self, img):

    if self.backend == 'dlib':  #如果是 dlib 后端,使用 Dlib 的面部检测器和关键点预测器
        dets = self.detector(img, 1)
        for det in dets:
            shape = self.predictor(img, det)
            # ref: https://github.com/PyImageSearch ... ce_utils/helpers.py
            lms = np.zeros((68, 2), dtype=np.int32)
            for i in range(0, 68):
                lms[i, 0] = shape.part(i).x
                lms[i, 1] = shape.part(i).y
            break

    else:
        lms = self.predictor.get_landmarks(img)[-1]
   
    # self.vis_landmarks(img, lms)
    lms = lms.astype(np.float32)

    return lms

用于从给定图像中提取面部的 68个关键点(landmarks)。它支持两种不同的关键点检测后端:dlib 和其他自定义的检测器。
返回了 None,而代码试图对 None 进行索引操作 [-1],因此触发了 TypeError: 'NoneType' object is not subscriptable。

问题原因:代码版本混乱所致
解决办法:去官网下载文件覆盖本地对应文件

======================================================================
CUDA NVRTC compile error: nvrtc: error: failed to open nvrtc-builtins64_117.dll.
  Make sure that nvrtc-builtins64_117.dll is installed correctly.

解决办法:
下载缺失文件nvrtc-builtins64_117.dll
拷贝到指定目录C:\ Windows\ System32
点击运行即可
天不生墨翟,万古如长夜!以墨运商,以商助墨。金双石科技长期招聘科技研发人才!微信:qishanxiaolu   电话:15876572365   公司:深圳市金双石科技有限公司
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-11-24 12:20:03 | 显示全部楼层
崎山小鹿
2024-11-24 12:20:03 看全部
liushiqi
python main.py data/liushiqi --workspace model/trial_liushiqi -O --iters 100000 --asr_model ave
结果如下:
...
==> Finished Epoch 20.
++> Evaluate at epoch 20 ...
loss=0.0421 (0.0675): : 100% 100/100 [00:25<00:00,  3.86it/s]
PSNR = 16.213887
LPIPS (alex) = 0.351746
LMD (fan) = 11.671349
++> Evaluate epoch 20 Finished.
[INFO] load 506 test frames.
[INFO] load  aud_features: torch.Size([5565, 1, 512])
Loading test data: 100%|███████████████████████████████████████████████████████████| 506/506 [00:00<00:00, 1078.08it/s]
[INFO] eye_area: 0.0014590895734727383 - 0.7952682375907898
++> Evaluate at epoch 20 ...
loss=0.0435 (0.0680): : 100% 506/506 [02:11<00:00,  3.85it/s]
PSNR = 16.178315
LPIPS (alex) = 0.352817
LMD (fan) = 8.107415
++> Evaluate epoch 20 Finished.
==> Start Test, save results to model/trial_liushiqi\results
100% 506/506 [00:49<00:00, 10.21it/s]==> Finished Test.
100% 506/506 [00:57<00:00,  8.80it/s]
请按任意键继续. . .
天不生墨翟,万古如长夜!以墨运商,以商助墨。金双石科技长期招聘科技研发人才!微信:qishanxiaolu   电话:15876572365   公司:深圳市金双石科技有限公司
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-11-24 21:30:09 | 显示全部楼层
崎山小鹿
2024-11-24 21:30:09 看全部
meimei2
==> Start Training Epoch 47, lr=0.000507 ...
loss=0.0084 (0.0100), lr=0.000500: : 100% 1278/1278 [01:28<00:00, 14.41it/s]
loss=0.0100
==> Finished Epoch 47.
[INFO] load 128 test frames.
[INFO] load  aud_features: torch.Size([1407, 1, 512])
Loading test data: 100%|███████████████████████████████████████████████████████████| 128/128 [00:00<00:00, 2048.34it/s]
[INFO] eye_area: 1.2371291632007342e-05 - 0.9494162201881409
++> Evaluate at epoch 47 ...
loss=0.0129 (0.0120): : 100% 128/128 [00:29<00:00,  4.29it/s]
PSNR = 28.052819
LPIPS (alex) = 0.055542
LMD (fan) = 2.850705
++> Evaluate epoch 47 Finished.
==> Start Test, save results to model/trial_meimei2\results
100% 128/128 [00:09<00:00, 14.15it/s]==> Finished Test.
100% 128/128 [00:11<00:00, 11.03it/s]
请按任意键继续. . .
天不生墨翟,万古如长夜!以墨运商,以商助墨。金双石科技长期招聘科技研发人才!微信:qishanxiaolu   电话:15876572365   公司:深圳市金双石科技有限公司
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-11-24 23:56:16 | 显示全部楼层
崎山小鹿
2024-11-24 23:56:16 看全部
xiaoqiao
==> Start Training Epoch 16, lr=0.000511 ...
loss=0.0071 (0.0090), lr=0.000489: : 100% 3873/3873 [04:47<00:00, 13.48it/s]
loss=0.0090
==> Finished Epoch 16.
++> Evaluate at epoch 16 ...
loss=0.0106 (0.0117): : 100% 100/100 [00:23<00:00,  4.18it/s]
PSNR = 29.342360
LPIPS (alex) = 0.097257
LMD (fan) = 2.326849
++> Evaluate epoch 16 Finished.
[INFO] load 388 test frames.
[INFO] load  aud_features: torch.Size([4263, 1, 512])
Loading test data: 100%|███████████████████████████████████████████████████████████| 388/388 [00:00<00:00, 1034.67it/s]
[INFO] eye_area: -0.039664819836616516 - 0.793764054775238
++> Evaluate at epoch 16 ...
loss=0.0110 (0.0117): : 100% 388/388 [01:35<00:00,  4.05it/s]
PSNR = 29.333990
LPIPS (alex) = 0.095003
LMD (fan) = 2.220886
++> Evaluate epoch 16 Finished.
==> Start Test, save results to model/trial_xiaoqiao\results
100% 388/388 [00:29<00:00, 13.04it/s]==> Finished Test.
100% 388/388 [00:33<00:00, 11.60it/s]
请按任意键继续. . .

继续训练
==> Start Training Epoch 52, lr=0.000504 ...
loss=0.0067 (0.0072), lr=0.000498: : 100% 3873/3873 [04:21<00:00, 14.81it/s]
loss=0.0072
==> Finished Epoch 52.
++> Evaluate at epoch 52 ...
loss=0.0106 (0.0115): : 100% 100/100 [00:23<00:00,  4.28it/s]
PSNR = 29.082509
LPIPS (alex) = 0.088481
LMD (fan) = 2.292413
++> Evaluate epoch 52 Finished.
[INFO] load 388 test frames.
[INFO] load  aud_features: torch.Size([4263, 1, 512])
Loading test data: 100%|███████████████████████████████████████████████████████████| 388/388 [00:00<00:00, 1091.59it/s]
[INFO] eye_area: -0.039664819836616516 - 0.793764054775238
++> Evaluate at epoch 52 ...
loss=0.0097 (0.0115): : 100% 388/388 [01:35<00:00,  4.06it/s]
PSNR = 28.906871
LPIPS (alex) = 0.088868
LMD (fan) = 2.268848
++> Evaluate epoch 52 Finished.
==> Start Test, save results to model/trial_xiaoqiao\results
100% 388/388 [00:29<00:00, 13.41it/s]==> Finished Test.
100% 388/388 [00:33<00:00, 11.51it/s]
请按任意键继续. . .
天不生墨翟,万古如长夜!以墨运商,以商助墨。金双石科技长期招聘科技研发人才!微信:qishanxiaolu   电话:15876572365   公司:深圳市金双石科技有限公司
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-11-25 15:42:50 | 显示全部楼层
崎山小鹿
2024-11-25 15:42:50 看全部
yumo2 200000次迭代
==> Start Training Epoch 115, lr=0.000503 ...
loss=0.0042 (0.0045), lr=0.000500: : 100% 1740/1740 [01:44<00:00, 16.58it/s]
loss=0.0045
==> Finished Epoch 115.
[INFO] load 174 test frames.
[INFO] load  aud_features: torch.Size([1915, 1, 512])
Loading test data: 100%|███████████████████████████████████████████████████████████| 174/174 [00:00<00:00, 1237.57it/s]
[INFO] eye_area: 0.004234050866216421 - 0.7298758029937744
++> Evaluate at epoch 115 ...
loss=0.0083 (0.0070): : 100% 174/174 [00:39<00:00,  4.36it/s]
PSNR = 34.481137
LPIPS (alex) = 0.028261
LMD (fan) = 2.762987
++> Evaluate epoch 115 Finished.
==> Start Test, save results to model/trial_yumo2\results
100% 174/174 [00:11<00:00, 15.90it/s]==> Finished Test.
100% 174/174 [00:13<00:00, 13.25it/s]
请按任意键继续. . .
天不生墨翟,万古如长夜!以墨运商,以商助墨。金双石科技长期招聘科技研发人才!微信:qishanxiaolu   电话:15876572365   公司:深圳市金双石科技有限公司
回复

使用道具 举报

  • 您可能感兴趣
您需要登录后才可以回帖 登录 | 立即注册 |

本版积分规则 返回列表

管理员给TA私信
以墨运商,以商助墨。

查看:2673 | 回复:7

  • 在村子中央建立图书馆

    昨天成绩斐然,收获两栋漂亮海滨别墅,和一个高级瞭望塔,但同时损失惨重,村民损失九

    阅读:0|2024-12-22
  • 墨家小镇文化与经济

    文化建设: 墨家十要 旗帜: 八卦 双鱼戏水 经济建设: 麦田、 甘蔗田

    阅读:156|2024-12-20
  • 墨者的面具

    仿照三星堆的面具做头像

    阅读:151|2024-12-19
  • 从出生地前往墨家小镇集合

    装饰一下出生地 现在有路标了,通过路标让会员找到我们的村庄,一路要非常小心不

    阅读:239|2024-12-18
  • 墨家盾牌和武器

    盾牌上有墨家的标志,武器上也有墨家的特色

    阅读:231|2024-12-17
  • 安全的保险箱

    每个人都一个自己的箱子,只有自己能开启。且死亡不掉落! 对着一个上方没有红石导

    阅读:240|2024-12-17
  • 我的世界之墨家旗帜

    如何在我的世界里创建独特的旗帜呢? 将图片生成像素画 https://chuiliu.github.io/d

    阅读:295|2024-12-16
  • 给服务器增加组件

    给服务器增加组件,例如:墨家旗帜 租赁服务器如何使用mod? 答:目前我的世界纯净

    阅读:356|2024-12-15
  • 用手机玩墨山游侠

    用手机玩墨山游侠 各大应用市场都可以下载我的世界游戏,启动之后 选择【开始游戏】

    阅读:366|2024-12-15
  • 墨山游侠服务器开启

    在网易上开启创服之旅 服务器号:25744989 我们先用游戏版本:1.12.2 来测试,看

    阅读:478|2024-12-14
金双石科技,软件开发20年,技术行业领先,您的满意,就是我们的目标,认真负责,开拓进取,让成品物超所值
关于我们
公司简介
发展历程
联系我们
本站站务
友情链接
新手指南
内容审核
商家合作
广告合作
商家入驻
新闻合作

手机APP

官方微博

官方微信

联系电话:15876572365 地址:深圳市宝安区西乡街道宝民二路宝民花园 ( 粤ICP备2021100124号-1 ) 邮箱:qishanxiaolu@qq.com
QQ|Powered by Discuz! X3.5 © 2001-2024 Discuz! Team.
快速回复 返回顶部 返回列表