文档介绍:遥
感
学
报
第 7 卷 第 6 期
2003 年 11 月
Vol . 7 , No . 6
J OURNAL OF REMOTE SENSIN G Nov. , 2003
文章编号 : 100流算法连 接正负残差点对 ,建立枝切线 。网络流算法将在下 一节中详细介绍 。第三 ,按照绕过枝切线或者穿过
枝切线加减 2 nπ 的方法进行积分从而得到解缠相 位结果 。
如图 1 是一个三角网的示意图 ,其中 ,黑色结点 代表提取出的高质量的相位 ,通过图中的实线将这 些相位点连接成一个三角网 。图中的白色结点代表 残差点 ,每一个三角形都可以求得一个残差点的值 , 可以为 + 1 ,0 或 - 1 。我们需要将所有正负残差点
对连接起来 ,并使总路径最短 。
3
311
算法描述
Dela unay 三角网生成算法描述
三角网的生成算法可以分为三类 :分治算法 、逐
点插入法 、三角网生长法 。在这三类算法中 ,三角网 生长法在 80 年代中期以后的文献中已很少见 ,较多
的是分治算法和逐点插入法 。后两类算法又各有优
缺点 。逐点插入法实现方法比较简单 ,占用内存小 , 但运行速度慢 ;分治算法运行速度虽然比较快 ,但由 于递归执行 ,需要较大的内存空间 。由于相位解缠
原始图像所占空间一般都比较大 ,所以应当尽可能 的选择一个运行时占用内存小的算法 ,从这方面来 说 ,逐点插入法比较符合我们的要求 ,因此选择了这 种方法作为三角网生成算法 。
其主要数据结构如下 : 对三角网中的三角形建
立一个队列 ,用于记录所有生成的三角形 。对于每 一个三角形 ,都记录了该三角网的三个顶点 、三个边 以及与该三角形相邻的三个三角形 。对边也建立一 个队列 ,用于记录三角网中所有的边 。对于每一条 边 ,都记录了该边的两个端点 、该边所属的三角形以
及该边在三角形中是第几条边 。 首先确定一个相干阈值 ,该阈值既要保证可以
忽略低质量数据 ,又要保证能够留下足够的高质量 数据以确保解缠的进行 ,例如可以选取 1/ 3 作为阈 值 。所有相干系数高于该阈值的相位都被加入到高 质量相位点集合 中 。由 于 这 个 集 合 中 的 点 是 分 散
的 ,无法构成一个规则网络 ,因此通过该算法就可以 在点集中生成 Delaunay 三角网 ,根据网络中各相位 的值就能够计算出各个三角形对应的残差值 ,即图
1 所示虚线网络中白色结点的残差值 。
图 1 三角网示意图
Fig. 1 Sketch map of triangulation network
图中的虚线也构成一个网络 。该虚线网络中的
每一个白色顶点都对应于 Delaunay 三角网中的一个 三角形 , 该虚线网络中每一条虚边都仅与 Delaunay
三角网中的一条实边相交 。
网络流算法可以根据虚线网络中白色结点的残 差值计算出虚线上的流量 。依据该流量 ,可以采用
穿过枝切加减 2 nπ 的方法进行求解 。如图 1 中 ,虚
线表示流 。当流 xij = 1 时 ,像素 b 和像素 a 之间存 在一个枝切 。在沿着 ba 的方向进行积分时 ,应将所 得的相位值加上 - 2 xiπj ,