泊松融合——用了拉普拉斯但没有金字塔

图像融合的方式有alpha融合,拉普拉斯金字塔融合。

同样是基于拉普拉斯算子,我们可以直接用求解的方式得到融合后的图像。因为人眼对二阶导是更敏感的,所以只要我们指定了融合区域内部的梯度值,并且知道融合边界处的值,理论上就可以求解出来。这个理论对应的数学表达式就是泊松方程。

泊松方程形式上就是Ax=b的线性方程组,所以求解也可以套用线性方程组的解法,用雅可比迭代法或者高斯赛德尔迭代法来求解就 OK 了。

泊松方程

我们主要来看泊松方程是怎么构造的,从而理解为什么这样得到的解可以保证融合得到的图像是平滑的。

泊松融合——用了拉普拉斯但没有金字塔_第1张图片

 从上图中可以看出,平滑首先要满足的一点是在边界处的值要等于背景,这就是边界一致;既然要将参考图覆盖过来,其实更关注的是参考图的梯度,所以还要使得融合后内容的梯度尽可能和参考图一致。

泊松融合——用了拉普拉斯但没有金字塔_第2张图片

结合上图,以上两点的数学表达就是:

泊松融合——用了拉普拉斯但没有金字塔_第3张图片

 我们要求的就是f的值,要求其梯度尽可能接近参考图v在对应位置的梯度,所以v也称为引导向量场。二维图像的拉普拉斯算子是一个3x3大小的滤波模板,所以是线性方程,比较好求解。这样解出来的融合区域的值和参考图不一致,但是梯度近似,且具体的值是基于边界和梯度求解出来的,所以整体会和背景处于同一亮度/颜色水平。

梯度(Gradient):\nabla,念做nabla;拉普拉斯算子:\Delta,念做Delta,也写做\nabla^2

泊松融合——用了拉普拉斯但没有金字塔_第4张图片 

这里的边界属于Dirichlet 边界,狄利克雷边界,因为直接给出边界处函数在边界处的实际值。

引导场

刚才提到的引导向量场使用参考图自身的梯度,这种引导向量场称为保守场,因为这样尽可能保留了参考图的信息。但如果参考图对应的mask不够精细,参考图本身的梯度和背景图仍然差异过大,这样的引导场得到的融合效果还是不佳。所以可以对引导场进行改进,同时参考参考图和背景图:

泊松融合——用了拉普拉斯但没有金字塔_第5张图片

 上图d使用了参考图和背景图的极大值,相比于b的保守引导场,尽可能保留了更多的纹理信息,不至于在融合区域保留参考图的背景而造成突兀。

求解

虽然最终的形式可以化为线性方程组,但是优化目标函数表面看暂时还是最小化问题。通过泛函可以表示将目标函数表示为函数的函数(自变量函数是\Delta f)。这样,要使泛函取极值,就要满足欧拉-拉格朗日函数:

泊松融合——用了拉普拉斯但没有金字塔_第6张图片 

这样从一阶导到了二阶导。因为v本身就是一阶导,它的散度也是二阶导。 

Reference:

1.https://blog.csdn.net/zhaoyin214/article/details/88196575

2.从泊松方程的解法,聊到泊松图像融合 - 知乎

3.【变分计算1】欧拉-拉格朗日方程 - 知乎

你可能感兴趣的:(算法,计算机视觉,人工智能,算法)