图像匹配导航定位技术 第 9 章

第 9 章 多 模 图 像 匹 配 方 法 的优化、并行实时实现

多分辨率( multi- resolution )的思想即金字塔的匹配思想,金字塔匹配的主要思想是通过匹配金字塔顶层图像找到粗略的位置 ,然后在粗略的位置的邻域内通过搜索找到最佳的匹配位置。金字塔匹配的两个基本环节是:① 图像金字塔结构的构造;② 匹配搜索策略。

9.1 基于图像小波金字塔迭代求精的快速搜索策略硏究

9.1.1 小 波 变 換 理 论 与 图 像 的 多 分 辨 率 表 示

1. 小波变换及多分辨率分析

小波分析作为一种时频局部化方法,其最基本的思想是:寻找一个满足一定条件的基本小波函数,通过基本小波函数的平移和伸缩构成小波函数族,利用这一个小波函数族去逼近所要研究的信号,再做分析和处理。

小波变换是多分辨率分析的强有力的工具,实际上,多分辨率分析是把信号向一系列嵌套的子空间进行投影。

空间V0中数字信号可以投影到各个子空间中,很多情况下,分析信号在各个子空间的投影分量比分析整个信号要容易得多。

2. 滤波器组分析

根据多分辨率分析,可以用一对滤波器( 高通滤波器与低通滤波器)把原始信号分解成两个子带 ,然后对低通滤波后的结果递归地使用一对髙通滤波器与低通滤波器进行分解 。

3. 二维离散小波变换

数宇图像处理中经常用到二维正交小波变换的可分离性,二维正交小波变换等价于行方向和列方向分别进行一维的正交小波变换。因此在实际变换中 ,利用低通滤波器和高通滤波器先对图像沿行方向进行一维分解,然后再沿列方向进行一维分解。

小波变换将图像数据按不同频带宽度 、不同分辨率分成子带图像,每一层小波分解成四个子带:垂直方向和水平方向均为低频的子带图像 LL,水平方向低频和垂直方向高频的子带图像 LH ,垂直方向低频和水平方向高频的子带图像 HL,以及垂直方向和水平方向均为高频的子带图像 HH。其中,LL包含图像的平均信息,LH 、HL、HH 包含由于图像灰度的变化的方向信息。高频子带中绝对值较大的系数对应图像中变化显著的特征,比如边缘特征 、角特征 、线特征等。

小波变换对于 SAR 匹配的好处是:
① 减少斑点噪声的影响;
② 对各自子带的信息进行融合,求得最佳的匹配位置;
③ 可以采用大实时图进行匹配,从而减少匹配的运算量且保证图像精度。

 9. 1.2 小 波 迭 代 求 精 匹 配 算 法( W I R A ) 搜 索 示 意 图

基于小波的图像匹配算法是多分辨率金字塔匹配算法的一种应用,图像经过小波变换形成金字塔结构的各子带数据。各子带中的系数存在着树形结构的联系。

9 . 2 基于图像 FFT 域的快速匹配算法研究

由于算法采用的实时图较大,设参考图的尺寸为 M X M, 实时图的尺寸为 N X N,则 直 接 相 关 的 计 算 复 杂 度 为o\left ( M^{2}N^{2} \right ), 此,我 们 先 对 去 均 值 归 一 化 互 相 关 算法进行恒等变换,然后采用快速傅里叶变换( FFT)来对该算法进行快速计算,将算法的复杂度降为o\left ( M^{2}N log_{2}N \right ),从而大大降低了运算量。

9.2.1 快 速 博 里 叶 变 换

快速傅里叶变换是是离散傅里叶变换(DFT)的一种快速算法。对于N点有限长序列x(n),其离散傅里叶变换为X(k) = DFT {x(n)} = \sum_{n=0}^{N-1}x(n)W_{N}^{nk},K=0,k,⋯,N-1

离散傅里叶反变换(IDFT)为x(n) = IDFT {x(k)} =\frac{1}{N} \sum_{n=0}^{N-1}x(k)W_{N}^{-nk},n=0,k,⋯,N-1

可看出:计算每一个 X(k)或x( n )有 N 次复数乘法,N-1 次复数加法,完成整个运算总共需要 N^{2} 次复数乘法及N ( N- 1)次复数加法。

FFT 算法的基本原理就是把一个 N( — 般设 N =2^{^{L}},L 为整数)点通过 DFT分解成两个 N/2 点 DFT,然后把 N/2 点通过 DFT 分解成 N/4 点 DFT,再分解成 N/8点 DFT,一直分解到两点的 DFT 为止。这种 N 为 2 的整数幂的 FFT 也称基-2 FFT,它可使原有 DFT 的计算量大为减少。

采用 FFT 计算 N点 DFT,计算量为\frac{N}{2}log_{2}N次复乘,Nlog_{2}N次复加。鉴于 1 次复乘需要 4 次实乘和两次实加,所以相应的计算量为2N log_{2}N{2N}log_{2}N次实加。N 点IDFT也可由 FFT 来完成,其计算量与N点 DFT 相同。在N越大的情况下,FFT 算法较之直接通过 DFT 计算的优越性就越明显。

9.2.2 线 性 相 关 和 线 性 相 关 的 快 速 计 算

相关主要是指在时域研究两个信号或信号自身之间的相互关系,广泛地应用于各种信号的处理和检测 ,如通信、雷达 、声呐等领域,也应用于连续时间系统及离散时间系统等。

9.2.3 基 于 FFT 的 线 性 相 关 的 快 速 算 法

N1、N2 值较大时,基于 FFT 的相关计算方法可以有效地提高相关计算的时间效率。

9.2.4 基 于 FFT 加 速 的 去 均 值 归 一 化 互 相 关 算 法

推广到二维空间 ,采用行列分离的方法,利用 FFT 快速相关的算法来实现图像匹配中所采用的去均值归一化互相关算法 ,可以有效地提高相关计算的时间效率,还可以做以下改进来进一步提高计算效率。

(1 ) 因为在实时图像边界超出参考图像边界部分的相关值对最终计算结果没有贡献,因此设参考图为 X(k ),大小为 LXL;实时图为 H(k ),大小为 MXM。可以将两幅图像都放大到 NXN( N>= L),且N=2^{^{r}}(r为整数)。此时,相关面的左上部为图像匹配所需的相关面,右下角部分则为循环相关的混淆部分,混淆部分乘以系数 0,故不影响图像匹配的结果。

(2) 在实时计算中,对参考图的处理可以采取以空间换时间的策略来处理,因此实时图频域的共轭操作处理可以通过对参考图的处理结合复数乘法来实现,并结合实时系统的特点进行调整,使得的相关面的混淆区域仍处于相关面的右下角。

9 . 3 基于进化优化计算的快速搜索策略硏究

近年来,人工神经网络 、遗传算法(genetic algorithm)等仿效生物处理模式的智能信息处理方法的发展,为寻求计算简单和易于实现的图像处理方法提供了新的途径。遗传算法是一种新的全局优化搜索算法,可以对复杂的非线性多维数据空间进行快速有效的计算。具有不受搜索空间的限制性假设的约束,良好的鲁棒性及固有的并行性等特点。

在人工智能领域中有不少问题需要在庞大而复杂的搜索空间中寻找最优解,因而在搜索过程中能自动获取有关搜索空间的知识并自适应地控制搜索过程 ,进而得到最优解的通用搜索算法一直是令人瞩目的课题,而遗传算法就是这种有效的搜索算法之一。

9.3.1 遗 传 算 法 的 基 本 原 理 与 流 程

遗传算法首先将问题的可能解按某种形式进行编码,编码后的解称为染色体(个)。先随机选取几个染色体构成初始种群,再根据预定的评价函数对每个染色体计算适应度 ,使得性能较好的染色体具有较高的适应度。选择适应度高的染色体进行复制,通过遗传算子( 选择 、交叉 、变异)来产生一群新的、更适应环境的染色体,即形成新的种群。这样一代接一代不断繁殖 、进化,最后收敛到一个最适应环境的个体上,求得问题的答案即是最优解。

遗传算法中,一个被编码的初始种群代表进化过程的开始。初始种群可以随机地产生,也可以采用与问题相关的某些特定方法进行初始化。评价函数用于为种群中每一个个体赋予适应值,根据个体的适应值,利用选择机制选择优良个体进行基因繁殖。选择机制一般应保证种群中最优良的个体被繁殖,一般可以根据实际问题采用不同的选择机制 ,如线性排序选择 、比例选择。

如果一种选择机制保证种群中最优的个体被复制进入下一代,则称该选择机制为保存“杰岀者”的选择机制。用保存“杰岀者”的选择机制的遗传算法一定能收敛到全局的最优解。

9 . 3. 2 遗 传 算 法 的 基 本 构 成 要 素

1. 参数( 染色体 )编码

用遗传算法求解参数(染色体)优化的问题中 ,首先需要把待优化的各参数( 染色体)按某种形式编码,这一环节称为参数( 染色体)编码。不同的编码方式与编码长度对问题求解的精度和遗传算法的收敛时间会有很大影响。编码方式应遵循以下两条原则。
(1 ) 反映被研究对象的特点,被研究的对象不同,解变量的性质和特点也不相同,解变量的表达式应能充分体现研究问题的性质和特点。
( 2) 应选择一个使问题得以自然表达的最小字母表进行编码,以便于计算机处理。由于所求问题都需要借助计算机求解 ,且参加运算的不是解变量本身,而是采用某种表达方式(染色体)的编码 ,所以必须考虑所用的表达方式对计算机是否方便接受

用得最多的编码方式是二进制编码方式,通常使用固定长度的二进制符号串来表示群体中的个体,其等位基因常使用二值符号集{ 0,1} 来表示。优点在于方便计算机处理与后续操作( 如交叉 、变异 )。在多参数优化求解时,首先把各个参数分别按二进制编码构成子串,然后合成一个整串构成一条染色体。

2. 个体适应度的评价与适应度(fitness )函数

适应度函数是衡量个体对应解的好坏的标志,也决定该个体以多大概率被选择作为下一代个体产生的父个体,必须反映实际要求解的问题。通常适应度函数(即评价函数)是根据目标函数确定的。

适应度函数值总是非负的,而且在任何情况下,总是希望它越大越好。而目标函数值则有正有负,而且和适应度函数的关系亦是多种多样的,因此存在目标函数到适应度函数的映射问题,常见的映射形式为\varphi \left ( \alpha \right )=\delta \left ( f\left ( \tau \left ( \alpha \right ) \right ) \right )

式中,\alpha为个体;\tau(\alpha)为个体的译码函数;f为具体求解问题的表达式;\delta为比例变换函数,作用是确保适应度函数值为正。

最好的个体,其适应度函数值最大。适应度函数的选取至关重要,它直接影响到算法的收敛速度并最终影响到能否找到最优解。函数优化问题可直接将函数本身作为评价函数。而对于复杂系统的评价函数一般不那么直观,需要重新构造岀能对个体性能进行评价的函数。

3. 遗传算子

遗传算子是指由上一代种群产生下一代群体的某种操作方式。它包含下面 4 种基本算子

(1) 选择(selection)算子

又称再生(reproduction )算子 、繁殖算子。选择操作是从种群中选择生命力强的染色体产生新种群的过程。依据每个染色体的适应度大小,其适应度越大,被选中的概率就越大,其子孙在下一代产生的个数就越多。最常见的选择方法有比率法 、排列法和比率排列法等

(2) 交叉(crossover)算子

又称重组(recombination )算子、配对(breeding )算子。当许多染色体相同或者后代的染色体与上一代没有多大差别时,可通过染色体重组来产生新一代染色体。

染色体重组是分两步进行的:首先在新复制的群体中随机选取两个个体,然后,沿着这两个个体( 字符串)均匀 、随机地取一个位置,二者从该位置起到末尾部分进行互换。

如有两个用二进制编码的个体 A 和 B ,长度 L = 5, A= a1a2a3a4a5;B =b1b2b3b4b5,随机逸择一个整数0<k<L,设k=4 ,经交叉后变为A1= a1a2a3a4b5;B1 =b1b2b3b4a5

遗传算法交叉算子解析-优快云博客文章浏览阅读3.6w次,点赞121次,收藏579次。用最简单直观的方法表达出交叉的过程_遗传算法交叉操作https://zhangshu2274.blog.youkuaiyun.com/article/details/114364486?fromshare=blogdetail&sharetype=blogdetail&sharerId=114364486&sharerefer=PC&sharesource=tmiger&sharefrom=from_link文章浏览阅读3.6w次,点赞121次,收藏579次。用最简单直观的方法表达出交叉的过程_遗传算法交叉操作https://zhangshu2274.blog.youkuaiyun.com/article/details/114364486?fromshare=blogdetail&sharetype=blogdetail&sharerId=114364486&sharerefer=PC&sharesource=tmiger&sharefrom=from_link文章浏览阅读3.6w次,点赞121次,收藏579次。用最简单直观的方法表达出交叉的过程_遗传算法交叉操作https://zhangshu2274.blog.youkuaiyun.com/article/details/114364486?fromshare=blogdetail&sharetype=blogdetail&sharerId=114364486&sharerefer=PC&sharesource=tmiger&sharefrom=from_link文章浏览阅读3.6w次,点赞121次,收藏579次。用最简单直观的方法表达出交叉的过程_遗传算法交叉操作 https://zhangshu2274.blog.youkuaiyun.com/article/details/114364486?fromshare=blogdetail&sharetype=blogdetail&sharerId=114364486&sharerefer=PC&sharesource=tmiger&sharefrom=from_link

(3) 变异(mutation)算子

变异算子是以很小的概率随机地改变字符串中某个位置上的值,在二进制编码中,就是将 0 变成 1,1 变成 0,可提高遗传算法找到最优解的能力。变异的概率很低(一般在 0.001-0.020 之间),它本身是一种随机搜索的机制,然而只要与选择算子 、交叉算子结合在一起,就能避免由于选择算子 、交叉算子而引起的某些信息的永久性丢失 ,从而保证了遗传算法的有效性。

(4 ) 本地算子

本地的生物体更趋向于繁殖 ,这种趋向性产生了遗传的多样性。在遗传算法中采用选择本地的生物体进行繁殖时,可以保持种群内位串的多样性 ,而这种多样性在优化求解的一些特殊场合和基于遗传算法的机器学习问题中尤为重要。本地算子的本质就是在遗传算法中保证遗传的多样性,即保持众多种族同时存在。在遗传算法中要做两件事 ,一是创造一种共享机制 ,来限制一个种族无限度地扩张;二是为了维持一个种族的存在,应该有选择地进行交配 ,即交叉受限。

9.3. 3 基 于 遗 传 算 法 的 合 成 孔 径 雷 达 图 像 与 卫 星 光 学 图 像 匹 配

利用遗传算法求解实际问题时,需要解决如下几个问题。

(1) 确定个体的编码方式(基因编码方式)。
(2) 个体评价,这实际上是如何建立与要求解的问题相符合的适应度函数。
(3) 确定个体的选择机制,这实际上是如何根据适应度函数选择用于遗传操作( 交叉、变异)的个体。
(4) 交叉、变异的概率值。
(5) 遗传算法的迭代中止条件。

1. 匹配适应度函数的确定与匹配位置的编码

应用遗传算法求解图像匹配时,必须把要优化的实际问题抽象成遗传算法所能接受的问题,需要解决两个问题:个体适应度函数的构造与个体的编码。导航中,由于惯性的导航作用,因而问题可以简化为实时图像(模板)在参考图像中平行移动的问题。需要根据实际的相似性测度函数构造匹配适应度函数。

假如实时图像( 模板)的大小是 N*N,参考图像的大小为 M*M( 其中,M>N),如果对它们进行全搜索,则搜索次数为(M - N ) * ( M - N ),那么参数的编码问题是要对求解参数(x,y ),0<=x<=M - N - 1,进行编码。在这里对位置进行编码时,采用二进制编码方式,对(x,y )进 行 编 码 的 位 数 取 决 于(M - N )的大小,比如当(M - N )=256 时,x,y可以分别采用 8 位编码,因此基因的长度为 16位。

要说明的是:初始种群的选择对于遗传算法收敛的速度与正确的求解是很重要的 ,在匹配算法中,假设种群的大小为 S,设搜索的窗口大小为(M - N )* (M - N ),可以把这个窗口等分为 S 个小窗口;然后在每个小窗口里随机产生一个个体 ,从而形成初始种群。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值