diffusers-Inpainting

原文链接:添加链接描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
白色mask区域仅使用生成出来的,非白色mask区域使用原始影像,但是图像有点不平滑

import PIL
import numpy as np
import torchfrom diffusers import AutoPipelineForInpainting
from diffusers.utils import load_image, make_image_griddevice = "cuda"
pipeline = AutoPipelineForInpainting.from_pretrained("runwayml/stable-diffusion-inpainting",torch_dtype=torch.float16,
)
pipeline = pipeline.to(device)img_url = "https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png"
mask_url = "https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png"init_image = load_image(img_url).resize((512, 512))
mask_image = load_image(mask_url).resize((512, 512))prompt = "Face of a yellow cat, high resolution, sitting on a park bench"
repainted_image = pipeline(prompt=prompt, image=init_image, mask_image=mask_image).images[0]
repainted_image.save("repainted_image.png")# Convert mask to grayscale NumPy array
mask_image_arr = np.array(mask_image.convert("L"))
# Add a channel dimension to the end of the grayscale mask
mask_image_arr = mask_image_arr[:, :, None]
# Binarize the mask: 1s correspond to the pixels which are repainted
mask_image_arr = mask_image_arr.astype(np.float32) / 255.0
mask_image_arr[mask_image_arr < 0.5] = 0
mask_image_arr[mask_image_arr >= 0.5] = 1# Take the masked pixels from the repainted image and the unmasked pixels from the initial image
unmasked_unchanged_image_arr = (1 - mask_image_arr) * init_image + mask_image_arr * repainted_image
unmasked_unchanged_image = PIL.Image.fromarray(unmasked_unchanged_image_arr.round().astype("uint8"))
unmasked_unchanged_image.save("force_unmasked_unchanged.png")
make_image_grid([init_image, mask_image, repainted_image, unmasked_unchanged_image], rows=2, cols=2)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
两个pipeline不是使用同一个VAE,否则第一个pipeline的输出可以是latent

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Linux5.2、进程等待

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 目录 进程等待的必要性 进程等待的方法 获取子进程status 进程等待的必要性 首先&#xff0c;子进程退出&#xff0c;如果父进程不去回收子进程资源&#xff0c;读取子进程的PCB&#xff0c;那么就会使子进程变成僵尸进程…

如何通过MT-Bench评估大模型

如何评估LLM在开放性问题的回答能力 前面三篇博客中介绍了如何评估大模型&#xff0c;内容包括评估大模型时常用的指标&#xff0c;每个指标背后的含义&#xff0c;如何通过编写代码实现指标的收集。对于passk指标&#xff0c;还进行了专门的说明。在前面的博客中&#xff0c;我…

如何使用 TailwindCSS 画一条0.5px的线条

背景 在移动端项目&#xff0c;一般为了让线条看起来更细、更锐利&#xff0c;此时使用0.5px的线条是非常合适的。那么如何使用TailwindCSS画一条0.5px的线条呢&#xff1f; 在实现这个需求的时候&#xff0c;首先去TailwindCSS官网查了一下border有没有对应的内置工具类&…

mysql:查看服务端为了处理连接而创建的线程数量

使用命令show global status like Threads_created;可以查看服务端为了处理连接而创建的线程数量。 例如&#xff1a;

信息收集 - 网站架构

网站架构组成 通常,一个典型的网站架构包括以下组件: 动态脚本语言:动态脚本语言用于处理网站的逻辑和动态内容生成。常见的动态脚本语言包括PHP、Python、Ruby和Node.js等。这些脚本语言可以根据用户请求生成动态的网页内容。 数据库:数据库用于存储网站的数据,包括用户…

对GPU进行压力测试

GPU压力测试工具安装指导&#xff08;RHEL8.2&#xff09; - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/443165016 1、下载gpu-burn工具 下载地址&#xff1a;https://github.com/wilicc/gpu-burn 2、上传到系统后安装 # unzip gpu-burn-master.zip # cd gpu-burn-mas…

华清远见嵌入式学习——ARM——作业1

要求&#xff1a; 代码&#xff1a; mov r0,#0 用于加mov r1,#1 初始值mov r2,#101 终止值loop: cmp r1,r2addne r0,r0,r1addne r1,r1,#1bne loop 效果&#xff1a;

【Spring-Securty】安全框架使用详解

前言&#xff1a; 上一篇我分享了&#xff0c;关于使用swarrger的博客&#xff0c; 今天来分享关于security的操作&#xff1a; 在日常开发中&#xff0c;几乎所有的项目都需要进行请求的安全校验操作。 通常会采取以下几种方式来实现安全校验和过滤。 1、实例化HandlerInterce…

PSP - 蛋白质与蛋白质的扩散对接 DiffDock-PP 算法

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/135115528 DiffDock-PP is a new approach to rigid-body protein-protein docking that is based on a diffusion generative model that learns…

回归预测 | MATLAB实现GWO-DHKELM基于灰狼算法优化深度混合核极限学习机的数据回归预测 (多指标,多图)

回归预测 | MATLAB实现GWO-DHKELM基于灰狼算法优化深度混合核极限学习机的数据回归预测 &#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现GWO-DHKELM基于灰狼算法优化深度混合核极限学习机的数据回归预测 &#xff08;多指标&#xff0c;多图&#…

SLA阿里云,腾讯云,华为云服务测量指标

SLA 的由来 在云计算时代&#xff0c;越来越多企业的服务迁移到云上&#xff0c;各大云服务厂商有自己服务发布的SLA&#xff0c;SLA是服务提供商与客户之间定义的正式承诺。 我们使用云服务提供商为我们提供的 APP 或者网站&#xff0c;如果出现购物无法下单、看视频打不开类…

浅析 ArrayList

ArrayList是一个使用List接口实现的Java类。顾名思义&#xff0c;Java ArrayList提供了动态数组的功能&#xff0c;其中数组的大小不是固定的。它实现了所有可选的列表操作&#xff0c;并允许所有元素&#xff0c;包括null。 ArrayList 继承于 AbstractList &#xff0c;实现了…