【视觉智能开放平台】出品智能修图技术—智能转档算法

本文涉及的产品
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,视频资源包5000点
简介: RAW转档是专业级摄影后期修图的必备环节,旨在将拍摄的RAW图转化为细节丰富,色彩准确的JPG原片,方便修图师基于转档结果进行更为个性化和精细化的美化操作。由于对效果的精准要求和流程的把控需求,目前修图师主要利用专业软件进行人工转档操作。整个过程耗时又费力,极大降低了后期修图的交付效率。为了赋能修图师,提升他们的工作效率,本文提出了一种基于数据驱动,自动转档的技术方案,以实现人工RAW转档的替代。

一、前言

1.1 背景

RAW格式是什么?RAW格式是一种几乎没有经过加工处理过的,由相机感光文件生成的原始数据文件,记录了由相机拍摄所产生的一些元数据,如ISO的设置、快门速度、光圈值、白平衡等信息。也称为“数码底片”。常见的RAW格式有佳能的CR2、CR3文件,尼康的NEF文件,索尼的ARW文件等。

为什么要拍摄RAW图? JPEG格式是人们接触最多的一种图像格式。从成像质量的角度来看,RAW格式不仅能够还原JPEG的效果,而且还能够输出更高品质的照片画面。具体表现为1)RAW格式由于采用了12位、14位甚至 22位来记录信息。转换时可以转换为16位的TIFF输出,这意味着RGB单色最少有 65536 种色彩记录能力,相对于8位JPEG的256种是一个很大的优势。2)RAW格式中包含了感光器捕捉的实际数据,照片未经过相机预处理,在进行解读和转换时,可以对这些原始数据进行曝光补偿、色彩平衡等处理,而且进行这些后期处理对照片的画质是无损的。

什么是RAW转档? RAW转档是专业级摄影后期修图的必备环节,旨在将拍摄的RAW图转化为细节丰富,色彩准确的JPEG原片,方便修图师基于转档结果进行更为个性化和精细化的美化操作。由于转档这一过程对效果的精准要求和对流程的把控需求,目前修图师主要利用专业软件(如photoshop等)进行人工转档操作。人工转档的具体步骤为:1)对同一个拍摄场景的某张图像单独进行色彩和曝光方面的细致调整,得到一张转档后的标准原片,2)将调整参数批量应用到该组其他图像中,并逐一针对其中不一致的图像进行微调。可以看到整个过程耗时又费力,极大降低了后期修图的交付效率。因此,我们设计智能转档技术的目标是使用机器智能地完成转档这一流程,并在效果上达到替代人工的标准。

1.2 转档行业标准

由于摄影修图领域场景复杂多样,目前并没有绝对、可量化的标准,而是以专业修图人员的主观评价为主,这些主观评价又往往受到画面中的各种元素影响,如人物、服装颜色、服装⻛格、场景、天气、光线、 ⼈物情绪等。尽管如此,业界对转档还是有一套公认的标准总结如下。

  • 同场景下整体曝光统⼀
  • 同场景下色温色调⼀致
  • 确保⼈物曝光适中的同时,尽量保证服装、场景层次
  • 画面颜色、光线过度自然
  • ⾼光尽量不出现色彩溢出、阴影保证层次可见

基于该标准,我们可以定义智能转档技术的目标为:将曝光、⾊调不统一的影像,通过智能算法矫正到相对⼀致的范围内,并保证图像中层次信息得到最大保留,使得转档后的画面、颜色、光线过度自然。

二、算法

2.1 算法流程

上图展示的是我们智能转档技术的基础框架,输入的是用户上传的一批待处理的原始RAW图(CR2, NEF, ARW),输出是转档后的8bit JPEG图,其中蓝色框代表框架中涉及的模块,箭头传递的数据和信息流,其余图标表征的是整个流程中存储的中间结果。各模块解析如下:
1、缩略图提取模块:用于提取原始RAW图的缩略图(JPEG),缩略图是相机生成的小图,方便用户进行预览原始效果。

2、图像分组模块:仿照人工转档过程中对拍摄场景图像进行分组的方式,使用深度学习方法将输入的批量图像进行自动分组。该分组结果为了帮助矫正调色后同组个别图像存在的色彩曝光偏差问题。

3、场景分类模块:场景分类模块用于对图像按照色温(冷色系,暖色系,其他)进行分类,以更好地表达摄影师的拍摄意图。由于对不同色系图像的调整方式有明显的区分,为了得到更精细和丰富的色彩效果,最佳策略是按照色温的分类采用不同的调色模型。

4、RAW图解析模块:是将RAW格式图像转换到sRGB空间的图像。包括一系列处理流程,包括线性处理,白平衡矫正,去马赛克,色彩空间转换,亮度矫正与伽马矫正等。

5、调色模块:用于对RAW图解析后的16bit 图像进行色彩和曝光的调整,模块输入是RAW图解析后的16bit 图像, 输出是经过色彩和曝光调整处理后的16bit数据。此模块完成的工作对应人工转档流程中的步骤1)。

6、一致性后处理模块:实际后期工作中,人工RAW转档在批量对一组图像进行调整后,会针对个别不一致的图像进行单独调整,以保证一组图像在色彩和曝光上保持一致。基于此需求,一致性后处理模块用于矫正单图自动调色后可能出现的与该组其他图像不统一的问题。此模块完成的工作对应人工转档流程中的步骤2)。

下面我们进一步对其中的两个核心模块进行介绍。

2.2 转档调色模块

转档调色模块采用的是场景自适应的3DLUT方案,学习多个3DLUT对输入图像进行快速增强。每个3DLUT模型负责不同场景下的色彩曝光调整,一个轻量的CNN网络负责感知输入图像的场景,并对3DLUT调色后的结果进行自动加权融合。
训练损失包括三部分,分别是重建损失,平滑损失和单调性损失。
1)重建损失
重建损失定义为调色结果$Q_t$与目标图$Y_t$的逐像素$L_2$距离:
$$L_{mse} = ||Q_t-Y_t||^2$$
2)平滑损失
为确保3DLUT调色后的RGB预测值局部平滑,减少调色后图像产生突变的artifacts,定义3D维度的平滑损失为:
$$L_{tv} = \sum_{c \in \{r,g,b\}}\sum_{i,j,k}(\|c^O_{(i+1,j,k)}-c^O_{(i,j,k)}\|^2 + \|c^O_{(i,j+1,k)} \notag\\ -c^O_{(i,j,k)}\|^2+\|c^O_{(i,j,k+1)}-c^O_{(i,j,k)}\|^2).$$
同时CNN预测的权重信息是内容相关的,为了保证该权重与3DLUT融合时的平滑性,进一步对权重施加平滑约束,最终平滑损失$L_{s}$定义为:
$$L_{s} = L_{tv} + \sum_{n}\|w_{n}\|^2$$

3)单调性损失
除了平滑损失,单调性损失是使用3DLUT时一个不可或缺的约束,单调性损失能够确保图像亮度和饱和度在转换过程中与输入图像的相对关系保持一致,从而确保调色结果的自然真实感。单调损失$L_{m}$定义如下:
$$L_{m} = \sum_{c \in \{r,g,b\}}\sum_{i,j,k}[g(c^O_{(i,j,k)}-c^O_{(i+1,j,k)}) + g(c^O_{(i,j,k)} \notag\\ -c^O_{(i,j+1,k)}) + g(c^O_{(i,j,k)}-c^O_{(i,j,k+1)})]$$
其中$g(\cdot)$为RELU函数。

为了进一步在转档调色这个阶段就保证同场景内大部分的调色结果保持曝光和色彩的一致性,减轻后一阶段一致性修图模块的负担。我们基于上述框架,提出了一个组内一致性指标(Group-level Consistency Measure),用来约束组内图像的色彩和光线的变化方差。该指标针对的是一个场景的一致性,因此不仅需要准确感知图像间全局色彩的差异,还要对同一个场景内的内容有所感知。组内一致性指标定义如下:
$$M_{GLC} = \sum_{c} Var(\mu_{\hat{i}_{1}^{c}}, \mu_{\hat{i}_{2}^{c}}, \cdots, \mu_{\hat{i}_{m}^{c}})$$
其中$[\hat{i}_{1}, \hat{i}_{2},\cdots, \hat{i}_{m}]$是同场景内调色输出图像,[$\mu_{\hat{i}_{1}}, \mu_{\hat{i}_{2}}, \cdots, \mu_{\hat{i}_{m}}]$代表这些图像的对应色彩表征。其中c为颜色通道,可以是rgb通道,lab通道或者是两者的组合形式。


4)组内一致性损失
在实际训练过程中,为了简化,我们采用对单张图随机裁剪的方式模拟同场景内不同图的视角变化,并通过数据增强模拟同场景内曝光和色温的变化,应用在裁剪后的两个局部图像上,我们希望网络能够适应输入变化并保证调色后的结果保持一致,因此,定义组内一致性损失函数为对两张裁剪增强后图像的结果$I_{C1}$, $I_{C2}$进行调色得到的结果$\hat{I}_{C1}$, $\hat{I}_{C2}$求均方误差:
$$L_{glc} = ||\hat{I}_{C1}- \hat{I}_{C2}||_{2}^{2}$$

最终损失函数定义为:
$$L_{total} =\lambda_{mse} L_{mse} + \lambda_{tv} L_{tv}+ \lambda_{m} L_{m} +\lambda_{glc} L_{glc} $$

整个训练流程是端到端监督式学习,同时,通过使用三线性插值的方式,能够大幅提升对高清图像的处理速度,最终调色模型在处理4K分辨率图像的速度可以达到600FPS。

2.3 一致性修图模块

一致性修图模块的应用对象是同一组(场景)内的图像,其输入为一张经过调色但在曝光或色彩与同组内其他图像不一致图像A和该组中另一张调好色的标准图像R(又称参考图),输出为将图像A调整为与图像R在色彩和曝光表现一致的图像。通过该模块的处理,同组内的所有图像都保持了与该组参考图R一致的色彩和曝光效果,从而保证了一组图效果的统一性。
一致性修图模块主要框架为一个auto-encoder架构,通过互注意力网络,有效抓取两张图像深层特征之间的关联关系,并通过分块均值映射的思路,在LAB空间对图像块进行逐对映射,实现对任意分辨率进行色彩和曝光的一致性处理。
该模块的训练损失分为两部分:
$$L_{total} = \lambda_{rec}L_{rec} + \lambda_{pec}L_{pec} $$
其中$L_{rec}$为重建loss,定义为结果图Y和目标图$X_t$的逐像素$L1$距离:
$$L_{rec} = ||Y- X_t||_{1}$$
$L_{pec}$为风格感知损失,定义为结果图Y和目标图$X_t$的深层感知距离:
$$L_{rec} = ||\Phi(Y)- \Phi(X_t)||_{1}$$
其中$\Phi(\cdot)$为预训练的VGG19网络输出的中间结果。

三、效果


左:输入 中:基础版转档调色效果 右:最终版转档调色效果

四、参考

[1] Zeng H, Cai J, Li L, et al. Learning image-adaptive 3d lookup tables for high performance photo enhancement in real-time[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020.
[2] Liang J, Zeng H, Cui M, et al. PPR10K: A Large-Scale Portrait Photo Retouching Dataset with Human-Region Mask and Group-Level Consistency[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 653-661.

相关文章
|
3月前
|
机器学习/深度学习 人工智能 大数据
基于深度学习的图像识别技术最新进展####
近年来,深度学习在图像识别领域取得了显著突破,本文综述了该领域的最新研究进展,特别关注卷积神经网络(CNN)的优化与创新、数据集扩充与增强策略、以及模型压缩与加速技术。通过对比分析不同网络结构和训练技巧,揭示了提升图像识别精度与效率的关键因素。此外,探讨了小样本学习、迁移学习在实际应用中的挑战与解决方案,为未来研究方向提供了新的视角和思路。 ####
366 8
|
3月前
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术在自动驾驶汽车中的应用####
【10月更文挑战第21天】 本文探讨了深度学习中的卷积神经网络(CNN)如何革新自动驾驶车辆的视觉感知能力,特别是在复杂多变的道路环境中实现高效准确的物体检测与分类。通过分析CNN架构设计、数据增强策略及实时处理优化等关键技术点,揭示了该技术在提升自动驾驶系统环境理解能力方面的潜力与挑战。 ####
100 0
|
15天前
|
存储 监控 算法
剖析基于Java算法驱动的智能局域网管控之道
本文探讨了基于Java语言的局域网控制方案,结合链表数据结构与令牌桶算法,解决设备管理和流量调度难题。通过链表灵活存储网络设备信息,实现高效设备管理;令牌桶算法则精准控制流量,确保网络平稳运行。二者相辅相成,为校园、企业等局域网提供稳固高效的控制体系,保障业务连续性和数据安全。
|
2月前
|
JSON 搜索推荐 API
拍立淘API是基于图像识别技术的服务接口,支持淘宝、1688和义乌购平台。
拍立淘API是基于图像识别技术的服务接口,支持淘宝、1688和义乌购平台。用户上传图片后,系统能快速匹配相似商品,提供精准搜索结果,并根据用户历史推荐个性化商品,简化购物流程。开发者需注册账号并获取API Key,授权权限后调用接口,返回商品详细信息如ID、标题、价格等。使用时需遵守频率限制,确保图片质量,保障数据安全。
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的图像识别技术及其应用
在这篇文章中,我们将探讨深度学习在图像识别领域的应用。通过简单易懂的语言和实际代码示例,我们将深入了解如何利用深度学习技术进行图像识别,并探讨其在不同领域的应用。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供有价值的信息。让我们一起探索深度学习的世界吧!
|
2月前
|
机器学习/深度学习 传感器 边缘计算
基于深度学习的图像识别技术在自动驾驶中的应用####
随着人工智能技术的飞速发展,深度学习已成为推动自动驾驶技术突破的关键力量之一。本文深入探讨了深度学习算法,特别是卷积神经网络(CNN)在图像识别领域的创新应用,以及这些技术如何被集成到自动驾驶汽车的视觉系统中,实现对复杂道路环境的实时感知与理解,从而提升驾驶的安全性和效率。通过分析当前技术的最前沿进展、面临的挑战及未来趋势,本文旨在为读者提供一个全面而深入的视角,理解深度学习如何塑造自动驾驶的未来。 ####
140 1
|
3月前
|
机器学习/深度学习 数据采集 传感器
基于深度学习的图像识别技术在自动驾驶中的应用研究####
本文旨在探讨深度学习技术,特别是卷积神经网络(CNN)在自动驾驶车辆图像识别领域的应用与进展。通过分析当前自动驾驶技术面临的挑战,详细介绍了深度学习模型如何提升环境感知能力,重点阐述了数据预处理、网络架构设计、训练策略及优化方法,并展望了未来发展趋势。 ####
154 6
|
3月前
|
机器学习/深度学习 监控 自动驾驶
基于深度学习的图像识别技术研究进展###
本文旨在探讨深度学习在图像识别领域的最新研究进展,重点分析卷积神经网络(CNN)的技术创新、优化策略及其在实际应用中的成效。通过综述当前主流算法结构、损失函数设计及数据集增强技巧,本文揭示了提升模型性能的关键因素,并展望了未来发展趋势。尽管未直接涉及传统摘要中的研究背景、方法、结果与结论等要素,但通过对关键技术点的深度剖析,为读者提供了对领域现状与前沿动态的全面理解。 ###
|
3月前
|
机器学习/深度学习 算法 自动驾驶
深度学习中的图像识别技术
【10月更文挑战第37天】本文将深入探讨深度学习在图像识别领域的应用,通过解析神经网络模型的构建、训练和优化过程,揭示深度学习如何赋能计算机视觉。文章还将展示代码示例,帮助读者理解并实现自己的图像识别项目。
|
3月前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习中的图像识别技术及其应用
【10月更文挑战第36天】在当今科技飞速发展的时代,深度学习已成为人工智能领域的一颗璀璨明珠。本文将深入探讨深度学习在图像识别方面的技术原理和应用实例,旨在为读者提供一个全面而深入的了解。我们将从基础理论出发,逐步揭示深度学习如何革新了我们对图像数据的处理和理解方式。

相关产品

  • 视觉智能开放平台