基于特征点聚类四叉划分和局部变换矩阵的图像拼接方法与流程

文档序号:13447429阅读:647来源:国知局
基于特征点聚类四叉划分和局部变换矩阵的图像拼接方法与流程

本发明涉及图像处理和计算机视觉领域,具体涉及一种基于特征点聚类四叉划分和局部变换矩阵的图像拼接方法。



背景技术:

图像拼接技术是指将两张或多张拍摄同一场景的单视角有重叠的图像进行拼接,得到一幅包括全部源图像的宽视角的清晰结果图。随着图像处理技术的发展,图像拼接技术的研究不断地深入,应用也越来越广泛。在航空领域中,将空间探测器和卫星拍摄的画面回传到一起进行拼接得到更多的信息;在医学上将ct、x光等医学成像技术获取的画面进行拼接发现更多的病理信息;另外很多其他技术领域中,比如遥感技术、导航系统、军事领域等均有广泛的应用前景。

图像拼接技术包括4个主要步骤:匹配、变换、缝合和去缝融合。

匹配一般包括基于空间像素、基于空间特征和基于频域的匹配;坐标变换即将图像弯曲变形使得待拼接图像在同一个坐标系下对准;缝合是将对准后的图像在一张画布上组合;去缝融合去除由于光照不均匀或其他原因产生的缝合线,其中坐标变换过程对拼接结果的优劣具有关键性的作用,变换模型的使用极大程度上决定了图像是否能实现正确拼接。

目前已有很多商用的图像拼接工具和软件能实现图像拼接功能,比如adobephotoshop、microsoftphotosynth、autostitch以及一些内嵌入摄像头的小工具等,他们使用全局的单应性矩阵模型对整幅图进行坐标变换。但是它们使用的变换模型仅适用于平面的场景或者仅旋转导致的视野变化,当数据不完全符合变换模型的假设时,拼接结果将会出现明显的重影和错误对准现象。而在实际使用过程中,需拼接的图像很难完全符合使用现有模型的严苛条件,两幅图像经常都会存在深度差异,使用这些已有软件或工具进行拼接会出现模糊、重影或错误对准等现象,即使采用性能优越的预处理和后续处理,也很难完全去除由变换模型固有缺陷导致的鬼影现象。

为了解决对准精确性的问题,现有研究将图像分割成远景和近景并分别进行变换,但是试用场景局限性太大;或者将图像分成上万个很细的网格并依次对每个网格采用相应的变换矩阵进行变换,虽然对准精度大大提高但是计算量太大处理效率太低;还有一些研究通过在变换过程中添加约束项比如直线或形状矫正等,虽然对于一些极端的大视差场景能继续提升对准精度但是不可避免地进一步加大了计算复杂度。在除去大视差等极端场景的普通应用场景中,处理效率与对准拼接的精确度的平衡非常重要,因此保持精确度的同时如何提升处理速度是亟待解决的问题。



技术实现要素:

为解决上述过多网格划分导致的处理效率和精度不平衡问题,本发明提供了一种基于特征点聚类四叉划分和局部变换矩阵的图像拼接方法,实现精确和快速的图像拼接。

具体步骤为:

步骤一、针对待拼接图像,提取两幅图像的sift特征并进行匹配;

sift特征包括特征点的位置、尺度和方向以及特征描述算子;

匹配是根据特征点特性和描述算子寻找待拼接的全局图像中的匹配特征点对,并利用ransac剔除错误匹配的特征点对。

步骤二、选取一副图作为参考图像,对另一幅图像提取的匹配后的特征点使用k-means方法进行聚类;

从输入图像中任选一幅作为参考图像,在变换过程中不进行变换;另一幅图像作为非参考图像通过变换模型变换。

k-means聚类算法是:首先随机选用k个匹配后的特征点作为初始中心点,然后计算每个特征点与k个簇中心点的距离,将每个特征点归类到最近的中心点所在的簇中,继续重新计算簇的中心点位置,重复上述过程直到达到收敛条件,确定每个特征点所属的聚类特征类型。

步骤三、根据聚类结果对非参考图像进行逐层四叉划分,使得每个子空间中仅包含一类特征点;

逐层四叉划分的具体步骤如下:

步骤301、搜索当前空间中所含特征点的聚类结果类型,并判断是否只有一种类型,如果是,进入步骤302;否则,进入步骤303;

根据非参考图像的尺寸大小,将图像的长度和宽度均填充成256像素的倍数,则填充后图像被划分为依次相连的m个256×256的方格,m为整数;初始的m个当前空间为非参考图像对应的m个方格区域;

步骤302、仅包括一类特征点,则该空间不再继续划分;

步骤303、位于该空间中的特征点涵盖的聚类结果类型为多种类型,则将该空间均匀地划分为4个相等的子空间;

步骤304、同时选取4个子空间中均作为当前空间,返回步骤301进行迭代,直到非参考图像所划分的每个子空间的方格区域内仅包含一类的聚类特征点时停止划分。

步骤305、非参考图像根据特征点的分布情况被划分为不同深度子空间,使得每个子空间中至多只存在一类特征点。

步骤四、利用mdlt方法得到非参考图像划分的每个子空间所对应的变换矩阵;

变换矩阵h是指能将来自i图的像素点变换到与之匹配的来自i′图的像素点坐标变换公式

每个子空间的变换矩阵采用如下公式计算:和||h||=1估算出唯一的h*,通过h*重构得到h*;

权重与变换点到第i'个匹配点距离有关,距离越近则权值越大,ai'由第i'个匹配对求得;n是非参考图像的匹配的特征点对个数;

步骤五、利用变换矩阵对非参考图像划分的每个子空间的每个像素值进行坐标变换,并与参考图像进行对准拼接。

对准拼接是将参考图像和经过坐标变换的非参考图像填充到同一个空画布中,其中重叠部分以参考图像中的内容进行填充,最终得到基于特征点聚类四叉划分和局部变换矩阵的图像拼接方法的结果图。

本发明的优点及其有益效果在于:

本发明基于特征点聚类四叉划分和局部变换矩阵的图像拼接方法,能确定图像在坐标变换中每个区域位置适用的单应性矩阵;由于本发明中的区域子空间的划分利用了特征点的内在特性和分布情况,在变换矩阵数量大大减少的同时仍然能得到符合人眼视觉认知的画面;相比致密的网格划分,本发明大大减少变换矩阵的数量,虽然确定区域划分的过程有少量开销,但是整体上仍提升了拼接过程的计算效率。

附图说明

图1为本发明基于特征点聚类四叉划分和局部变换矩阵的图像拼接方法的流程图;

图2为本发明输入的待拼接的原始两幅图像;

图3为本发明去除错误匹配点后的待对准拼接图像的特征点匹配结果;

图4为本发明非参考图像的全局特征点k-means聚类结果;

图5为本发明根据特征点聚类结果进行四叉划分的结果图;

图6为本发明使用基于特征点聚类四叉划分和局部变换矩阵的图像拼接方法的结果图。

具体实施方式

以下参照附图和实施例对本发明的具体实施做进一步详细的描述。

基于特征点聚类四叉划分和局部变换矩阵的图像拼接方法,如图1所示,具体步骤如下:

步骤一、针对待拼接图像,提取两幅图像的sift特征并进行匹配;

获取两幅待拼接的有一定重叠区域的图像,分别记为i1和i2;如图2所示,两幅图像像素大小均为730×487,均包含一定的深度信息非平面场景的图像。

分别提取两幅图像的sift特征,包括特征点的位置、尺度和方向以及特征描述算子,并根据其特征点特性和描述算子进行匹配得到重叠区域的若干特征点匹配对,由于匹配结果中会存在少量误匹配的情况,而这些误匹配对会对后续的处理造成很大的影响,在通过sift直接匹配后将匹配数据归一化然后采用ransac随机抽样一致的方法去除误匹配对,如图3所示,为去除错误匹配点后的待对准拼接图像的特征点匹配结果。

步骤二、选取一副图作为参考图像,对另一幅图像提取的匹配后的特征点使用k-means方法进行聚类;

从两幅图像中任选一幅作为参考图像,其在坐标变换过程中不进行变换;另一幅图像作为非参考图像,将通过变换模型进行变换。

读取从非参考图像中提取的t个特征点坐标,记为kp={kp1,kp2,...kpt},对所有的特征点进行k-means聚类。

k-means聚类算法步骤如下:

步骤201:从特征点坐标集合kp中随机选择k个初始的簇中心点u={u1u2...uk},

步骤202:通过计算距离,将t个特征点归类到以k个簇中心点为首的簇中;

根据第i个特征点kpi与簇中心点uj之间的距离公式将特征点kpi归类到第i个簇ci中;ci的数量为k个;

步骤203:针对k个簇,重新计算每个簇的中心点位置;

针对第j个簇,中心点位置uj计算如下:

步骤204:判断中心点位置是否符合畸变函数:jpre-jcur<thresh,如果是,则停止迭代;否则,重复步骤201~203直到收敛;

jpre为前一次迭代的畸变函数,jcur为当前迭代的畸变函数;thresh=k×t;

停止迭代后确定每个特征点所属的特征类,效果图如图4所示;

步骤三、根据聚类结果对非参考图像进行逐层四叉划分,使得每个子空间中仅包含一类特征点;

根据非参考图像的尺寸大小,将图像的长度和宽度均填充成256像素的倍数,则填充后图像能被划分为依次相连的m个256×256的方格,m为整数。四叉划分是指利用四叉树的数据结构在二维空间中定位像素点的算法,本实施例中,以每个256×256的方格作为四叉树的根节点,同时对m个根节点所对应的方格进行四叉划分。

逐层四叉划分的方法如下:搜索位于该根节点所对应方格中的特征点,读取这些特征点经聚类后所属的类型,若位于该空间中的特征点涵盖多种类型,则将该空间均匀地划分为5个相等的子空间;若仅包括一类特征点,则该空间不再继续划分,如此进行迭代,直到四叉树的每个叶子节点所指的子空间的区域内仅包含一类的特征点时停止划分;如图5所示,为将非参考图像划分为不同深度子空间的效果图。

非参考图像根据特征点的分布情况被划分为不同深度子空间;由于属于一类的特征点有极大的可能性来自对同一个目标的特征描述,对于同一目标在后续步骤五所述的坐标变换中可采用同一个局部的变换矩阵进行变换,因此在步骤三中对将要进行坐标变换的图像进行四叉划分时,需划分到使得每个方格中至多只存在一类特征点,

步骤四、利用mdlt方法得到非参考图像划分的每个子空间所对应的变换矩阵;

为了得到每个经步骤三划分的方格对应的变换矩阵h,利用mdlt方法,根据得到的网格中心点和两幅图的匹配对信息,通过和||h||=1唯一的估计出h*,从而重构出h*。

mdlt方法具体如下:

读取步骤三划分方格的中心点x*、步骤一提取的匹配点x={x1x2…xi'…},计算与变换点和第i'个匹配点距离有关的权重其中σ为尺度参数,可设为9左右;γ可设为0.01。由于变换矩阵h是指能通过将来自i图的像素点变换到与之匹配的来自i′图的像素点由于则变换过程为ai'为第i'个匹配点对计算的矩阵。由此可以取每个方格的中心点由遍历所有的特征点匹配对估计适合各个方格中所有像素的变换矩阵h*,其中a=[a1a2…an]t

步骤五、利用变换矩阵对非参考图像划分的每个子空间的每个像素值进行坐标变换,并与参考图像进行对准拼接。

对准拼接是将参考图像和经过矩阵变换的非参考图填充到同一个空白画布中,其中重叠部分以参考图像中的内容进行填充,如图6所示,得到基于特征点聚类四叉划分和局部变换矩阵的图像对准方法的对准拼接结果图。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1