丝丝入扣,毫不违和,AI一键换脸和微调,基于Rope-Ruby,2024最新整合包

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最新整合包的更多相关文章
- 云原生的弹性 AI 训练系列之一:基于 AllReduce 的弹性分布式训练实践
引言 随着模型规模和数据量的不断增大,分布式训练已经成为了工业界主流的 AI 模型训练方式.基于 Kubernetes 的 Kubeflow 项目,能够很好地承载分布式训练的工作负载,业已成为了云原生 ...
- 七夕节来啦!AI一键生成情诗,去发给你的女朋友吧!
[摘要] Hello大家好,今天就是七夕节了,为了增进和女朋友之间的情感,我写了一个自动生成情诗的AI: 大家可以在ModelArts尝试复现模型,然后快去发给你们的女朋友吧- 大家好,我是b站up主 ...
- [AI开发]centOS7.5上基于keras/tensorflow深度学习环境搭建
这篇文章详细介绍在centOS7.5上搭建基于keras/tensorflow的深度学习环境,该环境可用于实际生产.本人现在非常熟练linux(Ubuntu/centOS/openSUSE).wind ...
- 如何一步步使用国内yum源一键安装openstack-ocata版本基于centos7
写在前面的话,在网上看了一个国外的一键安装视频,我也照着做,结果出现很多错误,现在把坑解决了,照着做肯定能安装成功的 环境 virtualhost 下的centos7 配置 双网卡 一个10网段,na ...
- AI 制作 3D 素材|基于 AI 5 天创建一个农场游戏,第 3 天
欢迎使用 AI 进行游戏开发! 在本系列中,我们将使用 AI 工具在 5 天内创建一个功能完备的农场游戏.到本系列结束时,您将了解到如何将多种 AI 工具整合到游戏开发流程中.本文将向您展示如何将 A ...
- 人工智能AI图像风格迁移(StyleTransfer),基于双层ControlNet(Python3.10)
图像风格迁移(Style Transfer)是一种计算机视觉技术,旨在将一幅图像的风格应用到另一幅图像上,从而生成一幅新图像,该新图像结合了两幅原始图像的特点,目的是达到一种风格化叠加的效果,本次我们 ...
- 艾伦AI研究院发布AllenNLP:基于PyTorch的NLP工具包
https://www.jiqizhixin.com/articles/2017-09-09-5 AllenNLP 可以让你轻松地设计和评估几乎所有 NLP 问题上最新的深度学习模型,并同基础设施一起 ...
- AI智能剪辑,仅需2秒一键提取精彩片段
如今短视频已成为人们娱乐社交的主要形式,很多用户也开始由观众逐渐转变为短视频制作传播者,然而复杂的视频剪辑工具却令他们望而止步.如何才能降低短视频制作剪辑门槛,让更多无经验者也能制作出优质的短视频内容 ...
- HUAWEI HiAI亮相华为开发者生态大会 助力应用AI开发实现加速度
6月23日,在2018华为终端·全球合作伙伴及开发者大会AI分论坛体验区的一角,被层层叠叠的人群围得水泄不通.站在最前面的一名体验者,正跟随着“快手短视频”APP上不断出现的小人左右扭动,每完成一个动 ...
- 百度AI开发平台简介
AIstudio https://aistudio.baidu.com/aistudio/index 关于AI Studio AI Studio是基于百度深度学习平台飞桨的一站式AI开发平台,提供在线 ...
随机推荐
- MySQL实战实战系列 03 事务隔离:为什么你改了我还看不见?
提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务.最经典的例子就是转账,你要给朋友小王转 100 块钱,而此时你的银行卡只有 100 块钱. 转账过程具体到程序里会有一系列的操作,比如 ...
- 对某个接口进行限流 以 Aop 注解的形式绑定接口 用redis实现
简单的针对某个接口进行限流,如果需要整体限流的话还是建议在网关上面或者服务器上面动手Controller: @LimitRequest(count = 1,time = 60 * 1000 * 2) ...
- oracle 12C提示:ORA-28001口令已经失效
oracle 12C 提示口令已经失效,此用户是pdb用户,解决办法:1 系统管理员身份登陆 sqlplus / as sysdba 2 转到对应的pdb容器中 alter session set c ...
- 【matplotlib 实战】--折线图
折线图是一种用于可视化数据变化趋势的图表,它可以用于表示任何数值随着时间或类别的变化. 折线图由折线段和折线交点组成,折线段表示数值随时间或类别的变化趋势,折线交点表示数据的转折点. 折线图的方向表示 ...
- .Net析构函数再论(CLR源码级的剖析)
前言 碰到一些问题,发觉依旧没有全面了解完全析构函数.本篇继续看下析构函数的一些引申知识. 概述 析构函数目前发现的总共有三个标记,这里分别一一介绍下.先上一段代码: internal class P ...
- Jmeter连接数据库sql语句操作,查询后取值做变量
第一步 :导入jar包 第二步 :创建JDBC Reques 第三步 :创建JDBC Connection Configuration 第四步:在request中输入数据进行操作 Query Typ ...
- 【前端小技巧】如何使用 Eolink Apilkit 调用 Mock ?
在开发过程中,进度比较赶的情况下,前端人员当页面写完时,后台的接口还没写完,等要交付的时候后端才把接口给你,这个时候就很尴尬. 这个时候 Mock 就可以很好的解决这个问题,前端团队可以在 API 还 ...
- 算法修养--广度优先搜索BFS
广度优先算法(BFS) 广度优先算法(Breadth-First Search)是在图和树领域的搜索方法,其核心思想是从一个起始点开始,访问其所有的临近节点,然后再按照相同的方式访问这些临近节点的节点 ...
- 深入理解 Python 虚拟机:协程初探——不过是生成器而已
深入理解 Python 虚拟机:协程初探--不过是生成器而已 在 Python 3.4 Python 引入了一个非常有用的特性--协程,在后续的 Python 版本当中不断的进行优化和改进,引入了新的 ...
- DRTREE - Dynamically-Rooted Tree 题解
DRTREE - Dynamically-Rooted Tree 本题建议评蓝. 思路: 题目就是要对一颗不定根树求子树权值和. 这题不带修,如果带修难度会增加一点,就跟 遥远的国度 差不多. 首先分 ...