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

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

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

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

泊松方程

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

在这里插入图片描述

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

在这里插入图片描述

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

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

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

 

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

引导场

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

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

求解

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

 

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

Reference:

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493511.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三层神经网络实现手写字母的识别(基于tensorflow)

数据集的制作参考这篇文章: https://blog.csdn.net/fanzonghao/article/details/81229409 一,读取数据集 import tensorflow as tf import numpy as np import pickle import matplotlib.pyplot as plt #对于x变成(samles,pixs),y变成one_hot (sample…

(转)Kinect背景移除支持多人

原文:http://blogs.msdn.com/b/k4wdev/archive/2013/10/22/using-kinect-background-removal-with-multiple-users.aspx?utm_sourcetuicool Introduction: Background Removal in Kinect for Windows The 1.8 release of the Kinect for Windows Developer Toolkit…

德国汉堡科学院院士张建伟:信息物理系统驱动智能未来

来源:OFweek工控网随着第四次工业革命的到来,信息技术(IT)和运营技术(OT)的融合成为新趋势,工厂开始进入数字化转型阶段,而德国“工业4.0”战略给全球制造业发展带来启示&#xff0c…

两层卷积网络实现手写字母的识别(基于tensorflow)

可和这篇文章对比,https://blog.csdn.net/fanzonghao/article/details/81489049,数据集来源代码和链接一样。 import tensorflow as tf import numpy as np import matplotlib.pyplot as plt import read_pickle_datasettrain_dataset,train_label,vali…

焦李成教授谈深度神经网络发展历程

来源:西电人工智能学院摘要:焦李成教授谈深度神经网络发展历程2018年11月18日下午,计算机科学与技术学部主任、人工智能学院焦李成教授在成都参加了由中国人工智能学会主办的人工智能大讲堂并做特邀报告,焦李成教授在报告中回顾了…

SGU 187 - Twist and whirl -- want to cheat

原题地址:http://acm.sgu.ru/problem.php?contest0&problem187 太开心啦!!!!这道题从2013年开始困扰我!!今天晚上第四次下定决心把它写一写,之前写了三次(事实上是五…

KNN实现CIFAR-10数据集识别

cs231n链接:http://cs231n.github.io/linear-classify/, 训练集链接:https://download.csdn.net/download/fanzonghao/10592049 KNN缺点:每个测试样本都要循环一遍训练样本。 该数据集由5个data_batch和一个test_batch构成&…

近期苹果、Facebook等科技巨头股价缘何不断下跌?

来源:资本实验室近期,FAANG(Facebook、亚马逊、苹果、Netflix、谷歌)等科技巨头股价都出现了不同程度的下跌,而美国科技股整体的持续大跌,更是引发了全球股市振荡。其中,亚马逊在今年9月初达曾达到1万亿美元市值&#…

ZOJ 3300 Mahjong DFS暴力解决。。

ZJU 3300&#xff1a; 题目描述 就看成1—9的数字&#xff0c;DFS暴力搜索下就过了。。。。。要求输入13 个数字&#xff0c;声明个数组记录数字的个数&#xff0c;DFS 里各种回溯&#xff1b;#include<stdio.h> #include<string.h> int p[12],flag; int dfs(int x…

概率论基础知识各种分布

离散分布&#xff1a;伯努力分布&#xff0c;二项分布&#xff0c;possion分布 一&#xff0c;伯努力分布 #执硬币 x_arrnp.array([0,1]) #x为1的概率 p0.7 #0 1分布 #由PMF生成对应的概率 离散事件 pr_arrstats.bernoulli.pmf(x_arr,p) plt.plot(x_arr,pr_arr,markero,lines…

AI 芯片和传统芯片的区别

来源&#xff1a;内容来自「知乎汪鹏 」所谓的AI芯片&#xff0c;一般是指针对AI算法的ASIC&#xff08;专用芯片&#xff09;。传统的CPU、GPU都可以拿来执行AI算法&#xff0c;但是速度慢&#xff0c;性能低&#xff0c;无法实际商用。比如&#xff0c;自动驾驶需要识别道路行…

三层神经网络实现手写数字的识别(基于tensorflow)

数据集链接&#xff1a;https://download.csdn.net/download/fanzonghao/10598333 from tensorflow.examples.tutorials.mnist import input_data mnist input_data.read_data_sets("./mnist/", one_hotTrue)import tensorflow as tf# Parameters learning_rate 0…

鼠标终将消失,未来我们有哪些人机交互方式?

来源&#xff1a;资本实验室在人类发明史上&#xff0c;诞生了无数的英雄。他们的发明往往从一项前沿技术到家喻户晓、无处不在&#xff0c;但他们自己却又鲜为人知&#xff0c;美国发明家道格拉斯恩格尔巴特就是其中的代表。20世纪60年代&#xff0c;道格拉斯恩格尔巴特发明了…

两层卷积网络实现手写数字的识别(基于tensorflow)

可和这篇文章对比&#xff1a;https://blog.csdn.net/fanzonghao/article/details/81603367 # coding: utf-8 # ## MNIST数据集from __future__ import division, print_function, absolute_importimport tensorflow as tf# Import MNIST data&#xff0c;MNIST数据集导入 fro…

光波导总结资料

1、写出光波导中的麦克斯韦方程&#xff0c;并把光场分解为纵向分量与横向分量&#xff0c;求出混合模式HE与EH模式的横向电场强度与横向磁场强度的点积&#xff08;用纵向分量表示&#xff09;&#xff08;需要有推导过程&#xff09; 解&#xff1a;在线性、各向同性且时不变…

德国再出颠覆性发明,这次要安排我们的快递

来源&#xff1a;最黑科技摘要&#xff1a;如果用一句话来形容德国的工业设计&#xff0c;我能想到的就是&#xff1a;“母牛坐电锯——锯牛逼"&#xff0c;小编已经不止一次把它吹得五光十色斗转星移~但你可能不知道&#xff0c;这个工业强国在2013年还提出了一个著名的发…

跟我一起写 Makefile

跟我一起写 Makefile【转】 陈皓 概述—— 什么是makefile&#xff1f;或许很多Winodws的程序员都不知道这个东西&#xff0c;因为那些Windows的IDE都为你做了这个工作&#xff0c;但我觉得要作一个好的和professional的程序员&#xff0c;makefile还是要懂。这就好像现在有这么…

C++中用frugally-deep调用keras的模型并进行预测

1、背景 Python语言中的Keras库搭建深度学习模型非常便捷&#xff0c;但有时需要在 C 中调用训练好的模型&#xff0c;得到测试集的结果。比如将模型部署于FPGA&#xff0c;中间的一个步骤则需要用C构建模型。但 Keras库没有提供 C API&#xff0c;其中一种解决方法是使用 Ten…

简单的线性回归实现模型的存储和读取

和这篇文章对比https://blog.csdn.net/fanzonghao/article/details/81023730 不希望重复定义图上的运算&#xff0c;也就是在模型恢复过程中&#xff0c;不想sess.run(init)首先看路径 lineRegulation_model.py定义线性回归类&#xff1a; import tensorflow as tf "&qu…

MIT重新发明飞机:无需燃料,每秒万米喷射带你上天 | Nature封面

来源&#xff1a;量子位这不是科幻小说&#xff0c;离子引擎飞机真的被造出来了&#xff01;“曲率引擎”、“离子引擎”等等激动人心的科幻名词&#xff0c;正在走进现实。最近MIT又重新发明了飞机&#xff0c;实验成果登上了《自然》杂志封面。这架飞机翼展5米&#xff0c;总…