MindSpore作为一个开源的全场景AI框架,为开发者带来端边云全场景协同、极致性能,极简开发、安全可信的体验,2020.3.28开源来得到数六十万以上的下载量,走入100+Top高校教学,已通过HMS在4000+App上商用,拥有数量众多的开发者,在AI计算中心,智能制造、云、无线、数通、能源、消费者1+8+N等端边云全场景逐步广泛应用,是Gitee指数最高的开源软件。欢迎大家参与开源贡献、模型众智、行业创新与应用、算法创新、学术合作、AI书籍合作等,贡献您在云侧、端侧、边侧以及安全领域的应用案例。基于MindSpore的AI顶会论文越来越多,我会不定期挑选一些优秀的论文来推送和解读,希望更多的产学研专家跟MindSpore合作,一起推动原创AI研究,MindSpore社区会持续支撑好AI创新和AI应用,本文是MindSpore AI顶会论文第五篇,我们选择了来自国内高校在AAAI的一篇论文进行解读,感谢北邮董譞教授团队投稿。
研究背景
随着目前在市场上多摄设备的逐渐普及,尤其是在各种手机上的多摄硬件的全面铺开,利用该硬件系统的优势来进行拍照着色显得极具吸引力和可行性。
在华为P30,Mate30等系列手机上现在已经配备了单色-彩色双摄系统,单色相机相较于彩色相机成像质量更高,拍摄效果更好。本文主要是利用彩色相机拍摄的相片作为参照来对单色相机的拍摄结果进行着色,并期望得到具有更高质量的彩色照片。
目前的着色任务主要分为以下四个种类:
自动着色任务(automatic colorization):在此任务中,输入的只是一张单色图片,该算法的目的是自动的进行学习,在没有任何参照的基础上对单色图片进行着色操作。在最近的基于深度学习的方法的实践中,该任务已经取得了重大的突破,然而这一任务在多摄场景下并没有充分利用彩色相机的信息。
基于人工图画的着色任务(scribble-based colorization):这一任务的输入为一张单色图片和一些人工图画的图片。使用这些人工图画的图片作为参照。该方法在多摄场景下也难以得到人工标注图片。
基于参照的着色任务(reference-based colorization):该任务的输入为一张单色和一张彩色参照图片,但该任务输入的彩色图片和单色图片在不同的地点或时间进行拍摄,因而也不适合本文探讨的应用场景。
单色-彩色双摄着色任务(monochrome-color dual-lens colorization):这种方法可以看作特殊的基于参照的着色任务,目前该方向的工作所使用的数据集是基于彩色摄像又的输入进行合成的,使用人工合成的数据集进行训练得到的模型难以适用到现实的复杂情况之中。
论文主要内容简介
我们提出了一个适用于着色任务的CNN模型,实现了单色-彩色双摄着色算法,该算法能够融合由单色-彩色双摄系统拍摄的单色和彩色图像,能够最大化利用黑白图像的高信噪比图像像素数据并结合彩色图像的色彩信息得到最终输出的高质量彩色图像。相比于传统的监督学习算法,该模型能够克服缺少人工标注数据的挑战,可以基于真实数据进行训练,并且能够充分发挥单色图像成像质量高这一特点,提高单色-彩色双摄系统的着色质量。下面将对算法展开进行介绍。
算法流程:算法会进行两次着色操作,
首先,算法使用彩色图像作为参考图像为输入单色图像IG进行着色操作得到第一次着色结果IC;
然后,算法以第一次着色结果IC作为参考图像为彩色图像RC的去色图像RG进行着色操作得到RC’;
第三步使用RC作为基准训练RC’,目的是利用损失函数使得 RC’≈ RC 。
损失函数设计:算法设计的损失函数有结构相似性损失LSS、循环一致性损失LCC,空域平滑损失Lsmooth。其中,结构相似性损失函数使得第一次着色结果IC的亮度通道和输入单色图像IG保持结构相似性,如图1所示,算法提出了一个卷积神经网络模型学习一个度量指标来获得IG和IC之间的结构相似性损失;循环一致性损失函数使得第二次着色结果RC’和原始彩色图像RC保持色彩一致性,该项损失使用SSIM作为度量指标;空域平滑损失函数使得最终着色结果的色彩值保持局部平滑性。
图1
结合上述三种损失函数,定义算法整体的优化目标,损失函数分别被定义为:
代码链接
会议名称:AAAI
论文链接:
https://ojs.aaai.org/index.php/AAAI/article/view/6700/6554
代码链接:
https://gitee.com/mindspore/contrib/tree/master/papers/CycleCol
算法框架技术要点
我们使用的算法基于循环卷积神经网络结构,采用自监督学习方法,在超过一千组数据集的测试和训练下进行实验。
算法框架大致如图2所示:
图2
实验结果
该模型在自建数据集上的对比实验结果如表1所示:
表1
MindSpore代码实现
基于MindSpore的模型搭建模块
数据读取处理模块:
使用MindSpore的自动训练函数
总结与展望
论文提出了一个适用于着色任务的卷积神经网络模型,对其进行了深入阐述,并对算法的实验结果进行了对比分析验证。目前的算法只是针对单色-彩色双摄系统而展开研究的,如今三摄甚至四摄系统等更复杂的多摄系统的应用也越来越广泛,因此如何将此算法扩展到多摄系统中还有待研究和实现,同时也需要针对多摄系统中的遮挡区域着色、自监督神经网络模式崩溃等问题提出相应的解决方案。
本文作者在MindSpore社区从事相关AI工作,欢迎您扫码加入QQ群,与数千MindSpore开发者一起交流,用MindSpore赋能千行百业,点亮您的智慧生活。
官方QQ群: 871543426
MindSpore官网:www.mindspore.cn
MindSpore论坛:
https://bbs.huaweicloud.com/forum/forum-1076-1.html
代码仓地址:
Gitee-https://gitee.com/mindspore/mindspore
GitHub-https://github.com/mindspore-ai