音容笑貌,两臻佳妙,人工智能AI换脸(deepfake)技术复刻《卡萨布兰卡》名场面(Python3.10)

这篇具有很好参考价值的文章主要介绍了音容笑貌,两臻佳妙,人工智能AI换脸(deepfake)技术复刻《卡萨布兰卡》名场面(Python3.10)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

影史经典《卡萨布兰卡》是大家耳熟能详的传世名作,那一首壮怀激烈,激奋昂扬的马赛曲,应当是通片最为激动人心的经典桥段了,本次我们基于faceswap和so-vits库让AI川普复刻美国演员保罗·亨雷德高唱《马赛曲》的名场面。

配置人脸替换DeepFakes项目

关于人脸替换,业内鼎鼎有名的deepfakes代表了这个人工智能细分领域的最高水平,旗下的faceswap库正好适合这种视频二次创作的场景。

首先克隆faceswap项目:

git clone https://github.com/deepfakes/faceswap.git

随后进入项目的目录:

cd faceswap

确保本地已经配置好python3.10的开发环境。

随后在根目录即可编译安装:

python3.10 setup.py

这里的setup.py脚本会自动判断系统本地软件环境进行依赖的安装,如果想要手动安装依赖,也可以通过pip命令:

For Nvidia GPU users: pip install -r ./requirements/requirements_nvidia.txt  
For AMD GPU users: pip install -r ./requirements/requirements_amd.txt  
For CPU users: pip install -r ./requirements/requirements_cpu.txt

这里分为三种用户,N卡用户使用requirements_nvidia.txt,也是最主流的解决方案,其次是A卡用户:requirements_amd.txt,最后是cpu用户requirements_cpu.txt。

事实上,这里并不推荐cpu运行项目,因为无论是训练还是推理,速度实在是太慢了,就算是Intel最新的第十三代酷睿I9处理器,也是杯水车薪,更遑论苹果的M系列芯片,吹得再牛逼,也只是送人头的水平。

所以,玩深度学习,最低的要求就是手里得有一块N卡,不需要太高端,倾家荡产买一块3090或者是4090其实没有任何必要,一块相对亲民的4050或者是4060足矣,当然,有钱任性则另当别论。

至此,faceswap就配置好了。

构建训练集

让我们再来回顾一下需求场景,现在需要将懂王的脸替换到《卡萨布兰卡》中保罗·亨雷德的脸,所以我们现在需要收集两张脸,即原视频保罗·亨雷德的脸,以及替换者懂王的脸。

此时原视频素材是存在的,即《卡萨布兰卡》电影,而懂王的脸则需要在网上寻找视频素材进行下载,这里需要注意的是,素材中最好包含脸部的特写,并且不包括其他人的脸,否则会在模型训练环节产生“噪音”。

由于《卡萨布兰卡》中还有很多别的场景,而我们需要的只是保罗·亨雷德高唱《马赛曲》的面部特写片段,所以需要对素材进行剪辑,这里推荐使用ffmpeg,首先运行安装命令:

winget install ffmpeg

接着将可执行目录配置到系统的环境变量中:

C:\Users\[用户名]\AppData\Local\Microsoft\WinGet\Packages\Gyan.FFmpeg_Microsoft.Winget.Source_8wekyb3d8bbwe\ffmpeg-6.0-full_build\bin

随后通过命令将片段从原始素材中扣取出来:

ffmpeg -ss 01:34:00 -i 卡萨布兰卡.mp4 -to 01:55:00 -c copy 保罗面部素材.mp4

这里视频素材就保存好了。

接着利用faceswarp脚本将素材转换为面部的图片集合:

python3.10 faceswap.py extract -i ~/faceswap/src/保罗面部素材.mp4 -o ~/faceswap/faces/paul

效果就是将视频逐帧进行保存,只保留面部信息:

懂王的训练集也如法炮制。

至此,训练集就构建好了。

模型训练

当训练集配置好之后,下一步就是模型训练,模型训练是指使用已知的数据集对机器学习模型进行调整和优化,以便它能够更准确地对未知数据进行预测,没错,所谓换脸,就是在处理预测问题。

运行命令,开始训练:

python3.10 faceswap.py train -A ~/faceswap/faces/paul -B ~/faceswap/faces/trump -m ~/faceswap/mymodel/ -p

这里A数据集为保罗的,B则是懂王,-m参数是模型的保存目录,-p参数则可以对模型效果进行预览。

模型训练过程中会不断输出损失率函数,一般情况下,训练过程中损失率稳定在0.01左右代表模型已经收敛。

训练过程中每隔一段时间会保存一次模型,程序中断后再次执行会在上次的模型基础上训练,训练需要手动停止,训练完后模型保存在上面指定的路径下。

这里需要注意的是,模型训练过程将会付出大量的时间成本,多长时间取决于许多因素,使用的模型,训练集的数量,N卡等级等等。在GTX4060的GPU上大概5个小时左右损失率会相对稳定,如果在CPU上训练,短时间内很难看到损失率下降。

本地推理

模型训练完毕后,我们就可以使用模型来进行换脸的推理操作,这里有个问题需要澄清一下,即我们训练的不是通用模型,而是针对训练集的模型,也就是说,这个模型只是为了将原素材中保罗的脸替换为懂王的脸而训练的,并不是在任意素材中都能够这样替换。

因此,就算模型有过拟合问题,也不会影响最终效果。

所以,我们就可以直接使用训练集数据进行验证,运行命令进行推理:

python3.10 faceswap.py convert -i ~/faceswap/faces/paul -o ~/faceswap/faces/output -m ./mymodel/  

这里使用模型针对原训练集数据进行替换。

效果如下:

保罗英俊的面庞瞬间灰飞烟灭,懂王睿智的面容缓缓浮现。

相同的流程,将片中好莱坞巨星英格丽·褒曼的脸:

替换为漫威超级女英雄寡姐的脸:

脸型有些违和,但音容宛在。

最后,只须将《马赛曲》的歌声替换为懂王即可,请移步:AI天后,在线飙歌,人工智能AI孙燕姿模型应用实践,复刻《遥远的歌》,原唱晴子(Python3.10) ,囿于篇幅,这里不再赘述。

结语

看到这里,相信很多朋友都不约而同地有了一些非常大胆却又不太成熟的想法,但请记住,无论何时何地,互联网都并非法外之地,当运行推理脚本的那一刻,需要思考一下自己是不是真的很刑。在Youtube(B站)搜索刘悦的技术博客,即可欣赏复刻版本的《卡萨布兰卡》,欢迎诸君品鉴。文章来源地址https://www.toymoban.com/news/detail-456025.html

到了这里,关于音容笑貌,两臻佳妙,人工智能AI换脸(deepfake)技术复刻《卡萨布兰卡》名场面(Python3.10)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 什么是生成式人工智能?人工智能创造

    原文地址:什么是生成式人工智能?人工智能创造  生成式人工智能模型可以进行对话、回答问题、编写故事、生成源代码以及创建几乎任何描述的图像和视频。以下是生成式人工智能的工作原理、使用方式以及其局限性比您想象的要大的原因。 生成式人工智能是一种人工智

    2024年02月03日
    浏览(169)
  • 从 人工智能学派 视角来看 人工智能算法

    当今人工智能的算法纷繁复杂:神经网络、卷积神经网络CNN、遗传算法、进化策略、知识图谱、贝叶斯网络、支持向量机SVM、强化学习、生成对抗网络GAN,自编码器… 如果你把每个算法独立看待简直是眼花缭乱,头都是大的。这次我就带你理理这些算法,有些算法其实是可以

    2024年03月15日
    浏览(61)
  • 【人工智能业务概述】—人工智能的技术框架

    人工智能的技术框架按照产业生态通常可以划分为基础层、技术层、应用层三大板块。其中,基础层提供了支撑人工智能应用的基础设施和技术,包括存储和处理大规模数据的能力,以及高性能的计算和通信基础设施;技术层提供了各种人工智能技术和算法,用于处理和分析

    2024年02月02日
    浏览(53)
  • 人工智能学习框架—飞桨Paddle人工智能

    机器学习的三要素:模型、学习策略、优化算法。 当我们用机器学习来解决一些模式识别任务时,一般的流程包含以下几个步骤: 浅层学习 (Shallow Learning):不涉及特征学习,其特征主要靠人工经验或特征转换方法来抽取。 底层特征VS高层语义:人们对文本、图像的理解无法

    2024年02月12日
    浏览(51)
  • 人工智能基础部分24-人工智能的数学基础,汇集了人工智能数学知识最全面的概况

    、 大家好,我是微学AI,今天给大家介绍一下人工智能基础部分24-人工智能的数学基础,汇集了人工智能数学知识最全面的概况,深度学习是一种利用多层神经网络对数据进行特征学习和表示学习的机器学习方法。要全面了解深度学习的数学基础,需要掌握这些数学知识:向

    2024年02月21日
    浏览(75)
  • 人工智能市场:人工智能市场生态与行业融合

    作者:禅与计算机程序设计艺术 引言 1.1. 背景介绍 人工智能作为一项新兴技术,近年来在各个领域取得了显著的成果,如医疗、金融、教育、制造业等。这使得人工智能产业逐渐崛起,形成了一个庞大的市场。根据市场研究机构的统计数据,全球人工智能市场规模将从 201

    2024年02月07日
    浏览(59)
  • 如何开始学习人工智能?人工智能入门教程

    你想要了解人工智能的基本原理和应用,但面对庞大的知识体系和众多的学习资源,你可能感到有些迷茫。不用担心!作为从事人工智能多年的我,今天将为你提供一条通俗易懂的学习路径,帮助你正确入门人工智能。 第一步:打下基础 在入门人工智能前,咱们先要具备了

    2024年02月11日
    浏览(55)
  • Adobe:受益于人工智能,必被人工智能反噬

    来源:猛兽财经  作者:猛兽财经  总结: (1)Adobe(ADBE)受益于生成式人工智能的兴起,其一直能实现两位数的收入增长就证明了这一点。 (2)在生成式人工智能兴起时,该公司就快速的将生成式人工智能整合到其热门产品中了,并取得了巨大成功。 (3)目前该公司的利

    2024年02月05日
    浏览(50)
  • 强人工智能与弱人工智能:有什么区别?

    我们通常将人工智能(AI)视为模仿人类思维的计算智能。然而,这种特征并不适用于所有人工智能系统,因为各种类型的人工智能具有不同的特征。人工智能中的两个主要类别是“强AI”和“弱AI”,代表了机器智能的不同方法。 现在,让我们看看强AI和弱AI之间的根本区别

    2024年02月07日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包