一、简介
数字人是一种基于人工智能和数字化技术构建的虚拟人物或代理,能够进行人类式的交互和沟通。这些技术主要包括:
-
人工智能(AI):AI 是数字人的核心,包括自然语言处理(NLP)、机器学习(ML)、深度学习等,使得数字人能理解和生成人类语言,进行智能对话。
-
计算机视觉:通过计算机视觉技术,数字人可以“看”到周围环境并做出反应,如识别人脸、表情和手势。
-
声音识别与合成:使用声音识别技术理解人类语音,通过声音合成技术(如TTS,文本到语音)生成自然的语音回应。
-
动画和图形技术:高级图形渲染和3D动画技术用来创建数字人的外观和表情,使其行为更加自然和逼真。
-
互动平台:一些数字人被集成在特定的互动平台上,如聊天机器人、客服机器人、虚拟助手等,这些平台支持用户与数字人的交互。
数字人的发展和应用不仅推动了技术的进步,也在改变我们的工作和生活方式,提供了新的可能性和挑战。
-
提高效率:数字人可以在多个领域,如客户服务、教育和医疗等,进行自动化服务,减轻人工工作量,提高工作效率。
-
个性化服务:通过机器学习和数据分析,数字人能提供更加个性化的服务,如推荐系统、个性化教育等。
-
无间断服务:数字人可以24小时不间断服务,改善客户体验,尤其在非工作时间提供持续的服务支持。
-
新的交互体验:数字人提供了一种全新的交互方式,使用户能以更自然的方式与机器交流,增强用户体验。
DH_live项目地址:
https://github.com/kleinlee/DH_live/tree/main/train
二、数据处理
将多个视频文件夹放在train下
|--/split_video_25fps
| |--/video1.mp4
| |--/video2.mp4
| |--/video3.mp4
python data_preparation_face.py split_video_25fps
运行后会生成:
|--/split_video_25fps
| |--/video0
| | |--/keypoint_rotate.pkl
| | |--/face_mat_mask.pkl
| | |--/image
| | |--/000000.png
| | |--/000001.png
| | |--/...
| |--/video1
| | |--/keypoint_rotate.pkl
| | |--/face_mat_mask.pkl
| | |--/image
| | |--/000000.png
| | |--/000001.png
| | |--/...
等全部处理完成,这步时间很长。
python train_input_validation_render_model.py split_video_25fps
如果在服务器,没有界面显示,会报错:
Video dir is set to: split_video_25fps
100%|███████████████████████████████| 159/159 [00:08<00:00, 18.24it/s]
train size: 69
torch.Size([1, 6, 256, 256]) torch.Size([1, 6, 256, 256]) torch.Size([1, 3, 256, 256])
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/py/anaconda3/envs/dhlive/lib/python3.9/site-packages/cv2/qt/plugins" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: xcb.
已放弃 (核心已转储)
将代码中imshow注释掉就可以了:
#cv2.imshow("ss", frame)
#cv2.waitKey(-1)
三、训练
python train_render_model.py --train_data split_video_25fps
可能会缺点环境,缺什么安装什么。
四、训练结果测试
测试嘴型有点糊,应该是没有训练好。
tensorboard --logdir=checkpoint/Dinet_five_ref
http://localhost:6006/