tag 标签: speech driven animat

相关博文
  • 热度 2
    2019-7-7 11:33
    5115 次阅读|
    3 个评论
    【零基础】speech driven animation中文安装使用指南
    注:原项目名叫Speech-Driven Animation,所以我这里就简称为SDA 开局一张图,后面自动编   相信前段时间爆火的DeepNude(AI扒衣)让很多人惊掉了大牙,AI还能干这个?!如果你还不知道什么是DeepNude现在可以百度一下了,关注公众号“零基础爱学习”回复“DeepNude”也可以获取更多信息。   现在长江后浪推前浪,一浪更比一浪强啊,来自伦敦帝国学院的iBUG小组近日开源了一个AI项目SDA(Speech-Driven Animation),只需要一张图片,唱歌说话视频自动生成!比如:   施瓦辛格:      开始说话:      除了自动根据语音对口型,SDA还可以指定情绪,比如:   开心:      难过:      如果只是介绍下SDA就太没意思了,所以各位喜爱学习的程序员们有福了,本文其实是一篇完整的SDA安装和使用指南!(耗时一周整理完成!)。虽然本文已非常详细,不过开始之前还是有一点小小的要求:   1、必须要会用linux,熟悉Ubuntu最好   2、必须要会编程,熟悉python更好 Ubuntu与基础环境   使用SDA最大的坑就是操作系统一定要用Ubuntu!我一开始用centos来着,各种报错!换了Ubuntu各种顺利!比如项目需要用python3.6,而centos默认是2.7,安装的话一般会装3.8,结果就是不得行!必须是python3.6!项目也没啥文档,全靠自己摸索的!基础环境就两个重点:   1、操作系统:Ubuntu(重要!)     我下载的版本是这个“ubuntu-18.04.2-live-server-amd64.iso”   2、python3.6(Ubuntu默认自带python3.6) git与git lfs安装   SDA项目发布在git,其中AI训练生成的数据包大概有2G左右,所以需要使用git lfs(大文件专用)来下载项目源码    1、安装git   sudoapt install git    2、安装git lfs   sudo apt install git-lfs   sudogit init   sudo git lfs install 依赖包安装   SDA项目使用了大量的python扩展包,比如torch、scikit、opencv等等,这里我们先安装一些依赖包    1、pip,先安装pip,后面一些依赖包需要使用pip   sudo apt install python3-pip    2、setuptools,安装python扩展包必备工具   sudo apt install python3-setuptools    3、一些建议先安装的包(文末附下载方式)    这几个包是安装SDA时会自动下载安装的,如果你发现下载比较慢的话(torch有600多M)可以试试先从百度云下载(文末附下载链接)自行安装。    1)opencv     sudo pip3 install opencv_python-4.1.0.25-cp36-cp36m-manylinux1_x86_64.whl    2)torch     sudo pip3 installtorch-1.1.0-cp36-cp36m-manylinux1_x86_64.whl    3)scikit     sudo pip3 installscikit_image-0.15.0-cp36-cp36m-manylinux1_x86_64.whl    4)scipy     sudo pip3 installscipy-1.3.0-cp36-cp36m-manylinux1_x86_64.whl    4、ffmpeg, SDA涉及视频操作,所以ffmpeg是必须安装的,这里我们直接从git获取安装包     sudogit clone https://git.ffmpeg.org/ffmpeg.git ffmpeg   到下载的ffmpeg包中依次执行./configure、make、make install 安装SDA(speech-driven-animation)   SDA安装包可以通过git lfs直接获取(2G左右),也可以从云盘下载(文末附下载链接)。这里演示的是从git lfs下载。    1、获取SDA安装包   sudo git lfs clone https://github.com/DinoMan/speech-driven-animation.git    2、git会下载一个目录speech-driven-animation,进入该目录执行如下指令   sudopython3 setup.py build   sudo python3 setup.py install   (会自动下载一些依赖包)   SDA就算是安装好了,看似简简单单数个命令,却是辛苦一周试出来的啊! 依赖包安装2   前面安装的几个依赖包只是SDA安装需要的,想要使用SDA来干活儿还得继续安装!    1、libXrender   sudo apt install libxrender1    2、libSM   sudo apt install libsm6    3、torchaudio   sudo pip3 install git+https://github.com/pytorch/audio@d92de5b  //下载并安装老版本的torchaudio   (这里又是个坑,SDA需要torch和torchaudio,但是最新版torchaudio与torch有兼容性问题,所以需要使用老版本的torchaudio!)    4、sox   sudo aptinstall sox libsox-dev libsox-fmt-all   (这里也是个坑,只有Ubuntu能正常安装sox,centos不得行!)    5、torchvision   sudo pip3 install torchvision 编写测试代码   找到前面下载的speech-driven-animation目录,进入之,可以看到一个“example”目录,进入之,能看到audio.wav、image.bmp两个文件,是项目组提供测试的图片和音频文件,我们就在这里写一段测试代码:   vi test.py  //然后输入下列代码:    import sda   va = sda.VideoAnimator()   vid, aud = va("image.bmp", "audio.wav")   va.save_video(vid, aud, "/home/XXX(这里根据实际情况填写)/speech-driven-animation/example/test.mp4") //这里要写完整的路径,不要问为什么,反正不这么写就报错   保存后使用下列指令测试:   sudo python3 test.py   运行成功了吗?是不是又卡主了...应该会提示:   Downloading the face detection CNN. Please wait...   Downloading the Face Alignment Network(FAN). Please wait...   因为face_alignment这个扩展包的训练数据还没下载呢...你需要将:   s3fd_convert.pth、2DFAN-4.pth.tar这两个文件放到“/home/XXX(这里根据实际情况填写)/.face_alignment/data/”目录下(可搜索.face_alignment找到此目录),文末附下载方式。   好啦,现在再次执行测试:   sudo python3 test.py   没有报错的话,可以看看目录下是不是生成了一个test.mp4,赶紧下载到电脑上看看吧! 各种包下载方式   因为很多包从git、pypi下载很慢,所以我这里提供了几个比较大的包、关键文件的百度云下载。 关注公众号“零基础爱学习”,回复“SDA”获取下面的资料 :   1、speech-driven-animation.tar.gz  SDA源码包,已包含了训练文件(2G)   2、scipy-1.3.0-cp36-cp36m-manylinux1_x86_64.whl  SDA依赖包   3、scikit_image-0.15.0-cp36-cp36m-manylinux1_x86_64.whl  SDA依赖包   4、torch-1.1.0-cp36-cp36m-manylinux1_x86_64.whl  SDA依赖包   5、opencv_python-4.1.0.25-cp36-cp36m-manylinux1_x86_64.whl  SDA依赖包   6、s3fd_convert.pth、2DFAN-4.pth.tar  face_alignment训练文件   7、audio-d92de5b97fc6204db4b1e3ed20c03ac06f5d53f0.zip  老版本的torchaudio 常见报错   针对一些常见的报错现象,最后总结一下给大家   1、ModuleNotFoundError: No module named 'setuptools'   需要安装setuptools  sudo apt install python3-setuptools   2、torchaudio/torch_sox.cpp:3:10: fatal error: sox.h: No such file or directory   没有安装sox  sudo apt install sox libsox-dev libsox-fmt-all(需要是Ubuntu操作系统)   3、RuntimeError: Failed to parse the argument list of a type annotation: name 'Optional' is not defined   你可能是最新版torchaudio的受害者(新版torchaudio与torch间有bug),所以你需要的是老版本:sudo pip3 install git+https://github.com/pytorch/audio@d92de5b   4、libSM.so.6: cannot open shared object file: No such file or directory   缺包  sudo apt install libsm6   5、ImportError: libXrender.so.1: cannot open shared object file: No such file or directory   缺包  sudo apt install libxrender1   6、_pickle.UnpicklingError: invalid load key, 'v'.   如果你遇到这报错,最大的可能性是你直接在git上下载源码了吧,不得行的,项目使用了git lfs,所以需要使用lfs下载源码(将项目中的大文件一起下载了)   先装git和git lfs:sudo apt install git、sudo apt install git-lfs、git init、sudogit lfs install   再获取项目源码:git lfs clone https://github.com/DinoMan/speech-driven-animation.git   7、Error: Failed to call git rev-parse --git-dir --show-toplevel: "fatal: not a git repository (or any of theparent directories): .git\n"   git lfs install之前要先执行git init   8、speech-driven-animation测试时没有视频文件输出   va.save_video(vid, aud, "/home/XXX(这里根据实际情况填写)/speech-driven-animation/example/test.mp4") 这里需要填写完整的路径   9、ModuleNotFoundError: No module named 'torchvision'   缺少torchvision包  sudo pip3 install torchvision   10、ModuleNotFoundError: No module named 'torchaudio'   缺少torchaudio包  sudo pip3 install git+https://github.com/pytorch/audio@d92de5b   11、ImportError: libsox.so.2: cannot open shared object file: No such file or directory   没有安装sox,而且你可能正在使用非Ubuntu系统  sudo aptinstall sox libsox-dev libsox-fmt-all(需要是Ubuntu操作系统)   12、ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found    gcc版本低,而且你可能正在使用非Ubuntu系统 。使用Ubuntu就没有这个问题。当然你也可以下载最新的gcc来安装...   13、ImportError: /usr/local/lib/python3.6/site-packages/_torch_sox.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN2at19UndefinedTensorImpl10_singletonE   还是sox的问题,而且你可能正在使用非Ubuntu系统,换用Ubuntu就没这个问题了