计算机视觉中的跟踪与分析技术
1. 跟踪中的遮挡分类
在计算机视觉的跟踪任务里,遮挡是一个严重的问题,需要深入分析和精心设计算法,特别是在人员跟踪方面。Vezzani 等人对遮挡的产生方式进行了细致分析,并将遮挡分为以下三类:
-
动态遮挡
:由容易识别的移动物体导致。
-
场景遮挡
:由作为背景一部分的静态物体引起,这些物体可能位于移动物体前方。
-
表观遮挡
:由被跟踪物体的形状变化产生的像素集合。
需要注意背景和前景的区别。在计算机视觉中,背景是静态的,而前景物体与相机的距离不同,有时会移动到背景物体后面。另外,遮挡还可分为部分遮挡和完全遮挡。在许多静态场景中,完全遮挡通常被忽略,但在跟踪物体时,必须考虑完全遮挡的可能性。
当观察包含运动的图像序列时,物体可能会暂时被完全或部分遮挡,部分遮挡时物体可能会被分成几个部分,后续需要重新组合成完整物体。为了成功处理这些情况,跟踪算法需要具备以下能力:
- 背景提取能力
- 目标跟踪能力
- 外观和身份回忆能力
- 合并能力
- 分割能力
- 解释的概率分析能力
其中,概率分析可能是驱动整个算法的统一力量。Vezzani 等人采用了基于外观的形式化方法,通过概率图表示物体可能的形状变化。当物体部分被遮挡时,其形状模型会以概率形状“想象”出整个物体,以便物体重新出现时能立即恢复自然形态。
该系统虽然强大且快速,能处理 PETS2006 数据集中超过 40 人的视频,但仍存在一些失败情况,主要集中在处理外观的部分,可能是因为这部分设计投入的精力相对较少。
下面用 mermaid 流程图展示遮挡处理的大致流程:
graph LR
A[图像序列输入] --> B{是否存在遮挡}
B -- 是 --> C{遮挡类型}
C -- 动态遮挡 --> D[处理动态遮挡]
C -- 场景遮挡 --> E[处理场景遮挡]
C -- 表观遮挡 --> F[处理表观遮挡]
D --> G[目标跟踪与恢复]
E --> G
F --> G
B -- 否 --> G
G --> H[输出跟踪结果]
2. 根据步态区分行人
与车辆等移动物体不同,行人具有周期性运动,可通过步态识别个体。这里介绍一种在图像序列中定位行人的方法,其基础是时空差分操作,即先进行时空平均,再进行时间差分,通过 Haar 小波实现“运动蒸馏”方法,得到每个时间步的非二进制运动图,公式如下:
[
W = \sum_{t = t_0}^{} \sum_{i}^{} \sum_{j}^{} x_{tij} - \sum_{t = t_1}^{} \sum_{i}^{} \sum_{j}^{} x_{tij}
]
其中,(x_{tij}) 表示时空空间中点 ((t, i, j)) 处的视频像素数据。
为消除不必要的对比度依赖,通过对检测到的物体上的 (W) 值进行归一化,计算正((W^+))负((W^-))滤波器输出的比率 (R):
[
R = \frac{\sum_{}^{} |W^+|}{\sum_{}^{} |W^-|}
]
对于相对于相机保持方向不变的刚性物体,(R) 随时间大致保持恒定;而行人在移动时会变形,可通过检测“刚性参数” (R) 的变化,尤其是振荡来快速检测行人。
检测到行人后,可进一步分析其运动场的行为模式。通过拟合矩形框到行人的运动场来建模正常行为,矩形框高度为行人高度,宽度通常设为高度的一半。计算总运动面积 (A) 和框外区域面积 (A_{ex}),并定义框参数 (\eta) 为两者的比率:
[
A = \sum_{}^{} |W^+| + \sum_{}^{} |W^-|
]
[
\eta = \frac{A_{ex}}{A}
]
(\eta) 是刚性运动和“紧凑”运动的不变量,可衡量行为类型。正常行走的行人 (\eta) 值始终较低,跑步者的 (\eta) 值通常较高,个别突然动作如挥手和跳跃会使 (\eta) 出现尖峰。
还开发了另一种不变量 (R_{ex}) 来区分更复杂的情况,它仅适用于物体框外部分,有助于区分跑步者和步行者群体。
通过精心研究,确定最佳框宽高比接近 0.5,步行者 - 跑步者阈值约为 0.1 时,区分效果最佳。这些方法在区分刚性和非刚性物体运动方面准确率约为 97%,对单人步行者分类准确率约为 95%,对跑步者和步行者群体分类准确率约为 87%,还能给出挥手和跳跃等“夸张”活动的有用指示。
下面用表格总结相关参数的作用:
| 参数 | 作用 |
| ---- | ---- |
| (R) | 区分刚性物体和行人,刚性物体 (R) 大致恒定,行人 (R) 有振荡 |
| (\eta) | 衡量行人行为类型,正常行走时值低,跑步时值高,突然动作有尖峰 |
| (R_{ex}) | 区分跑步者和步行者群体 |
3. 人类步态分析
人类运动的研究由来已久,过去几十年常采用传统电影摄影技术,多用于分析体育活动中的人体动作,如高尔夫挥杆动作,通过频闪分析和在身体上附着明亮标记来使动作更清晰。20世纪90年代,机器视觉被应用于该领域,研究变得更加严谨,精度要求也更高,应用范围也扩展到医疗诊断和现代电影动画制作等领域。
由于许多应用场景对精度要求很高,如测量跛行或其他步态缺陷,仅分析正常光照场景下的人体整体运动是不够的,身体标记仍然很重要。通常每个肢体需要两个标记,以便推断出每个肢体的三维方向。虽然也有使用单相机分析人体运动的研究,但大多数研究使用两个或更多相机,因为多相机可以解决一个肢体被另一个肢体或身体遮挡的问题。
进行分析需要建立人体运动学模型。一般来说,这类模型假设肢体是有限数量的球窝关节之间的刚性连接,可近似为棒状肢体之间的点连接。例如,Ringer和Lazenby(2000)提出的模型,在髋部与脊柱连接点使用两个旋转参数,大腿骨与髋部连接关节使用三个参数,膝盖和脚踝各使用一个参数。这样每条腿有七个自由度,其中两个是公共的(在脊柱处),总共12个参数用于描述腿部运动。
建立运动学模型后就可以进行跟踪。相对容易以合理的精度识别身体上的标记,但区分和标记这些标记是个难题。由于可能的标记组合数量巨大,且肢体部分被遮挡的情况频繁发生,需要特殊的关联算法,如卡尔曼滤波器,它可以预测不可见标记的运动,直到它们重新出现在视野中。这些模型还可以通过包含加速度参数以及位置和速度参数来改进,并且需要进行训练,通常使用间隔为1/30秒的2500张图像序列进行训练,同时每个受试者的棒状模型需要手动初始化。
人体关节运动分析涉及复杂的处理和大量的训练数据,是计算机视觉的关键领域,并且发展迅速。目前已经能够产生有用的输出,未来几年精度还会进一步提高,有望应用于实际的医疗监测和诊断、自然动画制作、低成本的体育活动辅助以及通过特征步态识别罪犯等领域。虽然多相机等要求可能仍然存在,但无标记监测的趋势有望继续发展。
下面用 mermaid 流程图展示人类步态分析的大致流程:
graph LR
A[图像序列采集] --> B[标记识别]
B --> C{标记区分与关联}
C -- 成功 --> D[建立运动学模型]
C -- 失败 --> B
D --> E[跟踪与分析]
E --> F[输出分析结果]
4. 基于模型的动物跟踪
在农场动物护理中,计算机视觉系统自动观察动物的行为具有很大的潜在价值。动物的各种行为,如打架、欺负、咬尾、活动、休息行为、姿势、进食行为、分娩情况以及是否脱离围栏等,都可以反映它们的健康状况、是否有潜在跛行、热应激情况,或者是否有捕食者或人类入侵者等信息。
对于一些动物,如猪和羊,它们的颜色通常比土壤和草地等背景浅,理论上可以通过阈值分割来定位。但农场场景中的背景往往很复杂,有围栏、围栏墙、饮水槽等物体,这使得简单的阈值分割方法很少能取得良好效果。McFarlane和Schofield(1995)采用背景减法解决这个问题,他们通过对一段时间内的大量图像进行时间中值滤波得到背景图像,同时小心地屏蔽掉已知小猪休息的区域,其算法将小猪建模为简单的椭圆,在监测动物方面取得了一定的成功。
Marchant和Onyango(1995)等人采用了更严格的建模方法,并由Onyango和Marchant(1996)以及Tillett等人(1997)进一步发展。他们的目标是在不太均匀的光照条件下从上方观察猪圈中猪的运动,早期主要是跟踪动物,后续计划进行行为分析。
为了找到动物,需要进行某种形式的模板匹配。形状匹配是一个有吸引力的概念,但对于像猪这样的活体动物,形状变化很大,站立或行走的猪会左右弯曲,进食时脖子也会上下左右弯曲,因此使用少量模板掩码进行匹配是不够的,因为形状参数的变化会产生无数种形状。此外,光照变化也会影响匹配效果,如果猪的一侧更靠近光源,该侧会更亮,用于匹配的最终模板会向该方向偏移,导致匹配效果不佳。
为了解决这些问题,采用了主成分分析(PCA)方法。将训练对象与模型在一系列精心选择的点上的位置和强度偏差输入到PCA系统中,最高能量特征值表示预期的主要变化模式,然后将特定的测试示例与模型进行拟合,提取每个变化模式的幅度以及表示拟合优度的总体参数。但这种方法计算量很大,因为自由参数数量众多,而且位置和强度参数是不同的度量,需要使用不同的比例因子。为了解决这个问题,通过依次进行两次独立的主成分分析,先对位置坐标进行分析,再对强度值进行分析,从而将位置和强度信息解耦。
经过分析,发现了三个重要的形状参数,第一个是猪背部的横向弯曲,占平均偏差的78%;第二个是猪头部的点头动作,由于其仅占总偏差的约20%,在后续分析中被忽略。此外,灰度级分布模型有三种变化模式,占强度偏差的77%,前两种模式分别对应于(a)关于脊柱对称的一般幅度变化,(b)相对于脊柱的横向强度分布变化(主要由动物的侧向照明引起)。
在给定情况下,仍然需要使用必要数量的参数来拟合动物的轮廓,一个用于形状,两个用于强度。Simplex算法(Press等人,1992)在这方面被证明是有效的,要最小化的目标函数考虑了(a)渲染(灰度级)模型与图像在模型区域内的平均强度差异,(b)图像中垂直于模型边界的局部强度梯度的负值,沿模型边界求平均(如果模型正确勾勒出动物轮廓,局部强度梯度将在动物周围达到最大值)。
在整个过程中,模型与动物的定位和对齐必须非常准确,这对于初始的PCA和后续的个体动物拟合都很重要。在使用PCA时,要将所有对象调整到相同的位置、方向和比例,以最小化偏差。
下面用表格总结动物跟踪中不同方法的特点:
| 方法 | 优点 | 缺点 |
| ---- | ---- | ---- |
| 阈值分割 | 理论上简单 | 受背景干扰大,在农场场景效果不佳 |
| 背景减法 | 能处理一定背景干扰 | 需获取合适背景图像,屏蔽休息区域较麻烦 |
| 主成分分析 | 考虑形状和光照变化 | 计算量大,参数处理复杂 |
超级会员免费看

42

被折叠的 条评论
为什么被折叠?



