有三AI-CV中阶-图像质量组2024
核心代码,注释必读
// download:
3w ukoou com
图像增强GAN
获得更大的数据集是提高机器学习算法性能最可靠的方法之一 —— 用Andrew Ng的一句话来说,“数据量驱动机器学习过程”。在某些情况下,添加生成的或合成的数据(称为数据增强的过程)也可以提高性能。
最常见的方法是对现有数据应用一些转换。在图像分类的例子中,我们知道,例如,在移动或翻转一个猫的图像后,它仍然是一只猫的图像。因此,图像分类数据集通常会增加移位、翻转、旋转或颜色变化,以获得可能的最佳结果。
ACGAN: Cooperate on classification
conditional GAN的一个变体,称为ACGAN(辅助分类器GAN),除了区分真实数据和合成数据之外,还让鉴别器执行分类,损失函数包括用于分类的二元交叉熵项。除了学习生成总体真实的样本,这样还鼓励生成器学习不同类别样本的表示。这本质上是多任务学习:虽然生成器和鉴别器在生成的图像是真还是假上“竞争”,但他们在正确分类上“合作”。
DAGAN: learn a shared family of transformations for data augmentation
另一种变体叫做DAGAN (Data augmented GAN),它学习如何使用真实图像的低维表示来生成合成图像。在DAGAN框架中,生成器不是将一个类和噪声向量作为输入,而是本质上是一个自动编码器:它将现有的图像进行编码,添加噪声,然后解码。因此,解码器学习了大量的数据增强转换。
夜间、低光照等条件下的产生的图像数据, 存在画面过暗、细节丢失的问题, 对理解图像内容、提取图像特征造成阻碍. 研究针对此类图像的增强方法, 恢复图像的亮度、对比度和细节, 在数字摄影、上游计算机视觉任务中有着重要的应用价值. 本文提出一种基于U-Net的生成对抗网络, 生成器采用带有混合注意力机制的U-Net模型, 其中混合注意力模块将非对称的Non-local的全局信息和通道注意力的通道权重信息相结合, 提高网络的特征表示能力. 判别器采用基于PatchGAN的全卷积网络模型, 对图像不同区域进行局部处理.
有三AI-CV中阶-图像质量组2024 - Pix2Pix图像上色实战
pix2pix是一种基于条件式生成对抗网络(CGAN)的图像转译模型,而条件式生成抵抗网络是生成对抗网络的一种扩展,它通过在生成器和判别器中引入条件信息来实现有条件的图像生成。生成器采用U-Net网络结构,融合底层细粒度特征和高层抽象;判别器采用patchGAN网络结构,在图块尺度提取纹理等高频信息。(什么?看不懂?没关系滴,往后看都有对应部分的详细解释说明嗷)🌴🌴🌴 pix2pix不仅论文写得好,主页做的漂亮,最令人难忘的是它还有一个交互式的demo,其中pix2pix的标志性成果——简笔画的猫转成真猫,建筑外立面语义设计图转真实图,简笔画的鞋转真鞋等,你都可以在这里轻松上手玩转
pix2pix原理详解
pix2pix使用的是条件式生成对抗网络,条件式指的是对生成器不光要输入一个噪声,还要输入一张原始图像,因为你就要对这张图像做转译嘛;对于判别器也是一样的,不仅要把真假图像输入给它,让它判别,还要把输入的这张原始图片也输入给它,让判别器去判断这一对图像是真是假。不管是生成器还是判别器,都是由这样的模块组成的:***convolution-BatchNorm-ReLu(CBR模块)
条件式GAN的目标函数(也叫损失函数)表达如下:LcGAN(G,D)=Ex,y[logD(x,y)]+Ex,y[log(1−D(x,G(x,z)))]L_{cGAN}(G,D)=E_{x,y}[logD(x,y)]+E_{x,y}[log(1-D(x,G(x,z)))]LcGAN(G,D)=Ex,y[logD(x,y)]+Ex,y[log(1−D(x,G(x,z)))]
先看判别器,当给判别器真图的时候,判别器认为真图是真图的概率要足够的大,也就是式子的第一项D(x,y)D(x,y)D(x,y)要足够的大;如果是假图的话,判别器认为假图是真图的概率应该要足够的小,即D(x,G(x,z))D(x,G(x,z))D(x,G(x,z))要尽可能的小。所以判别器的优化目标是最大化第一项和第二项,也就是最大化整个函数。注意!这里的式子表达的是括号里的期望加上括号里的期望,而不是这两项相乘喔!🌻🌻🌻
而生成器呢,其实就是使得D(x,G(x,z))D(x,G(x,z))D(x,G(x,z))尽可能的大,即让判别器以为假图是真图的概率越大越好;生成器无法控制第一项,因为第一项D(x,y)D(x,y)D(x,y)是判别器认为真图是真图的概率,这对于生成器来说只能算得上是一个常数。所以生成器的目标就是要努力使得这个函数最小化。
判别器在努力最大化这个函数,生成器在努力最小化这个函数(严谨的说应该是最小化第二项)。最终的结果就是一个双人的极大极小零和博弈