所有提交的电子邮件系统将被重定向到在线稿件提交系统.请作者将文章直接提交给在线稿件提交系统各自期刊的。

基于FFT的自动图像拼接的实现

Vinod.G.R1安妮塔·R夫人2
  1. 研究生[VLSI和嵌入式系统],欧洲经委会,EPCET,班加罗尔,卡纳塔克邦,印度部门
  2. 印度卡纳塔克邦班加罗尔EPCET欧洲经委会系副教授
相关文章Pubmed谷歌学者

浏览更多相关文章国际电气、电子与仪器工程高级研究杂志

摘要

本文提出了一种利用FPGA实现图像组合生成全景视图的技术。图像拼接对于视觉和计算机图形学中的各种任务都很有用。它提出了一个完整的系统拼接图像序列,每两个连续图像之间有一定数量的重叠。本文有三个贡献。首先是一种图像配准方法,该方法使用FFT相位相关处理两幅图像之间的旋转和平移。二是采用像素映射的方法,利用前一步得到的配准参数对配准图像进行高效拼接。第三种是图像混合,通过加权平均混合方法去除拼接图像中的接缝。

关键字

FFT相位相关,配准,旋转,平移,图像拼接,图像混合。

介绍

图像拼接是从静止图像序列生成的组合。通过本文所示的方法,可以获得图像拼接的参数,从而可以将具有一定重叠区域的多幅图像构建成一幅图像,覆盖场景的整个可见区域。拼接的步骤包括图像配准、图像拼接和图像混合。
图像配准是指一组图像的几何对齐。该集合可以由两个或多个从不同传感器或不同视点拍摄的单个场景的数字图像组成。配准的目的是建立图像之间的几何对应关系,以便它们可以在一个共同的参考框架中进行转换、比较和分析。这在许多领域都具有实际意义,包括遥感、医学成像和计算机视觉。
本文介绍的配准方法使用傅里叶域方法来匹配相对于彼此进行平移和旋转的图像。傅里叶方法不同于其他配准策略,它根据频域信息寻找最优匹配。该算法利用相位相关的特性进行自动配准,通过在位移点显示一个明显的峰值来给出两幅图像之间的平移参数。以此为基础,还发现了旋转。
配准后的下一步是图像拼接。图像整合或图像拼接是将图像叠加在更大的画布上的过程。利用配准参数将图像适当地放置在更大的画布上,通过像素映射的方法得到最终的拼接。在这个阶段,主要关注的是马赛克的质量和所用算法的效率。本文提出了一种高效的多幅图像拼接方法。
下一步是图像混合,其中由于光线的变化,在两个图像缝合缝出现。为了获得无缝图像,采用加权平均混合方法。

框图

图1显示了图像拼接实现的框图。首先从输入图像生成十六进制文件,然后从UART将该文件发送到FPGA存储器,在那里进行图像配准,图像拼接和图像混合,以获得最终的拼接图像。
用于实现基于FFT的自动图像拼接的步骤如下所示。
1.图像被转换成十六进制文件,该文件通过UART发送到内存。
2.存储在内存中的图像被发送到FFT引擎,在FFT引擎中计算FFT,然后这些图像被发送到乘法器和除法器块。
3.然后计算IFFT,然后计算相位相关。通过这个注册值得到。
4.利用配准参数对图像进行像素映射拼接。
5.采用加权平均混合法对图像进行混合,去除接缝。
6.最后在TFT显示器上显示拼接后的图像。

图像配准

旋转参数估计:

假设待配准的两幅图像I1和I2都涉及平移和旋转,它们之间的旋转角度为“θ”。当I2被θ旋转时,图像之间只剩下平移,与I1的相位相关应该是最大的峰值。因此,通过每次将I2旋转1度并计算该角度的相关峰,我们达到了图像之间只剩下平移的阶段,这些图像的特征是相位相关的最高峰。这个角就变成了旋转角θ。

翻译参数估计:

若f (x, y)⇔f (ξ,η)则
f (x, y) exp (j2π(ξx0 +ηy0) / N])⇔f(ξ-ξ0,η-η0)和f (x-x0, y-y0)⇔f(ξ,η). exp (j2π(ξx0 +ηy0) / N]
其中双箭头(⇔)表示f (x, y)和它的傅里叶变换f之间的对应关系。根据这个性质,也称为傅里叶移位定理,如果某个函数的原点被某些单位平移,那么平移就出现在傅里叶变换的相位中。也就是说,如果f和f⢰是两个图像,它们之间的差别仅在于位移(x0, y0),即f ' (x,y)=f(x-x0,y-y0)
然后,它们对应的傅里叶变换F1和F2由
F′(ξ,η) = e-j2π(ξx0+ηy0)*F(ξ,η)。
经傅里叶变换的两幅图像f和f的交叉功率谱定义为
F(ξ,η)。F ' *(ξ,η)/ A¢”‚F(ξ,η)。F ' *(ξ,η)¢”‚= ej2π(ξx0 +ηy0)
其中F“*为F的复共轭”,移位定理保证了交叉功率谱的相位等于图像之间的相位差。通过对频域中的表示进行傅里叶反变换,我们将得到一个脉冲函数,也就是说,它除了在最优配准两幅图像所需的位移处外,处处近似为零。如果f1和f2之间除了平移之外没有其他变换,则在位移点处有明显的峰值。
上一节的讨论告诉我们,当两幅图像之间存在纯平移时,相位相关有一个最大峰,对应的位置给出平移参数(x0, y0)。

算法:

现在,我们提出在前两节中讨论过的旋转和平移参数估计算法。(我们可以放下样本图像,加快配准过程)
Algorithm1:
输入:两个重叠的图像I1和I2
输出:
配准参数(tx, ty, θ),其中x和ty分别在x和y方向上平移,θ为旋转参数。
步骤:
1.读取并调整这两个图像的大小。让调整大小的图像分别为I1'和I2'。
2.当i = 1时,步长为360
2.1)将I2'旋转i度。让旋转后的图像为2' t。
2.1)将I2'旋转i度。让旋转后的图像为2' t。
2.3)设Q(u,v)为基于FI1’和fi2’rot的I1’和i2’rot的相位相关值。
问(u, v) = FI1”(u, v) .FI2'rot * (u, v)一个¢”‚FI1”(u, v) F 'I2“腐病* (u, v)¢”‚
2.4)计算q(u, v)的傅里叶反变换q(x, y)。
2.5)找到q(x,y)的峰值。
2.6)将峰值存储在位置i的矢量中。
3.从步骤2.6中存储在向量中的值中找到最大峰的索引。它给出了旋转角度。设它是θ'
4.对于i = θ'-step和θ'+step,重复步骤2.1至2.6。
5.从步骤4中求出最大峰的角度。它变成了旋转角度。设它是θ。
6.将原始图像I2旋转“θ”。将旋转后的图像设为I2rot。
7.相对应I1和I2rot。设结果为P(u,v)
8.计算p(u,v)的傅里叶反变换p(x,y)
9.定位p(x, y)的峰值位置(tx, ty),成为平移参数。
10.输出参数(tx, ty, θ)。
上述算法能够找到图像之间的旋转。最大峰只出现在图像之间存在纯平移的点上。
作为示例,对于图2和图3图像的输入对,沿列(x)方向平移31像素,沿行(y)方向平移201像素,并且旋转90度。图像之间的相位相关图如图3和图4所示。
在图4中,我们可以看到90度点处的峰值,表明第二个输入图像相对于第一个输入图像旋转了90度。
图5显示了沿X和Y方向(X=31和Y=201)的两个图像之间存在精确平移的点处的峰值。

图像拼接

图像拼接是配准后的下一步。在这个阶段,参考图像通过使用在配准过程中获得的转换参数将其像素粘贴到画布上的适当位置,从而覆盖在源图像上。在本节中,我们提出了一种用于拼接任意数量图像的通用算法。

算法:

Algorithm2:
1.创建画布:画布是用于所有图像的马赛克。我们称之为图像画布。
2.使整个画布黑色。
3.对于给定的图像I,对于图像I中的每个像素,在画布上粘贴一个映射像素,同时考虑平移和旋转参数。
图6为两幅带缝输入图像的拼接图。

上述方法的优点:

该算法在拼接具有较大重叠的多幅图像时效率很高。考虑一个图像序列,假设连续图像之间有80%的重叠。如果每次都粘贴整个图像,那么重叠区域中的一些像素会被映射四次,从而导致粘贴300%的冗余,而算法2只粘贴每个像素一次。这种方法不仅提高了拼接的效率,而且保持了更接近输入图像的拼接质量。

图像融合

图像混合是最后一步。给定的两幅图像都有输入,如果这两幅图像在不同的光照条件下拍摄,在缝合的图像中会出现一条缝,其中两幅图像很容易区分。因此,为了提高图像质量,必须去除接缝。因此采用加权平均混合法去除接缝。混合的一般算法如下所示。
算法:
算法3:
1.找出要在画布上创作的马赛克的生长方向。
2.获得包含图像之间整个重叠区域的最小矩形。
3.利用步骤2中的信息,根据画布的重叠区域和生长方向,沿接缝获得一个长为l、宽为b的小区域。
4.使用加权平均混合混合区域。
图7显示了没有任何接缝的拼接图像。

实验结果

在Verilog HDL语言中分别实现了第3节、第4节和第5节中描述的配准算法1、拼接算法2和混合算法3,并使用XC6SLX16-CSG324C Xilinx spartan6 Nexys 3 FPGA器件实现。这些算法已经在不同的图像集上进行了测试,特别是涉及大量旋转和平移变化的真实图像,用于配准和照明,以及图像构图的视图变化。

结论

本文介绍了三种用于静态图像序列的算法。首先是一种简单可靠的基于FFT相位相关的平面变换旋转和变换查找算法。整体的复杂性主要是FFT。基于傅里叶的配准方法的一个关键特征是使用FFT例程提供的速度。其次,提出了一种克服拼接过程中像素重粘贴冗余的拼接方法,采用像素映射法。最后是图像混合,采用加权平均混合方法,在保持图像质量的前提下,有效地去除了图像中的接缝。所有算法都在Spartan6 FPGA上成功实现,硬件利用率高,结果准确

数字一览

数字 数字 数字 数字
图1 图2 图3 图4
数字 数字 数字
图5 图6 图7

参考文献













全球科技峰会