DDColor是什么

DDColor是阿里达摩院的研究人员推出的一个开源的AI图像着色框架,可以一键将黑白图片上色变为全彩图像。该方法通过使用双解码器架构(像素解码器和颜色解码器)来实现对灰度图像的自动着色,使得生成的彩色图像更加逼真和生动,旨在解决传统图像着色方法中存在的多模态不确定性和高度不适定性问题。

DDColor - 阿里推出的AI图像上色框架,将黑白图片变彩色

DDColor的工作原理

DDColor的工作原理基于一个端到端的深度学习模型,它通过两个主要的解码器组件来实现图像的着色过程。

DDColor - 阿里推出的AI图像上色框架,将黑白图片变彩色

以下是DDColor的核心工作流程:

  1. 特征提取:首先,使用一个预训练的图像分类模型(如ConvNeXt)作为编码器,从输入的灰度图像中提取高级语义特征。这些特征包含了图像的结构、纹理和对象信息。
  2. 像素解码器:编码器提取的特征被送入像素解码器,该解码器由一系列上采样层组成,逐步恢复图像的空间分辨率。每个上采样层都与编码器的对应层通过跳跃连接(shortcut connection)相连,以便在恢复空间结构的同时保留细节信息。
  3. 颜色解码器:颜色解码器接收来自像素解码器的多尺度视觉特征,并生成颜色查询。这些颜色查询是学习得到的,用于表示图像中不同区域的颜色。颜色解码器通过交叉注意力机制将颜色查询与图像特征相匹配,从而生成与图像内容相匹配的颜色。
  4. 交叉注意力与自注意力机制:在颜色解码器中,交叉注意力层用于建立颜色查询与图像特征之间的关联,而自注意力层则进一步细化这些颜色查询,使其更加精确地反映图像的语义内容。
  5. 颜色丰富度损失:为了增强生成图像的颜色丰富度,DDColor引入了一个基于颜色平面标准差和均值的颜色丰富度损失函数。这个损失函数鼓励模型生成更加多彩和生动的图像。
  6. 融合与输出:最后,像素解码器和颜色解码器的输出通过一个融合模块结合起来,生成最终的彩色图像。这个融合过程通过简单的点积操作实现,然后通过一个1×1卷积层生成最终的AB(色相和饱和度)通道。
  7. 训练与优化:整个网络在训练过程中,通过最小化像素损失、感知损失、对抗损失和颜色丰富度损失来优化模型。这些损失函数共同作用,确保生成的图像在视觉上逼真,同时保持语义上的一致性。

DDColor的官方入口