目标跟踪作为计算机视觉中的经典问题,一直到现在都有很多学者在研究,目标跟踪可以被应用于许多方面:
- 基于动作的识别,即基于步态的人类识别,自动物体检测等;
- 自动监控,即监控场景检测可疑活动或不太可能的事件; 自动监控,即监控场景检测可疑活动或不太可能的事件;
- 视频索引,即自动注释和检索多媒体数据库中的视频; 人机交互,即手势识别,眼睛注视跟踪等; 流量监控,即实时流量收集统计指导交通流量。
- 车辆导航,即基于视频的路径规划和避障能力
一、目标跟踪的定义:
视觉输入一般是通过相机拍摄然后连接到计算机, 这个相机可以是静止的也可以是运动的,计算机使用跟踪结果执行必要的跟踪和任何更高级别的任务
那到底什么是目标跟踪呢:
- 在一个图像序列中跟踪一个目标;
- 通过在连续图像帧上跟踪对象以确定其相对于其他对象的相对移动。
- 在最简单的形式中,跟踪可以定义为:当一个物体在一个场景中移动时,估计一个
图像平面中物体的轨迹,然后跟踪器对不同帧中跟踪到对象分配一样的标签; - 另外,根据跟踪域,跟踪器还可以提供以对象为中心的信息,例如物体的方向,面积或形状。
二、最简单的目标跟踪是基于一些先验知识的,比如:
对对象的运动和/或外观施加约束:
- 假设物体运动平稳没有突然的动作
- 假定物体运动是恒定速度或恒定加速度基于先验信息
- 假定物体的数量和大小,或物体的外观和形状在跟踪期间不会更改
三、目标/交通工具的跟踪是challenging
- 从三维到二维的信息损失;
- 遮挡问题;
- 场景光线变化;
- 一个交通工具以一样的方西经过另一个(相似物体遮挡);
- 小物体的跟踪;
- 影子的影响;
- 多目标的跟踪;
- clutters(杂波?);
- 自然物体是非刚体的;
- 目标运动的复杂性;
- 复杂的目标形状;
- 目标消失后重新出现;
- 多相机的跟踪;
- 实时处理的需求
四、目标跟踪的分类
- 单目标&多目标跟踪;
- 刚体&非刚体跟踪;
- 静止相机&运动相机跟踪;
- 单一相机&多相机;
- 不同类的传感器;
- Etc
4.1 非刚体目标
非刚体目标在三维和二维空间中经常改变他们的形状:
4.2 静止相机跟踪
背景减除算法可以获得精确的前景检测结果:
4.3 基于运动相机的目标跟踪
相机是运动的,意味这目标和背景都是运动的,这个时候背景减除方法就不管用了
4.4 基于多个相机的目标跟踪
- 两个或者两个以上的相机从不同角度拍摄物体;
- 从不同角度得到的信息可以融合到奇异得到鲁棒的目标跟踪;
- 信息可用于推断几个对象之间或对象与背景之间的(underline relationship)下划线关系
五、目标跟踪里面的几个关键问题
- 那种目标表征方式是适用于跟踪的;
- 应该使用那种图像特征;
- 目标的运动、外观和形状该怎么建模;
- 怎样去定义搞笑的相似性测量操作;
- Etc
六、目标形状表示object shape representation
- 在目标跟踪场景下,一个物体根据后期使用方式来可以用任何形式定义。一个物体可以用他们的形状和外观表示;
- 在使用物体形状表示上,可以使用:点、原始的几何形状、剪影和轮廓、铰接形状模型、骨骼模型
6.1 点检测器
-
点检测器是为了检测图像中感兴趣的点,也就是有用的点。一个理想的兴趣点质量是它在照明和相机变化下的不变性。而常用的兴趣点探测器包括Harris兴趣点检测器,KLT检测器和SIFT探测器,SURF探测器等。
-
在应用非最大值抑制之后,通过阈值化来标记兴趣点。
-
Harris和KLT都强调使用类似措施的强度变化。
-
唯一的区别是额外的KLT标准,它强制执行检测到的兴趣点之间的预定义空间距离。
-
Harris和KLT对旋转和平移都是不变的。 然而,它们对于仿射(仿射)或投射(投影)变换并不是不变的。
-
因此,Lowe [2004]引入了SIFT(尺度不变特征变换)方法
6.2 SIFT角点
SIFT检测法是用不同的高斯滤波器在图像上分别做卷积操作来构建尺度空间,卷积后通过邻近的两层相减得打高斯差分(DoG)图像。(减完之后剩下的是边缘edge)
得到DOG后一共有四个步骤:
1、从每个尺度DoG图像的最小值和最大值中选择候选兴趣点,通过比较在当前和相邻尺度(用圆圈标记)的3×3区域中的像素(用X标记)(一共26个邻居来)检测高斯差异图像的最大值和最小值。
2、它通过使用相邻像素内插(内插)颜色值来更新每个候选点的位置;
3、消除低对比度和边缘候选点;
4、剩余兴趣点利用基于候选点周围的小邻域中的梯度方向 的直方图中的峰值来指定方向。
SIFT比很多另外的特征点检测器方法好并且对图片的变形是可靠的。
论文:David G. Lowe, “Distinctive image features from scale-invariant keypoints,” International Journal of Computer Vision, 60, 2 (2004), pp. 91-110.
6.3 目标形状表示
6.3.1 原始形状表示
-
目标形状用矩形、椭圆形等表示:
-
用这种方式表示的目标运动一般使用平移、仿射变换或投影变化表示;
-
这种方式一般更加适用于表示简单的刚性物体;
-
他们也被应用于非刚性物体跟踪。
6.3.2 物体轮廓和轮廓
- 轮廓表示定义了物体的边界:
- 在轮廓里面的区域叫做物体的投影轮廓;
- 投影轮廓和轮廓适用于跟踪复杂的非刚性物体
-
6.3.2 铰接形状模型(e)
- 铰接物体由与关节连在一起的身体部位组成,例如:通过关节连接的躯干,腿,手,头和脚。
- 零件之间的关系由运动运动模型控制,例如关节角度等。
- 可以使用圆柱或椭圆来模拟组成部件,如(e)所示
6.3.3 骨骼模型
- 可以通过将中轴变换应用于对象轮廓来提取对象骨架。
- 此模型通常用作识别对象的形状表示。
- 骨架表示可用于模拟铰接和刚性物体
6.4 目标外观表示
为了表示对象的外观特征,在对象跟踪的上下文中的一些常见外观表示是:
- 物体外观的概率密度
- 模板
- 活动外观模型
- Multiview(多视角的)外观模型
6.4.1 物体外观的概率密度
- 物体外观的概率密度估计可以是参数化的,如高斯模型、混合高斯模型方法,或者一些非参数化的方法,如直方图密度、核密度估计;
- 物体外观特征(颜色,纹理)的概率密度可以从形状模型(椭圆的内部区域或轮廓)指定的图像区域计算
6.4.2 模板
- 模板使用简单的几何形状或轮廓形成
- 模板的一个优点是它既包含空间信息又包含外观信息
- 模板仅编码从单个视图生成的对象外观。 因此,它们仅适用于跟踪在跟踪过程中姿势不会发生显着变化的物体。
6.4.3 活动外观模型
- 通过同时建模对象形状和外观来生成活动外观模型:
- 对象形状由一组地标定义。 地标可以驻留在对象边界或驻留在对象内部
- 对于每个地标,存储外观矢量,其颜色,纹理或渐变幅度的形式
- 活动外观模型需要一个训练阶段,其中从一组样本中学习形状及其相关外观
6.4.5 多视角外观模型
- 这种模型编码了一个物体的不同视角;
- 表示不同对象视图的一种方法是从给定视图生成子空间;
- 子空间方法,例如主成分分析(PCA)和独立成分分析(ICA),已用于形状和外观表示;
- 另外的学习物体不同视角的方法是训练一组分类器,如SVM和贝叶斯网络;
- 这种方法的缺点是,一个物体的所有视角外观都需要事先知道
参考文献:
- Yilmaz, A., Javed, O., Shah, M., “Object Tracking: A survey”, Acm Computing Surveys, Vol 38, No. 4, 1-45, 2006;
- Kevin Cannons, “A Review of Visual Tracking”,Technical Report CSE-2008-07, York University
- 侯志强等, “视觉跟踪技术综述”, 自动化学报, Vol32, No. 4, 603-617, 2006