ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

基于均值漂移的视频目标跟踪算法的研究

2021-01-08 21:29:04  阅读:184  来源: 互联网

标签:image 均值 cv2 bbox 目标 算法 跟踪 path 漂移


背景介绍

计算机视觉作为一门多技术融合的学科,涉及模式识别和视频图像处理等众多领域。基于视频的目标检测与跟踪技术是计算机视觉领域中最主要的研究方向之一,它是智能监控、移动机器人视觉导航以及人机交互等应用的基础和关键技术。尽管视频目标跟踪技术已经发展了近30年, 但仍是计算机视觉分析技术研究最大难题之一,这主要是由于实际场景中经常存在光照强度变化、摄像机抖动、噪声干扰、目标被遮挡等问题, 使得视频目标跟踪研究面临着许多的困难和挑战。因此,研究一种鲁棒性较强且准确性和稳定性较高的视频目标跟踪技术是当前该研究领域中的难点和热点。
针对这些问题,在多种跟踪方法中均值漂移法由于其实时性较好,具有快速搜索的优点,且易于其他算法融合,在目标跟踪领域得到了广泛应用。均值漂移法应用到视频目标跟踪领域的关键为:采用颜色特征概率密度的方法来表述跟踪目标,然后利用均值漂移思想迭代至相似性函数局部极值点,即目标的真实位置,达到跟踪的目的。

实验数据集

本次实验选择OTB数据集(http://cvlab.hanyang.ac.kr/tracker_benchmark/datasets.html)
(如图3所示) 中的Walking, 数据集一共有412张图片, 每张图片的分辨率为768×576, 如图4
所示。
在这里插入图片描述

实验结果

(1)在第一帧用鼠标选择框出目标区域(最右侧的那个人) , 如图5所示
在这里插入图片描述
按回车或空格键即可开始目标跟踪, 如图6所示。
在这里插入图片描述
(2)在第一帧中用鼠标框出另一个目标区域(另一个人) , 如图7所示。
在这里插入图片描述

按回车或空格键即可开始目标跟踪, 如图8所示。
在这里插入图片描述
具体的目标跟踪结果视频都在附件中。

实验结果

所选择的视频中有两个人, 因此本实验通过分别选取两个目标来进行对算法的测试。 从实验结果来看, 第二个人在经过复杂背景时(一排车前面) 时, 算法都能很好的跟踪目标, 体现了程序具有较好的鲁棒性。但是在最后一秒处,出现跟丢的情况,说明程序还存在不足。主要不足之处有: 直方图特征在目标颜色特征描述方面显得匮乏,缺少空间位置信息, 在背景颜色跟目标颜色相近时, 会导致目标跟踪定位不准确, 可能会出现目标跟丢的情况

具体代码

import cv2
import os

#  Walking
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('Walking_output2.avi',fourcc,10,(768,576))
tracker = cv2.TrackerCSRT_create() #  跟踪器
base_path = "D:\\\\Walking\\img"
for i in range(412):  #  获取每帧
    if i < 9:
        path = "000" + str(i+1) + ".jpg"
        path = os.path.join(base_path,path)
    if i >= 9 and i < 99:
        path = "00" + str(i+1) + ".jpg"
        path = os.path.join(base_path, path)
    if i >= 99:
        path = "0" + str(i+1) + ".jpg"
        path = os.path.join(base_path, path)
    image = cv2.imread(path)
    if i == 0:
        bbox = cv2.selectROI(image, False)  #  鼠标选定要追踪的目标
        tracker.init(image,bbox) #  根据目标初始化追踪器
    else:
        bbox = tracker.update(image)
        p1 = (int(bbox[1][0]), int(bbox[1][1]))
        p2 = (int(bbox[1][0] + bbox[1][2]), int(bbox[1][1] + bbox[1][3]))
        cv2.rectangle(image, p1, p2, (255, 0, 0), 2, 1)
        out.write(image)
        cv2.imshow("Tracking",image)
        cv2.waitKey(10)

out.release()

参考文献

[1] Amir Hooshang Mazinan, Arash Amir-Latifi.Applying mean shift, motion information and Kalman
filtering approaches to object tracking[J].ISA Transactions, 2012, 51:485-497.
[2] 郑玉凤, 马秀荣, 赵晓琳,等. 基于颜色和边缘特征的均值迁移目标跟踪算法[J]. 光电子·激光,2011(08):1231-1235.
[3] 李冠彬, 吴贺丰.基于颜色纹理直方图的带权分块均值漂移目标跟踪算法[J].计算机辅助设计与图形学学报, 2011, 23 (12) :2059-2066.
[4] 戴渊明, 韦巍, 林亦宁.基于颜色纹理特征的均值漂移目标跟踪算法[J].浙江大学学报 (工学版) , 2012,46 (2) :212-217.
[5] Zivkovic Z , Cemgil A T , Kroese B . Approximate Bayesian methods for kernel-based objecttracking[J]. Computer Vision & Image Understanding, 2009, 113(6):743-749.
[6] Zhao C , Knight A , Reid I . Target tracking using mean-shift and affine structure[C]//International Conference on Pattern Recognition. IEEE, 2008.
[7] Ning J , Zhang L , Zhang D , et al. Scale and orientation adaptive mean shift tracking[J].Computer Vision Iet, 2012, 6(1):52-61.
[8] Ning J , Zhang L , Zhang D , et al. Robust mean-shift tracking with correctedbackgroundweighted histogram[J]. Iet Computer Vision, 2012, 6(1):62-69.
[9] Cheng Y. Mean shift, mode seeking, and clustering[J]. Pattern Analysis and MachineIntelligence, IEEE Transactions on, 1995, 17(8): 790-799.
[10]Comaniciu D , Ramesh V , Meer P . Kernel-Based Object Tracking[M]. IEEE Computer Society,2003.

标签:image,均值,cv2,bbox,目标,算法,跟踪,path,漂移
来源: https://blog.csdn.net/qq_39480875/article/details/112384109

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有