【论文阅读】图像和谐化:Harmonizer: Learning to Perform White-Box Image and Video Harmonization

前言

图像和谐化(image harmonization)是指将不同图像进行融合时,消除两幅图片之间光照、色差等因素的影响,使其看上去比较和谐(逼真)。

下面这篇论文通过神经网络连接白盒滤波器的方式实现了图像和谐化,

论文标题:Harmonizer: Learning to Perform White-Box Image and Video Harmonization

设计动机(Design Motivation)

首先作者邀请了5位图像编辑领域的专家(2名摄影师、2名设计师和1名画家)使用Photoshop,通过对不同的图像过滤器(image filters),进行人工图像的和谐化。之后,邀请26名参与者对图像进行打分,评估不同滤波器的作用,结果如下图所示:

在这里插入图片描述
根据重要程度从高到低,对图像和谐化起作用的滤波器依次为亮度(brightness)、对比度(contrast)、饱和度(saturation)、色温(temperature)、高光(highlight)、阴影(shadow)。

网络结构(Harmonizer Framework)

因此,作者提出了Harmonizer这个网络结构,输入图像包括未处理的图像 I 0 I_0 I0和图像中目标对象的掩膜 M M M,经过该网络输出各种滤波器的参数。

在这里插入图片描述

实验效果(Experiments)

作者在五种公开数据集(256×256分辨率)上进行了实验,结果如下表所示。

在这里插入图片描述

表中,↓表示该指标数值越低越好,↑反之。

之后,作者又和其它算法比较了模型的推理速度,模型体积和显存占用情况(RTX3090 GPU),从下表中可以看出,Harmonizer算法比其它同类算法模型体积更小,推理速度显著提升。

在这里插入图片描述

下载试用

该论文开源了它的代码,仓库地址如下:
Github仓库:https://github.com/ZHKKKe/Harmonizer.

作者提供的模型文件harmonizer.pth大小仅有18.3 MB,下载好之后放置在pretrained文件夹下,

之后,修改demo/image_harmonization/run.py文件中的模型和数据路径:

parser = argparse.ArgumentParser()
parser.add_argument('--example-path', type=str, default='example', help='')
parser.add_argument('--pretrained', type=str, default='../../pretrained/harmonizer.pth', help='')
args = parser.parse_known_args()[0]

然后,运行run.py即可。

作者在仓库中提供了一些图像素材,处理前后的效果如下图所示。

在这里插入图片描述
注:左侧为直接嵌入猫主体的原始图片,右侧为模型输出图片。

下面换用自己的图片,下图是我使用PS处理的图片,图中的月亮是直接嵌入的,过于明亮和背景略显违和。

在这里插入图片描述
将该图片放置在demo/image_harmonization/example/composite路径下。

之后利用PS里的填充工具,形成目标的mask,如下图所示。

在这里插入图片描述

将该图片放置在demo/image_harmonization/example/mask路径下。

最后运行程序,得到处理好的图片在demo/image_harmonization/example/harmonized路径下。

在这里插入图片描述
从处理结果可以看出,模型主要对月亮的色温和亮度进行了调整,效果差强人意。

此外,该算法还支持视频处理,不过需要视频每帧的mask图像,实用性不如图片高些。

猜你喜欢

转载自blog.csdn.net/qq1198768105/article/details/132151088
今日推荐