基于高层场景信息的地面运动目标检测方法与流程

文档序号:12722616阅读:来源:国知局

技术特征:

1.一种基于高层场景信息的地面运动目标检测方法,其特征在于包括以下步骤:

步骤一、帧差;

针对不同高度的场景,使用不同的图像配准算法;对于高空拍摄的视频序列由于其满足稀疏光流的三个假设,故使用Lucas-Kanade稀疏光流实现图像特征点匹配;对于低空拍摄的图像由于其不满足光流的假设条件,故使用sobel算子提取图像特征点;通过稀疏光流或sobel算子实现图像匹配,最后采用RANSAC估计两幅图像间的仿射变换,具体如下:

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>C</mi> <mi>p</mi> <mo>&prime;</mo> </msubsup> <mo>=</mo> <msub> <mi>A</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>*</mo> <msub> <mi>C</mi> <mi>p</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>C</mi> <mi>n</mi> <mo>&prime;</mo> </msubsup> <mo>=</mo> <msub> <mi>A</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>*</mo> <msub> <mi>C</mi> <mi>n</mi> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

式中,Cp和Cn是前一帧和下一帧的特征点的像素坐标,C'p和C'n是转换后前一帧和下一帧的像素坐标,Ak-1和Ak+1是2*3的仿射变换矩阵;前一帧和下一帧仿射变换的图像分别差分当前帧,得到初步检测结果,如下:

Dk=||Sk-S'k-1||∪||Sk-S'k+1|| (2)

式中,Dk表示差分后图像,S'k-1和S'k+1是当前帧和下一帧仿射变换后的结果,Sk是当前帧图像;最后对差分图像进行二值化,阈值设为40;

步骤二、光流关联;

光流估计:经典光流法主要基于亮度恒定、像素微小运动和空间一致性的假设;在连续视频中,假设物体对应的像素灰度值不因运动发生变化,故有:

I(x,y,t)=I(x+dx,y+dy,t+dt) (3)

式中,x和y为横纵坐标,I为图像灰度值;上式泰勒展开有:

Ixdx+Iydy+Itdt=0 (4)

式中,IxIyIt分别表示对应方向的梯度;转换为向量形式如下:

<mrow> <mo>&lsqb;</mo> <mtable> <mtr> <mtd> <msub> <mi>I</mi> <mi>x</mi> </msub> </mtd> <mtd> <msub> <mi>I</mi> <mi>y</mi> </msub> </mtd> </mtr> </mtable> <mo>&rsqb;</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mi>u</mi> </mtd> </mtr> <mtr> <mtd> <mi>v</mi> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mo>-</mo> <msub> <mi>I</mi> <mi>t</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>

式中,u和v分别为对应方向上的光流大小;上式可表示为:

Ad=b (6)

采用最小二乘法求解的最小值得到光流失量d,如下:

d=(ATA)-1ATb (7)

预测关联:首先,假设每个点在第k-1帧的坐标是(xk-1,yk-1),根据步骤一的光流估计策略,获得一个光流矢量V,则目标在下一帧的位置预测如下:

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>x</mi> <mi>k</mi> <mi>e</mi> </msubsup> <mo>=</mo> <msub> <mi>x</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>V</mi> <mi>x</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>y</mi> <mi>k</mi> <mi>e</mi> </msubsup> <mo>=</mo> <msub> <mi>y</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>V</mi> <mi>y</mi> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>)</mo> </mrow> </mrow>

式中,是预测坐标,(Vx,Vy)是光流运动矢量;

其次,对初次帧差获得的所有目标,通过光流预测它在下一帧的位置;对每个目标而言,如果它有足够多的点与下一帧中的某个目标相匹配,则他们为同一目标,决策函数定义如下:

<mrow> <msup> <mi>S</mi> <mi>k</mi> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mtable> <mtr> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> <mo>&Element;</mo> <msubsup> <mi>O</mi> <mi>k</mi> <mi>l</mi> </msubsup> </mrow> </mtd> </mtr> </mtable> <mo>;</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>o</mi> <mi>t</mi> <mi>h</mi> <mi>e</mi> <mi>r</mi> <mi>s</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow>

式中,是二次帧差检测的目标,Sk是点的状态方程,接下来计算目标匹配的置信度:

<mrow> <mi>&alpha;</mi> <mo>=</mo> <munder> <mo>&Sigma;</mo> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> <mo>&Element;</mo> <msubsup> <mi>O</mi> <mi>k</mi> <mi>l</mi> </msubsup> </mrow> </munder> <msup> <mi>S</mi> <mi>k</mi> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>10</mn> <mo>)</mo> </mrow> </mrow>

式中,α是属于目标的点的总数,两个目标关联概率为:

αρ=α/β (11)

式中,β是目标内所有点的数量总和,接受两个目标关联的概率设为ε=0.8,如果两个目标互相关联,则它们之间的关联关系定义为:

<mrow> <msub> <mi>A</mi> <mrow> <mo>(</mo> <msubsup> <mi>O</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> <mi>l</mi> </msubsup> <mo>,</mo> <msubsup> <mi>O</mi> <mi>k</mi> <mi>l</mi> </msubsup> <mo>)</mo> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mtable> <mtr> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <msub> <mi>&alpha;</mi> <mi>&rho;</mi> </msub> <mo>&gt;</mo> <mi>&epsiv;</mi> </mrow> </mtd> </mtr> </mtable> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>o</mi> <mi>t</mi> <mi>h</mi> <mi>e</mi> <mi>r</mi> <mi>s</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>12</mn> <mo>)</mo> </mrow> </mrow>

对每个目标,定义一个关联集合A={Am,...,An},式中Am表示对每个关联集合而言,只有当目标的关联集合的数目大于设定阈值时,将它作为候选目标;

步骤三、基于高层信息的运动检测;

采用sobel算子提取图像的特征点,根据最短距离完成对图像特征点的匹配;x=(x,y)和x'=(x',y')是图像中一对匹配点,将其转换为单应向量X=[x,y,1]和X'=[x',y',1]T,它们满足:

X'TFX=0 (13)

式中,F是为3*3的基本矩阵;使用归一化8点算法通过求解线性方程组来得到基本矩阵F;在实际的计算过程中匹配的特征点不会严格满足上式,因此,使用Sampson矫正,通过计算匹配的矫正量判断内外点,Samposon置信度K定义如下:

K=X'TFX/M (14)

<mrow> <mi>M</mi> <mo>=</mo> <msubsup> <mrow> <mo>(</mo> <mi>F</mi> <mi>X</mi> <mo>)</mo> </mrow> <mn>1</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mrow> <mo>(</mo> <mi>F</mi> <mi>X</mi> <mo>)</mo> </mrow> <mn>2</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mrow> <mo>(</mo> <msup> <mi>F</mi> <mi>T</mi> </msup> <msup> <mi>X</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mn>1</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mrow> <mo>(</mo> <msup> <mi>F</mi> <mi>T</mi> </msup> <msup> <mi>X</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mn>2</mn> <mn>2</mn> </msubsup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>15</mn> <mo>)</mo> </mrow> </mrow>

式中,(FX)1=f11x+f12y+f13,(x,y)是X的像素点的坐标;类比确定(FX)2,(FTX')1,(FTX')2,从而确定了每个点的Sampson置信度;外点矩阵Outi,jH和W分别为图像高和宽,其定义如下:

<mrow> <msub> <mi>Out</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>o</mi> <mi>u</mi> <mi>t</mi> <mi>l</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> <mi>s</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>o</mi> <mi>t</mi> <mi>h</mi> <mi>e</mi> <mi>r</mi> <mi>s</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>16</mn> <mo>)</mo> </mrow> </mrow>

每个候选目标的内外点比率计算如下:

<mrow> <mi>&sigma;</mi> <mo>=</mo> <munder> <mo>&Sigma;</mo> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> <mo>&Element;</mo> <msubsup> <mi>O</mi> <mi>k</mi> <mi>l</mi> </msubsup> </mrow> </munder> <msub> <mi>Out</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>/</mo> <msubsup> <mi>N</mi> <mi>k</mi> <mi>l</mi> </msubsup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>17</mn> <mo>)</mo> </mrow> </mrow>

式中,是一个候选目标,是候选者的所有点的数量总和,运动目标决策函数M定义如下:

<mrow> <msub> <mi>M</mi> <msubsup> <mi>O</mi> <mi>k</mi> <mi>l</mi> </msubsup> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>&sigma;</mi> <mo>&gt;</mo> <mi>&eta;</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>o</mi> <mi>t</mi> <mi>h</mi> <mi>e</mi> <mi>r</mi> <mi>s</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>18</mn> <mo>)</mo> </mrow> </mrow>

式中,η是外点的概率阈值,只有当候选者的外点比率大于η时,才能判定其为一个运动的目标。

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