Learning to remove soft shadows

来源:互联网 发布:唐韦星追王晨星知乎 编辑:程序博客网 时间:2024/06/05 20:11

本文假定,soft shadow(柔和阴影)是可以被分割的,因此是可以被编辑的。通过图像碎片学习出一个映射函数,能够产生阴影matte。本算法需要用户指定需要处理的阴影区域,通过训练好的有监督的回归算法,就能够自动生成无阴影的图像效果。

本文提出的算法为数据驱动的,线下预训练好,然后就可以处理多变的阴影情况。和前人的许多工作不同,本文提出的算法对于阴影不需要假设一个特定的模型,在一个统一的框架下对整个阴影进行处理,并且给予用户全权的掌控。本算法仅仅需要用户大致指定出需要处理的阴影区域。
本算法通过监督学习训练了一个回归模型,用于解决约束过少?(underconstrained)的问题:给定一幅有阴影的RGB彩色图像Is,本文的目标是找到其对应的阴影matte Im和完全无阴影的图像Iu,使得满足这里写图片描述,这里的○是按元素乘。实际上就是对待处理图像实现的一个分解过程。

本算法系统的主要流程如下:
首先由用户输入需要进行去阴影处理的区域信息,即用户选定区域;
然后,上述选定区域会按照如下流程依次进行处理:
1.输入图像(the input image不知道是阴影区域还是全局图像)被分成不重合的16x16的小patches,对于每一块patch ai,计算一个描述性的特征向量f(ai);
2.预先训练好的回归器会对每一个ai进行计算,分别map到各自对应的mi上,mi就是每个patch的可能的阴影matte的分布;
3.对于每个patch的红色通道,对阴影matte的块的网格进行马尔科夫随机场的正则化,产生最大后验的阴影matte图像。
4.根据上一步红色通道的结果,对绿色通道和蓝色通道进行优化,最终得到彩色的无阴影图像。

算法详细:
4.学习和推理