发明名称 连续帧多特征点无人机侦察图像并行与匹配精度约束的拼接方法
摘要 本发明公开了一种用于连续帧多特征点无人机侦察图像并行与匹配精度约束的拼接方法,属于无人机图像处理技术领域。该发明深入分析图像拼接的四个阶段(特征提取、特征匹配、变换矩阵、图像合成)的数据量的大小以及阶段间的串行或并行的依存关系。依据数据的类型及其关系,设计符合无人机大数据量图像处理特点和要求的数据处理的模式。同时将计算机的多核资源、多线程计算方法应用到数据处理过程中以提高计算资源的利用率,加快运算的速度。该方法针对性强,能够显著提高无人机大数据量遥感图像的拼接处理能力,保障无人机图像拼接情报的实时生成。
申请公布号 CN103886569A 申请公布日期 2014.06.25
申请号 CN201410132307.7 申请日期 2014.04.03
申请人 北京航空航天大学 发明人 丁文锐;袁永显;李红光;向锦武;刘硕
分类号 G06T5/50(2006.01)I;G06T3/40(2006.01)I;G06T7/00(2006.01)I 主分类号 G06T5/50(2006.01)I
代理机构 北京永创新实专利事务所 11121 代理人 赵文颖
主权项 1.一种连续帧多特征点无人机侦察图像并行与匹配精度约束的拼接方法,包括以下几个步骤:第一步,分配任务块,创建线程,提取图像SIFT特征点;读入待拼接图像,将待拼接图像分为k组,形成k个任务块,创建k个线程,分别提取相应任务块中图像的SIFT特征点,k为处理器核心数;第二步,对第一步提取的图像特征点进行匹配,找出相邻两幅图像之间的同名点;具体包括以下几个步骤:首先,通过相邻两幅图像特征点的描述符计算欧氏距离,实现特征点的粗匹配,其中,描述符为128维向量;将待匹配的第2幅图像提取的所有特征点构建成k-d树,第2幅图像特征点记为P2<sub>i</sub>,i=1,2,3,……N2,N2表示第2幅图像的特征点的数目,逐个选定待匹配的第1幅图像的特征点,第1幅图像的特征点记为P1<sub>j</sub>,j从1到N1,N1表示第一幅图像的特征点数目,基于图像2构建的k-d树进行搜寻,找到与P1<sub>j</sub>对应的128维特征点描述符之间欧式距离最近的特征点和次近的特征点,并计算它们之间的欧氏距离,分别标记为d<sub>0</sub>和d<sub>1</sub>,如果最近欧氏距离d<sub>0</sub>与次近邻欧氏距离d<sub>1</sub>的比值小于预设阈值,则第1幅图像的特征点与第2幅图像中欧式距离最近的特征点匹配成功,得到第1幅图像中待匹配特征点的同名点,形成一对同名点否则,遍历寻找第1幅图像中下一个特征点的同名点,直至将第1幅图像中的特征点遍历完毕,获得N对相匹配的同名点;然后,利用斜率约束删除斜率相差大于5°匹配点对;将0-180度的角度范围均分为36等分,每5度为一个级别;分别计算每对同名点对之间的斜率,并将其对应到每个角度级别,对处于(-90°,0°)的负角度值,则将对应的角度值加上180°后将其变换到90°-180°的范围之内;统计所有角度级别的值,找出处于角度级别最多的对应的角度,并将该角度对应的斜率作为剔除阈值k<sub>m</sub>,删除斜率对应角度与k<sub>m</sub>对应角度之间的差值相差大于5°的特征点对;最后,通过RANSAC算法剔除获取的变换矩阵,将相邻两幅图像中一幅图像的同名特征点通过变换矩阵变换到另一幅图像坐标系下,若变换后的点与其对应的同名点的欧式距离大于阈值,则认为这对同名点为外点,将该对同名点剔除,实现特征点精确匹配;第三步,根据第二步匹配好的同名特征点计算相邻两幅图像之间的变换矩阵;首先,采用RANSAC算法确定初始变换矩阵;令相邻两幅图像上的同名点坐标分别为I<sub>i</sub>和I<sub>i+1</sub>,I<sub>i</sub>=(x<sub>i</sub>,y<sub>i</sub>,1)<sup>T</sup>,I<sub>i+1</sub>=(x<sub>i+1</sub>,y<sub>i+1</sub>,1)<sup>T</sup>,其中I<sub>i</sub>,I<sub>i+1</sub>为相邻两幅图像上对应的同名点坐标;两幅图像同名点之间的对应关系可以表示如下:I<sub>i</sub>=HI<sub>i+1</sub>               (1)其中:<maths num="0001"><![CDATA[<math><mrow><mi>H</mi><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><msub><mi>h</mi><mn>0</mn></msub></mtd><mtd><msub><mi>h</mi><mn>1</mn></msub></mtd><mtd><msub><mi>h</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mn>3</mn></msub></mtd><mtd><msub><mi>h</mi><mn>4</mn></msub></mtd><mtd><msub><mi>h</mi><mn>5</mn></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mn>6</mn></msub></mtd><mtd><msub><mi>h</mi><mn>7</mn></msub></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中H为变换矩阵的表达式,h<sub>0</sub>,h<sub>1</sub>,h<sub>3</sub>,h<sub>4</sub>为图像缩放和图像旋转量,h<sub>2</sub>,h<sub>5</sub>为水平方向和垂直方向的位移量,h<sub>6</sub>,h<sub>7</sub>为水平方向和垂直方向的变形量;设置RANSAC算法中判定为内点的误差阈值、迭代次数、内点数目阈值,每次迭代时随机抽取4个同名点,计算出一个变换矩阵H,利用式1将第二幅图像的特征点变换到第一幅图像坐标系下,计算变换后同名点之间的变化误差,如果在设定的内点误差阈值内,则认为该对同名点为内点,统计所有内点的数目,看是否满足设定的内点数目阈值,满足的话将此次求得的H作为初始变换矩阵,否则,继续迭代;然后,采用非线性最小二乘法L-M算法,在初始变换矩阵的基础上求解高精度的变换矩阵,根据最小二乘法L-M算法求解变换矩阵H的最优参数,使得以变换矩阵参数为变量构造的函数F(h)取最小值,函数F(h)表示所有匹配同名特征点之间距离和,如式3:<maths num="0002"><![CDATA[<math><mrow><mi>F</mi><mrow><mo>(</mo><mi>h</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><msup><mrow><mo>[</mo><msup><mrow><mo>(</mo><mfrac><mrow><msub><mi>h</mi><mn>0</mn></msub><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><msub><mi>h</mi><mn>1</mn></msub><msub><mi>y</mi><mi>i</mi></msub><mo>+</mo><msub><mi>h</mi><mn>2</mn></msub></mrow><mrow><msub><mi>h</mi><mn>6</mn></msub><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><msub><mi>h</mi><mn>7</mn></msub><msub><mi>y</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn></mrow></mfrac><mo>-</mo><msubsup><mi>x</mi><mi>i</mi><mo>&prime;</mo></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mfrac><mrow><msub><mi>h</mi><mn>3</mn></msub><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><msub><mi>h</mi><mn>4</mn></msub><msub><mi>y</mi><mi>i</mi></msub><mo>+</mo><msub><mi>h</mi><mn>5</mn></msub></mrow><mrow><msub><mi>h</mi><mn>6</mn></msub><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><msub><mi>h</mi><mn>7</mn></msub><msub><mi>y</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn></mrow></mfrac><mo>-</mo><msubsup><mi>y</mi><mi>i</mi><mo>&prime;</mo></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>]</mo></mrow><mfrac><mn>1</mn><mn>2</mn></mfrac></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中:x<sub>i</sub>,y<sub>i</sub>表示相邻两幅图像中其中一幅图像特征点的图像坐标,x′<sub>i</sub>,y′<sub>i</sub>表示另一幅与之相匹配的特征点的图像坐标,令<maths num="0003"><![CDATA[<math><mrow><msub><mi>f</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>h</mi><mo>)</mo></mrow><mo>=</mo><msup><mrow><mo>[</mo><msup><mrow><mo>(</mo><mfrac><mrow><msub><mi>h</mi><mn>0</mn></msub><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><msub><mi>h</mi><mn>1</mn></msub><msub><mi>y</mi><mi>i</mi></msub><mo>+</mo><msub><mi>h</mi><mn>2</mn></msub></mrow><mrow><msub><mi>h</mi><mn>6</mn></msub><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><msub><mi>h</mi><mn>7</mn></msub><msub><mi>y</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn></mrow></mfrac><mo>-</mo><msubsup><mi>x</mi><mi>i</mi><mo>&prime;</mo></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mfrac><mrow><msub><mi>h</mi><mn>3</mn></msub><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><msub><mi>h</mi><mn>4</mn></msub><msub><mi>y</mi><mi>i</mi></msub><mo>+</mo><msub><mi>h</mi><mn>5</mn></msub></mrow><mrow><msub><mi>h</mi><mn>6</mn></msub><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><msub><mi>h</mi><mn>7</mn></msub><msub><mi>y</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn></mrow></mfrac><mo>-</mo><msubsup><mi>y</mi><mi>i</mi><mo>&prime;</mo></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>]</mo></mrow><mfrac><mn>1</mn><mn>2</mn></mfrac></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中:f<sub>i</sub>(h)表示公式(3)后半部分的求和分量,即<img file="FDA0000486513120000031.GIF" wi="403" he="136" />在给定精度参数ε条件下,采用迭代的方法最小化变换矩阵H,迭代过程如式5h<sub>k+1</sub>=h<sub>k</sub>+h<sub>LM</sub>             (5)其中h<sub>k+1</sub>,h<sub>k</sub>表示变换矩阵,k从0开始,h<sub>0</sub>表示初始的变换矩阵,h<sub>LM</sub>表示如式6:h<sub>LM</sub>=-(J(h)<sup>T</sup>J(h)+μI)<sup>-1</sup>J(h)<sup>T</sup>f(h)              (6)其中:μ为常数,h表示变量集,代表变换矩阵h<sub>0</sub>,h<sub>1</sub>......h<sub>7</sub>,J(h)为f对矩阵参数h<sub>0</sub>,h<sub>1</sub>......h<sub>7</sub>偏微分的雅克比矩阵,如式7:<maths num="0004"><![CDATA[<math><mrow><mi>J</mi><mrow><mo>(</mo><mi>h</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='|' close='|'><mtable><mtr><mtd><mfrac><mrow><mo>&PartialD;</mo><msub><mi>f</mi><mn>1</mn></msub></mrow><msub><mrow><mo>&PartialD;</mo><mi>h</mi></mrow><mn>0</mn></msub></mfrac></mtd><mtd><mfrac><msub><mrow><mo>&PartialD;</mo><mi>f</mi></mrow><mn>1</mn></msub><msub><mrow><mo>&PartialD;</mo><mi>h</mi></mrow><mn>2</mn></msub></mfrac></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mfrac><msub><mrow><mo>&PartialD;</mo><mi>f</mi></mrow><mn>1</mn></msub><msub><mrow><mo>&PartialD;</mo><mi>h</mi></mrow><mn>7</mn></msub></mfrac></mtd></mtr><mtr><mtd><mfrac><msub><mrow><mo>&PartialD;</mo><mi>f</mi></mrow><mn>2</mn></msub><msub><mrow><mo>&PartialD;</mo><mi>h</mi></mrow><mn>0</mn></msub></mfrac></mtd><mtd><mfrac><msub><mrow><mo>&PartialD;</mo><mi>f</mi></mrow><mn>2</mn></msub><msub><mrow><mo>&PartialD;</mo><mi>h</mi></mrow><mn>1</mn></msub></mfrac></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mfrac><msub><mrow><mo>&PartialD;</mo><mi>f</mi></mrow><mn>2</mn></msub><msub><mrow><mo>&PartialD;</mo><mi>h</mi></mrow><mn>7</mn></msub></mfrac></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><mfrac><msub><mrow><mo>&PartialD;</mo><mi>f</mi></mrow><mi>n</mi></msub><msub><mrow><mo>&PartialD;</mo><mi>h</mi></mrow><mn>0</mn></msub></mfrac></mtd><mtd><mfrac><msub><mrow><mo>&PartialD;</mo><mi>f</mi></mrow><mi>n</mi></msub><msub><mrow><mo>&PartialD;</mo><mi>h</mi></mrow><mn>1</mn></msub></mfrac></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mfrac><msub><mrow><mo>&PartialD;</mo><mi>f</mi></mrow><mi>n</mi></msub><msub><mrow><mo>&PartialD;</mo><mi>h</mi></mrow><mn>7</mn></msub></mfrac></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中:<img file="FDA0000486513120000033.GIF" wi="378" he="161" />表示多元函数f<sub>n</sub>(h)对各个自变量h<sub>0</sub>,h<sub>1</sub>......h<sub>7</sub>的偏微分,n从0到K,K表示迭代次数,经过K次迭代运算,获取变换矩阵H=h<sub>k+1</sub>;第四步,利用第三步获得的变换矩阵H将待拼接的图像合成为高分辨率的全景图像;根据变换矩阵H,将单帧图像按照原有的成像顺序逐一变换到同一坐标系下,然后将图像重新赋值合成在全景图像上。
地址 100191 北京市海淀区学院路37号