真人AI写真的制作方法-文生图换脸

news2025/1/18 4:28:47

AI写真最近火起来了,特别是某款现象级相机的出现,只需要上传自己的照片,就能生成漂亮的写真照,这一产品再次带火了AI绘画。今天我就来分享一个使用Stable Diffusion WebUI制作真人AI写真的方法,不用训练,快速出图。具体就是使用Stable Diffusion的文生图能力和roop插件的换脸能力。

注意本文只是分享AI写真的制作技术,没有引导或教唆大家去恶搞别人,对于看了此文而去实施的换脸行为,本人概不负责。

安装插件

这里介绍两种安装方法,一是直接通过插件扩展器安装,二是手动上传安装。

安装成功后会在 Stable Diffusion WebUI 的“文生图”和“图生图”中看到这个插件的区块:

方法一

适合网络访问各种资源比较畅通的同学。

启动Stable Diffusion WebUI,操作流程如下图所示:

  1. 依次点击进入“扩展插件”->“从网址安装”;
  2. 在“git仓库网址”中输入:https://github.com/s0md3v/sd-webui-roop;
  3. 点击“安装”按钮;
  4. 等待出现“Use Installed tab to restart”的提示;
  5. 进入“已安装”页签,点击“应用并重启用户界面”。

注意,如果出现重启后页面超过5分钟还加载不出来的情况,去看下控制台或者终端日志。可能是因为下载插件所需模型的速度太慢了,如果下载需要的时间过长,我们可以直接中断下载,然后手动上传这些文件。具体如何操作,请看方法二。

方法二

适合访问 Github 和 HuggingFace 受限的用户。

运行此插件需要安装如下这些文件:

下载文件

有两种方法获取这些文件:

  • 自己手动从 Github 和 HuggingFace 下载这些文件;
    • sd-webui-roop: https://github.com/s0md3v/sd-webui-roop
    • ifnude: https://huggingface.co/s0md3v/nudity-checker/tree/main
    • models: https://huggingface.co/henryruhs/roop/resolve/main/inswapper_128.onnx
    • insightface: https://huggingface.co/public-data/insightface/tree/main/models/buffalo_l
  • 下载我已经整理好的压缩包。

关/注/公/众\号:萤火遛AI(yinghuo6ai),发送消息:换脸,即可获取压缩包下载地址。

部署文件

把下载下来的文件放到服务器的各个位置。

sd-webui-roop 放到 stable diffusion webui 的插件目录,具体位置是:stable-diffusion-webui/extensions/,如下图所示:

models 放到 stable diffusion 的根目录,我已经做好了目录结构,覆盖粘贴即可,如下图所示:

ifnude 和 insightface 稍微有点麻烦,需要放到用户根目录下,并且文件夹需要改成以英文的点开头。

以ifnude为例,

  • Windows下是:C:\Users\{你的登录用户名}\.ifnude
  • Linux下是 /root/.ifnude

对于 Linux 系统,将 ifnude 和 insightface 上传到 root 目录后,用下边的命令可以快速完成改名。

mv /root/ifnude /root/.ifnude
mv /root/insightface /root/.insightface

所有的文件都放置好以后,重启Stable Diffusion WebUI。

AutoDL用户快速操作指南:

通过文件管理器上传或者通过公网网盘下载文件到 autodl-tmp 目录,然后依次执行下边的命令:

unzip -o /root/autodl-tmp/roop-4-sd-webui.zip -d /root/

rm -Rf /root/__MACOSX

mv /root/sd-webui-roop /root/stable-diffusion-webui/extensions/sd-webui-roop

mv /root/models/* /root/stable-diffusion-webui/models

rm -Rf /root/models

mv /root/insightface /root/.insightface

mv /root/ifnude /root/.ifnude

通过 JupyterLab 重启 Stable Diffusion WebUI。

文生图换脸

我这里先用“文生图”生成一个30岁中国男人的照片,下面的参数只是给大家一个参考,只要能生成一张人像的图片就行了。不过如果你是个SD新手,就完全按照图片中的来吧,先搞出来再自定义。

具体生图参数如下:

大模型:realisticVisionV20(文章最后有下载地址)

提示词:ultra quality, masterpiece, best quality, 8k, UHD, a man, chinese, standing front of a desk, 30 years old, thin face,long hair, little smile, (looking at viewer), upper bpdy,solo, portrait photo, with a bookshelf behind, sense of technology,wide shot
反向提示词: EasyNegative, bad hands, bad fingers, glasses, worst quality, low quality, normal quality, skin spots, acnes, age spot, ugly, deformed

这里我用了“高分辨率修复”,让SD把图片放大1倍,看起来更清晰。另外还固定了“图像生成种子”,你如果想要不同的人物形象,记得把这个改成-1,也就是每次使用不同的种子。

下面是roop插件的设置,roop插件在下图所示的位置,点击右侧的箭头按钮展开设置页面。

这个插件我们只需要上传一张要替换的脸(我这里找了一个真正的大神照片),然后点击“启用”按钮就行了。

另外我把“Restore Face”也标了一下,这个是设置用什么技术修脸的,直接替换完的脸可能不太协调,用这个技术修一下,默认的是 CodeFormer,大家也可以用GFPGAN 对比下。

最后点击生成,等待出图(我感觉做到了形神兼备):

需要注意 roop 并不参与 Stable Diffusion 本身的生图流程,它是在Stable Diffusion出图完毕后,再去替换图片中的人脸的。

如果roop中有多张人脸,我们还可以选择要替换哪张脸,具体是修改下边这个参数,大家可以自己试试。

前边我提到AI写真这件事,使用文生图怎么做呢?

很简单,只需要一次生成多张照片,把生成种子设置为-1。为了让人物的姿势更加多样,我们还可以调整下关键词,比如我这里去掉了一些限制:

ultra quality, masterpiece, best quality, 8k, UHD, a man, chinese, front of a desk, 30 years old, thin face,long hair, little smile,solo, portrait photo, with a bookshelf behind, sense of technology,wide shot

看看我这里的出图效果:

图生图换脸

如果在图生图中换脸,需要将重绘强度设置为0,也就是不使用Stable Diffusion WebUI的的任何重绘能力,只使用roop提供的换脸能力。

提示词都不要填:

图生图这里上传要被替换人脸的照片:

采样器这里换一下,否则会报错;重绘强度设置为0。

roop插件这里,启用并上传要替换的人脸照片:

如果只想对脸部的某个区域进行更换,我们也可以使用蒙版进行局部绘制,操作方法如下图所示:

切换到“局部绘制”,上传照片,把人脸的部分区域加上蒙版,其它参数不变,点击生成就行了。

视频换脸

本文提到的换脸插件是 roop 项目衍生出来的,roop本身就是一个能对图片和视频换脸的工具。考虑到视频换脸和Stable Diffusion WebUI关系不大,我就不专门介绍了,有兴趣的可以关/注/我/的/公/众\号:萤火遛AI,回复:换脸,里边有一个独立的roop包,我也写了简单的使用方法,大家可以试试。


以上就是本文的主要内容了,有兴趣的同学快去试试吧。

注意本文只是分享一种使用AI制作写真的方法,其中用到了AI换脸技术,并没有引导或教唆大家去恶搞别人,对于看了此文而去实施的换脸行为,本人不能也概不负责。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/829431.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

专家论道: 唐贤香云纱塑造中国非遗国际品牌

自“香云纱染整技艺”入选第二批国家级非物质文化遗产以来,被誉为纺织界“软黄金”的香云纱,重新焕发青春,频频登上时尚舞台,以不一样的面貌展示在世人面前,成为服装设计师、消费者青睐的材质。而随着北京卫视播出的《…

【JAVA】 javaSE中的数组|数组的概念使用

数组的概念 什么是Java中的数组 数组:可以看成是相同类型元素的一个集合。在内存中是一段连续的空间。在java中,包含6个整形类型元素的数组,可以看做是酒店中连续的6个房间. 1. 数组中存放的元素其类型相同 2. 数组的空间是连在一起的 3…

MySQL系统数据库及常用工具指令介绍

文章目录 1.系统数据库2.常用工具2.1 -e指令2.2 mysqladmin指令2.3 mysqlbinlog指令2.4 mysqlshow指令2.5 mysqldump指令 数据备份2.6 mysqlimport/source 指令 数据导入 3.指令小结 1.系统数据库 2.常用工具 2.1 -e指令 不用登陆mysql直接执行脚本命令 mysql -h192.168.200.…

一 关于idea如何在svn进行项目下载并运行成功

安装svn客户端 如图 安装时请选择该选项(Will be installed on local hard drive)并选择自己想要安装的目录路径 如图 svn安装成功 如图 注意 安装完成后,使用svn进行一次checkout的项目导出完成以上五步时&…

量化:numpy基础

文章目录 ndarray创建array创建顺序数组改变数据类型nan筛选元素去重重塑 ndarray numpy最重要的一个特点是其N维数组对象ndarry,它是一系列同类型数据的集合 创建array ndarry的创建方式如下: numpy.array(object, dtype None, copy True, order …

线上通过Nginx部署前端工程,并且配置SSL

介绍、为了更好的帮助大家学习,减少歧义,IP地址我就不隐藏了,公司也是我自己的公司。你们就别来攻击了。 下面给出步骤: 一、前期准备工作 通过在目标服务器上安装宝塔面板、安装redis、mysql、nginx、jdk环境等 1、 2、前端工程通过npm run build 打…

需要买apple pencil吗?平价的ipad手写笔推荐

自从ipad等平板电脑开始使用电容笔以来,电容笔已经成功地代替了我们的双手,使得我们的书写速度得到了极大的提高。但是,因为苹果原装的电容笔,因为具有独特的压感以及芯片技术,所以其的价格始终居高不下,这…

IntelliJ IDEA 2023.2社区版插件汇总

参考插件帝:https://gitee.com/zhengqingya/java-developer-document 突发小技巧:使用插件时要注意插件的版本兼容性,并根据自己的实际需求选择合适的插件。同时,不要过度依赖插件,保持简洁和高效的开发环境才是最重要…

APP开发中的性能优化:提升用户满意度的关键

APP开发中的性能优化是需要持续进行的,它不仅能够让用户体验到 APP的使用感受,还能在一定程度上提升用户的满意度,从而提升 APP的粘性和转化率。不过在实际开发中,很多 APP开发公司会存在性能优化上的问题,这就需要了解…

蓝网科技股份有限公司存在SQL注入

书把他从沉重的生活中拉出来,使他的精神不致被劳动压的麻木不仁。通过不断地读书,他认识到,只有一个人对世界了解得更广大,对人生看得更深刻,那么,他才可能对自己所处的艰难和困苦有更高意义的理解&#xf…

ChatGLM-6B大模型微调实战总结

作者简介:赵辉,区块链技术专家,精通各种联盟链、公链的底层原理,拥有丰富的区块链应用开发经验。 上篇我们已经具备了 ChatGLM-6B 初步的运行环境,这为实现完全属于自己的模型奠定了基础(快速部署ChatGLM-6…

LeetCode·每日一题·722. 删除注释·模拟

题目 示例 思路 题意 -> 给定一段代码,将代码中的注释删除并返回。 由于注释只有两种类型: 字符串// 表示行注释,表示//和其右侧的其余字符应该被忽略。字符串/* 表示一个块注释,它表示直到下一个(非重叠&#x…

怎么设置文件夹密码?文件夹密码设置方法合集

为文件夹设置密码可以有效地保护文件夹的数据安全,那么该怎么设置文件夹密码呢?下面我们来一起了解一下。 文件夹保护3000 想要简单快捷的为文件夹设置密码,那么,文件夹保护3000就是最佳的选择。它提供了3种文件夹保护方式&#…

基于SpringBoot+Vue的CSGO赛事管理系统设计与实现(源码+LW+部署文档等)

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

微信小程序使用editor富文本编辑器 以及回显 全屏弹窗的模式

<!--富文本接收的位置--><view class"white-box"><view class"title"><view class"yellow-fence"></view><view class"v1">教研记录</view></view><view class"add-btn"…

C语言基础知识——结构体和共用体

1. 结构体 1.1 初识结构体 C语言的结构体是一种自定义的 数据类型&#xff0c;它允许你将不同类型的数据组合在一起&#xff0c;形成一个新的数据类型&#xff0c;以便更方便地管理和操作这些数据。结构体可以包含多个成员&#xff08;也称为字段或属性&#xff09;&#xff0…

使命、愿景、价值观到底有什么区别

以前的企业都是在发展到一定成熟阶段&#xff0c;才开始考虑这三个问题。但今天人们越来越多的意识到&#xff0c;哪怕在企业发展的初期&#xff0c;对于创业企业来说&#xff0c;确定公司的使命、愿景和核心价值观也是非常重要的。 明确的使命、愿景和核心价值观对于企业的好…

搭建k8s集群!!!

注意 k8s集群第一次搭建的话是麻烦且又繁琐的,大家不要着急,静下心来,一步一步搭建即可 linux网关及虚拟机下载不会弄的问题请详细看 linux的搭建及网关配置 这篇文章【也在此专栏】 环境规划 硬件环境 cpu 至少2核 内存 至少3G 硬盘 至少40G 软件环境 操作…

从录取成绩的角度来看,浙大MPA面试的客观公正性是有一定依据的

时间即将来到八月份&#xff01;不知道目前考生们今年的备考情况怎么样了&#xff0c;度过比较煎熬的三伏天&#xff0c;距离考研冲刺的时间越来越近&#xff01; 提前批面试申请对于不同的项目以及不同的考生意义都不一样。比如真正的学霸人物对于提面的申请与不申请一般差别不…

自建HTTP代理池的四大优势

对于爬虫技术人员来说&#xff0c;使用http代理ip可以解决网页访问受限的问题。有人会直接购买成品的HTTP代理池&#xff0c;也有很多人会自己搭建http代理ip进行使用&#xff0c;自建HTTP代理池具有许多特点&#xff0c;为爬虫技术人员提供了有别于使用第三方代理服务的优势。…