MimicBrush:奇迹画刷,重新定义局部重绘

简介: 图像编辑是一项实用而又具有挑战性的任务,因为用户的需求多种多样,其中最困难的部分之一是准确描述编辑后的图像应该是什么样子。在MimicBrush这项工作中,提出了一种新的编辑形式,称为模仿编辑,以帮助用户更方便地发挥创造力。

引言

图像编辑是一项实用而又具有挑战性的任务,因为用户的需求多种多样,其中最困难的部分之一是准确描述编辑后的图像应该是什么样子。在MimicBrush这项工作中,提出了一种新的编辑形式,称为模仿编辑,以帮助用户更方便地发挥创造力。具体来说,为了编辑感兴趣的图像区域,用户可以自由地直接从一些自然参考(例如,一些在线遇到的相关图片)中汲取灵感,而不必处理参考和源之间的契合。这样的设计要求系统自动找出对参考的期望以执行编辑。为此,提出了一个生成训练框架,称为 MimicBrush,它从视频剪辑中随机选择两帧,屏蔽一帧的某些区域,并学习使用另一帧的信息恢复被屏蔽的区域。这样,模型(从扩散先验发展而来)能够以自监督的方式捕捉单独图像之间的语义对应关系。项目组通过实验证明了我们的方法在各种测试用例下的有效性以及它相对于现有替代方案的优越性,还构建了一个基准以促进进一步的研究。

image.png

上图是MimicBrush 的训练过程。首先,从视频序列中随机采样两帧作为参考和源图像。然后对源图像进行mask处理并通过数据增强进行增强。之后,将源图像的noisy image latent, mask, background latent, and depth latent输入到模拟 U-Net 中。参考图像也经过增强并发送到参考 U-Net。对双 U-Net 进行训练以恢复源图像的mask区域。参考 U-Net 的attention key和value与模拟 U-Net 连接起来,以协助合成mask区域。

下面,我们从一个视频详细了解下MimicBrush吧!

image.gif

模型和WebUI代码现已在魔搭社区开源并可体验!

模型链接:https://modelscope.cn/models/xichen/MimicBrush

论文链接:https://arxiv.org/abs/2406.07547

Github地址:https://github.com/ali-vilab/MimicBrush?tab=readme-ov-file

体验地址:

   PC端:https://modelscope.cn/studios/iic/mimicbrush-demo

   

魔搭社区WebUI最佳实践

模型体验

第一步:上传选择要编辑的源图像

image.png

第二步:在源图像上绘制要编辑的区域。

image.png

第三步:上传/选择参考图像

image.png

第四步:生成图片!

image.png

模型下载

#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('xichen/MimicBrush')

搭建运行WebUI

使用魔搭免费算力Notebook体验简单WebUI

image.png

打开Terminal

image.png

运行代码

pip install gradio
git clone https://www.modelscope.cn/studios/iic/mimicbrush-demo.git
cd mimicbrush-demo
python app.py

就可以体验您搭建的个人WebUI页面啦!

更多MimicBrush技术解析,欢迎预约6.26(周三)20:00-21:30直播

相关文章
|
6月前
|
机器学习/深度学习
阿里Animate Anyone:让任何静态图像动起来
【2月更文挑战第17天】阿里Animate Anyone:让任何静态图像动起来
687 3
阿里Animate Anyone:让任何静态图像动起来
|
4月前
|
前端开发
Canvas绘画之三条二次方贝塞尔曲线构成的复选框标记对号
Canvas绘画之三条二次方贝塞尔曲线构成的复选框标记对号
|
图形学
怎么修改模型的表面颜色?
在3D模型中,材质颜色是物体表面外观的重要组成部分。通过手动设置或从纹理图像中提取颜色值,可以为模型赋予丰富多彩的外观。
128 1
Kitten 动态绘制 Y 轴方向立方体的实现方法
Kitten 动态绘制 Y 轴方向立方体的实现方法
关于已知线段,如何求封闭图形轮廓的一些猜想
关于已知线段,如何求封闭图形轮廓的一些猜想
【Three.js入门】灯光与阴影、平行光阴影属性、聚光灯的属性和应用
【Three.js入门】灯光与阴影、平行光阴影属性、聚光灯的属性和应用
308 1
|
前端开发 JavaScript
【Three.js入门】渲染第一个场景及物体(轨道控制器、坐标轴辅助器、移动缩放旋转)
【Three.js入门】渲染第一个场景及物体(轨道控制器、坐标轴辅助器、移动缩放旋转)
286 0
An动画基础之散件动画原理与形状提示点
An动画基础之散件动画原理与形状提示点
870 0
An动画基础之散件动画原理与形状提示点
|
图形学
Graphics进行局部旋转的办法
Graphics进行局部旋转的办法
91 0
|
前端开发 JavaScript
使用SVG实现动态分布的圆环发散路径动画
使用SVG实现动态分布的圆环发散路径动画
276 0