1.基于云台可控制摄像机的实时视频跟踪系统的跟踪方法,其特征在于,采用基于云台可控制摄像机的实时视频跟踪系统,结构为:包括图像处理器(1),图像处理器(1)上分别连接有云台(2)、视频解码器(3)、监视器(4)、操控台(5)、SDRAM(6)、nand flash(7)、电源(8),视频解码器(3)还与摄像机(9)连接,摄像机(9)安装在云台(2)上;
所述图像处理器(1)上还分别连接有复位接口(10)、网口(11)、jtag接口(12)、时钟模块(13);
所述云台(2)为两自由度云台;
具体按照以下步骤实施:
步骤1、由摄像机(9)拍摄图像并实时传输视频流到视频解码器(3);
步骤2、视频解码器(3)将接收到的视频转换为YUV数据格式,并传输到图像处理器(1)中;
步骤3、操控台(5)根据图像处理器(1)中的视频内容选取需要跟踪的目标,目标中心点所在图像位置记为(x0,y0),目标宽度记为Wtpl,目标高度记为Htpl,目标所在区域记为Obj_A;
步骤4、利用PCKH跟踪算法对步骤3中选取的目标进行跟踪,并得到目标的实时中心点位置记为(x,y);
步骤5、计算目标和上一帧位置的偏移量dx、dy并根据偏移量控制云台的转动,使目标处在监视器的中心位置,从而实现目标的实时跟踪,同时在监视器(4)上实时显示跟踪目标所在的图像;
所述步骤4中PCKH跟踪算法具体包括以下步骤:
①将采集到的实时视频帧图像作为参考图像I,将步骤3中选取的需要跟踪的目标所在的图像区域Obj_A作为目标图像Itpl;
②将参考图像I转换为参考灰度图像Igray,并在四周每个边分别延展δ个灰度渐变的像素点,得到延展后的参考灰度图像③将目标图像Itpl转换为目标灰度图像It_gray,并在四周每个边分别延展δ个灰度渐变的像素点,得到延展后的目标灰度图像④将延展后的目标灰度图像 扩充成与延展后的参考灰度图像 一样大,扩充的像素值为0,得到扩充后的目标灰度图像
⑤将延展后的参考灰度图像 与扩充后的目标灰度图像 进行相位相关匹配,匹配函数峰值点所在位置为目标的中心点在参考图像I中的坐标位置(x1,y1);
⑥用卡尔曼滤波预测得到目标的中心点在参考图像I中的坐标位置(x2,y2);
⑦计算相位相关匹配位置(x1,y1)与卡尔曼滤波预测目标位置(x2,y2)的两点的欧式距离D,如果两点距离D小于等于阈值T,则目标中心点的位置为(x,y)且x=x1,y=y1;如果两点距离D大于阈值T,判断相位相关匹配错误,此时目标中心点的位置为(x,y),且x=x2,y=y2;
⑧在参考图像中,根据和目标图像匹配的角点集所在区域的外接轮廓计算得到目标的尺度大小,结合目标的中心点位置(x,y)确定目标的所在区域;
⑨根据⑦中如果两点距离D大于阈值T,那么判断相位相关匹配错误,则目标位置为卡尔曼滤波预测得到的目标的中心点在参考图像I中的坐标位置(x2,y2),此时目标图像Itpl不更新;如果两点距离D小于等于阈值T,则目标位置为相关相位匹配后得到的目标的中心点在参考图像I中的坐标位置(x1,y1),同时根据⑧计算得到的目标尺寸更新目标图像Itpl;
上述②、③中在四周延展δ个灰度渐变的像素点,具体为:
定义参考灰度图像Igray的宽为W,高为H,四周各边分别延展δ个灰度渐变像素点后的延展后参考灰度图像 的宽为We,高为He,其中,We=W+2δ,He=H+2δ;定义目标灰度图像It_gray的宽为Wtpl,高为Htpl,四周各边分别延展δ个灰度渐变像素点后的延展后目标灰度图像的宽为We_tpl,高为He_tpl,其中,We_tpl=Wtpl+2δ,He_tpl=Htpl+2δ;
gray t_gray
将延展边界分块,参考灰度图像I 或目标灰度图像I 的上、下、左、右边界块分别定义为图像块T、B、L、R,参考灰度图像Igray或目标灰度图像It_gray的左上、右上、左下、右下边界块分别定义为图像块TL、TR、BL、BR;
按照延展图像块所在的图像位置进行像素值初始化,其中图像块T、B、L、R分别用扩展前图像的首行、末行、首列、末列所在的像素值初始化;图像块TL、TR、BL、BR分别用扩展前图像的左上、右上、左下、右下顶点像素值初始化,即,用扩展前图像的首行首列相交的像素值初始化图像块TL、用扩展前图像的首行末列相交的像素值初始化图像块TR、用扩展前图像的末行首列相交的像素值初始化图像块BL、用扩展前图像的末行末列相交的像素值初始化图像块BR;
延展后的参考灰度图像 边界像素初始化公式如式(1):
延展后的目标灰度图像 边界像素初始化公式如式(2):
2.根据权利要求1所述的基于云台可控制摄像机的实时视频跟踪系统的跟踪方法,其特征在于,所述⑤中相位相关匹配,具体实现为:a.傅里叶变换
设扩充后的目标灰度图像 表示为f1(x,y),延展后的参考灰度图像 表示为f2(x,y),图像的宽为We,高为He,对图像f1(x,y)和f2(x,y)分别做傅里叶变换得到F1(u,v)和F2(u,v):b.构造相位谱函数
构造相位谱函数R(u,v)如公式(6):
其中, 为F2(u,v)的复共轭;
c.傅里叶反变换得到相位相关函数
对相位谱函数R(u,v)做傅里叶反变换得到相位相关函数r(n1,n2)如公式(7):其中,n1=0,1,...N1-1,n2=0,1,...N2-1,N1=We,N2=He;
d.根据相位相关函数最大值计算目标位置
求出相位相关函数r(n1,n2)的最大值,最大值对应的(n1,n2)即为目标的中心点在参考图像I中的坐标位置(x1,y1)。
3.根据权利要求1所述的基于云台可控制摄像机的实时视频跟踪系统的跟踪方法,其特征在于,所述⑥用卡尔曼滤波器预测目标的中心点在参考图像I中的坐标位置(x2,y2),卡尔曼滤波器的具体设计为:目标的状态转移方程如式(8):
xk=Axk-1+ωk (8)
xk是k时刻目标的4维状态向量,A是4×4维的状态转移矩阵,ωk是服从高斯分布的随机噪声;
测量方程如式(9):
zk=Hkxk+υk (9)
测量值zk是2维向量,测量矩阵Hk是2×4维向量,υk是测量噪声;
在目标跟踪过程中,目标的状态用两个位置变量x和y,两个速度变量vx和vy表示,这四个变量组成状态向量xk的元素,如式(10):在跟踪开始时k=0,手动选取的跟踪目标位置为(x0,y0),此时vx=0,vy=0,故初始化状态向量x0=(x0,y0,0,0)T;
状态转移矩阵 dt为k时刻与k-1时刻的时间差;
测量值zk为2维向量:
测量矩阵 wk是控制噪声,wk~N(0,Qk),υk是测量噪声,υk~N(0,Rk);
应用卡尔曼滤波器预测的目标位置为(x2,y2);
计算相位相关匹配得到的目标的中心点在参考图像I中的坐标位置(x1,y1)和上述卡尔曼预测目标位置(x2,y2)两点之间的欧式距离D,如果距离D小于等于阈值T,则否则
4.根据权利要求1所述的基于云台可控制摄像机的实时视频跟踪系统的跟踪方法,其特征在于,所述⑧计算目标的大小,确定目标在当前帧的所在区域,具体为:a.选取目标候选区域
⑦得到目标中心点在参考图像I中的位置为(x,y),步骤3得到目标宽度为Wtpl,目标高度为Htpl,在参考图像I中以(x,y)为中心,取一宽度为2×Wtpl,高度为2×Htpl的目标候选区域Can_Area;
b.提取上一帧目标区域和参考图像中目标候选区域的角点
所述步骤3得到上一帧目标区域Obj_A,在该Obj_A区域内提取Harris角点集Obj_AHar,在目标候选区域Can_Area提取Harris角点集Can_AHar;
c.角点匹配
对点集Obj_AHar和Can_AHar进行角点匹配,相互匹配的点对记为MatP=(Obj_A'Har,Can_A'Har),其中Obj_A'Har为Obj_AHar中和Can_AHar匹配的角点集;Can_A'Har为Can_AHar中和Obj_AHar匹配的角点集;
d.位置平滑去除误匹配
对目标候选区域Can_Area的角点集Can_A'Har里所有角点的x坐标求均值和方差,分别记为Ave_x和Var_x,对角点集Can_A'Har里所有角点的y坐标求均值和方差,分别记为Ave_y和Var_y,剔除角点集Can_A'Har里满足下列条件的角点集DelP,DelP={[abs(xi-Ave_x)>T1×Var_x]∪[abs(yi-Ave_y)>T1×Var_y],(xi,yi)∈Can_A'Har},其中(xi,yi)为第i个角点的坐标,
得到目标候选区域Can_Area内确定的点集ConP=Can_A'Har-DelP;
e.求当前帧目标的外接轮廓
对目标候选区域内确定的点集ConP,按连通域方法求外接轮廓,轮廓的外接矩形的宽Wcon和高HCon记为目标在参考图像I中的宽和高,也就是目标的大小;
f.目标区域确定
在参考图像I中以(x,y)为中心,宽和高分别为Wcon和HCon的区域就是当前帧跟踪的目标区域。
5.根据权利要求4所述的基于云台可控制摄像机的实时视频跟踪系统的跟踪方法,其特征在于,所述步骤c角点匹配策略为:在源角点集中取出一个待匹配角点,以该角点为中心,取一个3×3大小的邻域,以该邻域为待匹配块;在目标角点集中以各个角点为中心构成和待匹配块同样大小的邻域块作为各个搜索块,求待匹配块和各个搜索块之间的SAD值,找到最小的SAD值,如果最小的SAD值小于等于指定阈值,则该最小SAD值对应的目标角点集中的角点,即为和待匹配角点匹配的角点;如果最小的SAD值大于指定阈值,则该待匹配角点在目标角点集中没有和其匹配的角点。