AI换脸已经不是什么时新的技术了,从DeepFace到Facesweap,再到Roop。AI换脸技术中出现了一种名为“一键换脸”的方法,它不需要训练模型。这种方法利用了名为“GHOST”的技术,它是一种新的一键换脸方法,可以用于图像和视频领域。

这种技术采用了先进的生成对抗网络(GAN)、自动编码器等方法,可以实现精确和稳健的换脸效果。GHOST技术的特点是可以在不需要训练模型的情况下进行换脸,从而实现快速、简单的操作。这种方法的优势在于可以快速生成换脸图像或视频,而无需进行复杂的训练过程。

本次我们基于Rope-Ruby来进行换脸,把复联4中惊奇队长的脸型进行替换。

Rope-Ruby是基于深度学习技术的换脸应用。它实现了insightface inswapper_128模型,并提供了一个用户友好的图形用户界面(GUI)。该模型使用GFPGAN(Generative Face Completion and Editing with GANs)技术,这是一种基于生成对抗网络(GAN)的人脸编辑技术。GFPGAN技术可以实现快速的人脸交换,包括高清晰度的人脸交换、面部特征调整、方向管理等功能。此外,Rope-Ruby还支持自动保存文件名生成、视频分段录制、实时播放器等功能,使用户能够轻松地进行人脸编辑和视频处理。

Rope-Ruby项目配置

首先克隆项目:

https://github.com/Hillobar/Rope.git

随后进入项目的目录:

cd Rope

安装依赖:

pip install -r requirements.txt

随后去Google网盘下载所有的预训练模型:

https://github.com/Hillobar/Rope/releases/tag/Sapphire

解压后将其放入到项目的models目录。

该项目依赖FFMPEG,所有别忘了本地安装FFMPEG:

winget install ffmpeg

至此,项目就配置好了。

Rope-Ruby简单换脸

在根目录运行:

python3 Rope.py

会弹出UI界面:

首先选择beachmark选择要进行替换脸型的视频所在目录。

随后点击main/face,选择要替换脸型图片所在的目录。

接着,拖动播放条,选择一帧全脸画面,点击find,进行人脸匹配:

随后点击Swap按钮进行替换即可,替换后效果:

Rope-Ruby换脸微调

但其实默认的替换效果并不尽如人意,Rope-Ruby支持对脸型和效果滤镜进行微调,这也是Rope-Ruby最大的特色之一。

首先点击,show masks打开脸部蒙版。

随后调整GFPGAN滤镜,使用鼠标滚轮调整即可,该权重可以调整清晰度。

Blur参数可以调整边缘模糊。

Strength参数调整目标脸型的强度系数。

diff参数调整原脸型的显示权重,用来调整脸型之间的融合度。

更多参数请参见官网的wiki:

https://github.com/Hillobar/Rope/wiki

调整完毕后关闭蒙版,程序会自动替换脸型。

此时拉到第一帧,选择输出目录。

点击录制按钮,播放视频。

播放完毕后,会在输出目录生成替换的视频,这里选择根目录的resutls文件夹:

E:\work\Rope-main\results>tree /f
Folder PATH listing for volume myssd
Volume serial number is 7CE3-15AE
E:.
av4_1704180456.mp4 No subfolders exist

当然,如果不喜欢在UI界面中微调,也可以手动修改根目录的data.json文件:

{"source videos": "E:/work/Rope-main/benchmark", "source faces": "E:/work/Rope-main/face", "saved videos": "E:/work/Rope-main/results", "threads": 1, "dock_win_geom": [980, 916, 373, 26], "undock_win_geom": [980, 517, 453.5, 23.5], "player_geom": [1024, 768, 453.5, 23.5]}

对参数进行调整即可。

结语

Rope-ruby换脸技术的优势在于其灵活性、可定制性,它提供了丰富的API和功能,使得开发人员可以根据自己的需求进行定制化开发。这意味着你可以根据项目的具体要求来调整和优化换脸算法,以满足不同的应用场景。

奉上基于Python3.10虚拟环境技术进行打包的一键整合包:

整合包链接:https://pan.quark.cn/s/1602263cce92

当然,很多因此产生了许多大胆想法的绅士们还需要注意,网络并非法外之地,点击替换按钮的那一刻,还需谨慎,所谓:君子慎独,不欺暗室。 卑以自牧,含章可贞。

丝丝入扣,毫不违和,AI一键换脸和微调,基于Rope-Ruby,2024最新整合包的更多相关文章

  1. 云原生的弹性 AI 训练系列之一:基于 AllReduce 的弹性分布式训练实践

    引言 随着模型规模和数据量的不断增大,分布式训练已经成为了工业界主流的 AI 模型训练方式.基于 Kubernetes 的 Kubeflow 项目,能够很好地承载分布式训练的工作负载,业已成为了云原生 ...

  2. 七夕节来啦!AI一键生成情诗,去发给你的女朋友吧!

    [摘要] Hello大家好,今天就是七夕节了,为了增进和女朋友之间的情感,我写了一个自动生成情诗的AI: 大家可以在ModelArts尝试复现模型,然后快去发给你们的女朋友吧- 大家好,我是b站up主 ...

  3. [AI开发]centOS7.5上基于keras/tensorflow深度学习环境搭建

    这篇文章详细介绍在centOS7.5上搭建基于keras/tensorflow的深度学习环境,该环境可用于实际生产.本人现在非常熟练linux(Ubuntu/centOS/openSUSE).wind ...

  4. 如何一步步使用国内yum源一键安装openstack-ocata版本基于centos7

    写在前面的话,在网上看了一个国外的一键安装视频,我也照着做,结果出现很多错误,现在把坑解决了,照着做肯定能安装成功的 环境 virtualhost 下的centos7 配置 双网卡 一个10网段,na ...

  5. AI 制作 3D 素材|基于 AI 5 天创建一个农场游戏,第 3 天

    欢迎使用 AI 进行游戏开发! 在本系列中,我们将使用 AI 工具在 5 天内创建一个功能完备的农场游戏.到本系列结束时,您将了解到如何将多种 AI 工具整合到游戏开发流程中.本文将向您展示如何将 A ...

  6. 人工智能AI图像风格迁移(StyleTransfer),基于双层ControlNet(Python3.10)

    图像风格迁移(Style Transfer)是一种计算机视觉技术,旨在将一幅图像的风格应用到另一幅图像上,从而生成一幅新图像,该新图像结合了两幅原始图像的特点,目的是达到一种风格化叠加的效果,本次我们 ...

  7. 艾伦AI研究院发布AllenNLP:基于PyTorch的NLP工具包

    https://www.jiqizhixin.com/articles/2017-09-09-5 AllenNLP 可以让你轻松地设计和评估几乎所有 NLP 问题上最新的深度学习模型,并同基础设施一起 ...

  8. AI智能剪辑,仅需2秒一键提取精彩片段

    如今短视频已成为人们娱乐社交的主要形式,很多用户也开始由观众逐渐转变为短视频制作传播者,然而复杂的视频剪辑工具却令他们望而止步.如何才能降低短视频制作剪辑门槛,让更多无经验者也能制作出优质的短视频内容 ...

  9. HUAWEI HiAI亮相华为开发者生态大会 助力应用AI开发实现加速度

    6月23日,在2018华为终端·全球合作伙伴及开发者大会AI分论坛体验区的一角,被层层叠叠的人群围得水泄不通.站在最前面的一名体验者,正跟随着“快手短视频”APP上不断出现的小人左右扭动,每完成一个动 ...

  10. 百度AI开发平台简介

    AIstudio https://aistudio.baidu.com/aistudio/index 关于AI Studio AI Studio是基于百度深度学习平台飞桨的一站式AI开发平台,提供在线 ...

随机推荐

  1. Ds100p -「数据结构百题」总集

    (来自 2021 的 ps:这个页面是几百年前写的,很丑,caution!) 前言 \(\qquad \qquad \qquad\)ljs搞了一个dp100题,然后lyc告诉我我们搞一个数据结构100 ...

  2. 使用Debian 11基础镜像制作java8镜像

    下面是dockerfile内容: FROM debian:bullseye # 切换apt源为清华源,并安装vim ping telnet命令 RUN apt-get update && ...

  3. oracle优化-分页查询新认识

    在写这篇文章之前,对分页查询的认识就是经典的三层嵌套:第①层:获得需要的数据,第②层:用rownum限制展示数据的上限,第③层:用rownum的别名rn限制展示数据的下限. 在生产中遇见一个两层嵌套满 ...

  4. Go 常用命令介绍

    Go 常用命令 目录 Go 常用命令 一.Go 常用命令 1.1 go build 1.1.1 指定输出目录 1.1.2 常用环境变量设置编译操作系统和 CPU 架构 1.1.3 查看支持的操作系统和 ...

  5. HCTF 2023 wp

    HCTF 2023 wp 一.Misc 1.玩原神玩的 分析:附件为一张图片 观察最后一行,明显有flag的格式 搜索得知是 对照得flag为:hctf{yuanlainiyewanyuanshenh ...

  6. SharedArrayBuffer is not defined 问题的解决以及服务器https证书的配置

    问题 前端使用了ffmpeg压缩组件,在运行项目出现 SharedArrayBuffer is not defined的问题,使项目不能正常运行,经过网上查询,需要在response加入以下的head ...

  7. MVC(JSP+JavaBean+Servlet)入门实例:用户登陆验证

    一.JSP.JavaBean.Servlet的区别 1.JSP:JSP通过在标准的HTML页面中嵌入Java代码,其静态的部分无效Java程序控制,只有那些需要从数据库读取或需要动态生成的页面内容,才 ...

  8. 快速教程|如何在 AWS EC2上使用 Walrus 部署 GitLab

    Walrus 是一款基于平台工程理念的开源应用管理平台,致力于解决应用交付领域的深切痛点.借助 Walrus 将云原生的能力和最佳实践扩展到非容器化环境,并支持任意应用形态统一编排部署,降低使用基础设 ...

  9. SpringBoot 项目优雅实现读写分离

    一.读写分离介绍 当使用Spring Boot开发数据库应用时,读写分离是一种常见的优化策略.读写分离将读操作和写操作分别分配给不同的数据库实例,以提高系统的吞吐量和性能. 读写分离实现主要是通过动态 ...

  10. 反转字符串里的单词(leetcode 4.10每日打卡)

    给定一个字符串,逐个翻转字符串中的每个单词.   示例 1: 输入: "the sky is blue"输出: "blue is sky the" 示例 2: ...