发明名称 一种自适应ORB目标跟踪方法
摘要 本发明提供了一种自适应ORB目标跟踪方法,对FAST特征不具备方向的问题,加入了FAST特征的方向信息,在特征点描述部分则采用基于像素点二进制位比较的BRIEF特征描述子,并改进了BRIEF描述子对图像噪声敏感和不具有旋转不变性的缺点,与SIFT算法相比,ORB算法不仅具有旋转不变性和抗噪声能力,同时运算速度比SIFT算法提高了两个数量级。本发明的自适应ORB目标跟踪方法充分利用了ORB算法的这一特性,并对ORB算法作出进一步改进,然后在此基础上提出了自适应ORB算法,进一步提高运算的速度和跟踪的准确性,更加符合实时跟踪的要求。
申请公布号 CN105844663A 申请公布日期 2016.08.10
申请号 CN201610156876.4 申请日期 2016.03.21
申请人 中国地质大学(武汉) 发明人 罗大鹏;张明东;罗林波;刘永文;曾志鹏;魏龙生;马丽;王勇
分类号 G06T7/20(2006.01)I;G06K9/62(2006.01)I 主分类号 G06T7/20(2006.01)I
代理机构 武汉华旭知识产权事务所 42214 代理人 刘荣;江钊芳
主权项 一种自适应ORB目标跟踪方法,其特征在于包括以下步骤:(1)对于动态视频的当前帧,框选目标区域,在目标区域内检测该帧的特征点并加上方向信息:(1.1)利用FAST算子对当前帧进行特征点检测,得到当前帧的所有FAST特征点;(1.2)在检测到的FAST特征点中,利用Harris角点检测算子挑选出Harris角点响应值最大的前N个FAST特征点,其中Harris角点相应函数为:R=detM‑k(traceM)<sup>2</sup>其中,M为矩阵:<maths num="0001"><math><![CDATA[<mrow><mi>M</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow></munder><mi>w</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><msub><mi>I</mi><mi>x</mi></msub><msup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow></mtd><mtd><mrow><msub><mi>I</mi><mi>x</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><msub><mi>I</mi><mi>y</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>I</mi><mi>x</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><msub><mi>I</mi><mi>y</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><msub><mi>I</mi><mi>y</mi></msub><msup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000945349080000011.GIF" wi="1133" he="158" /></maths>对矩阵M(x,y)对角化得到:<maths num="0002"><math><![CDATA[<mrow><mi>M</mi><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msub><mi>&lambda;</mi><mn>1</mn></msub></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><msub><mi>&lambda;</mi><mn>2</mn></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000945349080000012.GIF" wi="298" he="143" /></maths>I<sub>x</sub>(x,y)和I<sub>y</sub>(x,y)为坐标为(x,y)的像素点的灰度值I(x,y)的偏导数,w(x,y)为高斯窗口函数,detM=λ<sub>1</sub>λ<sub>2</sub>,traceM=λ<sub>1</sub>+λ<sub>2</sub>,k为经验常数因子;(1.3)利用图像金字塔产生多尺度特征;(1.4)对N个FAST特征点分别加上方向信息,包括以下过程:(1.4.1)对于一个FAST特征点,定义以该FAST特征点为中心的像素块的矩:<maths num="0003"><math><![CDATA[<mrow><msub><mi>m</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><munder><mo>&Sigma;</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow></munder><msup><mi>x</mi><mi>i</mi></msup><msup><mi>y</mi><mi>j</mi></msup><mi>I</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000945349080000013.GIF" wi="414" he="111" /></maths>其中,m<sub>ij</sub>为像素块的矩,i和j分别是矩的阶数的系数;(1.4.2)对于像素块,通过以下公式计算其亮度质心C:<maths num="0004"><math><![CDATA[<mrow><mi>C</mi><mo>=</mo><mfenced open = "(" close = ")"><mtable><mtr><mtd><mrow><mfrac><msub><mi>m</mi><mn>10</mn></msub><msub><mi>m</mi><mn>00</mn></msub></mfrac><mo>,</mo></mrow></mtd><mtd><mfrac><msub><mi>m</mi><mn>01</mn></msub><msub><mi>m</mi><mn>00</mn></msub></mfrac></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000945349080000014.GIF" wi="365" he="151" /></maths>其中,m<sub>00</sub>是像素块的0阶矩,m<sub>01</sub>和m<sub>10</sub>是像素块的1阶矩;设像素块的中心点为O,则中心点O到亮度质心C构成向量<img file="FDA0000945349080000015.GIF" wi="102" he="78" />则FAST特征点的方向为θ:θ=atan2(m<sub>01</sub>,m<sub>10</sub>)(2)对FAST特征点进行描述:(2.1)对当前帧进行高斯模糊;(2.2)生成BRIEF描述子,包括以下过程:(2.2.1)在D×D的图像块区域定义一个τ测试:<maths num="0005"><math><![CDATA[<mrow><mi>&tau;</mi><mrow><mo>(</mo><mi>I</mi><mo>;</mo><mi>P</mi><mn>1</mn><mo>,</mo><mi>P</mi><mn>2</mn><mo>)</mo></mrow><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mn>1</mn><mo>:</mo><mi>I</mi><mo>(</mo><mi>P</mi><mn>1</mn><mo>)</mo><mo>&lt;</mo><mi>I</mi><mo>(</mo><mi>P</mi><mn>2</mn><mo>)</mo></mtd></mtr><mtr><mtd><mn>0</mn><mo>:</mo><mi>I</mi><mo>(</mo><mi>P</mi><mn>1</mn><mo>)</mo><mo>&GreaterEqual;</mo><mi>I</mi><mo>(</mo><mi>P</mi><mn>2</mn><mo>)</mo></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000945349080000021.GIF" wi="645" he="135" /></maths>其中,I(P1)表示点P1(u,v)处的灰度值,I(P2)表示点P2(p,q)处的灰度值,D为设置值;(2.2.2)在D×D的图像块区域中随机选出n对点P1<sub>i</sub>,P2<sub>i</sub>进行τ测试,得到长度为n的二进制串,即BRIEF描述子:<img file="FDA0000945349080000022.GIF" wi="612" he="103" />(2.3)对BRIEF描述子进行旋转,生成steered BRIEF描述子,包括以下过程:(2.3.1)将随机选出的n对点P1<sub>i</sub>,P2<sub>i</sub>构建特征测试集,用2×n矩阵表示:<maths num="0006"><math><![CDATA[<mrow><mi>S</mi><mo>=</mo><mfenced open = "(" close = ")"><mtable><mtr><mtd><mrow><mi>P</mi><msub><mn>1</mn><mn>1</mn></msub><mo>,</mo><mo>...</mo><mo>,</mo><mi>P</mi><msub><mn>1</mn><mi>n</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><mi>P</mi><msub><mn>2</mn><mn>1</mn></msub><mo>,</mo><mo>...</mo><mo>,</mo><mi>P</mi><msub><mn>2</mn><mi>n</mi></msub></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000945349080000023.GIF" wi="373" he="150" /></maths>(2.3.2)利用FAST特征点的方向θ对矩阵S进行旋转,得到矩阵S<sub>θ</sub>:S<sub>θ</sub>=R<sub>θ</sub>S其中R<sub>θ</sub>为旋转矩阵:<maths num="0007"><math><![CDATA[<mrow><msub><mi>R</mi><mi>&theta;</mi></msub><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><mi>c</mi><mi>o</mi><mi>s</mi><mi>&theta;</mi></mrow></mtd><mtd><mrow><mi>s</mi><mi>i</mi><mi>n</mi><mi>&theta;</mi></mrow></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mi>s</mi><mi>i</mi><mi>n</mi><mi>&theta;</mi></mrow></mtd><mtd><mrow><mi>cos</mi><mi>&theta;</mi></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000945349080000024.GIF" wi="430" he="143" /></maths>(2.3.3)生成steered BRIEF描述子为:g<sub>n</sub>(I;θ):=f<sub>n</sub>(I)|(P1<sub>i</sub>,P2<sub>i</sub>)∈S<sub>θ</sub>(2.4)利用贪婪搜索法从特征测试集中筛选出满足要求的steered BRIEF描述子构成rBRIEF,包括以下过程:(2.4.1)计算所有的steered BRIEF描述子与0.5的距离,并对其进行排序,利用排序后的steered BRIEF描述子构建向量T;(2.4.2)进行贪婪搜索:创建一个结果向量R,将向量T中的第一个steered BRIEF描述子放入R中,并将其从T中提出,然后将T中的下一个steered BRIEF描述子取出来与R中的所有steered BRIEF描述子进行比较,计算T中取出的steered BRIEF描述子与R中的所有steered BRIEF描述子的相关性,如果相关性超过设定的阈值threshold,则将取出的steered BRIEF描述子丢弃,否则将取出的steered BRIEF描述子放入R中;(2.4.3)重复步骤(2.4.2)直到R中有n个steered BRIEF描述子,或则T中所有的steered BRIEF描述子比较完毕;若R中有n个steered BRIEF描述子,则向量R中的steered BRIEF描述子即为rBRIEF描述子,则进入步骤(3),否则调高threshold,回到步骤(2.4.1)开始重构向量T并重新进行贪婪搜索;(3)进入下一帧,以下一帧作为当前帧对其重复步骤(1)和步骤(2)的过程,得到该帧的FAST特征点及其rBRIEF描述子;(4)计算前后两帧的FAST特征点的描述子之间的汉明距离,如果汉明距离在设定的阈值范围内,则前后两帧的FAST特征点匹配成功,后一帧匹配成功的特征点所组成的区域为跟踪区域;否则匹配失败;(5)对跟踪区域内的FAST特征点进行统计以计算跟踪区域的重心,计算重心到每一个FAST特征点的欧氏距离并求出其中的最大值,以重心为圆心,以欧氏距离最大值为半径画圆,以该圆的外接矩形作为跟踪结果边界框;以后一帧的跟踪结果边界框划定的范围作为对该帧的下一帧进行预判,将该范围作为下一帧的目标区域,返回步骤(3),直到完成动态视频的所有前后两帧的匹配。
地址 430074 湖北省武汉市洪山区鲁磨路388号