蚂蚁嘿呀嘿模板特效(手把手实现火爆全网的特效)
蚂蚁嘿呀嘿模板特效(手把手实现火爆全网的特效)
2024-11-08 12:36:01  作者:我亲爱的  网址:https://m.xinb2b.cn/know/maz245770.html
思路简介

首先看一下目标效果(下面放的是 gif,我们需要的是视频,需要添加背景音乐)


明确目标之后,接下来就是进一步去分解具体的技术实现。

参考网上的实现方法:

采用 APP

Avatarify

Avatarify

操作步骤:

打开这款软件Avatarify,选择一张照片即可进入选择特效页面

即:需要一张图片 一个想要的特效视频

具体的原理:

让一张照片动起来,人脸跟着音乐一起挤眉弄眼,需要一个叫做一阶运动模型 (First Order Motion Model)来搞定。

技术原理借鉴了去年意大利特伦托大学的一项研究,入选了NIPS 2019。


当时的例子是这样的。


当然上面的操作仅仅只能用于画面的特效,没有声音,因此,我们需要添加声音,同时如果想要分享到朋友圈的话,还需要一定的处理将视频的编码格式变成H264。

下面我将一步步操作

详细教程

1、克隆项目并配置环境

项目连接:

https://github.com/anandpawara/Real_Time_Image_Animation

本文所有操作均在ubuntu 20.04 下操作,如需windows或mac下操作,请自行搜索相应的解决方案

1)从 github 克隆项目

git clone git@github.com:anandpawara/Real_Time_Image_Animation.git

2)配置环境

pip install -r requirements.txt

报错:

ERROR: Could not find a version that satisfies the requirement pywin32==227 ERROR: No matching distribution found for pywin32==227

暂时不处理 !!!

从 requirements.txt 中删除掉之后,再次运行上面的语句

或者运行代码尝试缺少哪些包

运行代码

python image_animation.py -i path_to_input_file -c path_to_checkpoint -v path_to_video_file

各个参数的含义:

path_to_input_file 是输入的图片(例如你相对蒙娜丽莎进行变换,这里输入即她的照片)

path_to_checkpoint 是权重文件路径(需要从项目中的下载)

path_to_video_file 是输入的视频文件(含动作的视频文件)

pythonimage_animation.py-iInputs/Monalisa.png-ccheckpoints/vox-cpk.pth.tar-v1.mp4

如果运行成功,最后生成的视频存放在 output 文件夹下。

当然由于上述环境安装问题,导致会报错 :

No module named 'tqdm'

No module named 'imageio'

No module named 'skimage'

No module named 'sklearn'

No module named 'pandas'

No module named 'yaml'

No module named 'cv2'

这是常见问题,缺失必要的包,但在国内安装的时候,如果直接 pip install 进行安装可能会存在网速太慢的问题,导致失败或者浪费了大量的时间,可以考虑换源或指定源的方式来快速下载

这里给出指定源的方法

参考:https://www.cnblogs.com/flintlovesam/p/12833652.html

例如想要安装 imageio,在后面添加 -i 源 即可

pip install imageio -i https://mirrors.aliyun.com/pypi/simple/

同样的问题,这里用到了 pytorch,国内安装也会遇到上述的问题,这里也采用指定源的方式解决 (安装 GPU 版本 pytorch, 版本 1.5.0)

pipinstalltorch===1.5.0 cu101torchvision===0.6.0 cu101-fhttps://download.pytorch.org/whl/torch_stable.html-ihttps://pypi.douban.com/simple/some-package

注意:这里我的是cuda版本是10.1,大家根据自己的情况进行调整 如果安装速度慢,可以考虑换源 或以制定源的方法安装

参考:https://blog.csdn.net/qq_36414085/article/details/106369314

上诉操作成功后,再次运行,此时 output文件夹下即有结果出来

python image_animation.py -i Inputs/Monalisa.png -c checkpoints/vox-cpk.pth.tar -v 1.mp4

上述的操作,就这个项目能实现的基本功能,实现动作迁移,下面我们将对进行一些修改来达到我们的最终目标!

大致内容:

1)画面修改

2)添加背景音乐

3)视频格式转换

优化

1)画面修改

存在的问题:

1、帧数问题:

素材帧数-15 FPS

生成的视频结果的设置帧数 为 12 FPS 会导致音画不同步

2、画面尺寸问题:

由于这个项目的作者将最终的显示结果设置为

原图--生成视频--原始视频 的结果形式,

而我们最终只想要 生成的视频,所以还需要进行一定的修改(从256*3,256)变成(256,256)


具体修改

# 文件 image_animation.py#第50行# out1 = cv2.VideoWriter('output/test.avi', fourcc, 12, (256*3 , 256), True)#修改输出视频格式帧数和视频输出的尺寸out1=cv2.VideoWriter('output/test.avi',fourcc,15,(256,256),True)

同时修改保存的结果:

# 文件 image_animation.py# 重点关注joinedFrame = np.concatenate((cv2_source,im,frame1),axis=1) cv2.imshow('Test',joinedFrame)out1.write(img_as_ubyte(joinedFrame))# 修改成out1.write(img_as_ubyte(im))

备注:

获取视频帧数的方法

import cv2cap = cv2.VideoCapture("test.avi")print(cap.get(cv2.CV_CAP_PROP_FPS )

参考https://zhuanlan.zhihu.com/p/56571623

2)添加背景音乐

这里需要安装moviepy 包

pip install moviepy

如果遇到问题可以考虑下面的处理方法

sudopipinstallez_setuppip install --user moviepy -ignore-installed -i https://mirrors.aliyun.com/pypi/simple/

参考:https://blog.csdn.net/weixin_38636815/article/details/106539049

https://blog.csdn.net/qq_43058685/article/details/104221009

添加背景音乐

from moviepy.editor import *video_path='test.avi'audio_path = 'test.wav'video = VideoFileClip(video_path)audio_clip = AudioFileClip(audio_path)video = video.set_audio(audio_clip)video.write_videofile('result-myyh.mp4')

3)视频格式转换

安装ffmpeg

不能分享这种格式(MP4)的视频的问题原因以及解决方案 上传H.264编码格式的MP4视频,否则借助第三方转换软件转换成H.264编码格式的MP4视频即可。ffmpeg

https://jingyan.baidu.com/article/27fa732646092846f9271f71.html (安装教程)https://zhuanlan.zhihu.com/p/200783234

ffmpeg-iresult-myyh.mp4-vcodeclibx264-fmp4result.mp4

  • 21款轻薄本还值得购买吗(5月值得推荐的五款轻薄旗舰)
  • 2024-11-085月值得推荐的五款轻薄旗舰关注数码圈的都知道,最近两三年,手机屏幕是越做越大了,哪怕就是千元机,很多都要标配了6.6英寸大屏,长时间单手握持,非常容易产生坠手感对于习惯了使用轻薄手机的用户来说,确实不够友好如果你也有类似的烦恼。
  • 地平线4试玩版可以玩多久
  • 2024-11-08地平线4试玩版可以玩多久地平线4试玩版是可以一直玩的,但是无法存档,这次游戏结束,下一次就需要重新来地平线4对电脑配置要求很高,配置差的在试玩的时候会出现闪退的情况所以建议玩家试玩一下之后,感觉很好,还是花钱购版正版,才能获。
  • 必入大牌化妆品(日本开架好物日系平价化妆品)
  • 2024-11-08日本开架好物日系平价化妆品总共8样,每样都在200人民币以内,很多都是几十块的小东西,都很好用01怡丽丝尔睡眠面膜在东京药妆店买了4款面膜,试用过后几乎只用这款日本干爆了,回来的前三天是敷着它睡觉的,非常水润,脸上反出来了一块。
  • 当你得知自己得了癌症你会怎么办(癌症疼痛量化很简单)
  • 2024-11-08癌症疼痛量化很简单昨天视频号推送了癌前病变跟癌症的关系,感兴趣的看官可以关注一下李医生嘚吧嘚丨癌前病变离癌有多远?总的来说,癌前病变只是给健康一个黄牌警告,当确诊癌症后,尤其是中晚期癌症患者就要面对一个很重要的问题——。
  • 不再是原来的我歌词(原创歌词原来的我)
  • 2024-11-08原创歌词原来的我原来的我词/谢宗兵无意扫过墙角,旧照片上的斑点,刺痛了心扉!总在一个人喝醉,胡言乱语将内心捣毁,那发黄的册子,记录下来一个原来的我我没有酒窝,我并不洒脱,风雨之后,我丢失了原来的我无帅气的容颜,无华丽。
  • 撒贝宁自曝龙凤胎出生(撒贝宁喜得龙凤双胞胎)
  • 2024-11-08撒贝宁喜得龙凤双胞胎12月16日,各大媒体纷纷报道央视主持人撒贝宁外籍妻子李白生下双胞胎,这些报道均引用一位网友的截图,称“保真”,因为这位网友没有提名道姓,大家还是将信将疑的态度对此,有权威媒体求证撒贝宁方,其工作人员。
  • 牧民被棕熊叼走咬死(内蒙牧民救下受伤棕熊幼崽)
  • 2024-11-08内蒙牧民救下受伤棕熊幼崽内蒙乌玛保护区的深冬之夜寒风凛冽,大雪纷飞山中找不到食物的狼群盯上了牧民羊群,它们趁着夜色冲入了羊群牧民谷骅拿着武器,带着两条牧羊犬冲入羊圈,眼看一条条狼不要命般的冲上来...他对着其中一条牧羊犬大声。
  • 曾小贤助攻(曾小贤的二三事)
  • 2024-11-08曾小贤的二三事这几天,到处都能听到那个熟悉的笑声……公鸡中的战斗机,跑男中的曾小贤,真是让人又爱又恨,欲罢不能24K纯帅!从小孩到大男人——结完婚的他看起来真是神(dou)采(bi)奕(yi)奕(旧),但那又怎么样。
  • 老鼠怎么灭教你使用陷阱捕捉老鼠(老鼠诱饵里加点水泥)
  • 2024-11-08老鼠诱饵里加点水泥水泥灭鼠方法是一种有效的灭鼠方法,但是需要注意一些安全问题老鼠是一种常见的害虫,它们可以传播疾病、损坏物品并且会产生很多麻烦为了有效地灭鼠,我们可以选择一些专业的灭鼠药物或者器具,同时也要注意安全问题。