APP下载

基于视频的人体运动目标跟踪研究

2015-12-20金晅宏

电子科技 2015年6期
关键词:协方差直方图边缘

张 恒,金晅宏

(上海理工大学光电信息与计算机工程学院,上海 200000)

关于运动目标检测与跟踪就是通过对运动目标的识别、提取从而确定运动目标在作用区域中的运动轨迹和参数的过程。当前运动目标的算法有多种,追踪目标的类型差异,要求效果的好坏和硬件的配置高低均可采用不同的追踪算法,但无论采用何种算法,其本质不变,综述目前的跟踪方法,可分为4大类:基于特征的跟踪方法,基于区域的跟踪方法[1],基于模型的跟踪方法[2]和基于变形模形的跟踪方法。在复杂背景下的运动目标姿态经常发生变化的情况下,基于模型或者区域的匹配已无法达到追踪要求,运算实时性也比较差。Camshift的目标跟踪在基于边缘直方图的情况下能有效的解决复杂背景下的问题[3]。

本文采用边缘轮廓检测法能够快速精确的提取和识别出目标,在以改进Camshift为核心的跟踪算法上,采用优化的Kalman滤波预测运动目标的位置[4]。本文所提出的方法具有较强的抗干扰性,且具有较好的精确性和稳定性。

1 边缘检测计算直方图

图像中的边缘可能会指向不同的方向,Canny算法[5]使用4个掩模(mask)检测水平、垂直以及对角线方向的边缘。对于每个点均标识在这一点上的最大值及生成的边缘的方向。这样就可从原始图像生成了图像中每个点亮度梯度图以及亮度梯度的方向。以下两个公式分别求取高斯滤波后图像的梯度幅值及其方向的表达式

对灰度图像G进行边缘检测分别使用Sobel算子的两个模版[5]

与G进行卷积运算,得到边缘图像,其中任一像素gij的梯度幅值和方向分别为

i,j分别为像素对应的行数和列数,为统计数据以方便计算直方图将任一像素的方向D(gij)量化m等份,将边缘方向直方图归一化可不受图像缩放的影响,其公式表示如下

w,h分别为源图像的宽,高mk为满足δ≠0且落在第k个角度区间内的像素点个数,人物图例如图1所示。

2 运动目标跟踪

Camshift算法具有良好的实时性,但是有时背景比较复杂时会出现目标跟踪丢失情况,Kalman滤波是一种最优估计方法,计算量小、实时性高,并可利用实际的运动参数不断修正未来运动状态的估计值,提高估计的精度,兼顾实时性和稳健性。结合Camshift算法与Kalman滤波能预测目标位置,提高跟踪运动目标的速度。

2.1 基于空间边缘的Camshift算法

Camshift算法在基于空间边缘的方向上是利用HSV空间上的H分量建立直方图进行匹配,不依赖目标的色彩,而与目标的边缘结构有关,将摄像机捕捉到的RGB图像用水平和垂直方向的Sobel算子扫描,得到边缘方向信息,并据此建立边缘方向直方图[6]。对于目标运动的情况,目标在图像中的位置随时间变化,Meanshift算法动态调整追踪窗口以适应目标位置的变化。其具体步骤:

(1)对RGB图像进行Sobel算子计算扫描得到边缘信息建立边缘直方图,选取初始窗口[7]。

(2)在搜索窗口内迭代计算质心位置,直到收敛或质心的变化小于给定阈值。在搜索窗口中寻找最佳匹配区域时,用相似度p(y)判断搜索窗口与模板的匹配程度。将最大相似度区域定义为最佳匹配区域,并由Meanshift算法返回该区域的大小及质心位置。用下式来定义两幅边缘方向直方图的相似程度[9]

图1 人物灰度、边缘及边缘方向直方图

式中,μk,λk分别为第K个区间中像素点的幅度均值和方差;y为图像中心。

(3)对每帧图像根据Meanshift算法进行迭代计算得到的质心和窗口大小进行搜索更新直到收敛或质心的变化小于给定阀值,并对以上两步进行迭代计算就是改进的 Camshift算法的流程[10-11]。

在改进的Camshift会计算前一帧的匹配窗口H与初始设定的窗口N的匹配程度P,当P>p1,就以H作为当前匹配窗口与下一帧进行匹配,否则认为目标丢失,匹配中心迭代公式为

在式中,g(x)是一个核函数其值越接近0就越大;C为归一化系数;R为对象半径;y0为初始的窗口中心。

2.2 结合Kalman的目标状态估计

Kalman滤波器可对运动目标位置进行估计,其是一种线性递归滤波器,在基于以前的状态序列对下一个状态做最优估计,引入一个离散控制过程的系统。该系统的状态方程和观测方程分别为

其中,Xn为系统状态的n维状态向量;Yn为观测系统状态的m维状态向量;Fn是状态转移矩阵。从tn-1时刻到tn时刻:Hn是tn时刻的观测矩阵;Wn-1为系统噪声;Vn为观测噪声,是互不相关的零均值的正态白噪声,设初始状态的统计特征为[4]

获取 n 时刻的 Fn-1,Hn,协方差 QT、Rt,X0和 P0,基于观测值求得无偏线性最小方差估计和误差协方差矩阵的递推算法,在tn时刻,系统状态预测方程为

设Pk为的协方差阵,P'k为Xk和的误差协方差阵,则

增益系统矩阵

其中,Pn=(1 -KnHn)P'n。

3 Kalman算法的优化

假设观测误差协方差Qn-1和测量误差协方差Rn近似常数,则观测误差协方差Pn -1=Fn,Kn也近似为常数,Pn=(1 - KnHn)P'n也近似不变,则 Pn -1、Kn、Pn均可离线算出。

图2 运动目标跟踪流程图

4 实验测试与分析

设计的软件开发平台为Microsoft Visual Studio 2010,采用OpenCV中的图像数据结构和封装函数对图像进行处理,硬件环境为普通的联想笔记本电脑酷睿双核处理器,2 GB 内存,Windows 7 操作系统[12-13]。实验结果模拟了行人在行走过程中遇到障碍状况时跟踪情况的对比。

系统连续采集多帧目标图像,由图3可看出,基于颜色直方图的目标跟踪在有颜色相近或者物体遮挡时候追踪会产生不准确跟踪目标,图3(b)~图3(c)当车遮挡时跟踪产生丢失,此时对于特征提取已不明显,并在确定目标跟踪过程中也产生了偏离,不能准确涵盖跟踪信息。图4在基于改进的Camshift算法基础上加以优化的Kalman滤波跟踪,可有效预测下一帧目标位置,在图4(b)~图4(c)中能更快的捕捉目标,为下一帧的图像处理工作和系统整体稳定性打好基础。

5 结束语

从实验模拟图可看出,对于复杂背景情况下单一的Camshift跟踪不能较好的解决问题,本文采用基于空间边缘直方图的Camshift算法可有效避免目标被遮挡或者目标与背景颜色相近时所遇到的跟踪混乱等问题,且本文结合了优化的Kalman滤波来预测更新,使得目标在变化时能及时追踪并返回模版进行交替,为后续下一帧图像的处理提高了准确度,保证了系统的稳定性,同时也为在后续更复杂的人群目标中追踪目标打好基础。

图3 基于颜色直方图的Camshift算法跟踪

图4 基于改进的Camshift/Kalman的跟踪图

[1]Comaniciu D,Ramesh V,Meer P.Real-time tracking of non- rigid objects using mean shift[C].Hilton Head:SC IEEE Conference on Computer Vision and Pattern Recognition,2000:142-149.

[2]Dorin Comaniciu,Visvanathan Ramesh,Peter Meer.Kernelbased object tracking[J].IEEE Transactions on Pattern A-nalysis and Machine Intelligence,2003,25(5):554 -577.

[3]Qian Huimin,Mao Yaobin,Geng Jason,et al.Object tracking with self-updating tracking window[C].Haikou:PAISI',2007.

[4]曲云腾,李平康,杜秀霞.基于Kalman预测的人体运动目标跟踪[J].计算机系统与应用,2011,20(1):137 -140.

[5]刘士荣,姜晓燕.一种改进的Camshift/Kalman运动目标跟踪算法[J].控制工程,2010,17(4):470 -474.

[6]李忠海.图像直方图局部极值算法及其在边界检测中的应用[J].吉林大学学报,2003,21(5):89 -91.

[7]王新红,王晶,田敏,等.基于空间边缘方向直方图的Meanshift跟踪算法[J].中国图象图形学报,2008(3):586-592.

[8]万缨,韩毅,卢汉清.运动目标检测算法的探讨[J].计算机仿真,2006,23(10):221 -226.

[9]黄飞,李德华,姚讯.基于相关匹配及自适应模版更新的目标跟踪新方法[J].计算机工程,2007,33(16):147-149.

[10]周永权,刘中华,刘允才.运动人体的检测与跟踪[J].计算机工程,2004,30(8):153 -155.

[11]曹茂永.数字图像处理[M].北京:北京大学出版社,2007.

[12]蒋晓峰.基于视频图像处理的公交车人流量统计系统的研究[D].广州:华南理工大学,2013.

猜你喜欢

协方差直方图边缘
符合差分隐私的流数据统计直方图发布
用直方图控制画面影调
用于检验散斑协方差矩阵估计性能的白化度评价方法
中考频数分布直方图题型展示
一张图看懂边缘计算
多元线性模型中回归系数矩阵的可估函数和协方差阵的同时Bayes估计及优良性
二维随机变量边缘分布函数的教学探索
基于空间变换和直方图均衡的彩色图像增强方法
不确定系统改进的鲁棒协方差交叉融合稳态Kalman预报器
在边缘寻找自我