丝丝入扣,毫不违和,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开发平台,提供在线 ...
随机推荐
- 文心一言 VS 讯飞星火 VS chatgpt (97)-- 算法导论9.3 3题
三.用go语言,假设所有元素都是互异的,说明在最坏情况下,如何才能使快速排序的运行时间为O(nlgn). 文心一言: 快速排序是一种基于分治策略的排序算法,其平均时间复杂度为O(nlgn).在最坏情况 ...
- Java 21 新特性:Record Patterns
Record Patterns 第一次发布预览是在JDK 19.随后又在JDK 20中进行了完善.现在,Java 21开始正式推出该特性优化.下面我们通过一个例子来理解这个新特性. record Po ...
- Django框架——模板层
文章目录 1 模板层 一 模版简介 二 模版语法之变量 views.py html文件 三 模版之过滤器 语法: default length filesizeformat date slice tr ...
- vue项目使用lodash节流防抖函数问题与解决
背景 在lodash函数工具库中,防抖_.debounce和节流_.throttle函数在一些频繁触发的事件中比较常用. 防抖函数_.debounce(func, [wait=0], [options ...
- Java 中 extends 与implements 的区别 ?
一.介绍extends 与 implements 的概念 1.类与类之间的继承使用extends : 子类extends父类的属性和方法,并且进行扩展或者重写. // 父类 class Animal ...
- python制作定时发送信息脚本
文章中提到的菜单是右下角这个 需求 我们需要做到打开微信获取输入框焦点及输入 思路 1,获取到右下角菜单的坐标和菜单中微信的坐标以及输入框的坐标 2,定时,用time.sleep()来定义多长时间后触 ...
- 英方软件和dell emc对比理解
英方软件和dell emc对比理解: 英方软件 功能 对比dell emc理解 i2Availability 1.英方实现业务高可用的时候,要求在异地运行与生产机环境一致的备机,备机数据实时与生产机同 ...
- umich cv-5-1 神经网络训练1
这节课中介绍了训练神经网络的第一部分,包括激活函数的选择,权重初始化,数据预处理以及正则化方法 训练神经网络1 激活函数 数据预处理 权重初始化 正则化方法 激活函数 这部分主要讨论我们之前提到的几种 ...
- mybatis 操作 mysql 大批量插入,数据分页处理
/** * 大批量插入,数据分页处理 * * @param tableName 临时表名称 * @param mapHead 临时表属性 Map,key = 临时表字段属性, value = 具体值. ...
- 彻底掌握Python中 * 号
Python中的 *号是一个特殊的符号,在其他编程语言中,它最广为人知的用途就是作为乘法运算的符号.而在Python中,它的用途远不止如此. 本文总结了Python中*号的所有用途,以供参考. 1. ...