论文笔记-对白膜Mesh上色(Texturify)
如何对已有的3D白膜生成纹理(即进行上色)是计算机视觉领域一个重要的领域,主要效果就如下图所示: 3D Mesh上色示意图(原图来自论文TEXTure) 这项技术能够帮助我们对同一个mesh生成不同风格/色调的"外衣",对于扩充mesh的丰富性和可用性具有重要意义,这里就简单介绍一下最近读的4篇mesh上色的工作。 【1】TEXTure: Text-Guided Texturing of 3D Shapes 【项目主页】【论文】【代码】 先贴上论文中给出的算法流程吧: TEXTure算法流程 算法流程: 该算法借助当前在2D图像领域大火的Diffusion技术,在视角空间对mesh前景生成纹理,然后通过可微分渲染的方式的方式将视角空间的纹理一点点"贴"回mesh 算法细节: 首先要知道的是:..
Read moreDiffusion学习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 moreDiffusion学习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 moreDiffusion学习2-理论推导
概述 生成模型总览(原图来自lilianweng.blog) Diffusion属于生成模型的一种,相比较于GAN等其他生成模型,Diffusion模型最大的不同之处就在于其latent code是和原输入图相同尺寸的。Diffusion模型其实也可以看成是一个隐变量模型,并且与VAE,GAN的单隐变量不同,其可以看成存在多个隐变量(即加噪过程中的每个加噪结果都可以看成一个隐变量)。Diffusion模型总体包括前向加噪和逆向去噪两个过程: 前向过程-加噪扩散:对给定的真实图像不断添加高斯噪声,经过中间状态最终变成纯高斯噪声 逆向过程-去噪生成:从完全的纯噪声不断去噪,经过中间状态最终变成其对应的真实图像 上面两个过程示意图可以表示如下: Diffusion的前向和逆向过程(原图来自Ho et..
Read moreDiffusion学习1-预备知识
Diffusion模型打响了AIGC的第一枪,我之前一直是做GAN这一块的图像生成,但是奈何Diffuison模型效果好的离谱,也趁着空闲时间抱着学习的态度看看到底是他是靠着什么"吊打"GAN的,但是在推Diffusion公式的时候,牵扯到很多比较细碎的小知识点,有一些因为不常用也都忘记了,这里正好补充在这里,方便后续快速查询。 关于Diffusion相关的论文推导后面会单独开一个新的文章进行介绍,如果有时间和精力应该还会补充代码的实践~ 马尔科夫链 总体思想: 过去的所有信息都被保存在了现在的状态中,只使用现在状态就能预测到之后的状态,换句话说就是某个时刻的状态转移概率只依赖于它的前一个状态。 公式化表达: 举例: 股市涨跌:当前股市的涨、跌、平的状态概率分别为[0.3,0.4,0.3],且转移概率矩..
Read more车牌识别完整流程
研究生期间主要且完整的一个项目是美国的车牌识别项目,在这个项目中也积累了一些经验并且发了一些专利,本篇博客则是整合了这些经验并构建了一个完整的车牌识别流程,有兴趣的也可以直接去看【论文】和【代码】。 要解决的问题 该项目顾名思义就是完成车牌号码识别的目的,但是这里要识别的车牌是美国的车牌号码,它们相比较"蓝底白字"国内车牌来说更加复杂,具体体现在“堆叠字符”、“长度不固定”、“排列无规律”,具体这些车牌的示意图可以见关于车牌识别的三个专利。本项目则能相对来说比较好地解决这些特殊的问题,在此之外本项目对于车牌识别中的“车牌倾斜”、“光照不均”、“模糊”等普遍存在的问题也都有比较好的鲁棒性。 解决方案 整个流程接受任意环境下的车牌图像(如倾斜、光照不均等),然后按照下图所示的流程进行识别: 车牌识别流程 ..
Read moreGAN学习4-人脸属性编辑
【算法背景】 GAN除了在之前介绍的图像转换有巨大的应用潜力,得益于StyleGAN和StyleGAN2在人脸生成上的逼真效果,GAN的另一个应用-人脸属性编辑也得到了巨大的发展,该类技术旨在通过对人脸图像进行操作达到个性化设计的目的,主要包含人脸滤镜、 人脸贴妆、人脸变形、人脸特征变换、人脸风格化等,示意图下: 人脸属性编辑示意图 考虑到StyleGAN对于人脸属性编辑的重大意义,本篇博客将重点介绍基于此系列算法的人脸属性编辑方法,暂不讨论基于传统图像处理的人脸算法(如磨皮、美颜、瘦脸等),也不讨论以StarGAN、MaskGAN为代表的其他深度学习方法。 【StyleMixing-实现妆容迁移】 算法原理 之前博客中提到:StyleGAN2 中不同分辨率的激活张量控制人脸图像中不同细 粒度的属性特..
Read more关于车牌识别的三个专利
我研究生期间的主要做的是一个商业性质的车牌识别项目,该三个专利也是该项目期间积累下来的一些实践经验,趁着毕业正好整理一下。 复杂车牌示意图 【1】一种非二值化和边缘检测的车牌字符图像分割方法 相关资源:训练和推理代码 专利原文 要解决的问题:解决复杂车牌(如存在字符黏连、光照不均)中的字符分割难题 算法输入:车牌的字符区域(最好是高度和字符高度接近的) 算法输出:每个车牌字符的包围框坐标 算法流程:使用一个指定宽度的滑动窗口对图像从左到右进行遍历,每次遍历使用一个二分类的网络判断滑动窗口内是否是属于车牌字符(通常为字母和数字)的概率,最后得到一个字符概率的分布曲线,最后通过非极大值抑制得到最终的字符区域。 训练数据: 训练二分类网络:(判别是否是字母/数字)使用的2类数据------->配合交..
Read moreGAN学习3-StyleGAN
StyleGAN 【论文】【代码】【视频】【数据集】 先放一张StyleGAN生成人脸的效果图吧,确实真实到无法分辨出他是生成的,效果好到炸裂,以至于学习GAN不熟悉StyleGAN可以说说白学GAN了。 StyleGAN生成人脸示意图,来自video 当然除了人脸,StyleGAN在其他物体上的生成效果也是非常炸裂的。 StyleGAN生成其他物体示意图,来自video 写在前面 StyleGAN对于GAN的发展和推进太重要了,论文的内容很丰富细节也很多,一直没有很好的写作思路,直到看到了这篇博客和他的两篇中文版本:Wooo.zhihu和Yuthon's Blog,发现大家写的太好了,于是近乎全文copy过来当做笔记也方便后面自己查阅,只是加了少量自己的图和理解,也建议 大家去原博客进行阅读。..
Read moreGAN学习2-图像转换
图像转换是GAN的一个重要应用,不同于原始GAN结构从一个维度较低(如512x1)的噪声生成图像,图像转换则接受图像级别(如256x256x3)的输入,并在保证云输入图像主要特征(如结构、人脸id)的情况下输出具有其他风格的相同尺寸图像。 图像转换示意图,原图来自CycleGAN DTN 【Domain Transfer Network 】【官方代码】【复现代码】 算法笔记 DTN 目标任务:将源于的图像S转换到目标域T中,并且在保留源域主要特征(如人脸id)的同时也具有目标域的特征(如卡通特征)。 算法细节: 网络结构:生成器G完成image2image任务,其由特征提取器f和重构器g构成;判别器D为三类判别,判别输入图像是否来自1.目标域真实图像;2.目标域重构生成的图像;3.源域转化生..
Read more