基于CamShift与混合高斯模型的目标跟踪与提取算法

2016-07-02 01:44乔国娜
计算机与数字工程 2016年6期

乔国娜

(陕西工业职业技术学院信息工程学院 咸阳 712000)

基于CamShift与混合高斯模型的目标跟踪与提取算法

乔国娜

(陕西工业职业技术学院信息工程学院咸阳712000)

摘要为了解决当前在复杂背景下视频目标存在跟踪提取不准确与不稳定等不足,论文设计了基于CamShift与混合高斯模型的目标跟踪与提取算法。首先,耦合MeanShift与CamShift算法,定义了目标跟踪算子,完成对目标的精确定位;然后计算图像像素灰度的均值与方差,设计混合高斯模型,实现定位目标与背景的分离;最后基于OpenCV开源函数,利用C++编程实现算法跟踪与提取功能。实验数据显示:与当前目标跟踪算法相比,在面对复杂背景条件下的运动目标跟踪提取时,论文技术拥有更高的追踪精度与稳定性。

关键词视频目标跟踪; CamShift算法; MeanShift算法; 混合高斯; 目标提取

Class NumberTP391

1引言

近年来,视频目标跟踪技术不断发展,已经广泛地应用到各个领域,如智慧城市中的智能监控、智能医疗中的细胞活性测量、国防武器中的目标定位跟踪等。视频图像处理与普通静态图像处理的区别在于,视频是由一系列序列图像组成,不仅需要对单帧图像处理,还需对一系列序列图像进行逐一处理,并找出其中规律,整合后实现视频处理,达到运动目标跟踪与提取的目标。

对此,国内专家学者设计了诸多运动目标跟踪提取算法。如翟卫欣等[1]设计实现了基于Kalman滤波的Camshift运动跟踪系统,采用Camshift与Kalman滤波相结合的方法,保证实时跟踪,达到了有效跟踪目标的目的。如王熙[2]等设计了基于轨迹聚类的超市顾客运动跟踪系统,将轨迹聚类运用于目标跟踪中,滤除背景和短时特征点,以分离出运动目标所在区域的关键特征点,有效解决了单帧静态特征点聚类时的目标遮挡问题。李敏[3]等设计了基于Beowulf机群中改进粒子滤波的人体运动跟踪系统,达到了稳定跟踪人体运动的目的。

虽然以上方法可以实现普通背景下的运动目标跟踪与提取,但是当背景复杂(比如当背景中有很多飘动的树叶、运动物体与背景颜色相近等情况),且目标形状不规则时,往往出现误跟踪或提取不全的问题。

本文解决这些问题的方法是:首先,深入研究了MeanShift、CamShift两种算法,并编程实现,进行反复实验验证,形成稳定的目标跟踪算子。然后对序列图像中目标特征的灰度均值与方差进行提取分析,建立混合高斯模型,作为背景与目标的分离基准。最后从算法的准确性与稳定性两方面验证了本文算法性能。

2本文跟踪与提取算法

本文目的是对复杂背景下的运动物体进行跟踪与提取,解决以往方法跟踪不准确、提取不充分的问题。本文硬件系统为一台固定摄像机与PC相连,在PC端开发视频跟踪提取软件,硬件非本系统核心,在此不赘述。

图1 本文机制架构

该算法主要分为两部分:运动目标跟踪、运动目标提取。首先,对场景进行摄像拍摄,将视频逐帧读入软件,待跟踪提取处理。在对跟踪算法进行研究后,采用Meanshift、Camshift相结合的跟踪因子,对运动目标进行检测后,标注出目标特征,并显示在软件界面上。在完成跟踪后,建立混合高斯模型,分离背景与目标,提取出目标。本文算法过程如图1所示。

3基于CamShift的目标跟踪

MeanShift算法是一种在一组数据的密度分布中寻找局部极值的稳定方法,如图像像素灰度值,即查找灰度直方图的局部峰值,若分布连续,处理过程容易,然而对于离散数据集,MeanShift忽略数据中outliers,即远离数据峰值的点,MeanShift仅对数据局部窗口中点进行处理,处理完后移动窗口[4],当目标出现在远离峰值点时,算法不能准确地跟踪目标。对此,本文引入另一种算法,即CamShift,将其MeanShift算法相融合,以共同处理图像帧。CamShift是一种跟踪器,与MeanShift不同的是:CamShift的搜索窗口会自我调整尺寸,可以针对离散点的偏离程度进行自动调整窗口,覆盖离散点,达到对视频全局内运动目标的锁定跟踪[5~6]。本文对两种算法进行整合,形成跟踪算子,具体步骤如下:

1) 窗口位置初始化(图像左上角、矩形)。

2) 计算窗口重心,窗口中心设置于重心处。

3) 返回2),直到窗口位置不再变化。

4) 引入CamShift,计算窗口一阶矩,自动调整窗口,作为下一帧图像的窗口。

X、Y方向一阶矩、零阶矩如式(1~3)所示:

(1)

(2)

(3)

式中,M10是X方向一阶矩,M01是Y方向一阶矩,M00是零阶矩;I(x,y)为坐标(x,y)处图像像素值。据此,求出窗口重心位置:

(4)

(5)

其中,Xc、Yc为窗口X、Y方向重心。

以图2为待跟踪图像为例,视频中有两人为运动目标。依图可知,本文设计的跟踪算子具有很高的精度,大多数白色跟踪标注点始终围绕着运动目标,见图3,且随运动目标移动而移动,见图4。可见,本文定义的新型跟踪算子具有很高的跟踪准确度。

图2 原图

图3 跟踪效果

图4 跟踪效果

部分关键代码:

int getCodec() {

if (images.size()!=0) return -1;

union {int value;} returned;

returned.value=static_cast〈int〉(capture.get(CV_CAP_PROP_FOURCC));

return returned.value;}

bool setFrameNumber(long pos) {

if (images.size()!=0) {

itImg= images.begin() + pos;

if (pos < images.size())

return true;

else

return false;} else {

return capture.set(CV_CAP_PROP_POS_FRAMES, pos);}

bool setPositionMS(double pos) {

if (images.size()!=0)

return false;

elsereturn capture.set(CV_CAP_PROP_POS_MSEC, pos);}

4基于高斯混合模型的目标提取

完成了对运动目标的跟踪,下一步就是目标提取。为了精确提取目标,需要先对背景进行建模,然后将当前帧的模型与背景模型进行比较,以检测出前景物体即运动目标[7~8]。本文将差异足够大的像素视为前景像素,为了确保不误提取出其他前景目标,需动态创建背景模型,如定期更新背景模型,这可以通过计算滑动平均值,即对时序信号进行均值计算[9~11]。

本文分离背景与目标的方法是混合高斯模型,首先取两个滑动平均值,图像像素灰度值在这两值间,则认为是背景像素,当新像素在两值间,则认为是目标像素。其次,同时保存滑动平均值与方差,公式如下:

δ2=(1-δ)δt-12+δ(1-u)2

(6)

式中,δ为方差,u为均值,得均值与方差构成高斯模型。最后,当高斯模型的击中频率不够频繁,它会从模型中移除;反之,如果像素值位于当前背景模型之外,那么新的高斯模型将被创建。

图5是对图2进行的目标提取效果图,背景为白色,而运动目标为黑色。依图可知,本文技术清晰准确地提取出了运动目标。

关键代码:

bool setRelativePosition(double pos) {

if (images.size()!=0) {

long posI= static_cast〈long〉(pos*images.size()+0.5);

itImg= images.begin() + posI;

if (posI < images.size())

return true;

else

return false;

} else {

return capture.set(CV_CAP_PROP_POS_AVI_RATIO, pos);}}

void stopIt() {stop= true;}

bool isStopped() {

return stop;}

bool isOpened() {

return capture.isOpened() || !images.empty();}

void run() {cv::Mat frame;

cv::Mat output;

if (!isOpened())

return;

stop= false;

while (!isStopped()) {

if (!readNextFrame(frame))

break;

if (windowNameInput.length()!=0)

cv::imshow(windowNameInput,frame);

if (callIt) {if (process)

process(frame, output);

else if (frameProcessor)

frameProcessor->process(frame,output);

fnumber++;} else {

output= frame;}

if (outputFile.length()!=0)

writeNextFrame(output); }}

图5 提取效果图

5实验与讨论

本文编程实现了视频运动目标跟踪与提取系统,软件界面如图6所示,该开发软件具有“视频读取”、“图像帧保存”、“目标跟踪”、“目标提取”,及其他状态显示功能。打开视频,如图7所示,即待跟踪提取场景,图中骑手即为运动跟踪目标。

再利用本文算法与对照组算法(文献[1~2])对同一视频运动目标(图7中的骑手)进行处理,然后测试其跟踪与提取的准确度。依图可知,本文算法拥有更高的追踪精度与提取准确度,如图12所示,骑手被精确跟踪,没有偏差,且目标被完整地提取出来,见图13。而文献[1~2]的追踪与提取质量都不佳,出现较大的偏差,见图8~图11。原因是本文采用Meanshift与camshift相结合的跟踪算子,既考虑了X,Y方向灰度变化性,区分运动物,又引入搜索窗口自动变化的Camshift,两者相耦合,准确的跟踪运动目标,且本文建立以均值与方差为基础多模型的高斯混合模型,对前后帧进行计算,减去背景,准确提取出目标;而文献[1]是采用单纯的Camshift与Kalman滤波,滤波效果受场景粒子离散性影响,出现误跟踪的问题,继而导致其提取不准确。文献[2]是将轨迹聚类运用于目标跟踪和滤除背景中,聚类本身计算量大,往往不能充分计算出运动目标像素,导致其追踪与提取精度不佳。

图6 软件界面

图7 实时显示

图8 文献[1]跟踪结果

图9 文献[1]提取结果

图10 文献[2]跟踪结果

图11 文献[2]提取结果

图12 本文跟踪效果图

图13 本文提取效果图

6结语

本文解决的问题:目标跟踪不精确、目标提取不充分,只提取出目标的部分区域,影响后续研究处理。本文提出了一个基于Camshift与混合高斯模型的运动目标跟踪与提取系统,并在软硬件上进行整合实现。首先建立跟踪算子,实现了对目标的稳定跟踪,不受背景复杂程度影响。然后设计基于背景与目标分离器,充分分离出运动目标。最后编程实现,并进行对比实验评价,与当前追踪提取技术相比,本文算法拥有更高的跟踪与提取准确性与稳定性。

参 考 文 献

[1] 翟卫欣.基于Kalman滤波的Camshift运动跟踪算法[J].北京大学学报(自然科学版),2015,23(2):31-36.

ZE Weixin. motion tracking algorithm Based on Kalman filter and Camshift[J]. Journal of Peking University(Natural Science Edition),2015,23(2):31-36.

[2] 王熙.基于轨迹聚类的超市顾客运动跟踪[J].智能系统学报,2015,18(25):142-147.

WANG Xi. Supermarket customer motion tracking based on trajectory clustering[J]. Journal of Intelligent Systems,2015,18(25):142-147.

[3] 李敏.基于Beowulf机群中改进粒子滤波的3D人体运动跟踪[J].计算机工程与应用,2015,12(2):47-50.

LI Min. 3D human body motion tracking based on improved particle filter in Beowulf cluster[J]. Computer Engineering and Applications,2015,12(2):47-50.

[4] Zheng You, Jian Sun, Fei Xing. A Novel Multi-Aperture Based Sun Sensor Based on a Fast Multi-Point MEANSHIFT(FMMS) Algorithm[J]. Sensors,2011,11(3):2852-2857.

[5] Zouguo Yan, Weiguo Liang, Haidong lv. A Target Tracking Algorithm Based on Improved Camshift and UKF[J]. Journal of Software Engineering and Applications,2014,7(13):1065-1073.

[6] 王法胜.基于Hamiltonian马氏链蒙特卡罗方法的突变运动跟踪[J].软件学报,2014,23(7):96-99.

WANG Fasheng. Mutation motion tracking based on Hamiltonian Markov chain Monte Carlo method[J]. Journal of Software,2014,23(7):96-99.

[7] Chunsheng Guo, Dan Liu, YunFei Guo. An adaptive graph cut algorithm for video moving objects detection[J]. Multimedia Tools and Applications,2014,72(3):2633-2652.

[8] 李颖.带宽自适应的人体运动跟踪均值漂移算法[J].小型微型计算机系统,2013,16(4):11-15.

LI Yin. A bandwidth adaptive mean shift algorithm for human motion tracking[J]. Small and Micro Computer System,2013,16(4):11-15.

[9] Chu He, Yu Zhang, Bo Shi. Weakly supervised object extraction with iterative contour prior for remote sensing images[J]. EURASIP Journal on Advances in Signal Processing,2013,12(1):1-8.

[10] Qing Ye, Rentao Gu, Yuefeng Ji. Human detection based on motion object extraction and head-shoulder feature[J]. Optik-International Journal for Light and Electron Optics,2013,124(19):3880-3885.

[11] Xiao Yu, Dongmei Fu. Target extraction from blurred trace infrared images with a superstring galaxy template algorithm[J]. Infrared Physics and Technology,2014,64(2):9-16.

Target Tracking and Extraction Algorithm Based on CamShift and Gaussian Mixture Model

QIAO Guona

(College of Information Engineering, Shaanxi Polytechnic Institute, Xianyang712000)

AbstractIn order to solve the current inaccurate and unstable deficiencies under the background of complex video target tracking extraction, the CamShift and target tracking of the gaussian mixture model and extract algorithm is designed. First of all, coupled with MeanShift and CamShift algorithm, the target tracking operator is defined, the accurate positioning of target is completed. Then based on pixel gray mean and variance of the image, the gaussian mixture model is designed and localization of target and background separation is realized. Finally, based on OpenCV open-source function C++ programming is used to realize algorithm tracking and extracting features. Experimental data shows that, compared with the current target tracking algorithm, in the face of the moving target tracking under complex background extraction, the technology in this paper has higher tracking accuracy and stability.

Key Wordsvideo object tracking, CamShift algorithm, MeanShift algorithm, hybrid gauss, target extraction

收稿日期:2015年12月7日,修回日期:2016年1月27日

作者简介:乔国娜,女,硕士,讲师,研究方向:计算机图形图像学。

中图分类号TP391

DOI:10.3969/j.issn.1672-9722.2016.06.015