Georgeqi's Blog

Home

About

Archives

loading..
Diffusion

Diffusion学习7-DiT

Scalable Diffusion Models with Transformers 【主页】【论文】【代码】 DiT Block架构 当前主流的Diffusion模型大都采用U-Net模型作为主干网络,U-Net网络的输入和输出具有同样的尺寸,自然也很在适合Diffusion中用于预测与输入noisy latent相同尺寸的noise。但是自ViT后,Transformer结构也已经在多个视觉任务上被验证了其有效性,且相比较于CNN结构的U-Net可能还具有更好的效果。今天这篇论文则成功将transformer结构应用在Diffusion模型上,并且探究了其scalability能力,最终的实验也表明其最大的模型DiT-XL/2在ImageNet 256x256的类别条件生成上达到了SOTA(FI..

Read more
loading..
论文笔记

论文笔记-新视角生成(NVS)

新视角生成是从一个指定的图像或者prompt作为输入,生成该物体/场景在其他视角下的情况,要求生成的结果和原始的图像/Prompt是具有语义和纹理一致性的,同时如果生成多个视角还要保证多个视角之间也是一致的。下面Zero 1-to-3的效果就能很好表明这个问题: 新视角生成示意图(原图来自Zero 1-to-3) 【1】Zero-1-to-3: Zero-shot One Image to 3D Object 【项目主页】【论文】【代码】 Zero123 算法流程:该算法借助当前强大的2D 下的Diffusion模型生成3D物体,具体步骤为: 该模型根据指定的输入图和相机变换参数,来生成该物体新位置下的新视角图,然后使用多张新视角图再配合Score Jacobian chain来优化得到最终的..

Read more
loading..
Diffusion

Diffusion学习6-生成可控性

Diffusion相比较起前辈GAN,在生成质量上已经得到了大幅度的提升,之前的文章介绍过虽然通过prompt配合上classifier-free guidance技术能够从一定程度达到控制生成内容的目的,但是如何更加精确控制diffuison结果,例如定制化生成指定的目标对象,控制生成目标的姿态、形状、颜色等,也成为后续研究的重点,当然这些控制性生成目前也已经能够达到下图所示的非常好的效果了,本篇文章也将重点介绍些这些控制diffusion生成的大杀器。 Diffusion可控性生成效果示意效果,原图来自huggingface/lllyasviel DreamBooth 【主页】【论文】【官方仓库-无code】【Dreambooth-Stable-Diffusion】 DreamBooth ..

Read more
loading..
Diffusion

Diffusion学习5-高质量文生图模型

高质量Diffusion模型生成结果(原图来自DALLE-2) DALLE 【论文】【代码-非官方】 DALL·E的名字是为了向艺术家萨尔瓦多·达利和皮克斯的机器人WALL-E致敬 DALLE-2 GLIDE 【论文】【代码】 GLIDE利用文本进行图像编辑 算法流程:本篇论文并没有做过多的算法创新,更多的是验证性和实验工程相关的内容,其提出可以用文本当做条件去合成、控制和编辑图像。 算法细节: 比较了两种文本引导图像生成的方式: Classifier-Free-Guidance: 虽然该技术介绍过很多次,但是为了保证相对独立性,这里还是把本篇文章下的CFG公式写一下: 其中这里的专门代表文本条件。 CLIP Guidance: 其中分别表示从CLIP提取的图像特征和文本特征,两者相乘..

Read more
loading..
Mesh纹理生成

论文笔记-对白膜Mesh上色

如何对已有的3D白膜生成纹理(即进行上色)是计算机视觉领域一个重要的领域,主要效果就如下图所示: 3D Mesh上色示意图(原图来自论文TEXTure) 这项技术能够帮助我们对同一个mesh生成不同风格/色调的"外衣",对于扩充mesh的丰富性和可用性具有重要意义,这里就简单介绍一下最近读的4篇mesh上色的工作。 【1】TEXTure: Text-Guided Texturing of 3D Shapes 【项目主页】【论文】【代码】 先贴上论文中给出的算法流程吧: TEXTure算法流程 算法流程: 该算法借助当前在2D图像领域大火的Diffusion技术,在视角空间对mesh前景生成纹理,然后通过可微分渲染的方式的方式将视角空间的纹理一点点"贴"回mesh 算法细节: 首先要知道的是:..

Read more
loading..
Diffusion

Diffusion学习4-效果和性能提升

下述效果的具体代码见: qzq2514/Diffusion 效果提升 这里简单实验和讨论了在训练DDPM过程中使用的损失函数(L1或L2损失),并且实验了Improved DDPM 中提到的Cosine Beta Schedule带来的效果提升。 Cosine Beta Schedule 首先回顾下DDPM在前向过程中的一个重要公式-利用重采样技巧从直接得到,即Diffusion学习2-理论推导中的公式(3): 而且在原DDPM论文中使用的线性Beta采样,即: torch.linspace(start=0.0001, end=0.02, steps=100) Improved DDPM则进一步分析了这种Beta设计的缺点,取出论文中的图3和图5: Linear和Cosine的Beta方式对..

Read more
loading..
Diffusion

Diffusion学习3-代码实践

先放一张在人脸数据集上训练好后去噪的可视化过程 DDPM可视化去噪 各数据集参数配置及效果 训练: CUDA_VISIBLE_DEVICES=0 python train_solver.py --data_name "Flower102" 在config.yaml中各个数据集使用默认的Training Setting,每个数据集特有的配置见config.yaml下的Train_Data. 生成效果 生成效果如下: 数据集 去噪过程可视化 最终去噪效果 插值 Mnist Fashion_Mnist Cifar10 Flower102 StyleGAN2人脸 上述训练数据集和已经训练好的模型放在这里. 去噪过程可视化中,如果在..

Read more
loading..
Diffusion

Diffusion学习2-理论推导

概述 生成模型总览(原图来自lilianweng.blog) Diffusion属于生成模型的一种,相比较于GAN等其他生成模型,Diffusion模型最大的不同之处就在于其latent code是和原输入图相同尺寸的。Diffusion模型其实也可以看成是一个隐变量模型,并且与VAE,GAN的单隐变量不同,其可以看成存在多个隐变量(即加噪过程中的每个加噪结果都可以看成一个隐变量)。Diffusion模型总体包括前向加噪和逆向去噪两个过程: 前向过程-加噪扩散:对给定的真实图像不断添加高斯噪声,经过中间状态最终变成纯高斯噪声 逆向过程-去噪生成:从完全的纯噪声不断去噪,经过中间状态最终变成其对应的真实图像 上面两个过程示意图可以表示如下: Diffusion的前向和逆向过程(原图来自Ho et..

Read more
loading..
Diffusion

Diffusion学习1-预备知识

Diffusion模型打响了AIGC的第一枪,我之前一直是做GAN这一块的图像生成,但是奈何Diffuison模型效果好的离谱,也趁着空闲时间抱着学习的态度看看到底是他是靠着什么"吊打"GAN的,但是在推Diffusion公式的时候,牵扯到很多比较细碎的小知识点,有一些因为不常用也都忘记了,这里正好补充在这里,方便后续快速查询。 关于Diffusion相关的论文推导后面会单独开一个新的文章进行介绍,如果有时间和精力应该还会补充代码的实践~ 马尔科夫链 总体思想: 过去的所有信息都被保存在了现在的状态中,只使用现在状态就能预测到之后的状态,换句话说就是某个时刻的状态转移概率只依赖于它的前一个状态。 公式化表达: 举例: 股市涨跌:当前股市的涨、跌、平的状态概率分别为[0.3,0.4,0.3],且转移概率矩..

Read more
loading..
车牌识别

车牌识别完整流程

研究生期间主要且完整的一个项目是美国的车牌识别项目,在这个项目中也积累了一些经验并且发了一些专利,本篇博客则是整合了这些经验并构建了一个完整的车牌识别流程,有兴趣的也可以直接去看【论文】和【代码】。 要解决的问题 该项目顾名思义就是完成车牌号码识别的目的,但是这里要识别的车牌是美国的车牌号码,它们相比较"蓝底白字"国内车牌来说更加复杂,具体体现在“堆叠字符”、“长度不固定”、“排列无规律”,具体这些车牌的示意图可以见关于车牌识别的三个专利。本项目则能相对来说比较好地解决这些特殊的问题,在此之外本项目对于车牌识别中的“车牌倾斜”、“光照不均”、“模糊”等普遍存在的问题也都有比较好的鲁棒性。 解决方案 整个流程接受任意环境下的车牌图像(如倾斜、光照不均等),然后按照下图所示的流程进行识别: 车牌识别流程 ..

Read more
12