本篇为《人工智能技术应用》专栏的第六篇。希望以学习笔记的形式和大家一起了解和探索人工智能技术的实际应用。
《教大家如何免费让美女小姐姐开口说话》
最近数字人一直都是AI风口中的热点,Heygen是制作数字人的热门工具,但是要上网,更要钱啊。
最近找到一个可以在本地部署的数字人软件包,提供图片和音频就能自动合成出数字人说话视频,效果还是不错的,不管作为商用还是自己学习体验都是不错的选择。
想要看视频合成效果的请访问:数字人演示视频
这个软件包基本上直接能用,推荐给大家试一下。只有CPU的小伙伴也不用担心,也一样可以用,只是速度慢一些,具体数据看文章介绍。
今天就教大家如何免费让下面的美女小姐姐开口说话。
这个项目是Wav2Lip的升级版。处理一段9秒钟、720p、60fps的测试视频大概不到1分钟(这个是GPU版本的数据,纯CPU版本慢不少,具体数据在后面会说)
这里提供完整的已安装整合包供大家下载使用(windows环境可直接使用),下载后解压就能一键打开使用。大家只需要在本地电脑安装python环境即可。
一、默认GPU版本
解压包打开后就是上面图片中的文件,双击打开红圈中的run.bat批处理文件,自动启动项目:
双击run.bat,稍后会弹出命令窗口,在上面的命令窗口复制http://127.0.0.1:7860,在浏览器中粘贴打开就行了。
操作方法:
首先在上图界面中上传一张你选定的图片(注意:图片中只能有一张人脸,不能出现多人面容),再上传预先准备好的音频文件。直接点击生成,则视频合成开始。
对于首次使用者,左边方框中的选项先不要动,保持默认就可。待后面熟悉之后再慢慢调试。
如果不使用整合包,而是自己安装源代码时,安装顺序与其它项目大致相同,首先保证python大环境(保证环境变量path),然后是安装项目依赖模块(命令:pip install -r reqiurements.txt)。
在安装完所有内容之后,应该会弹出一个名为config.ini的文件。这是一个首次使用前的配置设置文件:
主要是把划红线的两个地方填上音频、视频的存放路径。这个根据个人情况填写就行了。其它默认。
二、纯CPU版本攻略
以上是默认有GPU跑CUDA的配置。如果是纯CPU的配置,运行的时候会报错。
需要修改源码中的原来指定使用cuda的地方,改为cpu即可。主要牵涉到两个文件easy_functions.py,inference.py,都在根目录下,下面给出具体要修改的地方。
- easy_functions.py
#device = 'cuda' device = 'cpu' |
- inference.py
#这是第一处 #device = 'cuda' device = 'cpu' #这是第二处 #device = 'cuda' device = 'cpu' #img_batch = torch.FloatTensor(np.transpose(img_batch, (0, 3, 1, 2))).to('cuda') #mel_batch = torch.FloatTensor(np.transpose(mel_batch, (0, 3, 1, 2))).to('cuda') img_batch = torch.FloatTensor(np.transpose(img_batch, (0, 3, 1, 2))).to('cpu') mel_batch = torch.FloatTensor(np.transpose(mel_batch, (0, 3, 1, 2))).to('cpu') #detector = RetinaFace(gpu_id=0, model_path="checkpoints/mobilenet.pth", network="mobilenet") detector = RetinaFace(gpu_id=-1, model_path="checkpoints/mobilenet.pth", network="mobilenet") |
三、修复生成视频的bug
最后还有一个坑要填。生成视频的时候会报错,是因为代码里调用ffmpeg生成视频用的参数不太对,需要修改的文件是inference.py,参照下面修改即可:
""" subprocess.check_call([ f"{ffmpeg_path}", "-y", "-loglevel", "error", "-i", "temp/result.mp4", "-i", args.audio, "-c:v", "h264_nvenc", args.outfile , ]) """ subprocess.check_call([ f"{ffmpeg_path}", "-y", "-loglevel", "error", "-i", "temp/result.mp4", "-i", args.audio, "-c:v", "copy", "-c:a", "aac", args.outfile , ]) |
四、纯CPU版的运行时间
有一说一,纯CPU跑起来是真心慢啊,一个7秒左右的音频,最后生成视频花了29分钟,不过最后看到美女图片能说话了,还是很开心的,作为学习和体验来说还是很不错的。
———————————————————————————————————————
软件获取方法:关注公众号【数字众生】并留言:数字人
关注微信公众号【数字众生】即刻获取干货满满的 “AI学习大礼包” 和 “AI副业变现指南”