【阿里云OpenVI-视觉生产系列之图片上色】照片真实感上色算法DDColor ICCV2023论文深入解读

本文涉及的产品
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,视频资源包5000点
简介: 图像上色是老照片修复的一个关键步骤,本文介绍发表在 ICCV 2023 上的最新上色论文 DDColor

本文介绍发表在 ICCV 2023 上的图像上色论文 "DDColor: Towards Photo-Realistic Image Colorization via Dual Decoders"


论文 & 代码

论文链接https://arxiv.org/abs/2212.11613

ModelScope应用https://www.modelscope.cn/models/damo/cv_ddcolor_image-colorization/summary

开源代码https://github.com/piddnad/DDColor


背景介绍

图像上色(Image Colorization)是一项经典的计算机视觉任务,在许多现实世界的应用中具有巨大的潜力,例如老照片修复、电影重制和艺术创作等。给定一个灰度图像,图像上色旨在恢复其缺失的两个颜色通道,这个问题具有多模态不确定性,因为一个物体可能有多个似是而非的颜色。因此,图像上色一直是一个具有挑战性的问题。


1693468928920-63c67f27-7a25-4e38-8965-a1346a08f700.png

图 1 上色方法视觉比较


随着深度学习的兴起,自动着色引起了很多关注,其目标是根据复杂的图像语义(形状,纹理和上下文)自动生成合适的颜色。一些早期的方法例如 CIC [1](ECCV 2016)、InstColor [2](CVPR 2020)、DeOldify [3] 等试图使用卷积神经网络(CNN)来预测每像素的颜色分布,但由于缺乏对图像语义学的全面理解,经常会产生不正确或不饱和的着色结果(图 1  CNN-based)。为了结合语义信息,GCP [4](ICCV 2021)、BigColor [5](ECCV 2022)等方法利用预训练的对抗生成网络(GAN)的丰富表示作为上色的生成先验,然而,由于表示空间有限,偶尔会生成令人不快的伪影(图 1 GAN Priors)。


近年来,Transformer 在自然语言处理(NLP)方面取得巨大成功,并被扩展到许多计算机视觉任务中。近期,一些方法也在图像上色中引入了 Transformer。虽然取得了有希望的结果,但这些方法要么训练几个独立的子网,导致错误累积(图 1 ColTran [6](ICLR 2021));要么只对单尺度图像特征图执行颜色注意操作,在处理复杂的图像上下文时导致可见的颜色溢出(图1 CT2 [7](ECCV 2022) 和 ColorFormer [8](ECCV 2022))。此外,这些方法往往依赖于预先制作的数据集级经验分布先验,例如 CT2 中的颜色掩码和 ColorFormer 中的语义-颜色映射,增加了手工构建成本。


为了解决这些问题,本文提出了一种叫做 DDColor 的新上色方法,旨在实现语义合理和视觉生动的着色。DDColor 利用编码器-解码器(Encoder-Decoder)结构,其中编码器提取图像特征,解码器恢复空间分辨率。与以前依靠额外网络或手动计算先验来优化颜色似然的方法不同,该方法提出了一个基于 Query Transformer 的颜色解码器(Color decoder),以端到端的方式学习语义感知的颜色查询。此外,通过使用多尺度图像特征指导学习颜色查询,减轻了颜色出血并改善了复杂上下文和小对象的着色。论文还提出了一种新的色彩损失来提高生成结果的颜色丰富性。最后,DDColor 在包括 ImageNet、COCO-Stufff 等多个数据集上实现了 SOTA 结果。


方法和结果

方法总览

DDColor 的整体结构如下图所示:

1693469667451-677db572-9042-4c00-b25e-e9c974189a5a.png

图 2 DDColor 网络结构


给定一个单通道灰度输入图像,网络采用编码器-解码器框架预测两个缺失的颜色通道。


对于编码器,使用一个现成的图像骨干网络(Backbone)从灰度图像中提取高级语义信息。骨干网络输出 4 个不同尺度的中间特征图,前三个特征图通过快捷连接馈送到像素解码器,最后一个作为像素解码器的输入。


解码器部分由一个像素解码器(Pixel decoder)和一个颜色解码器(Color decoder)组成。像素解码器使用一系列堆叠的上采样层来恢复图像特征的空间分辨率。颜色解码器通过利用不同尺度的多个图像特征来逐步细化颜色查询。最后,两个解码器产生的图像和颜色特征被融合以生成颜色输出。


颜色解码器

现有的基于 Transformer 的上色方法大多依赖预先计算的先验,构建过程繁琐,且限制了各种场景中的适用性。为了减少对手动设计先验的依赖,DDColor 提出了一种新颖的基于查询的颜色解码器。颜色解码器由多个块组成,每个块接收视觉特征和颜色查询作为输入。


颜色解码器块(Color decoder block, CDB)

颜色解码器块是基于 Transformer 解码器设计的,如图2(b)所示。为了学习一组基于视觉语义信息的自适应颜色查询,创建了可学习的颜色嵌入记忆来存储颜色表示的序列:

image.png

这些颜色嵌入在训练阶段初始化为零,并在第一个CDB中用作颜色查询。首先通过交叉注意力层建立语义表示和颜色嵌入之间的相关性:

image.png

其中其中l为层索引,Z_l∈R^(K×C)是指第l层的K个C维颜色嵌入。Ql=f_Q(Z_(l−1))∈R^(K×C)。K_l、V_l∈R^(H_l×W_l×C)分别是经过f_K(·)和f_V(·)变换的图像特征,H_l和W_l是图像特征的空间分辨率。f_Q、f_K和f_V是线性变换。

通过上述交叉注意力操作,图像特征丰富了颜色嵌入表示。然后利用标准变压器层来转换颜色嵌入,如下所示:

image.png

其中MSA(·)表示多头自注意,MLP(·)表示前馈网络,LN(·)表示层归一化操作。

颜色解码器通过使用多个堆叠的快,对视觉特征进行颜色查询,进而学习到学习语义感知的颜色表示。


多尺度视觉特征

现有基于 TransFormer 的上色方法通常在单尺度图像特征图上执行颜色注意力操作,未能充分捕获低级语义线索,因此在处理复杂上下文时可能导致颜色出血。相比之下,多尺度特征已在许多计算机视觉任务中得到广泛探索,如目标检测和实例分割。类似的,这些特征也可以帮助提高上色的性能。


为了平衡计算复杂度和表示能力,选择了三种不同尺度的图像特征。具体来说,颜色解码器使用像素解码器生成的下采样率为1/16、1/8和1/4的中间视觉特征,因此可表示为:

image.png

在颜色解码器中使用多尺度特征可以对颜色查询与视觉嵌入之间的关系进行建模,使得颜色嵌入对语义信息更加敏感,进一步能够更准确地识别语义边界,减少颜色出血。


颜色损失

基于色彩分数(Colorfulness Score)提出一个色彩损失,鼓励模型生成更丰富多彩和视觉上令人愉悦的图像。

image.png

其中σ和μ分别表示颜色平面中像素云的均方差和平均值,超参直接取自色彩分数计算公式。


实验

与 SOTA 算法对比

定量比较

image.png

图 3 定量比较

在 ImageNet 数据集上,DDColor 实现了最低的 FID,表明了高质量的生成结果。特别是,当模型大小类似时,DDColor 仍然优于以前的最先进的方法。DDColor 还在没有微调的情况下实现了 COCO-Stuff 和 ADE20K 数据集上最低的 FID,证明了其泛化能力。


CF 得分(Colorfulness Score)可以反映生成图像的鲜艳程度。一些方法的 CF 更高,然而,高 CF 并不总是意味着良好的视觉质量(参见视觉比较图的第6列)。因此,ΔCF 进一步计算了生成图像和真实图像之间的 CF 差异。DDColor 在所有数据集上实现了最低的ΔCF,表明实现更自然和逼真的结果。


视觉比较

image.png

图 4 视觉比较

第一列为输入,最后一列为真实图像。需要注意的是,真实图像仅供参考,由于上色问题的多模态不确定性,评估标准不应是与真实图像的颜色相似度。


如图所示,DeOldify 倾向于产生灰色和不饱和的图像。ColTran 由于错误累积导致明显的不自然着色结果,例如蜥蜴(第1行)和蔬菜(第5行)。基于 GAN 先验的方法如 BigColor,在阴影(第 2 行和第 5 行)和车辆(第 3 行)上产生了令人不快的红色伪影。CT2 和 ColorFormer 在具有复杂图像语义学的场景中会产生不正确的着色结果(第 2 行的人),也可以观察到可见的颜色溢出效应(第 3 行的车辆、第 4 行的草莓和第 5 行的蔬菜)。


相反,本文提出的方法(Ours)为复杂场景(如第 1 行的蜥蜴和树叶或第 2 行健身房里的人)生成了语义合理和视觉上令人愉悦的着色结果,并成功地捕捉到图片中物体的细节,如车辆(第 3 行)和草莓(第 4 行)。有趣的是,它还为物体产生了多种颜色,如辣椒(第 5 行)。文章将此归因于色彩损失,这鼓励模型产生更生动、更多彩的结果。


用户研究

image.png

图 5 用户研究


与其他方法相比,提出的方法受到更广泛用户的青睐。


消融实验

image.png

图 6 消融实验表格

image.png

图 7 关键组件消融实验

使用颜色解码器可以实现更自然和语义上更合理的视觉结果,而引入色彩损失有助于提高最终结果的色彩性。

image.png

图 8 视觉特征尺度消融实验

多尺度特征帮助模型捕捉到更准确的语义边界识别特征,缓解了颜色溢出效应。


真实历史老照片结果

从上到下分别为输入黑白图片、人类专家结果、DDColor 结果

image.png

图 9 真实历史老照片结果


总结

DDColor 是一种新的端到端图像上色算法。其主要贡献在于双解码器的设计:颜色解编码器通过利用基于查询的转换器来学习语义感知的颜色查询;像素解码器产生多尺度视觉特征来优化颜色查询。DDColor 算法在性能和生成逼真和语义一致的着色的能力上都超越了以前的方法。


模型传送门

📣DDColor 算法目前已经上线 ModelScope 平台,欢迎下载体验,构建你自己的上色应用!

ModelScopehttps://www.modelscope.cn/models/damo/cv_ddcolor_image-colorization/summary

Githubhttps://github.com/piddnad/DDColor


同时,ModelScope 上也上线了许多视觉增强算法,可以点击画质增强专题页进一步了解。


更多有趣的上色应用:

AI老照片修复应用

AI修复中国首届亚运珍贵史料


参考文献

[1] Richard Zhang, Phillip Isola, and Alexei A Efros. Colorful image colorization. In European conference on computer vision, pages 649–666. Springer, 2016.

[2] Jheng-Wei Su, Hung-Kuo Chu, and Jia-Bin Huang. Instance-aware image colorization. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 7968–7977, 2020.

[3] Jason Antic. jantic/deoldify: A deep learning based project for colorizing and restoring old images (and video!). https://github.com/jantic/DeOldify, 2019.

[4] Yanze Wu, Xintao Wang, Yu Li, Honglun Zhang, Xun Zhao, and Ying Shan. Towards vivid and diverse image colorization with generative color prior. In Proceedings of the IEEE/CVF International Conference on Computer Vision, 2021.

[5] Kim Geonung, Kang Kyoungkook, Kim Seongtae, Lee Hwayoon, Kim Sehoon, Kim Jonghyun, Baek Seung-Hwan, and Cho Sunghyun. Bigcolor: Colorization using a genera- tive color prior for natural images. In European Conference on Computer Vision (ECCV), 2022.

[6] Manoj Kumar, Dirk Weissenborn, and Nal Kalchbrenner. Colorization transformer. In International Conference on Learning Representations, 2021.

[7] Shuchen Weng, Jimeng Sun, Yu Li, Si Li, and Boxin Shi. Ct2: Colorization transformer via color tokens. In European Conference on Computer Vision (ECCV), 2022.

[8] Ji Xiaozhong, Boyuan Jiang, Luo Donghao, Tao Guangpin, Chu Wenqing, Xie Zhifeng, Wang Chengjie, and Tai Ying. Colorformer: Image colorization via color memory assisted hybrid-attention transformer. In European Conference on Computer Vision (ECCV), 2022.

相关文章
|
2月前
|
人工智能 自然语言处理 算法
首届大模型顶会COLM 高分论文:偏好搜索算法PairS,让大模型进行文本评估更高效
【8月更文挑战第26天】在人工智能领域,尽管大型语言模型(LLMs)作为自动评估工具展现了巨大潜力,但在自然语言生成质量评估中仍存偏见问题,且难以确保一致性。为解决这一挑战,研究者开发了Pairwise-preference Search(PairS)算法,一种基于不确定性的搜索方法,通过成对比较及不确定性引导实现高效文本排名,有效减少了偏见、提升了评估效率和可解释性。PairS在多项任务中表现出色,相较于传统评分法有显著提升,为自然语言处理评估提供了新思路。更多详情参阅论文:https://arxiv.org/abs/2403.16950。
36 4
|
2月前
|
机器学习/深度学习 存储 算法
【博士每天一篇论文-算法】Continual Learning Through Synaptic Intelligence,SI算法
本文介绍了一种名为"Synaptic Intelligence"(SI)的持续学习方法,通过模拟生物神经网络的智能突触机制,解决了人工神经网络在学习新任务时的灾难性遗忘问题,并保持了计算效率。
29 1
【博士每天一篇论文-算法】Continual Learning Through Synaptic Intelligence,SI算法
|
2月前
|
机器学习/深度学习 人工智能 算法
【博士每天一篇论文-算法】Collective Behavior of a Small-World Recurrent Neural System With Scale-Free Distrib
本文介绍了一种新型的尺度无标度高聚类回声状态网络(SHESN)模型,该模型通过模拟生物神经系统的特性,如小世界现象和无标度分布,显著提高了逼近复杂非线性动力学系统的能力,并在Mackey-Glass动态系统和激光时间序列预测等问题上展示了其优越的性能。
24 1
【博士每天一篇论文-算法】Collective Behavior of a Small-World Recurrent Neural System With Scale-Free Distrib
|
2月前
|
数据采集 机器学习/深度学习 算法
【python】python客户信息审计风险决策树算法分类预测(源码+数据集+论文)【独一无二】
【python】python客户信息审计风险决策树算法分类预测(源码+数据集+论文)【独一无二】
|
2月前
|
机器学习/深度学习 算法 物联网
【博士每天一篇论文-算法】Overview of Echo State Networks using Different Reservoirs and Activation Functions
本文研究了在物联网网络中应用回声状态网络(ESN)进行交通预测的不同拓扑结构,通过与SARIMA、CNN和LSTM等传统算法的比较,发现特定配置的ESN在数据速率和数据包速率预测方面表现更佳,证明了ESN在网络流量预测中的有效性。
21 4
|
2月前
|
机器学习/深度学习 存储 算法
【博士每天一篇论文-算法】Optimal modularity and memory capacity of neural reservoirs
本文研究了神经网络的模块化与记忆性能之间的关系,发现存在一个最佳模块化程度,能够在局部凝聚性和全局连接性之间实现平衡,从而显著提高神经网络的预测性能和记忆能力,并为设计神经网络和理解大脑的模块化组织提供了新的见解。
19 0
【博士每天一篇论文-算法】Optimal modularity and memory capacity of neural reservoirs
|
2月前
|
机器学习/深度学习 算法 数据挖掘
【博士每天一篇文论文-算法】A small-world topology enhances the echo state property and signal propagationlun
本文研究了小世界拓扑结构在回声状态网络(ESN)中的作用,发现具有层级和模块化组织的神经网络展现出高聚类系数和小世界特性,这有助于提高学习性能和促进信号传播,为理解神经信息处理和构建高效循环神经网络提供了新的视角。
28 0
【博士每天一篇文论文-算法】A small-world topology enhances the echo state property and signal propagationlun
|
2月前
|
算法 Python
【python】python基于 Q-learning 算法的迷宫游戏(源码+论文)【独一无二】
【python】python基于 Q-learning 算法的迷宫游戏(源码+论文)【独一无二】
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
|
1天前
|
传感器 算法 C语言
基于无线传感器网络的节点分簇算法matlab仿真
该程序对传感器网络进行分簇,考虑节点能量状态、拓扑位置及孤立节点等因素。相较于LEACH算法,本程序评估网络持续时间、节点死亡趋势及能量消耗。使用MATLAB 2022a版本运行,展示了节点能量管理优化及网络生命周期延长的效果。通过簇头管理和数据融合,实现了能量高效和网络可扩展性。
下一篇
无影云桌面