今天给大家推荐的开源项目,是由北京大学、腾讯、中国香港大学、清华大学联合发布的。
BrushEdit是”BrushEdit: All-In-One Image Inpainting and Editing”这篇论文的官方实现。
主要功能是通过提示词来编辑图片内容。
BrushEdit用了多模态大模型的能力来理解用户的指令,通过双分支修复模型实现了对图像的精细编辑。
双分支修复模型还是有必要解释下:
将图像修复任务分解为两个并行处理的分支:一个分支负责提取和保留遮罩区域的特征,另一个分支则利用预训练的扩散模型来生成或修复遮罩区域的内容,从而实现高质量的图像修复和编辑,同时保持背景的连贯性和自然性。
扫码加入AI交流群
获得更多技术支持和交流
(请注明自己的职业)
项目简介
BrushEdit是一个创新的交互式图像编辑框架,它结合了语言模型和修复技术,使用户能够通过自然语言指令进行无缝编辑。该框架利用预训练的多模态大型语言模型和双分支修复网络架构,实现添加物体、移除元素或进行结构性更改等多样化编辑。它支持自由形式的指令编辑,允许用户以交互式方式进行多轮编辑以达到满意的结果。
DEMO
实现流程
1.用户输入指令:
-
用户输入一个自然语言编辑指令,例如“在头上添加一个花环”。
-
系统使用预训练的多模态大型语言模型(MLLMs)来解析指令,确定编辑的类型(如添加、移除、局部编辑、背景编辑)。
2.目标识别:
-
根据编辑类型,系统识别并确定需要编辑的主要对象,例如“花环”。
3.编辑掩码和目标说明获取:
-
系统利用预训练的目标检测模型生成编辑掩码,确定编辑区域。
-
MLLMs结合编辑类型、目标对象和源图像来生成编辑后图像的目标描述。
4.图像修复:
-
使用双分支修复模型BrushNet,根据目标描述和编辑掩码执行实际的图像编辑。
-
模型的一个分支专注于背景信息的提取和保留,另一个分支负责根据文本提示生成编辑区域的前景内容。
5.交互式细化:
-
用户可以交互式地修改中间控制信息,如编辑掩码或编辑后图像的目标描述。
-
用户可以迭代执行上述步骤,直到达到满意的编辑结果。
6.输出编辑后的图像:
-
经过一系列迭代和细化后,系统输出最终编辑后的图像,满足用户的编辑指令和视觉需求。
项目链接
https://github.com/TencentARC/BrushEdit
关注「开源AI项目落地」公众号
(文:开源AI项目落地)