**会议:**CVPR 2024 workshop
CVPR 2024 Open Access Repository
一句话总结:SD+ControlNet为baseline,SatCLIP提取地理位置特征,OSM+Canny+SAM控制,感觉是DiffusionSat(2024ICLR)的低配版,而且很多瞎写的内容;But!!资源很牛,实验很卷,可以说是文章写的很漂亮。
这里留一个坑,放这篇文章详细复现记录:---------------------------------------------Welcome follow---
♥创作不易,如果能帮助到你的话留下👍和⭐吧,欢迎同方向研究学者交流学习
目录
5.2 地理感知合成(Geo-aware Synthesis)
5.4 文本提示的重要性(Importance of Text)
5.5 零样本泛化能力(Zero-shot Capabilities)
1. Motivation
当前的文本到图像扩散模型(diffusion models)在生成高质量自然图像方面表现出色,但在卫星图像合成领域的应用却相对有限。主要问题包括:
- 缺乏包含高分辨率和多样化卫星图像的大规模训练数据集。(2025.1.19批:最新工作Text2Earth已解决该问题)
- 难以生成既符合地理真实又具有特定布局和风格的卫星图像。(2025.1.19批:其实目前大多数都可以解决该问题)
2. Contribution
- 结合 ControlNet 和 SatCLIP:通过整合 ControlNet 和 SatCLIP 的特性,实现高分辨率卫星图像合成,并支持基于布局(如 OpenStreetMap)、文本风格提示和地理位置的条件控制。这些控制可以组合使用,提供了灵活的图像生成选项,能够生成具有现实语义和地理区域特性的图像。
- 布局控制方法的比较:测试并评估了三种布局控制方式(OpenStreetMap 图像、Canny 边缘图像和 SAM 分割掩码)对合成效果的影响。
- 零样本泛化能力:GeoSynth 展现了强大的零样本生成能力,能够在没有相应训练数据的情况下生成高质量的卫星图像,甚至可以处理超出模型训练域的控制输入。
3.Method
论文提出了一种基于 Latent Diffusion Models (LDM) 的方法,模型架构为Encoder-CLIP-Diffusion-Decoder
3.1 模型架构:
- 使用预训练的 LDM 处理文本提示(通过 CLIP 编码器)。
- **编码器:**将原始图像转化为低维度的潜在空间(latent space),编码器具有 变分自动编码器(VAE)风格架构。【这里和Text2Earth很相似】
- **预训练的CLIP文本编码器:**将文本提示转化为潜在的文本向量。
- **U-Net架构的扩散模型:**负责在潜在空间中进行去噪,生成高质量的图像。
- **解码器:**将去噪后的潜在向量重构为最终的卫星图像。
3.2 ControlNet
用来对模型进行控制输入。ControlNet连接在LDM模型之上,通过控制图像(例如:OpenStreetMap、Canny边缘图像、Segment Anything掩码)进行控制。它包含13个残差交叉注意力模块,用于从输入图像中提取特征并指导扩散模型生成符合控制要求的图像。
- 作用:将控制图像(如 OSM 图、Canny 边缘、SAM 掩码)作为条件输入。
- 架构特点:
- 零初始化神经网络,附加在预训练 LDM 的每一阶段,用于调整特征图。
- 包含 13 层残差交叉注意力模块(Residual Cross-Attention Blocks),输入包括:
- 控制图像
- 文本提示
- 扩散时间步长
3.3 SatCLIP和CoordNet
为了融入地理位置信息,模型使用了从SatCLIP提取的地理嵌入。CoordNet是一个包含13层交叉注意力块的Transformer,专门处理地理嵌入信息。该信息与ControlNet提取的图像特征结合,进一步指导图像生成过程。
- SatCLIP:
- 一种基于球谐函数的地理位置编码器,生成通用的地理位置嵌入。
- 通过对比学习框架训练,结合 CLIP 风格的卫星图像编码器。
- CoordNet:
- 基于 ControlNet 风格的交叉注意力 Transformer,用于处理地理位置嵌入。
- 包含 13 层多头交叉注意力模块,每层都带有零初始化的前馈网络。
- 提取的特征与 ControlNet 的对应模块特征相加后,进一步融合进 LDM 的残差模块。
- 训练细节:
- LDM 和 SatCLIP 的参数在训练过程中被冻结,确保新模块(CoordNet 和 ControlNet)的专注学习。
3.4 训练流程
- 微调模型:模型使用预训练的Stable Diffusion v2.1作为基础架构,通过ControlNet和CoordNet添加地理位置和布局条件对预训练模型(LDM、ControlNet、CoordNet)进行微调。
- **硬件部署:**训练使用的优化器为Adam,学习率为1e-5,每批次16张图片,训练总共耗费100 GPU小时,使用了2块NVIDIA RTX 4090显卡。
- 数据集:高分辨率卫星图像与布局控制(OSM、Canny 边缘、SAM 掩码)的配对数据,辅以多模态语言模型生成的文本描述。
- 评价指标:使用 FID(弗里谢距离)、SSIM(结构相似性指数)和 CLIP-score 来评估合成图像的质量。
3.5 推理流程
- 初始化:从标准正态分布中采样一个噪声潜向量。
- 去噪过程:
- 通过扩散模型逐步去噪,直到生成最终图像。
- 每个时间步,结合以下条件引导去噪过程:
- 文本提示的潜向量(CLIP 编码器输出)
- 控制图像(通过 ControlNet 提供)
- 地理位置嵌入(通过 CoordNet 提供)
3.5 控制方式
GeoSynth的图像生成过程可以基于以下三种不同的控制方式,模型还可以通过文本提示对图像风格进行控制,例如控制场景中的颜色、风格等细节。
- **OSM图像控制:**使用OpenStreetMap图像作为控制输入,指导生成具有特定地理布局的卫星图像。
- **Canny边缘控制:**通过Canny边缘检测生成的图像控制边界信息,适合生成具有强几何边界的图像。
- **SAM掩码控制:**使用Segment Anything生成的掩码进行控制,允许模型生成更加细粒度的图像内容。
为了确保生成的卫星图像符合特定地理区域的特点,模型使用了SatCLIP进行地理位置嵌入。这是一个通过对比学习框架训练的地理位置编码器,能够生成基于地理位置的通用嵌入。模型通过这些嵌入来增强生成图像的地理特性,使不同地理位置的图像生成具有区域特征。
4. Dataset
- 数据对的构建:数据集由高分辨率卫星图像与OSM(OpenStreetMap)图像配对构成,随机选择了美国的十个主要城市,每张图像的尺寸为 **512×512 像素,**地面采样距离约为 0.6 米,即每个像素约对应 0.6 米的实际地面距离。
- **数据集规模和过滤:**GeoSynth 使用了包含90,305对高分辨率卫星图像和OSM图像的数据集,去除了仅包含以下内容的配对数据:裸地、水体或森林,最终使用了44,848对图像。
- 数据集扩展:图像描述生成+附加特征提取
- 图像描述生成:
- 使用了 LLaVA(一种多模态大语言模型)为每张卫星图像生成文本描述。
- 提示语为:“Describe the contents of the image”(描述图像内容)。
- 运行该流程消耗了 40 GPU 小时,使用了 2 块 NVIDIA A6000 GPU。
- 附加特征提取:
- 针对每张卫星图像,额外生成了以下特征:
- Canny 边缘图像:用于捕捉边缘特征。
- SAM 掩码:通过 Segment Anything Model (SAM) 提取语义分割掩码。
- 针对每张卫星图像,额外生成了以下特征:
- 图像描述生成:
5. Experiment
5.1 模型和架构配置
1. 模型和架构配置
基础模型:使用 Stable Diffusion (SD) v2.1 作为预训练的潜扩散模型(LDM)。
ControlNet 配置:基于 [54] 的原始架构。
CoordNet 配置:包含 13 层交叉注意力模块,每层的内部维度为 256,头数为 4。为了提高训练速度,预先计算并保存了所有图像的 SatCLIP 地理位置嵌入。
2. 模型训练
模型变体:共训练了 14 个模型变体,分别包含或不包含不同的条件(如文本提示、布局控制、地理位置等)。
- 训练资源:使用了 2 块 NVIDIA RTX 4090 GPU,总计消耗约 100 GPU 小时。
- 训练框架:使用 PyTorch-DistributedDataParallel(分布式数据并行) 进行模型训练。
- 优化器和超参数:
- 优化器:Adam
- 学习率:1×10−5
- 批次:每块 GPU 的批量大小为 4,总梯度累积为 16。
- 文本提示的随机屏蔽:
- 按 [54] 的方法,训练过程中以 50% 的概率随机屏蔽文本提示。
- 目的:让模型独立于文本提示,从控制图像中学习语义信息。
3. 评估指标
模型性能通过以下三个指标进行评估:
- Frechet Inception Distance (FID):
- 评估生成图像与真实图像在特征层的分布差异。
- 分值越低,生成质量越接近真实图像。
- 结构相似性指数 (SSIM):
- 测量生成图像和真实图像在像素层的相似性。
- 分值越高,生成图像在像素层越接近真实图像。
- CLIP-score:
- 衡量生成图像与文本提示之间的相似性。
- 分值越高,生成图像的语义与文本提示越一致。
5.2 地理感知合成(Geo-aware Synthesis)
1.实验设置
- 使用相同的控制 OSM 图像和随机种子,在不同地理位置生成卫星图像。
- 未提供文本提示,仅使用地理位置作为条件。
2.实验结果:
- 语义学习能力:
- 模型能够捕捉不同地理位置的高级语义特征,例如:
- 爱荷华州的图像表现为绿色植被丰富。
- 加利福尼亚州的图像呈现出沙漠特征。
- 纽约地区生成的图像以城市化为主。
- 模型能够捕捉不同地理位置的高级语义特征,例如:
- 定量分析:
- 添加地理位置作为条件后,模型在 FID 和 SSIM 评分上均有显著提高,表明生成的卫星图像更加真实。
- CLIP-score 未表现出明显提升,这是预期的,因为 CLIP-score 主要衡量图像与文本提示的相似性。
- 分析结论:
- 仅文本条件的 GeoSynth:
- FID 和 CLIP-score 较高,但 SSIM 较低。
- 表明模型能够生成语义上合理的图像,但像素层与真实图像有较大偏差。
- 仅文本条件的 GeoSynth:
5.3 控制图像的效果(Control Images)
1.实验设置
- 使用三种控制图像(Canny 边缘图、SAM 掩码和 OSM 图像),测试模型在挑战性文本提示下的表现。
2.实验结果
- Canny 边缘图:
- 生成的卫星图像最真实,表现出最高的 SSIM 分数。
- 局限性:无法有效控制图像的风格与文本提示一致。
- SAM 掩码:
- 各项指标(平均)表现最好,但生成的图像缺乏视觉美感。
- 原因:SAM 在卫星图像上生成了过度分割的掩码,影响了合成效果。
- OSM 图像:
- 在 FID 和 CLIP-score 上表现最好,表明生成的图像在语义上一致性最高。
- 模型能够根据文本提示有效控制图像风格。
3.编辑能力
- 使用修改后的 OSM 图像进行实验(同一文本提示和随机种子),模型能够生成反映编辑结果的卫星图像,展示了编辑能力。
5.4 文本提示的重要性(Importance of Text)
1实验设置
- 对比了模型在以下两种情况下的表现:
- 包含文本提示:提供完整的文本提示。
- 不包含文本提示:将文本提示替换为空字符串。
- 地理位置条件被忽略,仅测试文本提示对生成效果的影响。
2.实验结果
- 无文本提示的模型:生成的图像表现较差,缺乏多样性。
- 包含文本提示的模型:
- 生成了更加逼真的卫星图像。
- CLIP-score 显著提升,表明生成图像与文本提示之间的语义一致性增强。
3.结论
- 文本提示对于提升图像生成的多样性和语义一致性至关重要。
- 当结合控制图像(如 OSM 图像、Canny 边缘图像等)进行训练时,文本提示的作用进一步增强。
5.5 零样本泛化能力(Zero-shot Capabilities)
实验 1:领域外控制图像的合成能力
- 设置:提供领域外的控制图像(例如 SAM 掩码、OSM 图像或 Canny 边缘图像)。
- 结果:模型能够生成逼真的卫星图像,证明其在领域外场景中的泛化能力。
实验 2:生成多种概念
- 设置:
- 固定 OSM 图像,分别生成 10 种土地使用类别的图像,每种类别生成 50 张图像。
- 提供类别名称作为文本提示,保持随机种子一致。
- 评估:使用 CLIP 的零样本分类能力,将生成图像归类为指定类别。
- 结果:CLIP-confidence 平均为 73.66%,表明模型生成的图像在大多数情况下能够准确反映指定的土地使用类别。
实验 3:UCMerced 数据集上的表现
- 设置:
- UCMerced 数据集包含 21 个土地使用类别(0.3m 分辨率的卫星图像)。
- 对比 GeoSynth 模型在不同控制图像(Canny 边缘图、SAM 掩码)的表现。
- 结果:
- 模型在某些类别(如沙滩、建筑物)上表现出色。
- 在其他类别(如储罐、飞机)上的表现较差。
- 问题分析:
- SAM 掩码在 UCMerced 数据集上常产生分割不足的问题。
- Canny 边缘图像则会生成过多的虚假边缘,影响图像合成质量。
5.6 实验结果展示图
不同控制和提示词的结果
文本引导的训练提高了生成图像的质量和多样性
控制合成
零样本合成
6.Future work
- 改进地理嵌入模型:用更先进的地理位置编码器替换 SatCLIP,以捕捉更细粒度的地理信息。
- 支持多模态图像合成:扩展 GeoSynth 的架构,以支持深度图像、雷达图像等非 RGB 图像。
- 开发应用场景:探索自动数字孪生生成、城市增长模拟和城市规划等实际应用。
- 扩展数据集:引入更多数据集,以提升模型在不同地理和环境场景下的表现。
2025.1.9批注:他提到的四个方向目前Text2Earth均已经得到解决
7.Additional Knowledge
定制扩散模型的两种主要方向
- 个性化模型的方法:
- 目标:让预训练的扩散模型能够适应特定的概念或领域。
- 主要方法:
- DreamBooth [36]:通过少量特定主题的图像进行训练,实现个性化生成,同时保持预训练模型的知识。
- Hypernetwork Learning [37]:利用超网络(Hypernetwork)来生成适应特定领域的模型参数。
- Cross-Attention Layer 修改 [26]:通过调整交叉注意力层提升模型对特定概念的生成能力。
- Apprenticeship Learning [7]:从大量的领域专家模型中学习生成特定概念。
- 多模态表示空间的利用 [27, 29]:在已有的多模态表示中引入新的概念或领域。
- 高效控制和训练的无监督方法:
- 目标:以更低的计算成本和更高的效率引入新的控制条件。
- 主要方法:
- ControlNet [54]:通过零卷积(zero-convolution)模块,支持对生成过程的额外控制,如 Canny 边缘、草图、人体姿势等。
- Uni-ControlNet [56]:提出为两类控制(局部控制如分割掩码,和全局控制如 CLIP 嵌入)分别训练适配器的方法,提升了控制的灵活性。
- 空间布局控制 [5, 48, 51]:通过引入空间布局信息(如布局图或边缘图)控制生成图像的布局。