简介
这学期选了王菡子老师的《视频分析前沿》,作一下记录。
一:对象表示
假设&限制
对物体的运动和/或外观施加限制:
- 假设对象运动是平滑的,没有突然的运动
- 假设对象的运动速度或加速度是恒定的,基于先验信息
- 假设对象的数量和大小,或者是对象的外观和形状在追踪过程没有改变
难题&挑战
- 由3d世界投影到2d图像,引起的信息丢失
- 完全阻挡或部分阻挡
- 场景光照变化
- 车辆在同一方向穿过另一辆车
- 跟踪小成像对象(包括4像素)
- 阴影
- 跟踪许多车辆(例如,一个城市的数千辆车辆)
- 背景杂乱干扰
- 物体的非刚性
- 复杂的物体运动
- 复杂的物体形状
- 二次出现
- 基于多摄像机的跟踪(例如,城市监控网络)
- 实时处理要求
对象形状表示
点
物体的质心(a)或者是一组特征点(b),适合于跟踪在图像中占据小区域的对象。
原始几何形状
- 对象形状是由一个矩形,椭圆等。
- 对象运动等表征建模通常是通过变换,仿射或投影转换。
- 原始几何形状更适合代表简单的刚性物体。
- 它们也用于跟踪非刚性的对象。
物体轮廓与剪影轮廓
- 轮廓表示定义了一个对象的边界(g)(h)
- 轮廓内的区域被称为物体的剪影(见(i))
- 轮廓和剪影轮廓表示适合跟踪复杂的非刚性的形状
关节形状
- 关节对象是组合在一起的身体部位和关节,如躯干,腿,手,头,脚通过关节连接
- 部分由运动学运动之间的关系模型,例如,关节角等
- 模型组成部分使用柱面或椭圆所示(e)
骨架
- 对象可以通过应用中轴变换提取骨架对象轮廓
- 这个模型是作为认识对象的常用形状表示
- 骨架表示可用于模型表达和刚性物体(见(f))。
对象外观表示
物体出现的概率密度
- 对象外观的概率密度估计可以是参数化的,如高斯和混合高斯模型的;或非参数的,如直方图和内核密度
- 对象出现的概率密度特征(颜色、纹理)可以从指定的图像区域形状模型(内部区域的一个椭圆或轮廓)计算
模板
- 模板形成使用简单的几何形状或轮廓
- 模板的一个优势是,它带有两个空间和外观信息
- 模板只从单一视图生成的编码对象的外观。因此,它们只适用于在跟踪过程中姿态变化不大的对象。
主动外观模型
- 主动外观模型是同时生成的建模对象的形状和外观
- 对象形状由一组标志定义。地标可以位于对象边界或对象区域内
- 对于每一个标志,一个外观向量以颜色、纹理或梯度大小的形式存储
- 主动外观模型需要一个训练阶段,在这个阶段中,形状及其相关外观都是从一组样本中学习到的
多视图外观模型
- 该模型对对象的不同视图进行编码
- 表示不同对象视图的一种方法是从给定的视图生成子空间
- 子空间方法,例如主成分分析(PCA)和独立成分分析(ICA),被用于形状和外观表示。
- 学习对象的不同视图的另一种方法是通过训练一组分类器,例如支持向量机和贝叶斯网络
- 多视图的外观模型的一个限制是,所有视图的外观都需要及时完成
References
- 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
- 侯志强等, “视觉跟踪技术综述”, 自动化学报, Vol 32, No. 4, 603-617, 2006
二:特征&目标跟踪
特征选择
颜色特征
RGB
RGB空间中颜色的差异并不对应于人类感知到的颜色差异。
YIQ
YIQ,是NTSC(National Television Standards Committee)电视系统标准。Y是提供黑白电视及彩色电视的亮度信号(Luminance),即亮度(Brightness),I代表In-phase,色彩从橙色到青色,Q代表Quadrature-phase,色彩从紫色到黄绿色。
YUV
YUV是编译true-color颜色空间(colorspace)的种类,Y’UV,YUV,YCbCr和YPbPr等专有名词都可以称为YUV,彼此有重叠。“Y”表示明亮度(Luminance、Luma),“U”和“V”则是色度、浓度(Chrominance、Chroma)。
Nrgb
使颜色不依赖于光照强度的变化。
HSI
分别代表色相、饱和度、强度。HSI系统将颜色信息与强度信息分离。颜色信息是由色相和饱和度值表示的,而强度是由光的量决定的。
HSI的一些变体有HSL、HSV、HSB等。
CIE
CIE(国际ecllairage委员会)的颜色系统被开发用来表示感知的一致性。
- $L^\star a^\star b^\star$其中,$\frac{Y}{Y_0}>0.01, \frac{X}{X_0}>0.01 \frac{Z}{Z_0}>0.01$,$(X_0,Y_0,Z_0)$是标准白色的$(X,Y,Z)$的值。
与HIS空间的转换:
- $L^\star u^\star v^\star$其中,$\frac{Y}{Y_0}>0.01, $Y_0,u_0,v_0)$是标准白色值。
与HIS空间的转换:
$L^\star u^\star v^\star$和$L^\star a^\star b^\star$是感知均匀颜色空间,而HSV(色相,饱和度,强度)是一个近似均匀的颜色空间。这些颜色空间对噪音很敏感。
边缘特征
边缘特征的一个重要属性是与颜色特征相比,它们对光照变化不敏感。对于基于轮廓的表示,对象边缘通常用作特征(例如Canny边缘检测器)。
光流特征
光流在基于运动的分割和跟踪应用中是一种常用的特征,采用亮度约束进行计算,该约束假设在连续帧中对应像素的亮度恒定。
纹理特征
纹理是测量表面强度变化的一种方法,它具有量化平滑和规律性等特点。有各种各样的纹理描述符。与颜色相比,纹理特征对光照变化的敏感度较低。
对象跟踪方法
点跟踪
在连续帧中检测到的对象用点表示。点的关联是基于之前的对象状态,可以包括对象的位置和运动。
点跟踪可以表示为检测对象的对应关系,这是由点在帧之间表示。
点对应关系是复杂的,尤其是在存在遮挡,错误检测,对象的进入和退出。
确定性点对应的方法,通过使用一组运动约束来定义将$t-1$帧中的每个对象与$t$帧中的单个对象相关联的成本。
关联成本通常通过使用以下约束的组合来定义。
- 接近度:假设对象的位置不会从一帧到另一帧显着变化(见(a))
- 最大速度:定义对象速度的上限(见(b))
- 小速度变化:假设物体的方向和速度不会发生剧烈变化(见(c))
- 共同运动:约束小邻域中物体的速度是相似的,适用于由多个点表示的对象(见(d))
- 刚性:假设3D世界中的物体是刚性的,因此,实际物体上任意两点之间的距离将保持不变(见(e))
对应的统计方法:它使用状态空间方法来模拟对象属性,例如位置,速度和加速度。
单目标状态估计
卡尔曼滤波器
卡尔曼滤波器用于估计线性系统的状态,其中假设状态是服从高斯分布的。
卡尔曼滤波由预测和校正两个步骤组成。预测步骤使用状态模型来预测变量的新状态。它使用状态转移矩阵来定义时间$t$和$t-1$之间状态变量之间的关系。校正步骤使用当前观察值来更新对象的状态。扩展卡尔曼滤波器假设状态由高斯分布。 它使用泰勒级数展开来线性化非线性函数。
卡尔曼滤波器的一个限制是假设状态变量是正态分布的(高斯分布)。 它给出了不遵循高斯分布的状态变量的较差估计。
粒子滤波
时间$t$处的条件状态密度由具有权重的一组样本(粒子)表示。权重定义样本的重要性。根据不同的采样方案,在$t-1$步骤中从样本中抽取新样本。最常见的抽样方案是重要性抽样。
多目标状态估计
跟踪多个对象需要联合解决数据关联和状态估计问题。在应用这些过滤器之前,需要解决关联问题,执行关联的最简单方法是使用最近邻方法,但是在物体彼此靠近的情况下难以处理。
联合概率数据关联滤波器(JPDAF)
它假设轨迹数量随时间保持不变。主要限制是无法处理进入视野(FOV)的新物体或已离开FOV的已跟踪物体。
多假设跟踪(MHT)
MHT算法在每个时间帧为每个对象维护几个对应假设。对象的最终轨迹是其观察时间段内最可能的对应关系。该算法能够为进入FOV的对象创建新轨迹,并终止离开FOV的对象的轨迹。即使缺少某个对象的某些测量值,它也可以处理遮挡。
MHT是一种迭代算法,从一组当前的跟踪假设开始。每个假设都是一系列不相交的轨迹。对于每个假设,进行下一帧中每个对象位置的预测。通过评估距离函数将预测与实际测量进行比较。基于距离函数为每个假设建立一组关联关系,引入新的假设。每个新假设代表一组新的轨迹。每个测量都可以属于进入FOV的新对象,先前跟踪的对象或虚假测量。可能未将测量分配给对象,因为该对象可能已退出FOV。可能无法获得对应于对象的测量。
MHT以确定性的意义建立联想,并详尽地列举所有可能的关联。MHT算法在存储器和时间上都是计算指数的。
评价指标
精确率:
召回率:
点跟踪器适用于跟踪可由单个点表示的非常小的对象。需要多个点来跟踪较大的物体。属于同一对象的点的自动聚类很重要。 它需要区分多个对象,以及对象和背景之间。
核跟踪
核跟踪是通过计算从一个帧到下一个帧的由原始对象区域表示的对象的运动来执行的。物体运动通常采用参数运动(平移,仿射等)或密集流场的形式。基于所使用的外观表示的方法,包括模板,基于密度的外观模型和多视图外观模型。
模板和基于密度的外观模型:
优点:简单,计算成本低。
模板匹配:在图像中搜索与对象模板类似的区域。通过相似性度量计算当前图像中模板的位置。通常使用图像强度或颜色特征来形成模板。
模板匹配的局限性在于由于暴力搜索而导致的高计算成本。为了降低计算成本,研究人员通常将对象搜索限制在其先前位置附近。颜色直方图或混合模型可以通过使用矩形或椭圆形区域内的像素外观来计算。
Fieguth等[1997]通过找到矩形对象区域内的像素的平均颜色来生成对象模型。
为了降低计算复杂性,他们在八个相邻位置搜索对象。通过评估从两个区域计算的颜色平均值之间的比率来计算对象模型和假设位置之间的相似性。选择提供最高比率的位置作为当前对象位置。Comaniciu和Meer [2003]使用从圆形区域计算的加权直方图来表示对象。
他们使用均值漂移过程来搜索对象的定位。均值漂移跟踪器通过比较对象的直方图和假设对象位置周围的窗口,迭代地最大化外观相似性。在每次迭代时,计算均值漂移矢量,使得直方图相似度增加。 重复这一过程直到收敛。作者使用由空间内核定义的加权方案,该方案为靠近对象中心的像素提供更高的权重。平移跟踪器优于标准模板匹配的一个优点是消除了暴力搜索。
缺点:均值漂移跟踪要求初始化时对象的一部分位于圆形区域内。
- Jepson等人 [2003]提出了一种物体跟踪器,它将物体跟踪为三分量混合物,包括稳定的外观特征,瞬态特征和噪声过程。
稳定分量确定运动估计的最可靠外观。瞬态分量识别快速变化的像素。 噪声分量处理对象外观中的异常值。在线版的EM算法用于学习这三种分量混合物的参数。根据跟踪区域从一帧到下一帧的变形来计算对象的运动。变形变换包括平移$(t_x,t_y)$,旋转$(a,b)$和尺度$s$,参数:
稳定和瞬态分量的加权组合用于确定变形参数。
- 1994年,Shi和Tomasi提出了KLT跟踪器,它迭代地计算以兴趣点为中心的区域(例如,25×25补丁)的平移。
KLT跟踪器通过计算连续帧中相应补丁之间的仿射变换来评估跟踪补丁的质量。
多目标跟踪模型
使用多视图外观模型跟踪:
- 对象可能与不同的视图不同。
- 如果在跟踪期间对象视图发生显着变化,则外观模型可能不再有效。为了克服这个问题,可以离线学习对象的不同视图并用于跟踪。无法实时性。
可以基于以下方式定性评估内核跟踪器:
- 跟踪单个或多个对象
- 处理遮挡的能力
- 训练要求
- 运动模型的类型
- 要求手动初始化
由于最先进方法的实时适用性,使用原始几何形状来表示对象非常常见。此类别中的跟踪方法计算对象的参数运动。
此动作通常采用变换,仿射或投射等形式。可以通过最大化前一帧和当前帧之间的对象外观相似性来估计对象的运动。估算过程可以采用暴力搜索的形式,也可以采用基于梯度上升(下降)的最大化(最小化)过程。基于渐变上升(下降)方法的对象跟踪器要求对象的某些部分至少在所选形状内可见,其位置由前一个对象位置定义。
为了消除这些要求,可能的方法是使用卡尔曼滤波或粒子滤波。对象表示的原始几何形状的一个限制是对象的一些部分可以留在定义的形状之外,而背景的一部分可以驻留在其中。在这种情况下,通过最大化模型相似性估计的对象运动可能不正确。要克服此限制,一种方法是强制内核驻留在对象内,而不是封装整个形状。
剪影轮廓跟踪
剪影轮廓跟踪:基于轮廓的方法为具有复杂形状的对象(如手,头和肩)提供准确的形状描述。
基于轮廓的对象跟踪器的目标是通过使用先前帧生成的对象模型在每个帧中找到对象区域。模型可以是颜色直方图,物体边缘或物体轮廓。
最常见的轮廓表示形式为二进制指示器功能,它用一个标记对象区域,用零标记非对象区域。我们将轮廓跟踪器分为两类:形状匹配和轮廓跟踪。
形状匹配
形状匹配方法在当前帧中搜索对象轮廓。与基于模板匹配的跟踪类似,在当前帧中搜索对象轮廓及其关联模型。通过计算对象与从前一帧的假设对象轮廓生成的模型的相似性来执行搜索。假设轮廓仅从当前帧转换到下一帧。因此,不能够明确处理非刚性物体运动。对象模型通常采用边缘图的形式。重新初始化以处理每帧中的外观变化。
一个例子:
匹配形状是为了找到在两个连续帧中检测到的相应轮廓。轮廓匹配和点匹配之间的主要区别是对象表示和使用的对象模型。
- 与使用点相比,轮廓匹配使用完整的对象区域。
- 轮廓匹配使用对象外观特征,而点匹配仅使用基于运动和位置的特征。
- 剪影检测通常通过背景减法进行。
一旦提取了对象轮廓,就通过计算与每个轮廓相关联的对象模型之间的一些距离来执行匹配。对象模型可以是密度函数(颜色或边缘直方图),轮廓边界(闭合或开放对象轮廓),对象边缘或这些模型的组合。
匹配分数可以使用距离测量来计算,包括互相关,Bhattacharya距离和Kullback Leibler散度。Bhattacharya距离和Kullback Leibler散度的表现相似,两者都比基于相关性的测量表现更好。Haritaoglu等人[2000]通过在对象轮廓内获得的边缘信息对对象外观进行建模。
轮廓跟踪
在不连续帧中搜索可能的轮廓匹配的情况下,可以通过计算轮廓内的每个像素的流向量来执行跟踪轮廓,使得在整个轮廓上占优势的流用于生成轮廓轨迹。通过使用状态空间模型或直接最小化某些能量函数,跟踪方法迭代地将前一帧中的初始轮廓演变为当前帧中的新位置。此轮廓演变要求当前帧中对象的某些部分与前一帧中的对象区域重叠。
- 使用状态空间模型跟踪轮廓
对象的状态是根据轮廓的形状和运动参数定义的。每次更新状态,以使轮廓的后验概率最大化。后验概率取决于先验状态和当前可能性,其通常由轮廓与观察边缘的距离来定义。
一个例子:Isard和Blake(1998)根据样条形状参数和仿射运动参数定义了对象状态。
- 测量值包括在轮廓法线方向计算的图像边缘。
- 使用粒子滤波器更新状态。
- 通过直接最小化轮廓能量函数进行跟踪
轮廓能量是根据时间梯度(光流)或从物体和背景区域产生的外观统计的形式的时间信息来定义的。使用时间图像梯度的轮廓跟踪是由计算光流的工作推动的。
第一个例子:Bertalmio等人[2000]使用亮度恒定约束来演化连续帧中的轮廓。作者使用两个能量函数,一个用于轮廓跟踪,另一个用于强度变形。两种功能同时最小化。
第二个例子:Yilmaz和Shah[2004]使用围绕物体边界的带中生成的颜色和纹理模型演化物体轮廓(见图(a))。
第三个例子:Yilmaz等人[2004]通过基于水平集的形状模型对物体形状及其变化进行建模。基于水平集的形状模型在跟踪过程中解析对象遮挡(参见图(b))
跟踪轮廓的优势:灵活处理各种各样的物体形状。然而,通常基于轮廓边界的方法对噪声的抵抗力低于基于区域的方法。表示可以采用运动模型,外观模型或形状模型或其组合的形式。对象外观通常由参数或非参数密度函数建模,例如高斯混合或直方图。对于遮挡处理,常见的方法是假设恒定运动或恒定加速度,其中在遮挡期间,来自前一帧的对象轮廓被转换为其假设的新位置。对于处理对象拆分和合并,隐式轮廓表示处理得很好。
遮挡处理
遮挡可分为三类:自遮挡,对象间遮挡和背景场景结构遮挡。
- 当对象的一部分遮挡另一部分时,会发生自我遮挡。在跟踪关节状物体时最常出现这种情况。
- 当跟踪的两个对象相互遮挡时,会发生对象间遮挡。
- 当背景中的结构遮挡被跟踪对象时,会发生背景遮挡。
对于对象间遮挡,多对象跟踪器可以利用遮挡物和遮挡物的位置和外观的知识来检测和解决遮挡。
场景结构对对象的部分遮挡很难检测,因为难以区分改变其形状的对象和被遮挡的对象。问题:如何区分?
在跟踪过程中处理完全遮挡的常用方法是通过线性动态模型或非线性动力学对对象运动建模,并且在遮挡的情况下,继续预测对象位置,直到对象重新出现。
研究人员还利用其他功能来解决遮挡问题:
- Haritaoglu等人[2000]在部分遮挡期间定位人的头部
- Dockstader和Tekalp [2001b]假设两个物体向相反方向移动
- Cremers等人 [2002]从可能的物体形状的子空间分析(PCA)建立了一个形状模型,以填补缺失的轮廓部分
- Yilmaz等人 [2004]使用基于水平集轮廓表示的混合模型构建在线形状先验。
通过适当选择摄像机位置可以减少遮挡的可能性:
- 摄像机安装在空中交通工具上;
- 观察相同场景的多个摄像机也可用于在跟踪过程中解决对象遮挡;
- 多镜头跟踪:使用多个摄像机进行跟踪的需要是使用深度信息进行跟踪和遮挡分辨率;使用多个摄像头是为了增加视野区域,因为单个摄像机无法观察大面积区域。
多镜头跟踪
为了减少计算量,Mittal和Davis [2003]不进行密集深度估计,而是使用基于区域的立体方法计算稀疏深度图,即每个对象的单个深度估计。该方法假设固定摄像机。
Kang等人 [2003]使用固定和平移-倾斜-变焦相机的组合,具有重叠的视图用于跟踪。
平移变焦摄像机(PTZ摄像机)是一种通常用于安全摄像机的名称,可以进行远程方向和变焦控制。
为了获得摄像机之间的对应关系,必须对物体速度和路径做出一些假设。但是,这些方法假设
- 摄像机是静止的
- 每个摄像机内的物体轨道都可用
这些算法的性能在很大程度上取决于对象遵循已建立路径的程度以及跨摄像机的预期时间间隔。
问题:当物体在非重叠区域任意移动时如何处理问题?
可以采用跟踪识别方法,它使用对象的外观和形状在摄像机视图中重新出现时识别它。
三:目标检测
目标检测的一种常用方法是在单个帧中使用信息。
一些对象检测方法利用时间信息从一个帧序列计算减少错误的检测。这种时间信息通常以帧差的形式出现。帧差法的研究自70年代末以来。而之后开始采用背景减除。目标检测可以通过构建一个场景的表示来实现,称为背景模型,然后为每个进入的帧寻找模型的偏差。任何显著的变化在一个图像区域从背景模型表示一个移动的对象。
通常,连接组件算法用来连接区域对应的对象。大致的思想是,当对图像的各个像素分出前景盒背景后,有些地方会出现噪声,有的只是少数像素与周围的不同,那么就设置一个阈值,清除少数像素的噪声差异。
背景减除
对每个像素的颜色(Y、U和V的颜色空间)建模,用一个高斯模型模拟静止背景$(x,y)∼N(μ(x,y),∑(x,y))$,模型参数均值$μ(x,y)$和$协方差∑(x,y)$,在连续几帧之间观察颜色像素值的变化。输入一帧,计算其每个像素的颜色来自模型$N(μ(x,y),∑(x,y))$的可能性。偏离背景模型的像素被标记为前景像素。
单一的高斯函数的缺点:
- 在一个特定的位置由于重复性运动对象可以观察到多种颜色。
通过使用多元统计模型来描述单像素的背景颜色来克服该缺点。
混合高斯模型:
当前帧的像素检查通过比较它与MOG的每一个高斯模型,如果找到一个匹配,匹配的高斯分布的均值和方差进行更新;否则建立新的高斯模型,其均值等于当前像素的颜色和初始化的方差
除此之外,有人提出采用(空间)场景信息,而不是只使用基于像素颜色的信息。使用非参数核密度估计模型逐像素的背景。当前像素匹配不仅跟对应的背景像素模型匹配,而且还跟附近的像素匹配。
有人提出,提取5×5像素块的纹理特征和颜色特征。该方法对光照不敏感。
有人提出三层算法(three-tiered algorithm):在像素级别,利用维纳滤波概率预测背景颜色。在区域界别,由均匀颜色组成的前景区域被填充。在帧级别,如果大部分的像素在一个帧突然变化,则假设基于像素颜色背景模型不再有效。在这一点上,一个先前存储的像素级背景模型应该被替换,或者应该被重新初始化。
汽车跟踪问题中,Rittscher等人使用隐马尔科夫模型(HMM)将图像中的小块分类为属于这三种状态之一,前景,背景,阴影。
总结:
- 最近背景减除方法可以改变光照、噪声和周期运动的背景区域。
- 一些方法计算效率很高。
- 然而背景减除提供了不完整的对象区域在许多情况下(例如会出现对象的分裂或洞)。
- 许多最先进的背景减除方法都是采用固定的摄像机。
- 移动摄像机的解决方案可能是通过补偿传感器运动但需要假设在连续帧中,具备平面场景和小运动的条件。
分割
图像分割算法的目的是将图像分割成感知相似的区域。分割两个问题:一个好的分割标准;实现有效的分割的方法。
基于均值漂移聚类的分割
Comaniciu和Meer提出means hift方法找到在联合立体空间+颜色空间进行聚类。给定的图像,该算法从数据中随机选择初始化大量的虚拟聚类中心;每个聚类中心根据均值移位向量迭代移动,直到聚类中心不再改变位置。在均值漂移迭代中,一些聚类可能会合并。
限制:基于均值漂移聚类的分割需要对各种参数进行微调,以获得更好的分割效果,如颜色和空间核带宽的选择,以及区域大小的最小阈值对分割效果有很大的影响。均值漂移方法已被用于对象跟踪。
基于Graph-Cut分割
图像分割也可以制定图划分问题,其中顶点就是图像的像素点。通过剪枝图的加权边,将图(图像)的像素划分为N个不相交的子图(区域)。修剪边的总权重在两个子图称为cut。权重通常是计算颜色、亮度、或纹理节点之间的相似性。
Wu和Leahy使用最小割,目标是找到最小割的分区。权重定义基于颜色相似性。最小割的一个限制是它倾向过度分割图像。
Shi和Malik提出了normalized cut来克服过度分割问题。在他们的方法中,将不仅取决于切割边的权值之和,也取决于总连接节点的权重与在每个区域的所有图的节点和之比。节点之间的权值定义为对象颜色相似度和空间距离。此方法与mean shift相比,需要手动选择的参数较少。然而,它可以计算效率低。normalize cut也被用于上下文跟踪对象轮廓。
主动轮廓
对象分割是通过扩展的一个封闭的轮廓对象的边界,这样轮廓会紧紧包含对象区域。扩展的轮廓是由一个能量函数定义了轮廓与假设物体区域的适应性。不同的研究人员使用不同的能量项,有关图像表观的能量、正则化约束和一些额外的约束。基于图像的能量计算局部或全局特征。
局部信息的形式通常是一个图像梯度和评估轮廓。全局特征计算对象的内部和外部区域,使用颜色特征或纹理特征。一些只使用图像梯度作为图像的能量。然而,图像梯度对局部极小值是敏感的。Zhu和Yuille提出使用区域信息替代图像的梯度信息,但并没有取得好的效果。
Paragios和Deriche提出使用联合梯度和基于区域的能量。他们通过混合高斯模型对外观建模。轮廓扩展收敛首先在全局执行,然后在每次迭代中局部执行。
基于轮廓的方法的一个重要问题是轮廓初始化。在基于图像梯度的方法中,轮廓通常被放置在物体区域之外并缩小,直到遇到物体边界。这种约束在基于区域的方法中被放宽,以便轮廓可以在对象内部或外部初始化。
Paragios和Deriche使用背景减除来初始化轮廓,没有用到构建的先验区域。
有监督学习
cotraining
对象检测可以通过学习一组不同的对象视图样本,这属于监督学习机制。它不需要存储一组完整的模板。给定一组学习的例子,有监督学习方法生成一个函数映射输入所期望的输出。训练样本是一对对象特征和一个关联的对象类。这两个量都是手动定义的。
特征选择在分类性能中发挥着重要作用。重要的是使用一组特征,它能够区分一个类和另一个类。可以选择不同的特征,如对象区域,对象方向和对象外观等。一旦选择了特征,可以通过选择有监督学习的方法,如神经网络、自适应增强、决策树、支持向量机进行学习。
有监督学习方法通常需要大量的手工标记样本每个对象类。一个可能的方法来减少手工标记的数据量是cotraining监督学习。训练的主要想法是两个分类器利用少量的标记数据学习,其中标记的数据先用于其中一个分类器进行学习,之后用其预测未标记的数据,再将该粗标记数据给第二个分类器进行学习。
cotraining可以提供非常准确的分类规则。它已成功用于减少手动交互所需的训练。
boosting
boosting是一个迭代的方法,找到一个非常准确的分类器,通过结合许多基本分类器,每个可能只是一定程度上的准确。在训练阶段,第一步是建立一个初始分布权重的训练集。boosting机制选择一个基分类器,它有最少的错误。如果选择的基分类器分类错误增加的话,这部分错误的数据的权重增加。上下文中的对象检测,弱分类器可以是简单的运算,例如一组阈值等,应用于从图像中提取对象特征。
Viola等人使用Adaboost算法框架用来检测行人。在他们的方法中,图像特征提取用的是时域运算符和空域运算符的组合。特征提取的操作符是简单的矩形滤波器。
时域中的运算符采用帧差的形式,它对某种形式的运动信息编码。帧差法通过在发生运动的区域中强制执行对象检测来减少错误检测的数量。
支持向量机
SVM通过找到将一个类与另一个类分离的最大间隔超平面来将数据聚类成两个类。最大化超平面的间隔,被定义为超平面和两个类中最近的数据点之间的距离。位于超平面边缘边界上的数据点称为支持向量。在目标检测的背景下,这些类对应于对象类(正样本)和非对象类(负样本)。尽管SVM是一个原本的线性分类器,也可以使用核把支持向量机应用于非线性分类器。内核的应用是对于线性不可分的一组数据,将数据变换到一个高维空间,可能变成了可分的。对核的选择并不容易。它可以是高斯核,多项式核等。
滑动窗口机制
主要思想是将对象检测问题转换成一个二进制分类问题。滑动窗口在图像寻找对象。换句话说,就是在不同的尺度下对图像进行穷尽的搜索。
训练
- 准备大量的训练例子(图片)。其中一些必须包含感兴趣的对象,称为正样本,而另一些则不包含,称为负样本。
- 提取某种全局特征来表示每个直方图/向量训练的样本。
- 将所有特征向量训练算法获得一个分类器,它可以告诉某个向量是否属于某个对象。
测试
- 从一个测试图像裁剪出子窗口。
- 同训练阶段一样,从这子窗口中以同样的方式提取特征向量。
- 将向量分类器做判断这个向量是否代表一个对象。
- 对下一个子窗口重复以上步骤,检查了所有子窗口找到图像中所有对象的位置。
- 第一次遍历后,扩大或者缩小尺度对图像再遍历一遍。一般处理3~5个尺度。
经典方法
Haar特征+Adaboost分类器
Haar特征简单有效。区域的特征值是白色块所有像素的灰度值的总和减去黑色块的总和。由于区域的大小、位置和长宽比都没有限制,所以在一幅图像中有上万个区域可供选择,哪一个是最具有鉴别性的?
采用AdaBoost算法选择最具鉴别性的区域(Haar特征)来训练大量的弱分类器,所有弱分类器的加权和就是最终的强分类器。
Hog特征+SVM分类器
HOG:梯度方向的直方图,计算训练图像中每个像素的梯度,包括方向。连接4个单元格的HOG,形成一个更大的HOG。将训练图像中所有块的HOG连接起来,形成该图像的最终HOG或特征向量。
在测试阶段,从每个子窗口提取特征向量,并由训练后的支持向量机进行分类。
基于部分分块的方法
在通过考虑对象的整体外观来提取全局特征的情况中,当测试图像中存在遮挡时,全局特征通常会失败。基于部分分块的方法人为地分割把对象分成几部分,独立地检测每个部分,然后搜索对象的各部分之间的内在关系。
视觉单词词袋
基于轮廓的方法
物体的轮廓被分割成几个线段,每个线段独立建模。测试图像的轮廓以某种方式与建模对象轮廓匹配,例如控制点对应、倒角距离等等。
缺点:依赖的全局特征,在遇到遮挡情况下会失败。
未来方向
在实际场景中,可能违反诸如运动的平滑性,最小遮挡量,照明恒定性,相对于背景的高对比度等假设。这些限制应用程序,如自动监视,人机交互,视频检索,交通监控和车辆导航。特征选择,对象表示,动态形状和运动估计非常热门。
对于从广播新闻网络或家庭视频获得的视频,它们是嘈杂的,压缩的,非结构化的,并且通常包含通过从多个视图移动相机而获得的编辑剪辑。
对于正式和非正式会议的视频,它们通常在一个小的视场中包含多人。因此,有严重的遮挡。一个可能的解决方案是采用音频(例如,演讲者的音频定位)。
另一个解决方案是上下文信息的集成。
- 例如,车辆跟踪,应该限制车辆的位置路径在路上。
- 一个跟踪器如果能够约束物体的形状和运动通常会表现的更好。
使用特定的特征集进行跟踪也会极大地影响性能。特征最好的是能够区分多个对象,对象和背景。一些跟踪算法使用多个特征的加权组合。在机器学习和模式识别的社区,特征选择算法被广泛地研究。然而,这些算法需要关于目标和背景的离线训练信息。
当物体的外观或背景发生变化时,鉴别性地特征也会发生变化。因此,有必要对鉴别性特征进行在线选择。实现这一目标的一个有前景的方向是使用在线boosting选择特征选择。
大多数跟踪算法使用指定对象表示的模型。提高在线学习对象模型的能力将大大提高跟踪器的适用性。
基于运动的分割和多体分解方法已经被用来学习多物体运动的模型。然而,这些方法假设的是刚体运动。从单一相机中无监督学习对象模型的多个非刚性的移动对象仍然是一个尚未解决的问题。一个有趣的方向是使用semi-supervised学习建模对象的方法。应利用额外的信息来源,例如先前和上下文信息。有方法来集成这些不同的信息来源将生成一个通用跟踪器,可以成功地应用于各种应用程序。
References
- PAUL VIOLA, etc, “Robust Real-Time Face Detection”, International Journal of Computer Vision, 57(2), 137–154, 2004.
- N. Dalal and B. Triggs, “Histograms of Oriented Gradients for Human Detection” , CVPR 2006.
- Bastian Leibe, etc, “Robust Object Detection with Interleaved Categorization and Segmentation”, International Journal of Computer Vision (2008) 77: 259–289.
- D. Comaniciu, V. Ramesh, and P. Meer. “Mean shift: A robust approach towards feature space analysis”, IEEE Trans. on Pattern Analysis and Machine Intelligence, 24(5):603–619, 2002.
- Dorin Comaniciu, Visvanathan Ramesh, Peter Meer, “Kernel-Based Object Tracking”, IEEE Trans. Pattern Anal. Mach. Intell. 25(5): 564-575 (2003)
- Michael Isard and Andrew Blake, “CONDENSATION — conditional density propagation for visual tracking”, Int. J. Computer Vision, 29, 1, 5—28, (1998)
四、密度估计理论和基于像素的背景分割
密度估计
考虑任意具有概率密度函数$f$的随机数量$X$,我们有:
假设我们有一组观察到的数据点假设是来自未知密度函数的样本。我们的目标是根据观测数据估计密度函数。
密度估计有两种方法,参数估计和非参数估计:
- 参数方法假定数据是从一个已知的分布(例如,正态分布中的均值和方差)。
- 非参数方法假设$f$分布的概率密度,然后是用来估计$\hat f$的数据。
直方图
它是最古老和使用最广泛的密度估计。
直方图的区间被定义为$[x_0+mh,x_0+(m+1)h)$,对于$m$个正整数和负整数,$x_0$是原点,$h$是区间宽度。
直方图定义如下:
推广
直方图可以通过允许区间宽度变化来推广,新的估计为:
缺点
- 在聚类分析和非参数判别分析等过程,使用直方图导致低效地使用数据;
- 直方图不是连续的,当需要求导时就会出现问题;
- 初始点的选择可能会有影响的解释;
- 用直方图表示二元或三元变量数据是很困难的。
朴素估计
如果随机变量$X$的密度为$f$,则:
因此,朴素估计量为:
我们将权重函数定义如下:
然后$\hat f(x)$变成:
与直方图的关系:
我们可以认为,估计是通过在每个观测点上放置一个宽度$2h$,高度为$(2nh)^{-1}$的“盒子”,然后将所有这些盒子相加得到估算。
如果$x$恰好位于某个直方图箱的中心,那么朴素估计就是$x$处直方图的纵坐标。
缺点
$\hat f$不是连续的,而是在$X_i \pm h$的跳跃点,而其他地方导数为0。下面的例子可以看到:
核估计
核估计是一个泛化的朴素估计量。
用$K$取代之前的权函数,其中$\int_{-\infty}^{\infty}K(x)dx=1$,且对于所有的$u$,都有$K(-u)=K(u)$。然后核估计表示为:
$h$被称为带宽,它是平滑参数,K是核函数。
带宽$h$的值对密度估计有显著影响:
- $h$趋于0时,密度估计像是狄拉克$δ$函数的和;
- $h$的值比较大时,密度估计会比较模糊和虚假的,图中为$h=0.2,0.4,0.8$
缺点
- 窗口宽度是固定的,在估计的尾部出现假噪声的趋势;
- 如果估计为了要处理这个问题而变得平滑,那么主要部分分布的基本特征可能就会被掩盖了。
最近邻方法
这是一种使平滑适应“局部”数据密度的方法。
平滑度由整数$k$控制,通常$k \approx n^{1/2}$。
我们定义两点之间的距离:$d(x,y)$。
对于每个$t$,我们定义$d_1(t) \le d_2(t) \le … \le d_n(t)$,这是$t$到样本点的距离。
然后第$k$个近邻密度估计量是:
优点
在估计分布的尾部,距离$d_k(t)$将大于主要部分,因此尾部欠平滑的问题将减少。
缺点
- 该估计并不是一个平滑的曲线;
- $d_k(t)$是连续但不可导;
- 如果整个密度的估计是必需的,该估计会是不合适的。
广义$k$近邻估计
可变核估计
$K$是核函数,$k$是正整数。$d_{j,k}$是从$X_j$到其他$(n-1)$个数据点的集合中的第$k$个最近点的距离。 那么可变核估计是:
窗口宽度与$d_{j,k}$成比例。 因此,数据很少的区域中的数据点将具有更平坦的内核。
常用的核函数
多维数据的核方法
多变量核密度估计的定义:
核函数$K(x)$是一个函数,用$d$维的$x$,满足:
通常,$K$将是径向对称的单峰概率密度函数,例如标准的多元正态密度函数:
另一个可能的核是多变量Epanechnikov核:
其中$c_d$是单位$d$维球体的体积:$c_1 = 2$,$c_2 = \pi$,$c_3 = 4\pi/3$等。
对于$d=2$:
对于$d=3$:
基于像素的背景分割
背景减除法是一种广泛使用的概念,用于检测从静态摄像机拍摄的视频中的运动物体。
摄像机静止时,移动物体的检测可以通过用场景背景的表示来比较每一个新的帧来实现。这一过程称为背景减除法,场景表示称为背景模型。
背景减除法过程形成的第一步是自动视觉监视系统和动作捕捉应用程序。背景减除法的结果用于进一步的处理。
基于像素的检测使用背景减除法的一个主要优点是,结果是一个准确地从背景分割的前景区域。
对人类,这个过程给了准确的人体轮廓,可以进一步用于跟踪、姿势和姿态估计等。
这是更可取的基于分类器和基于对象的探测器,主要决定图像中是否是一个边界框或一个区域。
背景模型的挑战
Toyama等人确定了背景模型必须克服的十个挑战的列表,并通过移动的物体,一天的时间,灯光的开关,树木的摆动,伪装,bootstrapping,前景光圈,睡觉的人,行走的人,阴影来表示它们。
光照变化挑战
- 因为白天太阳的相对位置,照明的渐变可能发生在户外场景。
- 突变可能发生在一个室内环境中,因为灯的打开或关闭;或在室外环境中,例如多云,阳光明媚的条件之间的变化。
- 由背景中的对象(例如,建筑物和树木)或通过移动前景对象在背景上投射的阴影。
运动变化挑战
- 由于小相机位移产生的全局图像运动。在室外环境中,由于风荷载或其他运动源引起的小型摄像机位移是常见的,这导致了图像的整体运动。
- 部分背景的运动。例如,树枝随风飘动,或流水荡漾。
结构变化挑战
这些变化引入到背景中,包括任何几何上的变化或由目标引入的场景背景的外观。这种变化通常发生在场景背景中引入一些相对不变的东西(BK对象移除或停车场)时。
其他挑战
另一个基本问题是统计模型的选择。选择合适的模型取决于场景背景中预期的变化类型。这种选择极大地影响了检测的准确性。
在选择特征和统计模型之外,保持背景表示是另一个具有挑战性的问题。
如果之前的观察不是完全来自于背景,即前景对象出现在背景中,问题变得更具挑战性(Bootstrapping)。
均匀彩色物体移动时,内部像素的改变不能被检测到。因此,整个对象可能不会显示为前景(前景光圈)。
统计场景建模
参数背景模型
根据单个高斯模型,噪声分布在给定像素上是一个零均值高斯分布,它遵循$N(\mu, \sigma^2)$。
估计模型的参数变为从历史像素观察中,估计均值和方差。
为了检测前景,这相当于用一个阈值在高斯的尾部截断:
其中,$\hat \mu$和$\hat \sigma$是估计的均值和标准差,$k$是阈值。
更新
这种基本的单高斯模型可以通过递归更新每一帧的均值来保持背景图像,从而适应场景中缓慢的变化(例如渐变的光照变化):
但是,这种更新机制不会遗忘历史,因此,新图像对模型的影响趋于零。
一个更实用、更有效的解决方案是通过指数遗忘递归地更新模型,即
参数$α$控制遗忘旧的背景信息的速度。更新方程是一个有增益系数$α$的低通滤波器,有效地分离了缓慢的时间过程(背景)和快速过程(移动的对象)。
处理动态背景:混合高斯模型GMM
在户外环境中移动的树木和灌木,场景背景并非完全静态的。
单高斯模型假设像素强度的概率密度函数不会发生变化。
基于混合高斯模型的泛化被用于这样的变化。
像素的强度由$K$个高斯分布的混合建模(K是从3到5的小数字)。
加权混合,某个像素在时间$t$具有强度$x_t$的概率估计为:
其中,$w_{i,t}$,$\mu_{i,t}$,和$\sum_{i,t}=\sigma_{i,t}I$分别是$t$时刻第$i$个高斯混合成分权重,均值和协方差。
且
分布的参数是递归更新的。
根据现有的$K$个高斯模型检查新的像素值,当找到匹配时,该分布的权重更新如下:
其中$M(i,t)$是指标变量,如果第$i$个成分匹配则为1,否则为0。 匹配分布的参数更新为:
参数$\alpha$和$\rho$是两个学习率。$K$个分布基于$w_j/\sigma_j^2$排序,前B个分布被用作场景背景的模型,其中$B$被估计为
阈值$T$是赋给背景模型的总权重的分数。通过将距离任何$B$个分布多2.5个标准偏差的任何像素标记为前景像素来执行背景减除法。
非参数化背景模型
给定密度分布函数$p(x)$的一些样本$S=\{x_i\}_{i=1,…,N}$,关于$p(x)$的密度估计:
其中$K_\sigma$是核函数,有时也称为窗口函数,其带宽(尺度)为$\sigma$,且有$K_\sigma(t)=\frac{1}{\sigma}K(\frac{t}{\sigma})$。核函数$K$应该满足$K(t) \ge 0$且$\int K(t)dt=1$。
为避免必须通过加权样本的子集来存储完整的数据集,如下所示:
其中,$\alpha_i$是总计为1的加权系数,而$B$是一个采样子集。
这个估计可以推广到使用高维特征通过使用核乘积为:
其中,$x_t$是$t$时刻的$d$维的颜色特征,$K_{\sigma_j}$是带宽为$\sigma_j$在第$j$个颜色空间维数的核函数。
怎么检测前景像素?
利用这种概率估计,如果$$,该像素被认为是前景像素,其中阈值$th$是一个所有的图像的全局阈值,可以调整达到预期的false positives百分比。
缺点:速度慢
在给定强度值差$(x_t-x_i)$和核函数带宽的情况下,可以使用预先计算的核函数值的查找表以非常快的方式计算概率估计。
对等式中的和的部分评估通常足以超过大多数图像像素的阈值。
改进
由于随机噪声和小的运动背景,需要抑制一些虚假检测。
$x$的附近我们可以考虑消除许多虚假检测:
为了避免丢失可能意外与背景相似的真实检测,添加了一个约束,即使用整个被检测到的前景对象和被检测到的连接组件的概率:
只有在以下情况下,检测到的像素才会被认为是背景的一部分:
更新模型
模型的自适应可以通过添加新样本和忽略旧样本来实现。
使用核密度估计方法时需要解决的一个主要问题是选择合适的核带宽(尺度)。(当样本数量趋向无穷大时,对带宽的选择是不重要的;当数据量小时,带宽的选择非常重要。)
改进
KDE背景模型的缺点之一是要求为每个像素存储大量的历史样本:
- Piccardi和Jan提出一个高效的均值漂移方法均值漂移估计一个像素的模式的历史PDF的高斯函数用于PDF模型。
- Han等人提出了一个连续核密度估计方法,其中可变带宽mean shift被用来检测密度模式。
一些方法可以自适应地估计大量的模式来表示密度,因此保持了非参数模型的灵活性,实现了参数化模型的效率:
- 快速高斯变换提出了KDE的有效计算。然而,快速高斯变换仅适用于密度估计所需的大量样本。KDE用于像素级别以及区域级别或域范围表示中以模拟场景背景。
移动的阴影抑制
- 静态对象的阴影通常可以在背景进程中进行调整。
- 移动物体的动态阴影构成前景分割的挑战。
- 附在轮廓上的阴影会在贴合肢体和估计身体姿势时出现问题。
- 半影阴影可以通过较低的强度值来表征,同时保留背景的色度,即消色差阴影。
- 关于检测阴影的大多数研究都集中在消色差阴影上。
一个像素的亮度是RGB通道的线性组合,这里记为$I$:
当物体在像素上投射阴影时:
$α<1$是影子,$α>1$是高亮。
我们假设由阴影引起的像素亮度变化对三个通道的影响是相同的。因此,观察到的颜色是$αR$,$αG$,$αB$。
我们的目标是消除$α$因子,这样颜色空间有阴影不变性和高亮不变性。
归一化rgb:只有两个坐标足以表示色度,因为$r + g + b = 1$,$α$因子对它们没有影响。
色度变量$r$、$g$在阴影下不会发生变化,$s$在一定范围内变化,与场景中预期的阴影和亮点相对应。
另一类阴影抑制算法是依赖图像梯度来模拟场景背景的方法。想法是背景中的纹理信息在阴影下是一致的,因此使用图像梯度作为特征,这样除阴影边界外,投射阴影将不变。除色度模型外,它们还使用背景边缘或梯度模型来检测阴影。
移动摄像头的背景减除法
场景背景采用基于区域的表示可以适用于某种程度的相机运动,而不是像素级表示。
Sheikh等人使用仿射分解来开发移动相机背景减除法的框架:
- 使用仿射因子分解对稀疏图像特征的轨迹进行分割。
- 通过估计轨迹基础来维持背景的稀疏表示。
- 然后使用KDE从稀疏特征模拟背景和前景的外观。
- 最终用马尔可夫随机场(MRF)用于分配标签。
如果相机运动是没有平移的旋转(或接近零基线),则可以通过单应性来建模相机运动,并且可以使用图像镶嵌方法来构建背景模型。
References
- “Density estimation for statistics and data analysis”, B.W. Silverman, 1998, London: Chapman & Hall/CRC.