Python让蒙娜丽莎笑得更奔放
今天逛github的时候意外发现一个库https://github.com/AliaksandrSiarohin/first-order-model,它训练了一些模型可以让静态图根据一个动态视频动起来,静态图成为Source Image,动态图称为Driving Window。
我们按照文章中的指示自己制作一个这样的视频。首先Clone这个仓库到本地,安装相关依赖。
pip install -r requirements.txt
自己录制一段视频,我这边录制了一个笑脸,使用的mp4格式,目前没测试其他格式是否可行。将该视频拷贝到仓库目录下。该仓库提供了一个预处理文件用于处理视频,首先需要在虚拟环境下安装face-alignment。
git clone https://github.com/1adrianb/face-alignment
cd face-alignment
pip install -r requirements.txt
python setup.py install
然后安装ffmpeg。
brew install ffmpeg
使用脚本对视频进行预处理。
python crop-video.py --inp video.mp4 --cpu
该命令并不会直接处理视频,而是输出一个ffmpeg命令,将该命令直接执行即可处理视频。
ffmpeg -i video.mp4 -ss 0.0 -t 9.1 -filter:v "crop=1023:943:238:0, scale=256:256" crop.mp4
下面,我们按照仓库中的链接,下载模型至项目的checkpoints目录下。
静态图片也放在仓库目录下。
最后运行命令即可生成动态视频,其中crop.mp4是上一步我们预处理的视频,image.jpg是我们的静态图片,我这边使用的模型是vox-cpk,你也可以尝试使用别的模型。
python demo.py --config config/vox-256.yaml --driving_video crop.mp4 --source_image image.jpg --checkpoint checkpoints/vox-cpk.pth.tar --relative --adapt_scale --cpu
最后效果如下:
果然还是微笑比较好。。。
推荐:
评论