MimicBrush:智能图像编辑新宠,能否革新你的创意设计?

一、介绍

MimicBrush 是一款由阿里巴巴和香港大学联合研发的图像编辑工具,它通过模仿参考图像,对目标图像选定区域进行自动局部编辑。以下是关于 MimicBrush 的详细介绍:

1.技术特点

  1. 智能匹配 :利用尖端 AI 技术,MimicBrush 能够智能识别源图像和参考图像之间的语义关系,实现精准的局部重绘效果。用户只需在源图像上标出需要编辑的区域,并提供一张参考图像,MimicBrush 便能自动捕捉两者之间的联系,完成编辑。
  2. 零样本编辑 :MimicBrush 在训练过程中,通过随机选择视频剪辑中的两帧,遮盖其中一帧的某些区域,并学习使用另一帧的信息恢复这些被遮盖的区域。这种方式使得模型能够自监督地捕捉不同图像之间的语义对应关系,实现零样本图像编辑。
  3. 易于操作 :用户无需具备专业的图像编辑技能,只需进行简单的操作即可完成复杂的图像编辑任务。例如,在源图像上绘制蒙版,然后上传参考图像,MimicBrush 便能自动完成编辑。

2.应用场景

  1. 电商商品展示 :在电商领域,MimicBrush 可以用于商品图片的编辑和美化,提高商品的展示效果。
  2. 图片编辑和内容迁移 :无论是专业的图片编辑人员还是普通用户,都可以使用 MimicBrush 进行快速、高效的图片编辑和内容迁移。
  3. 创意设计 :设计师可以利用 MimicBrush 进行创意设计,将不同图像的元素融合在一起,创造出独特的视觉效果。

3.技术原理

MimicBrush 的技术原理主要基于深度学习模型,特别是两种 U-Net 结构:“imitative U-Net”和“reference U-Net”。这两个 U-Net 之间会进行信息交互,帮助系统定位出参考图像中对应的区域。在训练过程中,模型会学习如何从参考图像中提取特征,并将其应用到源图像的指定区域中。

4.开源与社区

MimicBrush 已经作为开源项目发布在 GitHub 上(地址:https://github.com/ali-vilab/MimicBrush),用户可以直接下载并使用该工具。此外,还有相关的论文和项目主页可供学习和参考(论文地址:https://arxiv.org/abs/2406.07547,项目主页:https://xavierchen34.github.io/MimicBrush-Page)。

二、容器构建说明

建议使用 RTX3060+12G 及以上 显卡

1. 安装 miniconda

进入 Anaconda 官网:

Miniconda — Anaconda 文档

找到快速命令行安装,选择 Linux 系统,复制代码进入终端进行安装。

image.png

image.png

等待安装完成。

2. 安装并更新基础命令,让后续使用更快捷: unzip、lsof、git、git-lfs

apt-get update
apt-get install -y unzip
apt-get install -y lsof
apt-get install -y git
apt-get install -y git-lfs

image.png

3. 克隆项目仓库,并打开文件

git clone https://github.com/ali-vilab/MimicBrush.git 
cd MimicBrush

4. 创建 python 为 3.11版本的虚拟环境,名称为mimi

conda create -n mimi python=3.11 -y

5. 激活虚拟环境mimi

conda activate mimi

6. 安装项目依赖文件及相应包

pip install -r requirements.txt

7.改代码添加进py文件,自动下载相应模型

进入/MimicBrush/run_gradio3_demo.py

将以下代码添加进py文件

from modelscope.hub.snapshot_download import snapshot_download as ms_snapshot_downloadsd_dir = ms_snapshot_download('xichen/cleansd', cache_dir='./modelscope')
print('=== Pretrained SD weights downloaded ===')
model_dir = ms_snapshot_download('xichen/MimicBrush', cache_dir='./modelscope')
print('=== MimicBrush weights downloaded ===')

例如

image.png

8.改地址添加进yaml文件

进入/MimicBrush/configs/inference.yaml

将红框部分代码进行替换

image.png

替换为

model_path:mimicbrush_ckpt_path: /MimicBrush/modelscope/xichen/MimicBrush/mimicbrush/mimicbrush.binpretrained_reference_path: /MimicBrush/modelscope/xichen/cleansd/stable-diffusion-v1-5pretrained_imitativer_path: /MimicBrush/modelscope/xichen/cleansd/stable-diffusion-inpaintingpretrained_vae_name_or_path: /MimicBrush/modelscope/xichen/MimicBrush/sd-vae-ft-mseimage_encoder_path: /MimicBrush/modelscope/xichen/MimicBrush/image_encoderdepth_model: /MimicBrush/modelscope/xichen/MimicBrush/depth_model/depth_anything_vitb14.pth

9. 指定端口,运行 py 文件(运行项目,首次运行会自动下载模型参数,需要保证网络通畅)

export GRADIO_SERVER_NAME=0.0.0.0
export GRADIO_SERVER_PORT=8080
python run_gradio3_demo.py

耐心等待

image.png

下载完成后运行成功,出现以下显示

image.png

三、网页演示

运行成功后获取访问链接,进入 webUI 界面后即可操作

屏幕截图

屏幕截图

屏幕截图

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

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

相关文章

QT用Enigmavb 打包成单独exe

QT用这个工具打包成单个exe,然后再用winrar打包成zip可以发给别人 在之前需要用QT的release打包 之前的文章QTrelease打包【非单个exe】 Enigmavb 打包流程: 安装过程: next-》i accept -》选择安装位置 -》next -》Create a desktop ic…

f(f(x))=x^2 -11x+36, 求f(6)的值,

偶然看到的一个题目,一时兴起,做了一下。题目如下 简单粗暴的思路是待定系数法,盲猜f(x)是个2次函数,令f(x)ax^2bxc ,带入原式,发现矛盾(计算略)就想放弃了。 忽然看到如果带入6 的话&#xf…

华为浏览器(HuaweiBrowser),简约高效上网更轻松

华为浏览器是一款由华为公司自主研发的网页浏览工具,凭借其独特的设计理念和优质的用户体验,正在吸引越来越多的用户关注。这款基于Chromium技术打造的浏览器不仅继承了Chrome的高性能特质,更融入了华为自身的创新元素,为用户打造…

Ubuntu下ESP32-IDF开发环境搭建

Ubuntu下ESP32-IDF开发环境搭建 文章目录 Ubuntu下ESP32-IDF开发环境搭建一、前言二、软件安装三、开发环境搭建3.1 ESP-IDF安装:3.2 安装编译工具: 四、编译并烧录代码五、ESP32代码编辑工具 一、前言 ​ 开发ESP32,我们首先就要安装开发环…

修炼内功之函数栈帧的创建与销毁

修炼内功之函数栈帧的创建与销毁 一 前置知识(1)栈(2)相关寄存器和汇编指令 二 函数栈帧三 代码演示函数栈帧的创建(1)代码演示(2)函数栈帧逐帧分析 四 对开篇问题的解答 相信来CSDN…

学习threejs,THREE.PlaneGeometry 二维平面几何体

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️HREE.PlaneGeometry 二维平…

SpringCloud 入门(4)—— 网关

上一篇:SpringCloud 入门(3)—— Nacos配置中心-CSDN博客 Spring Cloud Gateway 作为 Spring Cloud 生态系统的一部分,主要在微服务架构中充当 API 网关的角色。它提供了统一的入口点来处理所有的 HTTP 请求,并将这些请…

石岩基督教福音堂

周末娃,娃的阿婆和我一起去石岩基督教福音堂做礼拜。 这是我第一次进入石岩的教堂。教堂很高。应该有3,4层楼高。 这周末做礼拜的人很多一楼人满了,阿婆去二楼做礼拜,娃和我去三楼的儿童室。很多家长楼下做礼拜,小朋友被安排三楼…

论文《Vertical Federated Learning: Concepts, Advances, and Challenges》阅读

论文《Vertical Federated Learning: Concepts, Advances, and Challenges》阅读 论文概况纵向联邦VFL框架介绍问题定义VFL 训练协议 对通信效率的优化对性能的优化自监督方案(Self-Supervised Approaches)半监督方案(Semi-Supervised Approa…

如何用gpt来分析链接里面的内容(比如分析论文链接)和分析包含多个文件中的一块代码

如何用gpt来分析链接里面的内容,方法如下 这里使用gpt4里面有一个网路的功能 点击搜索框下面这个地球的形状即可启动搜索网页模式 然后即可提出问题在搜索框里:发现正确识别和分析了链接里面的内容 链接如下:https://arxiv.org/pdf/2009.1…

本地部署webrtc应用怎么把http协议改成https协议?

环境: WSL2 Ubuntu22.04 webrtc视频聊天应用 问题描述: 本地部署webrtc应用怎么把http协议改成https协议? http协议在安卓手机浏览器上用不了麦克风本,来地应用webrtc 本来是http协议,在安卓手机上浏览器不支持使…

面向未来的教育技术:智能成绩管理系统的开发

3.1 可行性研究 成绩管理系统开发实现分析需要从不同的角度来进行分析可行性,比如从时间角度,经济角度,甚至操作角度。从不同的角度分析可行性会让成绩管理系统开发具体化,进而达到辩证开发的正确性。 3.1.1 经济可行性 从经济方面…

zabbix监控山石系列Hillstone监控模版(适用于zabbix7及以上)

监控项: 触发器: 监控数据如下:

UE5 渲染管线 学习笔记

兰伯特 SSS为散射的意思 带Bias的可以根据距离自动切换mip的卷积值 而带Level的值mipmaps的定值 #define A8_SAMPLE_MASK .a 这样应该就很好理解了 这个只采样a通道 带Level的参考上面的 朝左上和右下进行模糊 带Bias参考上面 随机数 4D 3D 2D 1D

ArcGIS Pro 3.4新功能3:空间统计新特性,基于森林和增强分类与回归,过滤空间自相关

目录 应用 1:它是相关性还是托布勒第一定律? 应用 2:将空间带入非空间模型 结论 在 ArcGIS Pro 3.4 中,我们在新的空间组件实用程序(Moran 特征向量)工具集中发布了一个新工具 - 从字段过滤空间自相关。…

【微信小程序】2|轮播图 | 我的咖啡店-综合实训

轮播图 引言 在微信小程序中,轮播图是一种常见的用户界面元素,用于展示广告、产品图片等。本文将通过“我的咖啡店”小程序的轮播图实现,详细介绍如何在微信小程序中创建和管理轮播图。 轮播图数据准备 首先,在home.js文件中&a…

vue3封装而成的APP ,在版本更新后,页面显示空白

一、问题展示 更新之后页面空白,打不开 ,主要是由于缓存造成的 二、解决办法 1、随机数代码实现 使用随机数来动态的生成静态资源目录名可以避免浏览器缓存,但同时每次也会导致浏览器每次都下载最新的资源。如果静态资源过大,可…

JAVA HTTP压缩数据

/*** 压缩数据包** param code* param data* param resp* throws IOException*/protected void writeZipResult(int code, Object data, HttpServletResponse resp) throws IOException {resp.setHeader("Content-Encoding", "gzip");// write到客户端resp…

京东零售数据可视化平台产品实践与思考

导读 本次分享题目为京东零售数据可视化平台产品实践与思考。 主要包括以下四个部分: 1. 平台产品能力介绍 2. 业务赋能案例分享 3. 平台建设挑战与展望 作者:梁臣 京东 数据产品架构师 01平台产品能力介绍 1. 产品矩阵 数据可视化产品是一种利用…

springBoot Maven 剔除无用的jar引用

目录 Used undeclared dependencies found Unused declared dependencies found 当项目经过一段时间的开发和维护后,经常会遇到项目打包速度变慢的问题。这通常与项目中包含大量的jar依赖有关,这些依赖之间的关系错综复杂。这种情况在项目维护过程中是…