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

简介: 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.

相关文章
|
5月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
455 0
|
5月前
|
算法 安全 定位技术
【创新未发表】【无人机路径巡检】三维地图路径规划无人机路径巡检GWO孙发、IGWO、GA、PSO、NRBO五种智能算法对比版灰狼算法遗传研究(Matlab代码实现)
【创新未发表】【无人机路径巡检】三维地图路径规划无人机路径巡检GWO孙发、IGWO、GA、PSO、NRBO五种智能算法对比版灰狼算法遗传研究(Matlab代码实现)
357 40
|
5月前
|
算法 API 数据安全/隐私保护
深度解析京东图片搜索API:从图像识别到商品匹配的算法实践
京东图片搜索API基于图像识别技术,支持通过上传图片或图片URL搜索相似商品,提供智能匹配、结果筛选、分页查询等功能。适用于比价、竞品分析、推荐系统等场景。支持Python等开发语言,提供详细请求示例与文档。
|
7月前
|
监控 算法 安全
基于 C# 基数树算法的网络屏幕监控敏感词检测技术研究
随着数字化办公和网络交互迅猛发展,网络屏幕监控成为信息安全的关键。基数树(Trie Tree)凭借高效的字符串处理能力,在敏感词检测中表现出色。结合C#语言,可构建高时效、高准确率的敏感词识别模块,提升网络安全防护能力。
182 2
|
6月前
|
运维 监控 算法
基于 Java 滑动窗口算法的局域网内部监控软件流量异常检测技术研究
本文探讨了滑动窗口算法在局域网流量监控中的应用,分析其在实时性、资源控制和多维分析等方面的优势,并提出优化策略,结合Java编程实现高效流量异常检测。
266 0
|
9月前
|
监控 算法 JavaScript
基于 JavaScript 图算法的局域网网络访问控制模型构建及局域网禁止上网软件的技术实现路径研究
本文探讨局域网网络访问控制软件的技术框架,将其核心功能映射为图论模型,通过节点与边表示终端设备及访问关系。以JavaScript实现DFS算法,模拟访问权限判断,优化动态策略更新与多层级访问控制。结合流量监控数据,提升网络安全响应能力,为企业自主研发提供理论支持,推动智能化演进,助力数字化管理。
222 4
|
9月前
|
存储 监控 算法
内网监控桌面与 PHP 哈希算法:从数据追踪到行为审计的技术解析
本文探讨了内网监控桌面系统的技术需求与数据结构选型,重点分析了哈希算法在企业内网安全管理中的应用。通过PHP语言实现的SHA-256算法,可有效支持软件准入控制、数据传输审计及操作日志存证等功能。文章还介绍了性能优化策略(如分块哈希计算和并行处理)与安全增强措施(如盐值强化和动态更新),并展望了哈希算法在图像处理、网络流量分析等领域的扩展应用。最终强调了构建完整内网安全闭环的重要性,为企业数字资产保护提供技术支撑。
261 2
|
4月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
436 0

相关产品

  • 视觉智能开放平台