[发明专利]基于星图匹配的星空图像畸变检测与估计方法有效
申请号: | 201310390034.1 | 申请日: | 2013-08-30 |
公开(公告)号: | CN103440659A | 公开(公告)日: | 2013-12-11 |
发明(设计)人: | 张艳宁;巩东;孙瑾秋;李海森;丁王斌;黄建余;惠建江 | 申请(专利权)人: | 西北工业大学 |
主分类号: | G06T7/00 | 分类号: | G06T7/00 |
代理公司: | 西北工业大学专利中心 61204 | 代理人: | 王鲜凯 |
地址: | 710072 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于星图匹配的星空图像畸变检测与估计方法,用于解决现有检测方法在图像遭受畸变影响的情况下检测精度低的技术问题。技术方案是利用已知的星表、成像系统参数和成像系统指向,对图像中星点与星表中星点进行匹配,进而对图像中可能存在的相机的旋转、平移和畸变进行检测与估计。由于考虑了畸变对星点匹配的影响、指向不精确和相机镜头平移旋转造成的图像中星点的偏移旋转、平移旋转与畸变综合作用造成的估计困难,利用基于畸变模型改进的最长LCS星点配准方法对星空图像与星表中星点进行配准,对匹配点对集合中可能存在的错误匹配外点进行剔除并估计相对的旋转平移关系,进而估计星图与星标之间的畸变。提高了检测精度。 | ||
搜索关键词: | 基于 星图 匹配 星空 图像 畸变 检测 估计 方法 | ||
【主权项】:
1.一种基于星图匹配的星空图像畸变检测与估计方法,其特征在于包括以下步骤:步骤一、对星空图像中的星点进行提取,并计算星点在图像上坐标;该过程包括,利用阈值对星空图像进行二值化分割,即根据像素值是否大于阈值而进行分割;对二值图像进行联通区域提取,得到星点光斑区域集合Ωn;利用提取到的光斑区域,从原始图像中计算星点的亚像素坐标(xn,yn),对于每个光斑,计算方法为x n = Σ ( x , y ) ∈ Ω n I ( x , y ) · x Σ ( x , y ) ∈ Ω n I ( x , y ) , y n = Σ ( x , y ) ∈ Ω n I ( x , y ) · y Σ ( x , y ) ∈ Ω n I ( x , y ) - - - ( 1 ) ]]> 式中,(x,y)∈Ωn表示属于光斑Ωn的像素坐标,I(x,y)为相应的像素值;对图像中的星点进行计算得到星点集合I为集合中星点数目;步骤二、根据拍摄时的输入指向、视场大小、相机参数和拍摄时间,通过星空坐标转换得到对应天区的星体在CCD成像平面上的理想成像位置作为参考星点集合其中,J为集合中星点数目;步骤三、像畸变检测与估计框架为在迭代中完成星图匹配、旋转平移估计和畸变估计,具体过程包括:(a).使用基于LCS的星图配准方法根据星图畸变模型进行改进,对和进行匹配,若匹配失败,说明图像与输入的指向之间存在较大偏差或者图像过于严重,完成星图畸变检测;若匹配成功,得到可能存在匹配错误的点对集合,进行进一步的检测与估计;(b).使用一致随机采样对匹配外点进行剔除,并同时估计图像星点与理想星表星点之间的近似旋转平移关系模型,若剔除外点的匹配点对集合中点对个数小于求解畸变模型所需点对个数,则说明图像与输入的指向之间存在较大偏差或者图像过于严重,完成星图畸变检测;否则,利用剔除外点后的点对集合与估计得到的旋转平移模型进行进一步的畸变检测与估计;(c)利用无外点的、消除空间旋转平移差异的匹配集合估计图像中的几何畸变;(d)迭代步骤(a)-(c)估计得到和之间的旋转平移模型和畸变模型,通过估计得的旋转平移和畸变模型得到图像的畸变程度的量化评价;其中,步骤(a)-(c)的迭代中,包括基于畸变模型的LCS畸变星图配准、基于RANSAC的外点剔除与旋转平移模型估计、迭代估计几何畸变;第一部分,基于畸变模型的LCS畸变星图配准;假设从星空图像中提取得到的星点集合为而通过给定参数得到的市场内星点在CCD平面的投影的星点集合为对于得到一个大小为I×I的邻接矩阵,其中每个元素表示中两点之间在图像平面的欧氏距离,对该矩阵各行进行升序排序得到特征矩阵:FMat D = 0 d 1,2 . . . d 1 , I 0 d 2,2 . . . d 2 , I . . . . . . . . . . . . 0 d I , 2 . . . d I , I - - - ( 2 ) ]]> 并且同时将FMatD中元素在各行中的原始序号记录在矩阵中得到:IMat D = 1 p 1,2 . . . p 1 , I 2 p 2,2 . . . p 1 , I . . . . . . . . . . . . I p I , 2 . . . p 1 , I - - - ( 3 ) ]]> 因此,元素pi,j表示FMatD中的元素di,j元素为中Di与Dp,j之间的距离;同样,对于星点集合得到相应的矩阵FMatR和IMatR;其中FMatD和FMatR中每行为相应集合中各个星点的特征;在匹配过程中为比较星点Dx与Ry之间的相似性,需要计算序列<0,dx,j,...,dx,I>D和序列<0,dy,j,...,dx,J>R之间的公共子序列的长度,其中x和y为星点序号;基于一般动态规划求解LCS的算法框架,设定其中的公共子序列更新公式为:c [ i 1 , j 1 ] = 0 , i 1 = 0 or j 1 = 0 c [ i 1 - 1 , j 1 - 1 ] + 1 , i 1 , j 1 > 0 and | | d x , i 1 - d y , j 1 | | ≤ ϵf ( d x , i 1 , d y , j 1 ) max ( c [ i 1 , j 1 - 1 ] , c [ i 1 - 1 , j 1 ] ) , i 1 , j 1 > 0 and | | d x , i 1 - d y , j 1 | | > ϵf ( d x , i 1 , d y , j 1 ) - - - ( 4 ) ]]> 式中,i1和j1为动态规划算法表中的序号,ε为距离阈值,为[0,1]之间的函数,成立时,表示在畸变情况下而函数f(·)为:f ( d x , i 1 , d y , j 1 ) = 1 L exp { | | D x - C | | + | | D IMat D [ x , i 1 ] - C | | + | | R y - C | | + | | R IMat R [ y , j 1 ] - C | | 4 σ 2 } - - - ( 5 ) ]]> 式中,C为图像畸变中心,在迭代中更新,||·||表示欧式距离,σ2为方差,L为归一化因子;得到与中任两个星点之间的LCS相似性度量;对于中星点,依次在中搜索LCS最近邻,如果与最近邻之间的关系满足阈值要求,则作为与相应Di匹配的Ri,从而得到点对,否则舍弃对相应Di的匹配;经过星图匹配,得到匹配点对的集合其中Pm=<Rm,Dm>;中包含足够多的正确配对点,但仍包含匹配错误点对;第二部分,基于RANSAC的外点剔除与旋转平移模型估计;中依然存在匹配错误点对,但其中正确匹配的点对之间存在稳定的旋转平移关系,而不符合该模型的匹配错误点对为外点;使用RANSAC估计其旋转平移关系,同时剔除其中匹配错误的外点;和之间的旋转平移关系描述为二维空间中的旋转平移关系;由到的转换关系T(·)描述为:D xm D ym = T ( R xm R ym ) = a b c d · R xm R ym + e f - - - ( 6 ) ]]> 其中,Dxm表示第m个点的x方向坐标,Dym、Rxm和Rym同理;在估计模型T(·)过程中,对于给定的N对匹配点对,由于存在测量误差和畸变未知引起的误差,点对中点坐标存在噪声,使用足够多的点对求取最优估计;根据式(6)建立方程Ax=b (7)A = R x 1 R y 1 1 0 0 0 0 0 0 R x 1 R y 1 1 . . . . . . . . . . . . . . . . . . R xM R xM 1 0 0 0 0 0 0 R xM R xM 1 - - - ( 8 ) ]]> x=[a b e c d f]T (9)b=[Dx1 Dy1...DxM DyM]T (10)方程(7)有封闭形式解,因此旋转平移模型参数求解为x=(ATA)-1ATB (11)RANSAC算法通过在每次迭代中对包含外点的点对集合随机采样估计模型参数,得到符合该模型的候选点对集,并计算误差;最终从所有迭代中取出拟合误差最小的模型作为估计结果,相应的候选点对集合为剔除外电的集合;在所有迭代中选取最佳;RANSAC的算法输入为:含有外点的点对集合每次采样最少点数目Q,迭代次数K,判断一个点对是否符合当前模型的误差阈值T,判断估计得到的模型是否足够好的候选集合大小D;算法流程为:迭代K次,对于第k次迭代,1≤k≤K,(a)在中随机选取Q个点对得到候选点集{Pq}con,此时,1≤q≤Q;(b)使用式(11)估计参数xk,得到投影模型Tk(·);(c)对于除{Pq}con中点对外的其他点对<Rm,Dm>:计算投影误差ek,m=||Dn-Tk(Rn)||,如果ek,m≤T,则将<Rm,Dm>加入候选点对集合{Pq}con,每次更新使{Pq}con变大,使q的取值范围上限变大;(d)如果{Pq}con元素数目大于D,则使用{Pq}con估计式(11)中参数xcon,得到投影模型Tcon(·);(e)计算投影误差e k = Σ < R q , D q > ∈ { P q } con | | D q - T con ( R q ) | | ; ]]> 对于每次迭代,求取ek最小的Tcon(·)作为输出模型参数,同时相应的{Pn}con作为剔除外点的点集;使用RANSAC剔除中外点得到集合估计得到相应旋转平移参数x,即和之间的转换包含的旋转平移函数T(·);第三部分,迭代估计几何畸变;在得到不包含外点的匹配点对集合和旋转平移函数T(·)之后,中的经过T(·)变换有与相应的组合得到点对集合因此,中与之间仅包含集合畸变的变换,被用来估计几何畸变;使用径向畸变来描述中的几何畸变;由到的几何畸变为D xn D yn = G R xn ′ R yn ′ = G x ( R xn ′ ) G y ( R yn ′ ) = L ( r ) R xn ′ - C x R yn ′ - C y + C x C y - - - ( 12 ) ]]> 其中,Dxn表示第n个点的x方向坐标,Dyn、R′xn和R′yn同理,Cx为畸变中心x方向坐标,Cy为畸变中心y方向坐标,G(·)表示畸变函数,表示[R′xn,R′yn]T到畸变中心C的距离,L(r)为失真函数,具有性质为L(0)=1,使用其在0处的泰勒展开表示,仅使用偶次项并舍弃高次项,因此L(r)表示为;L(r)=1+k1r2+k2r4 (13)模型仅由畸变中心C=[Cx,Cy]T和畸变程度k1、k2确定,为方便描述,将参数表示为P=[k1,k2,Cx,Cy];与y方向无差别地,x方向的畸变模型Gx(·)表示为:Dxn=Gx(R′xn;P)=(R′xn-Cx)+k1r2(R′xn-Cx)+k2r4(R′xn-Cx) (14)r = ( R xn ′ - C x ) 2 + ( R yn ′ - C y ) 2 ]]> 其中,n为点对序号;同理,Gy(·)也由此表示;使用牛顿迭代对该非线性模型进行求解;给定初始值参数初始值P0,在迭代中求得最优解;迭代中参数更新方式为:Pk+1=Pk+Δk (15)其中,k为迭代次数序号,且只有当k出现在下标与[]中时表示迭代次数,Δk为方程JkΔk=εk的最小二乘解,为取值在Pk上的雅各比矩阵,而εk=D-G(R;Pk)为当前估计的误差;在每次迭代中对于每个值代入J之后均有:J k , n ( R n ; P k ) = ∂ G x ( R nx ; P ) ∂ P [ k , n ] ∂ G y ( R ny ; P ) ∂ P [ k , n ] - - - ( 16 ) ]]> 其中∂ G x ( R x ; P ) ∂ P [ k , n ] = [ ∂ G x ( R x ; k 1 ) ∂ k 1 [ k , n ] , ∂ G x ( R x ; k 2 ) ∂ k 2 [ k , n ] , ∂ G x ( R x ; C x ) ∂ C x [ k , n ] , ∂ G x ( R x ; C y ) ∂ C y [ k , n ] ] - - - ( 17 ) ]]> 而类似地表示;针对G(·)中的Gx(·),具体地有Gx(·)针对不同参数求偏导:∂ G x ( R x ; P ) ∂ k 1 [ k , n ] = r k , n 2 R xn ′ ]]>∂ G x ( R x ; P ) ∂ k 2 [ k , n ] = r k , n 4 R xn ′ ]]> (18)∂ G x ( R x ; P ) ∂ C x [ k , n ] = - k 1 , k r k , n 2 - 2 k 1 , k ( R xn - C x , k ) 2 - k 2 , k r k , n 4 - 4 k 2 , k r n , k 2 ( R nx - C x , k ) 2 ]]>∂ G x ( R x ; P ) ∂ C y [ k , n ] = - 2 k 1 , k ( R xn - C x , k ) ( R yn - C y , k ) - 4 k 2 , k r 2 ( R nx - C x , k ) ( R ny - C y , k ) ]]> 其中,下标中的k均表示第k次迭代中相应的值,下标中的n表示相应的量为代入第n点对之后的相应值,对于Gy(·)得到相同的求偏导结果;基于以上,在每次迭代中求解方程JiΔi=εi,在利用到所有点对的情况下有:Ji=[Ji(R1;Pi),Ji(R2;Pi),...,Ji(RN;Pi)]T (19)εi=[(D1-G(R1;Pi))T,(D2-G(R2;Pi))T,...,(DN-G(RN;Pi))T]T (20)其中,(D1-G(R1;Pi))=[Dx1-Gx(Rx1;Pi),Dy1-Gy(Ry1;Pi)]T;于是,解Δi为Δi=J+εi=(JTJ)-1JTεi (21)其中,J+=(JTJ)-1JT;根据以上,迭代优化求解畸变模型的具体算法表示为,算法输入为输入:匹配点对集合模型G(·),参数初始值P0,迭代最大次数K,收敛误差εcon;算法迭代过程中,如果迭代次数小于最大迭代次数k<K,则进行如下迭代,对于第k次迭代:(a)利用式(20)代入当前参数值Pk,计算εk,如果||εk||<εcon,停止迭代,输出结果,否则继续下一步;(b)将和Pi代入式(19),计算Jk;(c)利用式(21)计算得到Δk;(d)更新参数Pk+1=Pk+Δk;停止迭代,如果停止迭代时k的值为K,否则即为满足步骤(a)中迭代停止条件时的迭代步骤中的输出结果;通过综合以上三部分,利用联合迭代框架检测和估计旋转平移和畸变模型;整体迭代算法框架输入为:星表参考星点集合星空图像星点集合星图匹配、旋转平移估计、畸变估计所需参数,最大迭代次数K,迭代停止误差εcon;迭代算法首先初始化,令为算法中用于传递每一步畸变估计结果的点集,令k从1到K进行循环迭代:(a)使用改进的LCS匹配算法对和进行点对匹配得到匹配点对集合如果为空集,则说明和之间变换程度过大,检测到成像系统指向偏差过大或者图像畸变程度过大,退出迭代,输出结果,终止程序;(b)将作为输入使用RANSAC方法估计旋转平移模型Tk(·),同时得到剔除匹配外点的点对集合若估计失败或过小不足以进行后续运算,则说明和之间畸变程度过大,检测到成像系统指向偏差过大或者图像畸变程度过大,退出迭代,输出结果,终止程序;(c)利用中点对的序号关系,得到对应的点对集合使用Tk(·)对{Rn}进行投影得到{P'n}={<R'n,Dn>}={<T(Rn),Dn>};(d)将{P'n}代入,迭代估计得到畸变模型Gk(·);如果估计失败,说明图像畸变程度过大,,退出迭代,输出结果,终止程序;(e)计算误差ϵ k = 1 N Σ n = 1 N | | G k ( R n ′ ) - D n | | , ]]> 如果εk<εcom,则T ^ ( · ) = T k ( · ) , ]]>G ^ ( · ) = G k ( · ) , ]]> 停止循环,输出结果,否则,进行下一步;(f)更新{ R j * } j = 1 J , ]]> 有{ R j * } j = 1 J = T k - 1 ( G k ( T k ( { R j } j = 1 J ) ) ) , ]]> 进入下一次循环;如果最终循环进行了K次,则输出结果根据输出的和对图像与星表相比的旋转平移和畸变作出量化评价。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310390034.1/,转载请声明来源钻瓜专利网。