天空无限

来源:互联网 发布:网络三层架构 编辑:程序博客网 时间:2024/04/28 02:54

第一个图片是输入图片,后面三个是不同风格的天空替换后的结果
这篇文章是给出一张输入的图片,论文中提出的方法自动的生成一组风格化天空图,我们首先使用了FCN全卷积神经网络,得到输入图片和一些参考图片的目标分割结果,然后使用我们自己设计的专门针对天空的线上分类器,分割出准确的天空区域,使用不同的天空对输入的图片的天空部分进行替换。看完这篇论文,我认为论文的重点其实在于如何找到跟输入图片相适应的天空,并产生一个让大家感觉很真实逼真的效果。
天空是图片中常见的背景,但由于拍摄时间的原因,导致通常一张照片很无趣。专业的摄影师就会使用老练的方法对图片进行处理,他们是怎样处理的呢?首先,使用过PS的同学应该会了解,他们使用套索工具,件天空区域准确的分割出来,然后换不同的天空图试试效果,然后调整前景的颜色来匹配我们选出的天空,这是一个比较麻烦的过程,那么对于不熟练的摄影师来说,就更不好处理了吧。所以我们提出了这样一种可以自动调整图片天空的方法(并且可以生成一组哦~~),在这篇论文中,我们主要是利用了视觉中语义分割来引导我们对天空进行查找,分割,替换。在对天空分割后,我们使用了一种方法对其进行优化,是一种从粗到细的优化,让分割的天空区域更加精确。在进行天空替换时候,我们采用了查找参考图片的语义布局与我们输入图片的语义布局相似的参考图片,提取出其天空部分,作为我们的替换天空。最后,为了保证生成图片的逼真性,我们对于图片的前景进行调整,为了保证替换天空与前景的一致,从我们的效果图片来看,文章最开头的大图中,我们看到,替换天空颜色变了后,我们的前景尤其是水域的颜色也跟着变了颜色,使得图片看起来很和谐。
接下来我们看看这篇论文的架构吧,然后按照框架顺序和重点,分别阐述。

论文架构
我们首先使用FCN对图片进行语义分割,就是下面这个深蓝色长条的部分,Scene Parsing 和 Semantic Response部分,可以得到场景中各个目标的全局布局,而且可以准确定位天空区域,即使天空区域的颜色,形状,大小和属性都不太相同。对原图进行语义分割后得到的各个语义响应图,天空,草地,建筑,根据他们的语义位置信息,去我们的数据库里找到跟原图中语义位置相似的图片,把他们的天空部分分割出来,替换到我们的天空位置。
为了选择一些有趣的天空作为替换,我们构建了415中很高美学质量的图片,我们使用FCN训练这些图片进行场景分割,以此来生成特征向量来表示语义的内容和布局~
这篇论文的贡献:
1.我们提出了一个一场景为驱动的全自动天空替换算法。
2.我们使用深度神经网络和线上的分类学习得到了一种由粗到细的准确的天空分割。
3.我们提出了一种语义搜索方案,能得到一组具有类似语义内容的图像天空之间的更换
4.我们提出了一种根据替换图的语义感知的前景风格转化的方法,以呈现美感和逼真的图像。说明白点,就是根据替换图片的水域,草地,建筑的色调,亮度来调整我们原始图片中水域草地和建筑的色调和亮度。

好的,我们把这个天空替换的任务,分为三个部分,这三部分都利用了语义信息,既然用到了语义信息,我们就需要用到FCN,得到语义信息。在使用FCN时,我们使用了新的数据库,从LMSun选取出户外的15000张图片,当然,LMSun中有很多小的目标没有出现在我们的日常的照片中,我们手工选出覆盖了大多数图片的类别,把那些小目标融合到前景中。
1.分割调整
2.从参考图中选择替换的天空
3.根据选出的天空的参考图的色调,调整我们合成后的图片的整体色调
首先,我们会使用FCN对所有的我们选出来的图片进行分割,得到每个像素属于每个类别的可能性,得到一个概率图,这个图里面是每个像素的属于某个类别的概率值。论文中挑选了11个类别,下图的横坐标。

蓝色表示pixel类别判定的准确率,红色表示我们分割结果和真是分割结果的重叠率

1.天空分割优化
我们使用FCN后,得到的pixel准确率已经达到了94%,尽管是这样,由于FCN输出的图像分辨率低,所以重新分割的分割mask是粗糙的,边界周围缺少细节,不能直接用于替换。如图

优化的结果如最右侧图所示
为了生成准确的分割区域,使用了FCN结果作为引导,学习出图像特定颜色和纹理的在线分类器。通过考虑邻居函数的能量函数制定了两类CRF问题去优化分割区域,公式如下:

能量函数
能量函数包含四项,第一项和第二项表示颜色和纹理单点势能,值是——天空/不是天空,第三项是根据FCN得到的位置信息项,最后一项是成对点势能用来判断相邻元素之间的平滑度,每一项前面的λ表示权重,前面三个单点项是权重比重相同,1:1:1这样子,最后一项权重设为100,保证两点之间的平滑度。
第一项,我们对RGB三项使用GMMs(颜色),通过计算GMM的可能输出的负对数来作为第一项的值。第二项,使用SVM的负对数得到(纹理)值,得到第三项,每个像素属于天空的概率值的负对数,第四项,使用FCN得到的响应图得到x点出的位置信息,相邻像素之间的梯度大小保证彬姐的平滑性。最小化能量函数,得到优化后的结果。平均IOU从原来的87.6%提升到了88.7%。

使用1000张图片,跟15年分割结果最好的方法进行比较

2.从参考图中选择替换的天空
选出的参考图片应该有的性质:跟输入图片有相同内容的,目标物体的空间布局相似,我们提出了一个描述子,能够包含语义场景布局。而GIST描述子是全局描述子,按照全局描述子相似的方法搜索得到的参考图片具有跟输入图片整体的相似性,这样得到的天空图片就会缺少多样性。
语义布局描述子

语义布局的描述子生成过程

1.随机选取天空2.GIST选取天空3.我们的方法
可以看出,我们选取的天空效果图是更多样的。天空颜色丰富。当然,初次之外我们还有考虑长宽比和分辨率,保证天空对齐。为了保证天空的多样性,我们与参考图片的颜色直方图做内积,夹角小,代表相似性高。

3.替换天空
作者没有写她是怎么替换的,姑且的当做她是手工的将参考图的天空区域拿出来,调整他的长宽使之适应我们的原图的天空部分,然后,为了保证现在的天空与原图的前景部分一致,我们要调整前景的色调,因为,我们选的参考图片与原图有相同的语义内容,所以,我们根据语义对应的区域色调调整原图。
若使用局部区域调整,由于不同局部区域之间的大的外观变化,所得到的图像通常包含边界周围的伪像,这些难以通过后处理去除

如何得到平滑效果如图所示的转换函数
对于语义匹配的区域,如果我们选出的天空颜色相似的话,前景的明亮度就不需要修改太多,下面的贝塔计算的是天空的相似度,语义不匹配区域,就需要计算全局的颜色差距

亮度调整规则

结果分析

查找方法和转换前景方法的有效性评估

c部分根据用户喜好b来选出一系列相似的天空

局限,光源无法很好的处理