一、背景
图像上色(Image Colorization)顾名思义,是指对黑白图像添加色彩,使其变成彩色图像。更具体的说,我们常见的彩色图像通常是三通道图像,而黑白图像只有一个灰度通道,因此,图像上色旨在利用单一灰度通道恢复图像的两个彩色通道。
我们使用真实历史黑白老照片作为输入,经过上色模型处理,最终可以得到观感惊艳的彩色照片!立即体验:https://vision.aliyun.com/experience/detail?tagName=imageenhan&children=ColorizeImage
原图来自:1945.“Abandoned boy holding a stuffed toy animal.”
二、方法
早期图像上色通常依赖手工或基于参考图的方法,随着深度学习的普及,越来越多工作使用卷积神经网络完成图像上色任务。
发表在ECCV2016 的 CIC 模型将上色视为一个分类问题,使用一个纯卷积神经网络进行上色,从此揭开了卷积神经网络在上色领域应用的序幕。
图片来自CIC
后来,为了提高上色结果的语义贴合度和色彩鲜艳度,有一些方法使用 UNet 或 GAN 网络完成上色。ChromaGAN 使用一个编码器-解码器网络完成图像重建,并将 GAN 损失引入上色过程。ToVivid 模型通过利用预训练 GAN 的丰富生成先验,实现生成合理和丰富多彩的结果。
图片来自Tovivid
图片来自ColTran
近两年,随着 Transformer 模型在视觉领域大放异彩,众多基于视觉 Transformer 的上色模型逐一涌现,这些模型充分利用了 Transformer 的强大建模能力和全局注意力优势,因而实现了更加惊艳的上色效果。Google 提出的 ColTran 模型使用三个独立的子网络分别实现粗上色、颜色上采样和空间上采样。ColorFormer 则创新的提出 GLH-Transformer 来更好的提取图像特征,并结合 Color Memory 辅助完成彩色解码。
图片来自ColTran
图片来自ColorFormer
接下来,本文针对一个最近基于 Transformer 的上色模型 DDColor 进行展开介绍,带读者了解上色领域的前沿技术。DDColor 模型的整体结构如下:
可以看到,DDColor 模型包括一个图像编码器和两个解码器,分别是图像解码器和颜色解码器。图像解码器完成视觉特征的上采样过程,而颜色解码器基于一个 Transformer 进行颜色查询的解码。
具体而言,颜色解码器使用多尺度的视觉特征帮助颜色嵌入的学习,因此学习到强语义相关的颜色嵌入。
图片来自颜色解码器
同时,论文还提出一个色度损失,帮助提升生成结果的色彩鲜艳度。
模型使用 ImageNet 数据集进行训练,ImageNet数据集是一个大型计算机视觉数据集,包合 1400 多万张图片。ImageNet 数据集一直是评估图像上色算法性能的基准。DDColor 利用 ImageNet 训练集训练而成。
三、体验
1. 运行依赖安装
方式一:如果有本地或云服务器计算资源,可以在本地进行环境安装,以更灵活的方式体验算法模型。
方式二:如果觉得本地安装较为复杂,也可以在线运行 ModelScope 平台提供的 Notebook。Notebook 中预先安装了官方镜像,因此无需再进行手动环境安装,更加方便快捷。
2. 图像准备
准备一张黑白图像或者彩色图像(输入一张彩色图像,也可以进行重上色),图像可以在本地或网络上,记录下图像的地址。
3. 调用 pipeline 进行图像上色
1.import cv2
2.from modelscope.outputs import OutputKeys
3.from modelscope.pipelines import pipeline
4.from modelscope.utils.constant import Tasks
5.
6.img_colorization = pipeline(Tasks.image_colorization,
7. model='damo/cv_ddcolor_image-colorization')
8.img_path = 'https://modelscope.oss-cn-beijing.aliyuncs.com/test/images/audrey_hepburn.jpg'
9.result = img_colorization(img_path)
10.cv2.imwrite('result.png', result[OutputKeys.OUTPUT_IMG])
这样,我们就获得了一张上色后的彩色图像(result.png)。
4. 更多玩法
图像上色是视觉增强的一个子问题,然而,对于视觉增强这个领域,还有很多有趣的算法和应用。在ModelScope 社区,目前已经上线了包括去噪、超分、调色、插帧等在内的多种视觉增强算法。对于低质量的原始视频或图像,经过增强修复处理后都能变得焕然一新,得到极致高清、饱满、丝滑的体验。
四、参考
Richard Zhang, Phillip Isola, and Alexei A Efros. Colorful image colorization. In European conference on computer vision, pages 649–666. Springer, 2016.
Vitoria P, Raad L, Ballester C. Chromagan: Adversarial picture colorization with semantic class distribution[C]//Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision. 2020: 2445-2454.
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.
Manoj Kumar, Dirk Weissenborn, and Nal Kalchbrenner. Colorization transformer. In International Conference on Learning Representations, 2021.
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.
Kang X, Yang T, Ouyang W, et al. DDColor: Towards Photo-Realistic and Semantic-Aware Image Colorization via Dual Decoders[J]. arXiv preprint arXiv:2212.11613, 2022.