diffusion model (十) anydoor技术小结

发布时间:2023年12月29日
paperAnyDoor: Zero-shot Object-level Image Customization
codehttps://github.com/damo-vilab/AnyDoor
Org香港大学,Alibaba Group
date2023-07

1 Motivation

过去我们用dreambooth,LORA,textual inversion等方法做定制目标生成。但这个方法每次定制新的目标都需要重新训练模型。这篇文章的核心目的是用一种zero-shot的方法做定制目标的定制场景图片生成。简单来说就是:给定目标图片和场景图片就能生成在该目标在该场景不同姿态(角度、光照)的图片。

2 Method

2.1 模型架构

架构组成功能是否更新参数
Segmentor用于去背景??
Detail Extractor类似ControlNet,用于特征注入🔥
Unetstable diffusion??
ID Extractor提取图片特征,注入unet??DINOV2 + 🔥投影层

在这里插入图片描述

pipeline如下:

输入:

  • 给定场景图片+生成位置
  • 需要定制的目标图片

STEP1:目标图片送入到segmentor中进行去背景。然后兵分两路,记作分枝1和分枝2

  • STEP2-分枝1:
    • STEP2-1-1: 提取去除背景的图片的高频信号HF_MAP (下节有实现细节)
    • STEP2-1-2: 将提取的高频信号和场景图片在生成位置进行融合
    • STEP2-1-3: 将融合的结果送入到Detail Extractor 中提取Detail map。(此处的网络结构类似controlnet
  • STEP2-分枝2:
    • STEP2-2-1: 将去除背景的图片送入到ID Extractor中提取ID-Token。

STEP3: 将ID-Token和Detail map一起送入到Unet中,用diffusion model的生成方式进行图片生成。

2.2 实现细节

2.2.1 图中的HF-MAP是什么,有什么用

HF-MAP的计算公式如下

I h = ( I ? K h + I ? K v ) ⊙ I ⊙ M e r o d e , \mathbf {I} _ { h } = ( \mathbf {I} \otimes \mathbf {K} _ { h } + \mathbf {I} \otimes \mathbf {K} _ { v } ) \odot \mathbf {I} \odot \mathbf{M} _ { e r o d e } , Ih?=(I?Kh?+I?Kv?)IMerode?,

其中:

  • I h \mathbf {I} _ { h } Ih?为HF-MAP
  • I \mathbf {I} I为输入的原图
  • K h \mathbf {K} _ { h } Kh?为水平方向的Sobel kernel
  • ? \otimes ?表示卷积操作
  • K v \mathbf {K} _ { v } Kv?表示垂直方向的Sobel kernel
  • M e r o d e \mathbf{M} _ { e r o d e } Merode?为经过腐蚀后的物体mask
  • ⊙ \odot 为逐元素相乘。即Hadamard product

该公式的核心就是,提取图片中object的高频信息,随后将其与scene图片拼接。

作者之所以用高频信号进行拼接是因为:直接将物体 I ⊙ M e r o d e \mathbf {I} \odot \mathbf{M} _ { e r o d e } IMerode?和scene拼接训练后生成的结果都非常单一,缺乏多样性。

作者也对HF-MAP的必要性进行了消融实验

在这里插入图片描述

2.2.2 如何构建训练的图片pair

从上面的描述中我们知道anydoor的训练目标是给定目标图片和场景生成该目标在该场景下不同姿态的图片。因此容易知道训练集是三元组组成的集合,即(输入目标图片,场景图片+位置,输出图片)。如何用一种cheap的方法得到同个目标在同场景不同姿态(视角、光照等)的图片对是一难点。

作者利用video数据集来构造图片对。整体的pipeline如下,简而言之就是利用同一个object在不同帧的图片来构造图片对。

在这里插入图片描述

训练的数据集如下:

在这里插入图片描述

2.2.3 各组件必要性消融实验

ATS为自适应时间步采样策略(adaptive timestep sampling)

在这里插入图片描述

ID extractor的消融实验。

在这里插入图片描述

3 Result

从论文给出的结果看,生成的效果都很不错。

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

Thinking

作者给出了该技术的两个使用场景。感觉用来合成数据也很不错,后续尝试一下。

  • 虚拟试衣(virtual try-on)

在这里插入图片描述

  • 交互式图像编辑

在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_40779727/article/details/135282157
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。