aigc修复美颜学习笔记

目录

GFPGAN进行图像人脸修复

美颜

修复畸形手势


GFPGAN进行图像人脸修复

原文:本地使用GFPGAN进行图像人脸修复_人相修复处理网页 csdn-CSDN博客

人脸修复
1.下载项目和权重文件
2.部署环境
3.下载权重文件
4.运行代码
5.网页端体验
首先来看一下效果图

1.下载项目和权重文件
https://github.com/iptop/GFPGAN-for-Video.git
1
2.部署环境
根据README文件部署好环境,额外还需要:

cd GFPGAN-1.3.8
python setup.py develop
1
2
3.下载权重文件
可提前下载好权重文件(也可以等运行代码的时候,自动下载)权重文件的url:
https://ghproxy.com/https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth
https://github.com/xinntao/facexlib/releases/download/v0.1.0/detection_Resnet50_Final.pth
https://github.com/xinntao/facexlib/releases/download/v0.2.2/parsing_parsenet.pth
下载好的权重文件放在路径./GFPGAN-for-Video/gfpgan/weights下

安利一个github文件下载加速网站:https://ghproxy.com/

4.运行代码
原代码是用来修复视频,但是我用了后没发现有啥效果,所以暂时只是用来修复图片
在./GFPGAN-for-Video/src路径下创建脚本image_enhance.py

import argparse
import cv2
from utils.restorer import Restorerdef videoEnhance (image_path , output_image_path):restorer = Restorer()image = cv2.imread(image_path)frame = restorer.enhance(image)cv2.imwrite(output_image_path, frame)return Truedef main():parser = argparse.ArgumentParser()parser.add_argument('-i','--input',type=str,required=True,metavar='请输入要处理的图片文件路径',help='请输入要处理的图片文件路径')parser.add_argument('-o','--output',type=str,required=True,metavar='请输入输出图片的路径',help='请输入输出图片的路径')args = parser.parse_args()videoEnhance(args.input, args.output)if __name__ == '__main__':main()



运行脚本就可得到修复后的图片了

python src/image_enhance.py -i input.png -o output.png
1
5.网页端体验
Hugging Face网页端:https://huggingface.co/spaces/Xintao/GFPGAN
我试了下速度很慢
————————————————
版权声明:本文为CSDN博主「咚咚锵咚咚锵」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45977690/article/details/132695954

美颜

参考:

AIGC-照片美颜精修解决方案_WebUI_效果_模型

这个方案中的难点:如何有效保留用户原图信息,如何使用有效的磨皮美颜prompt达到美颜效果;

具体实现

1.StableDiffusion大模型选择

美颜效果主要表现为皮肤白皙,没有褶皱,斑点,雀斑,法令纹,眼角纹,痣等等,为了达到这类效果,我们首先要选择合适的SD模型,这里我们选择ChilloutMix模型,具体下载地址:

C站地址:ChilloutMix | Stable Diffusion Checkpoint | Civitai

huggingface地址:swl-models/chilloutmix at main (huggingface.co)

这个模型的效果举例如下:

2.有了大模型之后,我们以WebUI为例,进行分析,打开WebUI,由于我们要进行修图,所以,我们需要选择img2img模式,在该模式下选择ChilloutMix大模型。我们选择一张测试图,如下图:

导入WebUI后,如图所示。

3.叠加两个Controlnet控制,分别为canny边缘控制、depth深度信息控制,参数设置分别如下( 选用canny和depth的原因是我们需要通过边缘和深度信息尽可能的保留用户原图信息):

4.img2img参数设置

这里提供美颜专用的prompt:

positive:masterpiece,best quality,high res, (photorealistic:1.4),(red face blush:1.2),red lips,extremely detailed

negative:(worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality,(skin spots:2), acne,acne marks,mole (skin blemishes:2), (age spot:2), watermark,signature water mark

主要描述说明:

face blush:腮红

red lips:红色唇彩

skin spots:皮肤斑点

acne:雀斑

age spot:老年斑

skin blemishes:皮肤瑕疵

mole:痣

对于Prompt描述,我们可以自行研究,这里给的主要是磨皮和简单的唇彩腮红效果,实际上可以定义各种人脸效果,包括肤色调节,美白,妆容等等,这也就是AIGC做人像美颜的优越性体现。除了这些参数之外,其他参数设置:

5.基于上述参数设置,点击运行,效果图如下:

原图 AIGC生成效果

通过修改描述词,微调效果如下:

上述效果我们仔细看会发现,其实与原图还是有一些差别的,这些差别在某些情况下会导致不像用户,为此,我们做到这里并没有结束,我们需要挑选我们想要的美颜区域,叠加到用户原图之上,以此来保证用户ID相似性。

4.img2img参数设置

这里提供美颜专用的prompt:

positive:masterpiece,best quality,high res, (photorealistic:1.4),(red face blush:1.2),red lips,extremely detailed

negative:(worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality,(skin spots:2), acne,acne marks,mole (skin blemishes:2), (age spot:2), watermark,signature water mark

主要描述说明:

face blush:腮红

red lips:红色唇彩

skin spots:皮肤斑点

acne:雀斑

age spot:老年斑

skin blemishes:皮肤瑕疵

mole:痣

对于Prompt描述,我们可以自行研究,这里给的主要是磨皮和简单的唇彩腮红效果,实际上可以定义各种人脸效果,包括肤色调节,美白,妆容等等,这也就是AIGC做人像美颜的优越性体现。除了这些参数之外,其他参数设置:

修复畸形手势

听说这个不是特别好:

1. **HandRefiner 修复畸形手势**
    
    优点:免费,提示词
    
    🔥Huggingface平台AI应用:https://huggingface.co/spaces/fffiloni/HandRefiner

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

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

相关文章

uni-app的项目创建和环境搭建

uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。 第一步…

clip安装使用教程

1.配置环境 安装依赖 pip install transformers pip install torch 看缺失什么包自己先安装好 2.安装clip 进入https://github.com/openai/CLIP,先将CLIP文件夹下载到本地,随便什么位置。即点击下图中的Download ZIP,下载到本地后进行解压…

HNU-编译原理-实验2-Bison

编译原理实验2Bison 计科210X 甘晴void 202108010XXX 实验要求 详细的实验项目文档为 https://gitee.com/coderwym/cminus_compiler-2023-fall/tree/master/Documentations/lab2 实验步骤 本次实验需要在 Lab1 已完成的 flex 词法分析器的基础上,进一步使用 b…

某侠网js逆向wasm解析

本次目标地址如下,使用base64解密获得 aHR0cHM6Ly93d3cud2FpbWFveGlhLm5ldC9sb2dpbg 打开网址,本次的目标是登录接口,如下图 本文主要讲解wasm的解析,所以对其他参数不做逆向处理,本次由wasm加密的参数只有sign一个&a…

DApp:去中心化的革命与挑战

DApp(去中心化应用)是一种基于区块链技术的应用程序,与传统的中心化应用程序不同,DApp具有去中心化、透明、不可篡改等特性。本文将介绍DApp的前世今生,以及它的优势和未来发展。 DApp的前世可以追溯到区块链技术的出现…

Java函数式编程最佳实践

别人说烂了的stream api不就不想赘述了,我想和大家分享一下,如何用函数式编程来简化我们的开发,想说点不一样的东西 转载链接 简化事务 对于事务而言,应该粒度越小越好,并且读写逻辑应该分开,只在写的逻辑…

运维工具之tmux命令

tmux终端复用器的使用 1.tmux的概念 ​ tmux,“Terminal MultipleXer”,意思是"终端复用器"。是一个可以让人们通过一个窗口操作多个会话的工具,对于经常操作Linux系统的运维人员来说,绝对是一款提高工作效率的利器。 2.tmux能帮…

Kubernetes API 和流量控制:管理请求数量和排队进程

本文描述了我们最近遇到的一个真实案例:Kubernetes API 因其中一个集群中的大量请求而瘫痪。今天,我们将讨论我们如何处理这个问题,并提供一些关于如何预防它的提示。 高并发搞崩 Kubernetes API 一个非常普通的早晨,我们开始了…

【计算机二级考试C语言】C存储类

C 存储类 存储类定义 C 程序中变量/函数的存储位置、生命周期和作用域。 这些说明符放置在它们所修饰的类型之前。 下面列出 C 程序中可用的存储类: autoregisterstaticextern auto 存储类 auto 存储类是所有局部变量默认的存储类。 定义在函数中的变量默认为…

【linux】挂载U盘

cd /dev 进入/dev目录。在Linux系统中,/dev目录是设备文件的存储位置,包括硬件设备(如磁盘、网卡等)和虚拟设备(如tty、null等)。 fdisk -l 查看所有磁盘和分区的列表,最后一行就是usb设备的信息…

SSC | Blue Prism报告:2024年智能自动化(IA)7大趋势预测

近日,RPA行业领导者SS&C | Blue Prism发布《2024智能自动化(IA)趋势与预测》报告。报告中提到,智能自动化(IA)与流程管理的有效融合,是实现数字化转型成功的核心。采用业务流程管理&#xf…

免费开源OCR 软件Umi-OCR

Umi-OCR 是一款免费、开源、可批量的离线 OCR 软件,基于 PaddleOCR,适用于 Windows10/11 平台 免费:本项目所有代码开源,完全免费。方便:解压即用,离线运行,无需网络。高效:自带高效…

selenium-鼠标、等待

1、鼠标操作 常见鼠标操作包含在selenium.webdriver.common.action_chains的ActionChains 类中,常用的方法: context_click() 右击 double_click() 双击 click_and_hold() 左击悬停 move_to_element() 鼠标悬停 drag_and_drop() 拖动perform() 执行Acti…

【第十六节】变量与运算符-常见进制的理解与二进制转十进制的操作

计算机底层的存储都是二进制存储的 进制的分类 十进制 数字组成:0-9 进位规则:满十进一 二进制 数字组成:0-1 进位规则:满二进一 ,以0b或0B开头 八进制 数字组成 :0-7 进位规则:满8进…

ElasticSearch使用篇

目录 一、 概述 二、创建索引 三、查询索引 四、删除索引 五、修改索引 六、批量操作 6.1 批量写入 6.2 批量创建文档create 6.3 普通创建或全量替换index 6.4 批量删除delete 6.5 批量修改update 6.6 组合应用 6.7 批量读取 一、 概述 es的操作是基于 Restful 风格…

数组的定义与越界问题

scanf标准读取函数 第一个冷知识,输入到scanf里面的内容都是字符串形式,但是! scanf(“%d”,&a),%d决定了如何对输入的字符串进行操作 scanf用来读取标准输入,标准输入的内容需要放入到某个变量空间中去,因此变量…

Python数据分析案例34——IMDB电影评论情感分析(Transformer)

电影评论的情感分析 案例背景 很多同学对电影系列的数据都比较喜欢,那我就补充一下这个最经典的文本分类数据集,电影情感评论分析。用神经网络做。对国外的英文评论文本进行分类,看是正面还是负面情感。 数据集介绍 数据集:IMDb…

Python Tkinter Pack布局管理器

GUI 编程就相当于小孩子搭积木,每个积木块应该放在哪里,每个积木块显示为多大,也就是对大小和位置都需要进行管理,而布局管理器正是负责管理各组件的大小和位置的。此外,当用户调整了窗口的大小之后,布局管…

openssl3.2 - 官方demo学习 - pkey - EVP_PKEY_RSA_keygen.c

文章目录 openssl3.2 - 官方demo学习 - pkey - EVP_PKEY_RSA_keygen.c概述笔记END openssl3.2 - 官方demo学习 - pkey - EVP_PKEY_RSA_keygen.c 概述 官方指出 : RSA key 如果小于2048位, 就属于弱key 官方demo中, 给出的默认key长度为4096位 从名字生成上下文 初始化上下文…