2.1.2 子孔径拼接技术的算法
以两个孔径的拼接[20,21]为例介绍子孔径拼接基本算法,进行两次子孔径的波面检测,如果用 和 来表示这两个子孔径的波面相位值,则可以写成如下形式:
式(2.1)中 , 分别表示两个孔径的实际相位值, 表示沿x方向的倾斜量, 表示沿y方向的倾斜量, 表示沿光轴方向的平移量。因为重叠区域的相位信息应该是一致的,所有在重叠区域有 = [22],所以上面两式上下相减即可以得到拼接因子: , , , 。故只需要求出两个孔径的x、y轴方向的旋转和Z轴(光轴)方向的平移拼接系数,通过最小二乘原理拟合得到 , , 。
公式(2.2)为解倾斜系数和平移量方程,依次解出各子孔径的a,b,c,有重叠区域的两子孔径a,b,c相减,即可以得到 , , 。
在求解完所有两两孔径的拼接系数后,由于按照顺序拼接存在误差传递,需要进行综合消误差处理。在综合的过程中,选择一个子孔径作为基准子孔径,使各个重叠区域的相位差平方和达到最小时得到调整系数,即利用最小二乘法。
2.2 子孔径自由拼接的算法
2.2.1 子孔径顺序的确立
在子孔径自由拼接中,选择哪一个子孔径作为标准参考面,以及如何确定拼接顺序对精度或多或少都有一定的影响。在数目较少的子孔径拼接中,为了提高精度我们定参考面和拼接顺序都是按照如下规则:
1. 两两拼接时,我们以从左往右或者从上往下的第一个子孔径作为标准参考面,再将第二个面小倾斜等拼接其上,如图2.1(a)所示;
2. 三个子孔径拼接时,以第二个面为中心,其他两个面消倾斜等系数后拼接其上,如图2.1(b)和图2.1(c)所示;
3. 四个子孔径拼接时,按照逆时针顺序依次标上孔径1到4,若孔径1与孔径4不相接,则任取孔径2或者孔径3为标准参考面,将余下孔径消倾斜系数后拼接其上;若孔径1与孔径4有重叠区域,以孔径1为标准参考面,其余3个孔径按照两两拼接的方式拼接其上,如图2.1(d)和图2.1(e)所示;
图2.1 子孔径数目较少时的拼接规则 (a)两个子孔径时,序号大的子孔径拼接到序号较小的子孔径上;(b)、(c)三个子孔径拼接的两种情况;(d)四个子孔径拼接时首尾子孔径不相接的情况;(e)四个字孔径拼接时首尾子孔径相接的情况
在子孔径数目较多的时候,标准子孔径的确定会对后续的仿真程序造成影响。在3×3九个子孔径的自由拼接中,尝试过两种定标准子孔径的方式,一种是以自由拼接所选子孔径中的第一个子孔径为标准子孔径,第二种是以自由拼接所选子孔径中的中心子孔径为标准子孔径。二者精度上差别非常小,但是在程序的编写上后一种方式的工作量却大了很多,第一种方式编写较为简便,但运算量较大。
2.2.2 子孔径自由拼接的基本思路
通过研究发现,在3×3九个子孔径的自由拼接中,无论有多少子孔径参与拼接,都可以分解成2.2.1中提到子孔径数目较少的四种情况。所以如果能把拼接的子孔径按照一定的方式分解开,并按照逆时针对子孔径的序数进行重新编号,例如图2.6,就可以用一个式子多次循环的方式,用最小二乘法解出所有重叠区域的消倾斜系数。最后将逆时针顺序的第一个子孔径作为标准子孔径进行综合优化消倾斜。
图2.2 子孔径序号改变示意图(以五个子孔径为例)
2.2.3 子孔径自由拼接的算法
1、提取各个子孔径轮廓
现阶段边缘提取技术[23,24]展已趋成熟, 本文使用的是sobel算法[25]。在算法的具体实现中,首先需要确定各个子孔径的轮廓和中心点位置。通常情况下采用边缘检测提取技术来对图像的轮廓进行提取,使用图像边缘提取算法提取出全口径以及各个子孔径的波面轮廓二值图像。在文中,采用逐点判断,若此点的RGB值不为0,则掩膜mask二值图中对应的点赋值为1;若此点的RGB值为0,则掩膜mask二值图中的对应点赋值为0。这样就可以获得一个子孔径的边缘区域mask二值图。 Matlab平面拼接干涉仪的子孔径自由拼接研究(3):http://www.youerw.com/tongxin/lunwen_9068.html