丝丝入扣,毫不违和,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开发平台,提供在线 ...
随机推荐
- [Servlet/Tomcat] HttpServletRequest#getHeader(headerNameWithIgnoreCase)(获取header时不区分大小写)
1 故事背景 最近项目上有个业务需求,翻译成技术需求,即:将request.headers中的几个header入参转换成request.body(pageRequest)中的内置参数. 为便于灵活配置 ...
- 「tricks」平凡二分幻术
其实这个的标题叫 平凡线段树上二分幻术,因为这是一个民科在乱叫. 如标题所言,这个东西确实非常 trivial.碍于网络上没有一个成体系的文章供参考就只能自己来炒炒冷饭. 如果出了什么 bug 就当个 ...
- ElasticSearch系列——倒排索引、删除映射类型、打分机制、配置文件、常见错误
文章目录 1 倒排索引 2 删除映射类型 一 前言 二 什么是映射类型? 三 为什么要删除映射类型? 四 映射类型的替代方法 4.1 将映射类型分开存储在索引中 4.2 自定义类型字段回到顶部 五 没 ...
- Django框架——中间件、Auth模块、ContentType
文章目录 一 什么是中间件 二 中间件有什么用 三 自定义中间件 process_request和process_response process_view process_exception pro ...
- IL编制器 --- Fody
介绍 这个项目的名称"Fody"来源于属于织巢鸟科(Ploceidae)的小鸟(Fody),本身意义为编织. 核心Fody引擎的代码库地址 :https://github.com/ ...
- 16.1 Socket 端口扫描技术
端口扫描是一种网络安全测试技术,该技术可用于确定对端主机中开放的服务,从而在渗透中实现信息搜集,其主要原理是通过发送一系列的网络请求来探测特定主机上开放的TCP/IP端口.具体来说,端口扫描程序将从指 ...
- js各种宽高的总结
1.clientWidth和clientHeight指元素的可视部分宽度和高度,就是padding+content如果没有滚动条,就是设定的宽度和高度 如果有滚动条,就是设定的宽度和高度减去滚动条的宽 ...
- Nginx-自动漂移VIP
自动漂移VIP-1 #!/bin/bash #2020-03-16 14:24 #auto change nginx vip.sh #By Precious ##################### ...
- 如何避免JavaScript中的内存泄漏?
前言 过去,我们浏览静态网站时无须过多关注内存管理,因为加载新页面时,之前的页面信息会从内存中删除. 然而,随着单页Web应用(SPA)的兴起,应用程序消耗的内存越来越多,这不仅会降低浏览器性能,甚至 ...
- Golang 面向对象深入理解
1 封装 Java 中封装是基于类(Class),Golang 中封装是基于结构体(struct) Golang 的开发中经常直接将成员变量设置为大写使用,当然这样使用并不符合面向对象封装的思想. G ...