[人工智能-深度学习-61]:生成对抗网络GAN - 图像融合的基本原理与案例

 作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/121939961


目录

第1章 什么是图像融合

1.1 什么是常规的图像合成

1.2 图像融合的系统框架

1.3 图像融合的案例

第2章 图像融合涉及到的基本概念

第3章 图像融合的常见方法

3.1 直接剪切粘贴技术(cut-and-paste)

3.2 Alpha融合

3.3 多频段融合

参考:


第1章 什么是图像融合

1.1 什么是常规的图像合成

图像融合(Image Fusion)是指将多源信道所采集到的关于同一目标的图像数据经过图像处理和计算机技术等,最大限度的提取各自信道中的有利信息,最后综合成高质量的图像,以提高图像信息的利用率、改善计算机解译精度和可靠性、提升原始图像的空间分辨率和光谱分辨率,利于监测。

图像融合作为信息融合的一个分支。图像融合的数据形式是包含有明暗、色彩、温度、距离以及其他的景物特征的图像。这些图像可以以一幅,或者一列的形式给出。

而图像融合是将2张或2张以上的图像信息的融合到1张图像上,使得融合的图像含有更多的信息、能够更方便人来观察或者计算机处理。

图像融合的目标是:在实际应用目标下将相关信息最大合并的基础上减少输出的不确定度和冗余度。图像融合的优点很明显,它能扩大图像所含有的时间空间信息,减少不确定性,增加可靠性,改进系统的鲁棒性能。

图像融合需要遵守的3个基本原则:

1) 融合后图像要含有所有源图像的明显、突出信息;

2) 融合后图像不能加入任何的人为信息

3) 对源图像中不感兴趣的信息,如噪声要尽可能多地抑制其出现在融合图像中。

1.2 图像融合的系统框架

由图的描述可看出系统的框架可分为4个部分:图像配准、图像预处理、图像融合、输出和图像后处理

图像配准:是在融合前期最重要的工作,配准的目的是使图像满足时问和空间上的一致。在实际工程中,导致采集的图像时空不一致的因素很多,比如,摄像头的视野不同、镜片的焦距不同、图像单位时间的帧数的差异、摄像头的移动等。而且,实际工程中的图像的空间和时间上的差异在融合中是很难把握,现在也没有通用的标准来衡量这些误差。这些其他因素产生的误差是不能简单地运用融合算法来消除的。因此,只有先完成图像的配准工作,后期的图像预处理和融合算法才有意义。实际配准的过程是以一幅图像作为基础,把其他的图像通过一定算法复合在其上。

图像预处理:是融合前期的一步工作。很多研究人员认为图像预处理过程并不必要,因为图像预处理过程并不是为了在视觉上的优化,而且这个过程常常是不能被用户观察到的。实际上,对于一些有先验知识的图像,在预处理阶段可以把对先验知识表示加入到图像中,这样出来的图像再去融合,就能得到比较好的结果。如果不加预处理阶段,一味地对图像用融合方法进行融合,得到结果的可靠性就自然降低了不少。

经过融合后,系统将输出一幅图像,理论上这幅图像将含有所有输入图像的有用信息

输出的这幅图像可以直接用于用户观测,或者经过后期处理,即图像信息应用,直接用于控制系统。由于融合过程中已经对图像进行了很好的信息抽取,此时后期处理阶段就相对会容易很多。对于一个控制系统,这个模块起到了控制器的作用

1.3 图像融合的案例

(1)还有这张,将1945年柏林街道的照片和2010年的照片无缝的融合到一起。

(2)给天空加上彩虹,

 (3)改变花朵的颜色

 (4)交换水果的纹理外观

(5)视频合成

还有更妙的,在1994年上映的阿甘正传里面,汤姆汉克斯和肯尼迪总统同框出镜,即使是在大荧幕上也是毫无违和感。

不得不说,图像合成和融合真是一个很神奇的技术。

第2章 图像融合涉及到的基本概念

2.1 背景

2.2 前景

2.3 掩图

第3章 图像融合的常见方法

3.1 直接剪切粘贴技术(cut-and-paste)

在所有相关技术中,最直观简单就是cut-and-paste了。

经常在摄影师后期制作中所采用,如果使用得当,它也可以创作出令人满意的效果。

例如,下面照片如何制作出来?

其实它是由两张照片中不同的部分按一定顺序叠加而成的,大家可以看看下面的源图像:

只要我们先放上左图的背景,再叠加比尔盖茨的人像,最后再叠加左图的前景,就可以合成出最终的图像。

从图像中确定前景背景的技术叫做抠图,英文对应:Image Matting,而将抠出的部分无缝的贴入目标图像的过程则称为图像合成,英文对应:Image Compositing. 为了技术术语的准确性,我这里引用《Computer Vision: Algorithms and Applications》的原文如下:

The process of extracting the object from the original image is often called  matting (Smith and Blinn 1996), while the process of inserting it into another image (without visible artifacts) is called  compositing (Porter and Duff 1984; Blinn 1994a).

Cut-and-paste技术如果应用得当,可以产生相当有艺术感的图像,如下图,这应该是在原始的人物和狗狗身上粘贴了很多纹理图像形成的。

但很多时候,这个简单的技术只会产生让人沮丧的结果,

例如下面的图像中想要粘贴进去两只企鹅,就真的是5毛钱的特效了。

既然剪切粘贴过于粗暴,生成的照片不够自然,有没有更好的方法呢?

接下来我们就谈谈一种更好的方法。

3.2 Alpha融合

Alpha融合是一个升级版的cut-and-paste,如果表示为公式的话是这个样子:

output = foreground(前景图) * mask(掩图) + background(背景) * (1-mask)

就可以把某张图与另一张图有机的融合在一起了。

由于上面使用的Mask是二值的,因此融合的图像很不自然,大家从融合生成的图像也可以看出

如果对Mask图做稍稍的羽化,效果就会好很多,见下图。对Mask图做羽化的方法有很多,最直接的方法就是对其做一定尺度的高斯滤波,我在基本图像滤波中已经讲过了。

因此Alpha融合的效果好坏取决我们如何正确的设置Alpha Mask,如果要把一张图中的一部分抠出,并融合到另外一张新的图片中,主要牵涉到两个步骤:

  1. 准确的抠图获取Alpha Mask
  2. 对Alpha Mask做合适的羽化,使得融合更自然

准确的计算Alpha Mask很多时候都是一件复杂的事情,我们下面看一个稍微复杂的例子。 有时候我们希望将两张照片重叠到一起生成一张照片,例如下面两张照片:

怎么融合它们呢?有很多人想出了一些聪明的方法。现在介绍一种:

第1步:生成两张图像的distance transform图

这个distance tranform图中的每个像素值都表示原图中对应的像素与其最近的黑色像素(zero pixels)的距离。如果你使用OpenCV的话,可以用distanceTransform函数来做到,如果是Matlab,则是bwdist函数。

第2步:计算Mask

接下来采用Alpha融合方式,可以得到最终的照片如下。你可以看到两张照片已经比较好的融合到了一起,当然还可以看出一些细微的不自然处。

3.3 多频段融合

要想让Alpha融合结果显得自然,很关键的一点是选择合适的融合窗口大小。

我用下面的实例来说明这个问题。

让我们把以下两张照片融合到一起。

如果选择图像中中轴线作为融合后两个图像的分界线,那么融合过程可以表示为:

这其实也是一种Alpha融合,实际上上面的过程就是:

leftImageWeight * leftImage + rightImageWeight * rightImage = OutputImage

其中:

leftImageWeight + rightImageWeight = 1

因此最终图像的表现取决于两张图片的有效像素的重叠区域。 那么问题来了,这个重叠区域到底选择多大呢?我以下图来说明不同窗口大小的影响:

有一个经验判断准则是:

  • 融合窗口大小要相当于输出图像中最大的显著特征的大小,从频谱上看生成的图像所包含频率个数应该是2的幂
  • 融合窗口大小要小于2倍最小显著特征的大小,从输出图像的频谱上看最大频率<=2*最小频率

然而大家都知道,自然图像通常包含了很多不同的特征,频谱跨度也很大,此时选择融合窗口就会非常困难,有没有更好的方法呢? 这就引入了一种新的融合方法:多频段融合。下图说明了这个思想:

因此总结其流程就是:

  1. 对要融合的两张照片,构建拉普拉斯金字塔
  2. 对金字塔的每一层,应用以下公式进行融合

3. 利用融合后的金字塔重建出输出图像

我们来看一个著名的例子,一个苹果和一个橘子如何通过中线融合到一起

利用上面的流程,我们来看看金字塔各层融合的情况:

OK,因此如果重建出原始图像可以看到,我们这里讲的多频段融合,即拉普拉斯金字塔融合,实际上是在半自动的计算最佳的融合窗口和权重大小,其本质上还是一种线性融合:

在《Computer Vision: Algorithms and Applications》一书中还有很多有趣的例子,例如:

在实际实现过程中,为了节省计算量,可以考虑只用两层金字塔来融合:

这在需要融合多张图像时非常有用,例如下面我们需要将多张照片融合成一幅全景图像:

这里我只是简单的把多张经过裁剪的照片摆放在一起,还没有经过融合。

如果进行了两层金字塔融合,我们可以分别对低频信号和高频信号进行融合,所得到的图像如下:

从这两层图像我们可以重建出最终的图像:

由于两层金字塔融合,甚至多层金字塔融合同时考虑到了图像中的不同频率的信息,因此通常融合出来的效果相比单层的Alpha融合(线性融合)更好。 就以上面的融合图像来比较一下图像的局部,大家可以看到金字塔融合的内容更清晰:

参考:

11. 图像合成与图像融合 - 知乎


作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/121939961

  • 4
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1.版本:matlab2014/2019a,内含运行结果,不会运行可私信 2.领域:智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,更多内容可点击博主头像 3.内容:标题所示,对于介绍可点击主页搜索博客 4.适合人群:本科,硕士等教研学习使用 5.博客介绍:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可si信 ### 团队长期从事下列领域算法的研究和改进: ### 1 智能优化算法及应用 **1.1 改进智能优化算法方面(单目标和多目标)** **1.2 生产调度方面** 1.2.1 装配线调度研究 1.2.2 车间调度研究 1.2.3 生产线平衡研究 1.2.4 水库梯度调度研究 **1.3 路径规划方面** 1.3.1 旅行商问题研究(TSP、TSPTW) 1.3.2 各类车辆路径规划问题研究(vrp、VRPTW、CVRP) 1.3.3 机器人路径规划问题研究 1.3.4 无人机三维路径规划问题研究 1.3.5 多式联运问题研究 1.3.6 无人机结合车辆路径配送 **1.4 三维装箱求解** **1.5 物流选址研究** 1.5.1 背包问题 1.5.2 物流选址 1.5.4 货位优化 ##### 1.6 电力系统优化研究 1.6.1 微电网优化 1.6.2 配电网系统优化 1.6.3 配电网重构 1.6.4 有序充电 1.6.5 储能双层优化调度 1.6.6 储能优化配置 ### 2 神经网络回归预测、时序预测、分类清单 **2.1 bp预测和分类** **2.2 lssvm预测和分类** **2.3 svm预测和分类** **2.4 cnn预测和分类** ##### 2.5 ELM预测和分类 ##### 2.6 KELM预测和分类 **2.7 ELMAN预测和分类** ##### 2.8 LSTM预测和分类 **2.9 RBF预测和分类** ##### 2.10 DBN预测和分类 ##### 2.11 FNN预测 ##### 2.12 DELM预测和分类 ##### 2.13 BIlstm预测和分类 ##### 2.14 宽度学习预测和分类 ##### 2.15 模糊小波神经网络预测和分类 ##### 2.16 GRU预测和分类 ### 3 图像处理算法 **3.1 图像识别** 3.1.1 车牌、交通标志识别(新能源、国内外、复杂环境下车牌) 3.1.2 发票、身份证、银行卡识别 3.1.3 人脸类别和表情识别 3.1.4 打靶识别 3.1.5 字符识别(字母、数字、手写体、汉字、验证码) 3.1.6 病灶识别 3.1.7 花朵、药材、水果蔬菜识别 3.1.8 指纹、手势、虹膜识别 3.1.9 路面状态和裂缝识别 3.1.10 行为识别 3.1.11 万用表和表盘识别 3.1.12 人民币识别 3.1.13 答题卡识别 **3.2 图像分割** **3.3 图像检测** 3.3.1 显著性检测 3.3.2 缺陷检测 3.3.3 疲劳检测 3.3.4 病害检测 3.3.5 火灾检测 3.3.6 行人检测 3.3.7 水果分级 **3.4 图像隐藏** **3.5 图像去噪** **3.6 图像融合** **3.7 图像配准** **3.8 图像增强** **3.9 图像压缩** ##### 3.10 图像重建 ### 4 信号处理算法 **4.1 信号识别** **4.2 信号检测** **4.3 信号嵌入和提取** **4.4 信号去噪** ##### 4.5 故障诊断 ##### 4.6 脑电信号 ##### 4.7 心电信号 ##### 4.8 肌电信号 ### 5 元胞自动机仿真 **5.1 模拟交通流** **5.2 模拟人群疏散** **5.3 模拟病毒扩散** **5.4 模拟晶体生长** ### 6 无线传感器网络 ##### 6.1 无线传感器定位 ##### 6.2 无线传感器覆盖优化 ##### 6.3 室内定位 ##### 6.4 无线传感器通信及优化 ##### 6.5 无人机通信中继优化
### 回答1: GAN(Generative Adversarial Network)是一种深度学习模型,在许多任务中都有广泛应用。在 GAN 中,有一个生成器和一个判别器。生成器尝试生成与真实数据类似的新数据,判别器则尝试区分生成的数据与真实数据。生成器和判别器通过对抗的方式共同训练。 Matlab-GAN 是一种基于 Matlab 的 GAN 实现,可以实现生成图片,视频等任务。在 Matlab-GAN 中,可以使用不同的损失函数和正则化技术,来改善生成的质量和稳定性。 除了 GAN,Pixel2Pixel 和 CycleGAN 也是常用的深度学习模型,在计算机视觉任务中具有重要的应用。Pixel2Pixel 是一种基于卷积神经网络的图像翻译模型,可以将一个图像转换为另一个图像,如将黑白图像转换为彩色图像。CycleGAN 是一种无需成对匹配的图像转换模型,可以用于跨域图像转换,如将马的图像转换为斑马的图像。 Matlab-GAN 支持 Pixel2Pixel 和 CycleGAN 的实现,可以帮助更方便地进行图像转换任务。Pixel2Pixel 和 CycleGAN 也可以与 GAN 结合使用,产生更高质量、更可控的生成结果。 总之,Matlab-GAN 是一种实现生成对抗网络的工具,支持不同类型的 GAN深度学习模型,可以实现图像、视频等多种任务。Pixel2Pixel 和 CycleGAN 作为深度学习模型中常用的工具,可以帮助更好地完成图像转换任务。 ### 回答2: GAN,即生成对抗网络,是近年来流行的一种机器学习算法模型,它可以通过两个深度神经网络模型(生成器和判别器)来生成具有类似于真实图像的虚拟图像。 在Matlab中,GAN也有自己的实现——matlab-gan。该实现提供了一系列的GAN示例,如最基础的MNIST手写数字图像生成、使用DCGAN和Wasserstein GAN生成图像,甚至还提供了Pix2Pix和CycleGAN,让用户能够在MATLAB环境中成功加载这些GAN应用。 Pix2Pix是基于条件对抗网络(CGAN)的扩展,它可以将给定的输入图像转换为输出图像。例如,它可以将黑白照片转换成彩色照片,或将景象翻译成抽象画作。该示例合成城市街景并将它们转换为艺术风格的图像。 CycleGAN是一种通用的无监督图像到图像转换器,它可以将两个域之间的图像转换成另一个域。例如,它可以将马的图像转换成斑马的图像。CycleGAN在图像风格转换、模型综合、目标转换等方面表现出色,是GAN的重要变种。 总体来说,matlab-gan是一个适合于GAN初学者的绝佳平台。它不仅提供了简单的GAN实现,还包括两个复杂的GAN变种——Pix2Pix和CycleGAN。这些示例不仅能够教授GAN的基础理论,还能够为研究者提供一个练习环境来测试并扩展这些算法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文火冰糖的硅基工坊

你的鼓励是我前进的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值