Paper | SDD-FIQA, Unsupervised Face Image Quality Assessment with Similarity Distribution Distance | CVPR2021

Background Knowledge

  • inter-class(类间)intra-class(类内)都是图像分类中的术语,用于描述两种不同的特征。

比如人脸识别任务中用来训练的数据集分为好多不同的人,每个人就是一个类别,每个类别中又有好多单独的图片。

  • inter-class代表类别间的特征,比如人脸识别中不同的人脸组件特征之间的差异。
  • intra-class代表类别内的特征,比如同一个人在不同状态下脸部的特征的差异(生气和开心的样子肯定不一样)

对于人脸识别任务来说,肯定是希望inter-class特征差异很大,intra-class特征差异很小,这样我们的模型才能更好的识别不同的类。

Info

Abstract

存在的问题:

  • 大多数基于人脸识别特征的方法只考虑了部分的类内信息,忽略了类间信息。作者认为一张高质量的人脸图片应该与其同类样本相似而与类外样本不相似。

解决方法:

  • 提出一个新的无监督FIQA方法,利用类内相似度分布和类间相似度分布之间的Wasserstein距离生成人脸图像质量伪标签。然后,利用这些质量伪标签进行无监督人脸质量回归网络训练,从而获得一个质量评估模型。

Method

  • 从人脸识别效果来看,一张高质量的人脸图像更容易被识别正确,这表示它与类内的相似性距离较近,与其它类间的相似性距离较远。换句话来说,它的类内相似性分布与类间相似性分布距离较远。图像质量与类内-类间相似度距离如下图所示,低质量人脸WD距离较近,高质量人脸WD距离较远。

  • 图中红点表示目标样本,绿点表示类内样本,黄点表示类间样本。类内相似性分布(Pos-Sim)与类间相似性分布(Neg-Sim)的WD距离为质量分数伪标签,质量分数结果如图中右侧所示。

  • 假设X,Y,F分别表示图片集、id标签集、识别特征集,构建一个三元组数据集。

  • 利用同一个id下的两个样本构建正样本对(intra-class,类内),不同id的两个样本构建负样本对(inter-class,类间),对于每一个训练样本,正样本对和负样本对的相似度集合分别为:

  • 其中尖括号中的内容代表了两个样本的识别特征嵌入空间中的余弦距离。

  • 文章使用Wasserstein距离度量正样本相似度和负样本相似度分布情况。

  • 使用生成的质量分数标签训练质量回归网络。在训练过程中利用人脸识别模型进行知识迁移,提升质量回归模型的预测结果与识别的匹配度。去掉embedding和原来的分类层,添加一个FC层,采用dropout方式防止训练过程中过拟合,使用Huber loss回归损失函数训练质量回归网络。相比MSE,Huber损失对数据中异常值更具鲁棒性。

Evaluation

  • 结果为质量回归模型与人脸识别模型均采用ResNet50-MSIM的结果,表中结果显示使用SDD-FIQA质量评估后,在固定误识率(FMR)下,人脸识别结果在LFW、Adience、IJB-C三个数据集上均优于目前最好的质量评估方法。

Paper | Generative Diffusion Prior for Unified Image Restoration and Enhancement | CVPR2023

Info

  • Title: Generative Diffusion Prior for Unified Image Restoration and Enhancement
  • Keyword:Unified Problem Solver、Generative Diffusion Prior
  • Idea:利用原始图像的统计先验为受损图像匹配最优的原始图像,在denoising process中使和y保持一致,这样去噪后可以得到与y一致性最高的未受损图像。
  • Source

Abstract

现存的问题:

  • 现有的image restoration方法通常利用自然图像的后验分布,然而退化是已知的,且需要监督训练。

贡献:

  • 以一种无监督的抽样方式高效的建模后验分布。使用预训练的DDPM来解决linear inverse,non-linear、blind problem。第一个提出了利用无监督抽样方式统一图像恢复和增强任务

Linear inverse problems, such as image super-resolution , deblurring , inpainting, colorization, where the degradation model is usually linear and known.

Non-linear or blind problems, such as image low-light enhancement and HDR image recovery, where the degradation model is non-linear and unknown.

Method

  • ,其中为受损图像,为原始图像,为退化模型。

  • 利用储存在大规模图像数据集上训练的diffusion model作为原始图像的generic image prior,为受损图像匹配最优的原始图像。

  • DDPM的reverse denoising process可以利用受损图片(degraded image)作为条件,采用条件分布,已有文章证明了以下公式:

  • 其中,为常数。

  • 可以看作是去噪后得到与y保持一致性的高质量图片的概率,提出一个启发式近似(heuristic approximation)

  • 为图像距离度量(image distance metric),为归一化因子,为用于控制引导幅度的比例因子(scaling factor controlling the magnitude of guidance),可选的提升GDP灵活性的质量提升损失(可以用于控制诸如光线的属性,或者增强去噪后图像的质量),是调节图像质量的比例因子。

  • 计算梯度:

  • 综上,可以近似的通过无条件transition获取,通过沿着梯度方向)改变无条件分布均值。

  • 现有的条件扩散模型的方差用于抽样过程中的均值偏移,但在实验过程中效果不好(融入了受损图像损失的梯度引导的情况),于是不用方差,固定引导因子,引导的denoising process可以通过引导变量控制

  • GDP-就是常规的对于进行控制的扩散模型,只不过不利用方差。但是效果不好,因为是具有特定噪声大小的噪声图,而y是个受损图像(没有噪声,或者噪声magnitude不同)。用MSE和感知损失会导致最终生成图像质量较低。

  • GDP-将条件信号作用于。在采样过程中,预训练的DDPM通常都会先从噪声图预测一个干净的image,估计中的噪声,在timestep t时已知可以直接推导出,然后再利用$\tilde{x}0x_tx{t-1}$进行采样。

  • 已知的退化模型直接添加即可,未知的退化模型(如暗光增强),随机初始化然后在采样过程中同步优化即可。

Evaluation

Paper | Inst-Inpaint, Instructing to Remove Objects with Diffusion Models | arXiv2023

Info

Abstract

现存的问题:

  • 现有的Inpainting任务都是填充二值掩膜(binary masks)区域的内容。现实应用时需要用户的标注,这浪费时间、乏味并且容易出错。

解决方法:

Instructional Image Inpainting:本文提出一种基于自然语言输入(natural language input)的目标移除的任务。

  • Dataset:为Inst-Inpaint构建了一个命名为GQA-Inpaint的数据集(原始source image、目标移除text prompt、目标移除后的target image三元组)。

  • Method:Remove objects from images based on the instructions given as text prompts。基于latent diffusion的有条件移除(Stable Diffusion有条件生成可以迁移到Inpainting任务,但是生成性能较好,面对移除问题时not work that well)。

Method

Dataset Generation

  • 在GQA数据集(visual reasoning)上创建benchmark数据集GQA-Inpaint,利用GQA数据集提供的场景关系图、以及sota实例分割模型和Inpainting模型来生成数据。
  • scene graphs:object、attribute、relation三元组,85K pairs。每一个结点代表一个物体,位置和大小会有bounding box标出;attribute包括color、shape和material;relation表示了空间位置。

  1. Selecting Objects from the Scene Graphs

    选择数据集中较常见的target objects,避免选择bounding box过大或过小的物体。

  2. Extracting Segmentation Masks

    基于Detectron2 code base,利用多个在COCO和LVIS数据集上的实例分割进行seg mask的提取,取和原始数据集bounding box IoU最大的mask。

  3. Removing Objects From Images

    利用Cascade PSP模型refine预测的seg mask,再利用结构元素为11×11像素的形态学扩张在边缘处展开seg mask。最后使用CRFill模型进行填充。

  4. Generating Textual Prompts

    如果选择的物体在图像中是一个unique实例,不存在关系问题,生成简单text prompt“remove the [object]”

    如果存在多个实例是同一个物体类别的,使用scene graph中的关系信息来构造具有相对位置的text prompt。

Model

  • 第一步是独立训练变分自编码器,encoder、decoder来将图像降到低维并重建。
  • 加噪去噪的过程和Stable Diffusion相同架构。

  • additional conditioning:source image、text prompt
    • 利用target图片(移除物体后的)经过encoder获取。每一个time stepsource image也通过编码器作为额外的条件输入和 concat。
    • T是transformer model,i为文本instruction。利用BERT tokenizer生成token,训练一个transformer model from scratch来获取instruction embeddings,供U-Net layers中的cross attention mechanism使用。

  • 训练细节

    • 在CLEVR(三维物体编辑数据集,包括source/target image和text)、GQA-Inpaint上训练了模型(5405train、2362test)。
    • GQA-Inpaint(训练使用44500unique source images、88369unique target images、173715 unique source-target-prompt pairs;测试使用4811 unique source images、9485 unique target images、18883 unique source-target-prompt pairs)
    • CLEVR的VAE是从零训练,GQA-Inpaint的VAE使用pretrained VQGAN模型(在Open Images数据集上训练的, has 16384 number of codebook entries)
    • CLEVR使用八层transformer、4-head cross attention和activation layers。GQA-Inpaint使用16层transformer、8-head cross attention。
  • 对比的一个Instruct X-Decoder生成分割图然后进行物体移除,结合了X-Decoder的图片理解能力、GPT-3的语言理解能力和stable diffusion的生成能力。(训练数据集比提出的GQA-Inpaint 大很多)

  • 模型方面,和Stable Diffusion的区别就是输入图像没mask区域,指令是source image需要移除部分的text prompts。

Evaluation

Paper | Perceptual Artifacts Localization for Inpainting | ECCV2022

Info

Abstract

现存的问题:

  • 图像修复任务是不适定的(ill-posed),在进行large holes修补时会生成瑕疵和伪影(Artifacts)

  • 在真实用户应用中,图像修复被用于前景物体去除(现有的irregular mask不如实例分割mask有效),用户更偏好于视觉上可信的背景生成(现有的有参考指标进行修复评估不合理),并迭代进行修复(缺少一个自动化定位瑕疵的方法)。

迭代Inpainting方法

  • Su S, Yan Q, Zhu Y, et al. Blindly assess image quality in the wild guided by a self-adaptive hyper network[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 3667-3676.
  • Zeng Y, Lin Z, Yang J, et al. High-resolution image inpainting with iterative confidence feedback and guided upsampling[C]//Computer Vision–ECCV 2020: 16th European Conference, Glasgow, UK, August 23–28, 2020, Proceedings, Part XIX 16. Springer International Publishing, 2020: 1-17.

贡献:

提出新任务Inpainting artifacts segmentation,构建数据集用于模型评估以及迭代细化。

  • Dataset:针对目前的SOTA Inpainting模型的生成的有perceptual artifacts的结果进行手工标注,以进行后续的语义分割,定位感知伪影区域。(4795张图片)
  • Metric:提出一个叫做Perceptual Artifact Ratio(PAR)的评估指标,度量artifacts区域占整个Inpainted区域的比例。
  • Iterative refinement:将生成的语义分割图应用在现有的SOTA模型上,进行迭代优化。

由于商业原因,只开源一部分数据集和推理代码,训练代码和完整数据集不开源。大概有2000张训练图片、400张测试图片、400张验证图片。

Method

  • 使用ProFill、CoMod-GAN、LaMa生成用于标记的图像。在hole area周围放置膨胀的包围框,方便用户定位。聘请专业人员进行两轮检查,避免“漏标记”或“过度标记”区域。在4795张图中有832张没有瑕疵,加入训练避免预测假阳性。最终发现,感知伪影区域占孔掩膜区域的平均比例为29.67%。

  • 在现有的backbone和head模型上进行训练,以及训练策略的消融。

Evaluation

  • 不同方法生成的图片进行配对,然后进行2选1,看和人类观察者的选择一致的百分比。

  • 发现随着hole大小增加,感知瑕疵比例也在上升。

  • 进行迭代修复策略,随着迭代数的不断增加,瑕疵比例在不断下降。

  • 但是感觉迭代修复后的图片只是更平滑了(大多数情况下),并没有完全解决瑕疵的问题,所以用户才会觉得大多数情况下保持一致,不过这里想要证明能够在30%的左右的情况下提升Inpainting效果,没有显著降低原始Inpainting模型性能。

Paper | High-Resolution Image Inpainting with Iterative Confidence Feedback and Guided Upsampling | ECCV2020

Info

Abstract

  • 以往的图像修复方法通常使用square-shaped or irregular holes,然而在实际场景中,用户想要去除object或scene实例片段(segment)。

  • 当时的SOTA方法在真实的Object removal request下效果不佳。

Method

  • 在数据集上,从语义分割、视频分割等数据集收集了82020object mask,并利用random strokes(free-formed mask)和构建的object mask一同训练,避免对于object shaped holes的bias。

  • 网络使用了course-to-fined架构,精细优化网络有一个编码器和两个解码器,一个生成修复结果,另一个返回预测像素值的置信度图。

  • 前一项就是对掩膜区域内置信的pixel计算loss,后一项正则来保证置信pixel的数量(其中C代表置信的pixel的集合,如果没有正则,网络偏向于将所有pixel置信度设为0)。设置置信度阈值0.5,低于置信阈值的复原部分不去补全它(不置信),高于阈值的复原部分才补全回去,补全回去后就进行下一次迭代。

  • 参考小尺度补全的patch相似性来进行高分辨率补全。高分辨率的patch feature map由在低分辨率patch计算的相似度来引导。

Evaluation

  • 在不同缺失区域比例下,超过了当时的SOTA。

Paper | SmartBrush, Text and Shape Guided Object Inpainting with Diffusion Model | CVPR2023

Info

Abstract

现存的Diffusion-based Inpainting Model存在如下问题:

  • Text misalignment:由于训练过程中的text prompt是针对全局图片的,所以模型会将mask region中填补背景内容,而不是根据针对mask region的text prompt进行精细的修复(e.g. Glide、Stable Inpainting,会把火烈鸟生成在背景部分)。
  • Mask misalignment:结合多模态language-vision模型会捕捉全局信息,不会在给定的mask形状内生成内容(Blended diffusion)。
  • Background preservation:会不经意修改inpainting object周围的背景区域(e.g. bottom row)。

贡献:

  • 对于mask的精度进行控制,设定一个precision factor超参数,使模型对于不同精度的mask敏感。
  • 训练时使用实例分割mask以及对应的局部文本描述。
  • 进行实例mask预测,并作为正则化损失,使模型只在实例mask区域内生成内容。
  • 多任务训练,联合训练inpainting任务和text-to-image generation,在pretrained模型上微调,以利用更多训练数据。

Method

在原有的diffusion模型的基础上

  • 只对mask区域加噪,学习上下文信息

  • 针对不同精度的mask,加入不同的条件控制,其中s是mask精度,m_s是实例分割对应的mask,c是实例的text label。

  • 不论是什么样精度的mask,都要预测最精细的实例mask。

在已有的text-to-image生成模型(stable diffusion、Imagen)的预训练模型上微调,训练过程中将text-to-image的input mask设置为整张图片大小,作为inpainting的一个特殊情况。在8卡A100上训练了20K steps。

Evaluation

  • 个人认为这种限定实例分割mask区域内修复的物体的效果,不如全局上直接生成效果好(更能fit in进原图,并且再画风上能保持一致性,因为是全局嵌入)
  • 就像后期的一些diffusion-based+prompt2prompt方法进行图像编辑一样,或许人类指令(文本)会比精细mask的效果更好(实际上都是粗mask应用)、且交互性更强。
  • 人类指令+粗mask或许是个值得follow的idea。

Paper | Generative Image Inpainting with Segmentation Confusion Adversarial Training and Contrastive Learning | AAAI2023

Info

  • Title: Generative Image Inpainting with Segmentation Confusion Adversarial Training and Contrastive Learning

  • Keyword:Contrastive Learning、Segmentation Confusion Adversarial Training

  • Idea:Using Semantaion network predicts mask to distinguish generated and valid region,optimizing in an adversarial-style(between inpainting generator and a segmentation network)

  • Source

Abstract

  • 【提出了一个针对Image Inpainting任务的对抗训练framework】(很勉强的说法),利用所提出的segmentation confusion adversarial training (SCAT) and contrastive learning。

  • 结合SCAT和全局对抗训练,有以下三个优势。

    • repaired image的全局一致性
    • 提升repaired image的局部精细纹理细节
    • 处理不同图片free-form holes灵活性

    这是现存的对抗训练框架难以同时满足的(但这对比的“现存”方法也都太考古了)。

Method

Motivation是人类能够轻易的寻找出扭曲或者纹理不一致的区域。本文利用分割网络来模拟这种人类行为,标记输入图像中的generated region和valid region,本质上是一个二分类语义分割。修复网络来“欺骗”分割网络,生成视觉语义上更合理填充内容,使得分割网络难以区分标记生成的部分(generated region)和原始的像素(valid region)。

  • 其中为m为输入mask,m-bar是全1mask代表真实图片的mask,repaired image为x-bar,gt image为x。对于inpainting generator G而言,利用m-bar来作为repaired image x-bar的监督,使得生成器能够生成更好的修复图像,以混淆分割网络S。S部分就是m作为repaired image的监督,m-bar作为gt的,使得S作为鉴别器学习不同图片内容中generated和valid像素分布。

为了稳定GAN训练,加入对比学习损失,通过利用鉴别器的特征表示空间,在这个空间中将generated image分布拉向ground truth分布,同时远离corrupted image的分布。【作者说这是第一次将对比学习融入图像修复,说的很勉强】

  • x-tilde为受损图片(就是mask和gt点乘得到的),鉴别器low-level特征为局部纹理细节,high-level为全局语义信息。取low-levelN个特征层计算纹理对比损失,接近gt分布而远离x-tilde(受损图像)分布;取鉴别器最后一个输出特征层计算语义对比损失,并构建多个x-tilde作为不同受损版本图片(超参数取8)。

Evaluation

  • 对比的新方法WaveFill、LaMa都是基于频率的,CTSDG是基于边缘先验的,在纹理复杂情况下效果都会差。

  • 在CelebA数据集上的人脸修复定性比烂结果。

  • 不过在irregular mask+CelebA数据集上的定性数据挺好看的,但没做过这个数据集以及places2数据集上的实验,不能确定这个效果是否性能很好。

  • 并且在40%-60%缺失区域的人脸修复中效果也还不错。

Paper | CoordFill, Efficient High-Resolution Image Inpainting via Parameterized Coordinate Querying | AAAI2023

Info

Abstract

高分辨率图像修复现存的问题:

  • 高分辨率图像需要较大的感受野,造成更多的计算量。
  • encoder-decoder架构会同时重建背景像素(非受损区域),作者认为这样会降低效率。

贡献点:

Method

  • 先将高分辨率图像(e.g. 1024×1024)双线性下采样到低分辨率空间(e.g. 256×256)。Encoder为三层卷积层,将输入图片特征继续下采样,然后利用六个基于注意力的傅里叶卷积块生成最终的逐像素MLPs参数。

  • 利用一个简单的线性映射,只选取孔洞区域的映射,并将目标分辨率作为条件输入使网络能够对于分辨率敏感。最后利用最近邻插值将逐像素MLPs参数上采样到高分辨率空间,加入带有高频信息的正弦信号位置编码,仅生成代填补区域像素,最终直接贴回原图。

Evaluation

  • 主打一个快,但是增益是之前CVPR21的I2I提出的,把该方法迁移到了Inpainting任务上而已。

  • 可能对于高分辨率图像修复的实际应用部署会有很大的帮助。

  • 在人脸图像上也做了实验,但是与HiFill保持训练一致,训练mask只采取了25%左右的缺失区域,很难认定这是高分辨率图像修复任务。

Thinking

灌水痕迹明显的一篇AAAI。

但可能是因为作者是工业界的,用了八卡a100训练这样的模型,方便实际中的高分辨率图像修复部署吧。科研上的价值不大。

Paper | Spatially-Adaptive Pixelwise Networks for Fast Image Translation | CVPR2021

Info

  • Title: Spatially-Adaptive Pixelwise Networks for Fast Image Translation
  • Keyword:Adaptive neural networks,Trainable efficient & Gan-based I2I

Trainable efficient image transformations:Computationally heavy
inference is performed at extreme low-resolution, while the
high-resolution synthesis is comparatively lightweight.

计算量大的推理在极低分辨率下执行,而高分辨率合成更轻量级。

Abstract

存在的问题:

  • 现有的I2I方法随着性能的提升,推理时间也不断增加。

本文的贡献:

  • 在不牺牲性能的同时,降低运行时间,提升推理速度。

Method

直觉上直接使用MLP预测效果会很差,文章提出了三个组件使网络表达能力增强。

  • Spatially-varying Parameters:与CNN的参数共享不同,本方法针对每个像素点的MLP参数是不同的(spatial-adaptive、spatial-varying)。逐像素预测可以并行计算,因为像素与像素之间独立,因此推理速度大幅度提升。
  • Sinusoid Positional Encoding:除了input pixel values以外,还将像素空间位置以不同频率的正弦信号编码,其频率高于上采样因子,以生成高频图像细节。
  • Input-adaptive Parameters:在低分辨率空间预测参数,对于每张图预测的逐像素MLPs参数均不同。

Evaluation

  • 主打一个快,且性能没有显著下降。

  • MLPs一般只能学习到低频细节。在连续隐式表达中(神经渲染方向),MLPs表征能力不是很强,就像消融实验中的没有位置编码的模型生成结果一样。所以本文牺牲了极大的训练内存来换取速度。

Thinking

  • 听师兄说,这是20年、21年CVPR比较热门的(灌水)方法。
  • 后续会follow一篇在23年利用该方法发表(灌水)AAAI23的高分辨率图像修复方法。

Paper | Visual ChatGPT Talking, Drawing and Editing with Visual Foundation Models | arXiv2023

Info

Abstract

存在的问题:

  • 大型语言模型如ChatGPT利用单一语言模态训练,因此处理视觉信息的能力非常有限。

  • 相比较而言,视觉基础模型(VFM,Visual Foundation Models)在计算机视觉方面潜力巨大,因而能够理解和生成复杂的图像(如ViT、BLIP、Stable Diffusion等等)。VFM模型对输入-输出格式的苛求和固定限制,使得其在人机交互方面不如会话语言模型灵活

贡献:

  • Prompt Engineering:将ChatGPT和多个SOTA视觉基础模型连接。

Method

没有任何的训练,系统构成:

  • Part 1 ChatGPT(直接利用大语言集成工具LangChain,调用OpenAI text-davinci-003 version)

  • Part 2 PromptManager

    构造了一个巨大的Prompt,把系统规则、视觉基础模型调用、历史对话、用户query、历史推理、中间结果都包含,简单来说就是指导ChatGPT怎么调用模型,什么时候调用,怎么处理结果。ChatGPT和VFMs之间沟通提到图片的时候使用的是随机生成的uuid(universally unique identifier),两者之间是没有向量或者图片数据交互的。

  • Part 3 VFMs(22个训练好的SOTA视觉基础模型,直接调用,利用4张V100就能全部部署)

Result

  • 不是真正的多模态大模型,不过是普通玩家(小公司)可以尝试的Prompt Engineering。
  • 训练一个多任务的large-scale视觉-语言模型应该非常消耗算力吧,23年3月15日发布的gpt4虽然没有公开详细的技术细节,但我觉得底层加了Vision QA,也就是Image-to-Text的能力,还是很难将I2I,T2I,I2T完全结合再一起的。
  • 不过大力出奇迹,stack more layers,feed more data。
  • 猜测GPT4背后的一些图像能力是靠这样的简单逻辑实现的。

References

  1. 视觉ChatGPT来了,微软发布,代码已开源 - 热点 - 科研解读 - AMiner
  2. visual-chatgpt: 训什么练,我直接prompt一把梭 - 知乎 (zhihu.com)
You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.