以下是做 Hybrid Image的实验报告,主要实现了图像的高频与低频的融合,从而达到了远看图像与近看图像产生不同的效果。而且使用了对象对齐操作,使得不同尺寸的图像,图像中的不同大小的目标的融合成为了可能。

源码见文章末尾。

一、问题分析

1.问题描述

一副图像的高频信息往往代表着该图像的该图像的细节信息,基本主导者人们对于图像的主要感知,然后对于图像的低频信息,则是描述着图像的大概轮廓的信息,这是人们在远处看图像的时候所看到的信息。

本实验要求实现一个图像滤波函数,给定两幅图像,得到第一幅图像的高频信息,即细节信息,得到另外一幅图像的低频信息,即大概轮廓信息,然后进行混合得到HybridImage, 从远处与近处分别看这幅图像会看到不同的效果。

2.数据集分析

数据集一共提供了10张图片,每两张图片进行得到一幅HybridImage, 根据观察,实验给出的需要融合的两张图片具有如下性质:尺寸长宽相同;图像中的目标基本相似,比如鸟与飞机;图像均为 彩色图像,即为RGB图像。

数据集数目比较小,但是需要我们考虑三通道,而且虽然数据集中的图像大小一样,图中目标相似,我们仍然可以考虑去融合图像大小不同,目标大小不同的情况。

3.现有方法

现在有的方法大概分为两种。

第一种方法是将图像先进行傅里叶变换,即将图像从空间域转到频率域,然后进行滤波操作得到低频信息,最后用原图像减去得到的低频信息就可以得到相应的高频信息。用上述方法分别得到两幅图像的低频与高频信息,然后直接相加,最后将相加之后的结果进行反傅里叶变换就可以得到最后的融合图像HybridImage。

第二种方法就是直接在空间域对图像进行滤波得到低频信息,剩下的与第一种方法类似。最后用原图像减去得到的低频信息就可以得到相应的高频信息。用上述方法分别得到两幅图像的低频与高频信息,然后直接相加就可以得到最后的融合图像HybridImage。

经过小组讨论,认为第一种方法与第二种方法没有太大的区别,可能转到频率域较快一点,最后我们还是选用了第一种方法,并且与第二种方法进行了对比,发现实验结果相同。

二、模型建立

1.算法流程

图2.1 算法流程框架

如图2.1, 对于需要融合的两幅图像,我们先进行图像对齐操作,对齐之后的两幅图像大小一样,而且目标也相应的进行了对齐。接着再用对齐之后的图像分别得到高频信息,与低频信息,最后进行高频信息与低频信息的融合得到HybridImage。

2. 对齐操作

实验中采用的对齐主要是分别在两幅图像中选取两点,然后将两幅图中的这两点进行对齐。具体操作步骤如下。

(1)图像A中任意选取需要对齐的两点A1,A2,图像B中任意选取需要对齐的两点B1, B2。

(2)通过对图像进行padding,将A1,A2的中心点AC1变为图像A的中心,对于图像B同理,将B1,B2的中心点BC1变为图像B的中心

(3)缩放B1与B2两点之间的间隔使之等于A1与A2之间的间距,这里的缩放会让图像也进行相应的缩放

(4)将B1与B2两点连线的斜率通过旋转使之等于A1与A2连线的斜率,图像随之旋转。

(5)选取图像A与图像B的最大的宽,通过对图像左右进行裁剪,使之与两幅图像的最小宽相等;对于两幅图像的高同理,不过这个时候裁剪的是图像的上下边。

3. 提取图像低频信息

实验中采用将图像进行高斯滤波,即可得到图像的低频信息,这里需要调节的是高斯滤波的方差,方差越大,图像就会趋于模糊,需要找到一个合适的方差使之与另外一幅图像的高频信息进行融合后可以得到效果更好的融合图像。

4. 提取图像高频信息

实验中对于图像的高频信息的提取采取的是先用高斯滤波得到图像的低频信息,接着用原图像减去该低频信息就可以得到图像的高频信息。这里同样需要控制的高斯滤波的方差,而且这里的方差与上一节提到的方差值是不一样的,需要通过实验得到最好的方差值。

5. 高频与低频信息融合

实验中对于高频信息与低频信息的融合就是直接将高频信息与低频信息进行相加,就可以得到最后的融合图像HybridImage。

三、实验

实验在matlab2016a 上进行。对于高斯滤波的方差根据实验效果来确定。

1.无需对齐操作

这里选取以下两张图片进行融合。

(1)分别得到高频信息与低频信息

(2)将高频与低频进行融合,并且以下采样的图像金字塔形式展现。

从最后融合的图像可以看出,当图像较大时,即近看,看到的是einstein。这是因为融合图像的高频来自einstein。当图像逐渐变小时,即变成远看,看到的是marilyn,这是因为融合图像的低频信息来自marilyn,低频信息代表远看时的信息,高频信息代表近看时的信息。

2.需对齐操作

现实中往往两幅图像的大小不能完全一样,图像中想要融合的目标大小也往往无法完全一样,所以这里采用简单的对齐操作。下面给出需要对齐的两张图片的融合过程。

(1)很显然,这两幅图的大小,已经图片中的目标分别为人与猫大小都是不一样的,这里我们采用第二节中描述的对齐操作,分别选取第一张图片中人的双眼与第二张图片中猫的双眼作为关键字,之后进行对齐操作得到如下图人对齐后的低频信息,与猫对齐后的高频信息。

可以发现对齐操作之后的两幅图像大小是一样的,而且想要对齐的关键点,也就是这里的眼镜也是位于图片的中心,这样可以保证两幅图像中的眼睛完全重合,从而达到对齐的操作。这里也可以发现图片中出现了一些黑边,这是对齐过程中padding的影响,后续会对融合之后的图像进行裁剪。

融合人的低频信息与猫的高频信息得到融合图像。

从最后融合的图像可以看出,当图像较大时,即近看,看到的是cat。这是因为融合图像的高频来自cat。当图像逐渐变小时,即变成远看,看到的是person,这是因为融合图像的低频信息来自person,低频信息代表远看时的信息,高频信息代表近看时的信息。

3.实验结果

四、分析与总结

1.实验中的发现

通过实验发现就算是图像大小,图像中目标大小都基本相同,然后尽量去调节高斯滤波的方差,有时候仍然得不到一个好的结果。

(1)比如当摩托车与自行车融合的时候,可能是由于摩托车的颜色过于鲜艳,经过高频之后的信息也比较淡化,从而导致融合效果不好

当我们将去自行车的高频,摩托车的低频时,融合效果也稍微好一些,如下图所示。

(2)如果图像的轮廓不够清晰,比如猫狗的胡须会导致融合效果不佳。

3.总结与体会

在这个实验中,我们基本完全了HybridImage的实验,取得了较好的实验效果,而且考虑到了对齐操作,即选取两个关键点并且进行对齐,使得不同大小的图像,图像中不同大小的目标融合成为了可能。

在实验的过程中也出现了一些问题,比如高斯滤波的方差这个超参数大多数是靠人工手动调节,难以调到最优而且很麻烦,还有的就是由于某些图像额度特征导致融合效果无法取得更好的效果,这些都是以后继续研究的重点所在。

源码已经数据集:https://download.csdn.net/download/breeze_blows/11965004(内含详细注释)

参考:

https://github.com/coldmanck/Image-Filtering-and-Hybrid-Images

https://blog.csdn.net/Sengo_GWU/article/details/79336511

https://jeremykun.com/2014/09/29/hybrid-images/

Hybrid Image

Hybrid Image相关推荐

  1. iOS和android h5字体差异,关于移动hybrid开发中H5页面的字体应与系统保持一致的问题...

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 0.问题来源 在移动hybrid开发,也就是说,部分页面会使用html+css+javascript技术来制作,例如个人 ...

  2. Web App、Hybrid App与Native App的设计差异

    目前主流应用程序大体分为三类:Web App.Hybrid App. Native App. 一.Web App.Hybrid App.Native App 纵向对比 首先,我们来看看什么是 Web ...

  3. Jabba: hybrid error correction for long sequencing reads using maximal exact matches机译:Jabba:使用最大精

    Jabba: hybrid error correction for long sequencing reads using maximal exact matches 机译:Jabba:使用最大精确 ...

  4. Comparison of long-read sequencing technologies in the hybrid assembly of complex bacterial genomes

    Comparison of long-read sequencing technologies in the hybrid assembly of complex bacterial genomes ...

  5. Ratatosk - Hybrid error correction of long reads enables accurate variant calling and assembly

    Ratatosk - Hybrid error correction of long reads enables accurate variant calling and assembly   长读的 ...

  6. Non Hybrid Long Read Consensus Using Local De Bruijn Graph Assembly

    参考:https://www.biorxiv.org/content/biorxiv/early/2017/02/06/106252.full.pdf Non Hybrid Long Read Con ...

  7. Hybrid assembly with long and short reads improves discovery of gene family expansions

    Hybrid assembly with long and short reads improves discovery of gene family expansions 长读和短读混合装配提高了基 ...

  8. Hybrid Error Correction approach and DeNovo Assembly for MinIon Sequencing Long Reads

    Hybrid Error Correction approach and DeNovo Assembly for MinIon Sequencing Long Reads 混合纠错方法和从头组装的Mi ...

  9. Evaluation of hybrid and non-hybrid methods for de novo assembly of nanopore reads

    Evaluation of hybrid and non-hybrid methods for de novo assembly of nanopore reads 混合和非混合方法对nanopore ...

  10. Efficient Hybrid De Novo Error Correction and Assembly for Long Reads

    Efficient Hybrid De Novo Error Correction and Assembly for Long Reads       长read的高效的混合从头纠错和装配 Abstr ...

最新文章

  1. C++中string erase函数的使用
  2. 50 xen虚拟化技术基础、xen虚拟化技术进阶
  3. 关于Talend的Patch分支对应Eclipse开发环境的配置总结.
  4. vivo Y81s的usb调试模式在哪里,打开vivo Y81susb调试模式的流程
  5. linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf)
  6. Java培训教程之使用Lock取代synchronized
  7. Git 12 岁了,送给你 12 个 Git 使用技巧
  8. python接口自动化测试框架实战从设计到开发_Python接口自动化测试框架实战 从设计到开发...
  9. 【网站】一个空间放两个网站,且不用子目录绑定域名的方法
  10. iOS开发--底部按钮和应用图标显示未读消息
  11. sum() over (order by )
  12. linux操作系统开机启动,简述linux操作系统启动流程
  13. verilog中~在判断中的作用
  14. 网页特效——花间飞舞的蝴蝶
  15. 【粉丝福利,限时免费】【千里之行,始于脚下】我在CSDN上的精品博文汇总,收藏起来慢慢看
  16. 介绍一个“王者”算法,它能认出游戏里的所有英雄
  17. React项目-好客租房一些报错及解决方法及Navicat for MySQL的使用
  18. 两边同时取对数求复合函数_取对数求导法的例题 取对数求导法
  19. 这是一个普通的WIN32扫雷程序
  20. 第三节:TIPTOP ERP系统成本问题集

热门文章

  1. 时钟服务INT 1AH
  2. 数学建模之AHP层次分析法
  3. 求安卓OTG链接尼康相机获取照片解决方案
  4. 怎么清除谷歌浏览器的缓存
  5. 微信小程序:video标签默认显示视频的第一帧作为封面
  6. 2021年报表软件排名_报表工具推荐
  7. 名帖71 颜真卿 楷书《郭虚己墓志》
  8. 大赛获奖选手专访 | 冷燕冰:最佳设计奖TIMING里的时机和时序
  9. 中国分离膜行业应用范围大,预计“十四五”期间中国膜技术产业仍将保持快速增长,市场前景广阔[图]
  10. 员工离职预测 逻辑回归