用于自动表征一个或多个对象的行为的方法

文档序号:6570636阅读:219来源:国知局
专利名称:用于自动表征一个或多个对象的行为的方法
技术领域
本发明的实施方式涉及 一 种用于自动表征对象行为的计算机实 现的方法。
背景技术
对果蝇黑腹果蝇的求偶行为的详细分析是科学研究领域中常用 的主要行为示例。在研究中,其被用以向我们提供神经元功能的指示。 与实验室中和野外测量的其他行为 一 样,这包括由经过训练的专家人 员进行的耗时且有些主观的手工评分过程。这显然是一个高代价且不 可靠的过程,在现代研究中希望将其最小化。
例如,WO 02/43352 ( Clever Sys )描述了如何使用视频对对象行 为进行分类。专家必须首先定性地和定量地标识和分类标准对象的各 种行为,例如,老鼠的行为可以包括站、坐、躺、正常、反常等。 这是一个耗时的过程。在分析新的视频剪辑时,系统首先获取视频图 像背景,并且使用它来标识前景对象。对前景对象的分析可以在特征 空间中逐帧进行,其中特征包括质心、对象的主定向角、面积等。使
此方法的自动行为分析具有很多限制,并且期望解决这些问题, 以便如本发明概述的分析活动有机体或者其他移动对象的行为。
要解决的第 一个问题是如何有效地标识适当的简化时空数据集, 其中,可以将对象的视频序列简化到该数据集中,以便表征其交互。
第二个问题是在一个对象可能至少部分地遮挡另 一对象时如何 使用计算机在任意时刻自动地标识各个对象
发明内容
根据本发明的 一 个实施方式,提供一种用于自动表征对象行为的
方法,包括处理对象数据以获取数据集,该数据集随时间记录针对 每个对象的测量参数集;提供学习输入,其标识对象的测量参数集何 时与行为相关联;结合学习输入来处理数据集,以确定在参数集的哪 些参数上的相应值的范围表征行为;以及发送标识在参数集的哪些参 数上的相应值的范围表征行为的信息,以便在使用所述特征参数及其 特征范围来处理第二对象数据并且自动标识行为何时发生的过程中 使用。
这支持使用机器学习技术的动态表征,并且消除了对任何特定行 为的预定义模型的需要。
结合学习输入的数据集的处理动态地确定在参数集的哪些参数 上的相应值的范围表征了行为。由此,表征参数可以在处理期间动态 地改变,并且其不是预定的。
学习输入仅需要标识行为何时发生。由此,专家的责任仅在于专 家应当指出行为何时发生。专家不必确定他们为什么认为行为发生。 由此将对行为分类的责任从专家身上转移到了处理步骤。
对象数据可以是一个或多个视频剪辑。可选地,对象数据可以是 随时间记录一个或多个对象的动作的其他数据。例如,其可以包括每 个对象的全球定位系统(GPS )坐标的序列。行为可以是移动对象(诸
如生物有机体)的交互。
结合学习输入来处理数据集以确定在参数集的哪些参数上的相
应值的范围表征交互可以包括使用学习系统,例如但不限于基因算 法。
基因算法中使用的染色体可以包括用于测量参数集中每个参数
的基因,其可以打开或者关闭。基因算法中使用的染色体可以包括指 定表征交互所需的参数簇(cluster)的数目的基因。基因算法中使用 的染色体可以包括指定评估染色体健康度(fitness )的时间段的基因。
间,以及将参数空间划分为多少簇。可以使用位于簇内的数据集的子集与交互所关联的数据集的子集的相关程度来确定染色体的健康度。
根据本发明的一个实施方式,提供一种跟踪一个或多个对象的方 法,包括处理第一数据,以标识满足第一准则或第一标准的连续数
据值的离散第一群组;处理第二后续数据,以标识满足第二准则或第 二标准的连续数据值的离散第二群组;在第 一群组和第二群组之间执 行映射;使用映射来确定第二群组是代表单个对象还是代表多个对 象;在确定第二群组代表单个对象时,测量第二群组的一个或多个参 数;在确定第二群组代表N (N>1 )个对象时,处理第二群组,以将 第二群组分解为满足第二准则或第二标准的连续数据值的N个子群 组;测量子群组的一个或多个参数;以及将多个子群组映射到多个对 象。
该方法将所有的社会和个体行为作为对象交互进行分类。使用了 一种针对所有行为类型的方法。
由于个体可能包含多个组件对象,则可以构建场景中的对象图, 例如,场景可能包含两个对象,每个对象由头对象和身体对象组成。 这允许创建对象的层次,并且允许通过另一对象的组件或者完整对象 自身的组件来检查完整对象的交互以及组件对象的交互。由组件对象 构成的完整对象继承了组件对象的所有属性,并且可以具有附加特 性,如果给出完整对象的对象类型(例如,老鼠,苍蝇),则可以定 义该附加特性。


为了更好的理解本发明,现在将仅通过示例的方式来参考附图, 附图中
图1A示意性地示出了跟踪系统;
图1B示意性地示出了处理系统110;
图2示意性地示出了跟踪过程;
图3A和图3B示出了像素值的标记;
图4示出了从跟踪过程输出的数据结构;以及图5示意性地示出了设置和行为评价过程。
具体实施例方式
图1A示出了适于执行图形捕获和分析的跟踪系统10。 该系统包括视频相机2,存储器緩冲器4,其用于在将相机提供 的视频图像传递给处理器6之前对视频图像进行缓冲。连接处理器6 以从存储器8读取和往存储器8写入。存储器8存储计算机程序指令 12。当计算机程序指令12加载入处理器6时,其控制系统10的操作。 计算机程序指令12提供使电子设备能够执行图2中所示方法的逻辑 和例程。
计算机程序指令可以经由电磁载波信号达到系统10,或者可以从 物理实体(诸如计算机程序产品、存储器设备或者诸如CD-ROM或 DVD的记录介质)被复制到系统10,或者可以远程服务器传送到系 统10。
下文描述的跟踪系统10已经针对在远程位置的使用而设计。由 此,期望该系统具有输出端口 14(诸如无线收发机),以用于经由低 带宽传输来传送数据结构40。还可以期望该系统实时操作,并且由此 可以期望降低处理器6产生数据结构40所需的计算量。
输入文件格式3是^L频文件或者一见频流。所选择的颜色方案可以 是RGB、 YUV、 YCC。
实现了帧丟弃。如果预期的帧数小于实际的帧数,则将命令忽略 下一帧。这允许程序跟上流,并且避免损坏。然而,在丟弃帧时,其 导致视频连续镜头(footage)的跳跃,这将在跟踪时产生问题。为了 解决该问题,当命令丢弃帧时,存储该帧并且不进行处理。在连续镜 头结束处,处理所有丟弃的帧,并且可以将结果插入结果数据。
图1B示出了适于执行图5所示的数据设置和行为评估的处理系 统110。
该系统包括处理器106,其连接以从存储器108读取和往存储器 108写入。存储器8存储计算机程序指令112和数据结构40。当计算机程序指令112被载入处理器106时,其控制系统110的
操作。计算机程序指令112提供使电子设备能够执行图5所示方法的
逻辑和例程。
计算机程序指令可以经由电磁载波信号到达系统110,或者可以 从物理实体(诸如计算机产品、存储器设备或者诸如CD-ROM或DVD 的记录介质)被复制到系统110,或者可以从远程服务器传送到系统 110。
系统110还包括用于与系统IO通信的无线收发器,以接收数据 结构40,处理器106继而将数据结构40存储在存储器108中。
处理器106还连接至输入装置101,其他数据可以经由输入装置 101进入系统110。
尽管图1A和图1B中将系统10和110示为分离的实体,它们在 其他实施方式中可以集成。
图2中示出了跟踪过程20。提供给滤波阶段22的输入21可以是 视频文件或者视频流。在后一种情况下,将来自视频相机存储器緩冲 器的输出提供给滤波器22。
在阶段22,对图像进行滤波,以便使用巻积来去除某些噪声。核 (kernel)迭代地通过整个图像,并且计算核在每个位置所覆盖的像 素的力口斥又和。
下一阶段24包括阈值化(也称为量化)。这将图像中感兴趣的 像素(前景一个或多个对象)从背景中分离出来。这是将输入图像简 化为二值图像的过程(二值化)。针对阈值T来检查每个像素(i,j), 并且如果像素的值大于T,则赋予其"真"值,如果像素的值小于T, 则赋予其"假"值。
<formula>formula see original document page 11</formula>
有多种方法可以获取T值,在此将讨论其中的一些。
平均阈值是最筒单的阈值化形式,其包括计算所有像素值的平均并且从中去除某常量C。
其中N是图像中的像素总数。这种方法的优点在于其非常快,但是其 对于图像上的光强变化不鲁棒。
在适应性阈值中,窗口在图像上迭代地通过。在每个位置,计算
该窗口内所包含的像素的平均值,并且减去常量C以给出阈值。
其具有以下优点图像上可以存在光强变化,并且将在整个图像 上一致地标识对象。缺点在于当所检查的像素数目很多时,其非常
十^^
当在恒定背景上进行试验时,可以使用背景去除。将没有前景对 象的背景的图像作为B,将该图像与可能包含前景对象的当前图像结 合使用。在这种情况下,背景图像将是测试区域,并且其他图像将是 连续镜头的每 一 帧。以逐个像素为基础将背景图像从当前图像中减 去。其效果是创建了仅包含前景对象的新图像。
可选地,如果背景改变(例如,被安置在家笼试验中),则可以 使用背景消除。这是取得每第N帧并且使用采样帧来构建帧集的过 程。帧集具有固定的大小,并且在添加新帧时,按照先进先出的顺序 删除旧帧。当在帧集上对像素值进行平均时,删除了移动对象,由此
保留了平均背景。
伪适应性阈值化是新颖的阈值化技术。该方法将大小为(hxw)的 图像划分为多个大小为(h/q(N))x(w/q(N))的窗口 N,继而将这些窗口 中的每一个视作单独的图像,并且在子图像内应用平均阈值化。由于 子图像小于原始图像,并非如上文所述的使用平均阈值化,而是在每 个子图像中选择k个随机像素,并且对这些值进行平均以生成阈值(减 去常量)。<formula>formula see original document page 13</formula>
该算法对于遍及图像上的光变化操作良好,并且窗口的最佳数目 是9到16之间。
适应性阁值化也操作良好,并且被分类为前景像素的背景噪声的 量可以非常小,然而,其是耗时的。如果不希望为了速度而损失精度, 则适应性阈值化是优选技术。然而,在可变光照的条件下,适应性阈 值化是优选的,而在恒定光照的条件下,平均阈值化是优选的。
下一阶段是图像净化(cleaning)阶段26。图像净化是去除在之 前的图像处理之后可能保留下来的任何噪声。在图像净化过程之后, 图像中将仅留下较大的刚性(solid)区域。
腐蚀是这样的过程其迭代地在整个图像上取得像素的邻域(该 像素周围的像素),如果邻域内的"真"像素数目小于阈值,则将该 像素设置为"假,,。其效果是从对象中去除了毛刺(spur)和突出, 并且还去除了少量噪声。如果两个区域几乎接触,则其具有将其分离 开的效果。其缺点在于丟失了前景对象的边缘细节。
膨胀是腐蚀的逆。如果邻域中的"真"像素数目大于某阈值,则 将该像素设置为"真"。其效果是填充前景对象中的空洞以及平滑边 缘。然而,其也可能增加实际上是噪声的小区域的大小。
腐蚀和膨胀可以一起使用,以平滑前景对象的边缘,并从图像中 去除不希望的小区域。
已经发现,当滤波器22执行平均巻积时,使用膨胀操作符是冗 余的,因为它们提供大致相同的效果。
下一阶段是像素群组检测,即阶段28。在这种情况下,将像素群 组定义为与对象或者对象的重叠群组相关的、图像中前景像素的连续 区域。标识像素群组,并为其指派唯一的标记。下面的算法递归地纟企查 每个像素的(4-8连通)邻域,以确定是否已经为任何邻居指派了标
记。如果还没有指派,则将当前标记指派给像素;如果已经指派,则 算法将标记设置为相邻标记的最低。
由此,如图3B中所示的标记图3A中所示的l象素。图3B示出了 三个不同的像素群组。
偶尔在二值图像中留下了不是前景对象的像素群组。对允许对象 的特征(例如,面积和/或偏心率)设置上界和下界。代表前景对象的 像素群组总是落在上界和下界之间。在像素群组检测和标记过程中, 忽略特征范围之外的任何像素群组。
像素群组检测阶段返回在当前帧中已经检测到的像素群组的列
表,尽管由于遮挡这可能不是帧中的所有对象。 下一阶段是遮挡事件检测,即阶段30。 将像素群组的边界定义为包围或者围绕该群组的区域。 边界可以是真实的包围框,诸如由像素群组的最上点、最左点、
最右点和最下点定义的简单矩形。这种方法的优点在于,其计算非常
快。然而,这不是像素群组的形状或者区域的良好表示,并且可能包
括相当的背景区域。
从其主轴和朝向的角度看,边界可以是经过拟合的上述包围框。
这种方法的优点在于所需计算仍然很简单,并且结果矩形通常仅包
含较小比例的背景。
边界还可以是最佳拟合像素群组的拟合边界,诸如椭圆或者多边
形。例如,可以使用标准优化技术找到包围像素群组的、具有最小面
积的椭圆。然而,所需的计算是复杂的,并且计算需要相当大量的时
/ftfe.( = G
■for each :pii:d G始7.1m邵e dc, if %力=true间。
可选地,可以使用主动轮廓模型来将边界拟合至像素群组。拟合
像素群组边界的另一方法是使用标准边缘检测例程(诸如Sobel滤波 器)提取边缘,此后在所提取的边缘上进行线段化,提供线的多边形 表示。 一种线段化技术是挑选线上彼此相对的2个点(A, B),并 在这两个点之间创建向量。当此线上距离向量最远的点C超过某阈值 T时,则将向量分裂为两个(AC, CB)。迭代地执行该过程,直到 所提取的表示中不再有点远于T。
尽管遮挡事件检测通过利用对象的边界标识了遮挡的开始和结 束,其他对象属性(下面列出了其中的一些)提供了用于在遮挡期间 管理对象跟踪的框 架。
标记这是对象的全局唯一标记,其随时间标识对象。也即, 标记随时间保持相同。
x, y:该对象的x和y坐标。
面禾口、 ^f象面禾口、
角度对象角度
矩形对象的边界
包含包含当前与检测到的对象相关联的唯一标记的列表,或 者在其中不包含其他标记的情况下是其自己的标记。
被包含表明该对象是否被包含在另一对象的包含列表中的布 尔才示志。
可能可能被包含在此对象中的唯一标记的列表。其被用以处 理对包含多于两个对象的边界进行分裂所引起的模糊。
可以使用的其他属性,该其他属性包括但不限于偏心率、速度、 加速度、不同维度的大小。包含列表和可能列表还可以具有相关联的 概率,例如,组件对象被包含在父对象中的某个概率。
可以通过使用与场景中的N个组件对象相对应的N个Kalman滤 波器来扩展遮挡期间的对象跟踪。给定对象的信息历史,Kalman滤 波器将给出当前帧中其信息的概率值。这可以在决策进行过程中使用,以便在发生大量合并和分裂操作时或者在帧间存在大量运动时改 进系统的可靠性。
Fuentes和Velastin提出的算法("People Tracking in surveillance applications", 2nd IEEE International Workshop on Performance Evaluation on Tracking and Surveillance, PETS 2001 )尝试在帧之间匹 配边界的包围框。使其起作用的假设是与时间运动相比,空间运动 较小,也即,在连续的帧中,包围框之间总是存在重叠。
如果定义两个连续帧f(t)和f(t-l),则二者都可以包含不同数目的 边界(将遮挡考虑在内),也即,边界可以包含一个或多个对象。两
个帧之间的对应关系由 一对匹配矩阵m;-'和m,'一,来定义。
矩阵m,"将来自当前帧的边界匹配至先前帧的边界。该矩阵具有
N个有序行和M个有序列,其中N代表当前帧中的边界数目,并且
M代表先前帧中的边界数目。行中的一个或多个"真"值表示与该
行相关联的当前帧的边界映射到与"真"值的一个或多个位置相关联
的先前帧的边界。
匹配串《'是向量的单个行,其中每个向量代表时刻f处帧中的边
界,并且都针对该对象,每个向量代表在时刻处帧中相关联的对
象。由此,在时刻t处在对应于特定边界的位置出现多值向量表示多
个对象已经合并以形成该对象,并且向量标识组件对象。在多个位置
出现相同的向量表示由该向量所标识的边界已经分裂。此外,在行中
出现多个"真"值表示边界已经随着时间分裂为多个对象。 使用匹配串,可以定义以下事件
合并i)UB '(i—丄)三BW) " 1《一i(i) - St丄 ') = /e. > ,9广1(。=幻j ]
(417)
分裂S^— i) ; A(i)U玩.(fO " [力:)=j'UA' 、力)=《一1(》)- i J
进入新屮[StA)一iVj,5'r力)-0] (4.19) 离开^(卜'l)s离开"['5THj)—的 > 《"0 = M (4.20) 对应郞—1)=柳"= j , O = i) (4,21)
这些采用Fuentes和Velastin工作(2001 )的形式的才乘作允许在对象 进入或者离开时以及在边界与另一边界一对一匹配时检测遮挡何时开始或者结束。
由此,另一事件可以定义为
不匹配S 不匹配<formula>formula see original document page 17</formula>
这声明了如果对象正在离开和进入相同的帧,则这实际上是较差的
视频连续镜头引起的错误,并且对象相互匹配,因为这比对象进入或
者离开连续镜头更有可能。
在遮挡事件检测(阶段3 0 )中,首先计算当前帧的对象的新边界, 继而通过计算该帧中的对象边界与先前帧中的对象边界之间的重叠, 来生成匹配矩阵和匹配串。随后创建事件列表,并且对于这些事件, 在阶段32中执行相应的操作,以生成每个对象的附加信息。从单对 象像素群组中提取信息的过程34不同于从多对象像素群组中提取信 息的过程36。
在阶段32,更新对象。然而,所执行的更新操作取决于在阶段 30检测到的事件。
下面描述所允许的各种阶段32事件。可以为每个事件指派多个 事件何时对于对象或者对象集而言是可能的概率,可以通过检查事件 的历史和事件之间的关系来指派每个事件的概率。贯穿当前或者先前 数据集的持续期间,可以对其进行硬编码或者学习。
OneOnOne(A, B):这声明,来自先前帧的对象A匹配当前帧中 的边界B。
如果对象A的包含列表变量仅包含一个条目,则将A的标记复 制到B的标记中。可以对对象B ^丸行像素群组分析方法34,以获iF又 但不限于角度、面积和位置。
否则,如果包含列表变量具有多个条目(存在连续的遮挡),则 将A的包含列表和可能列表变量复制到B,并且执行遮挡信息生成方 法36,以获取像素群组中每个对象的角度和位置信息。从先前帧中的 相应对象继承每个被包含列表对象面积,也即,并不尝试计算被遮挡 对象的新面积。 合并(Merage) ([A,B], C):这声明,来自先前帧的对象A和B 合并,以形成当前帧中的边界C。
如果已经检测到了合并,则结合A和B的包含列表变量(合并可 以包括多于两个对象合并)。这创建了边界C的包含列表变量,其代 表合并对象(由于边界A或者B可能具有被包含的不止一个对象)。 接着使用遮挡信息生成方法36来针对C的包含列表创建角度和位置 信息,并且将该信息与相应的先前数据相匹配。
,人先前帧继7 义每个对象面积,也即,并不尝试计算被遮挡对象的 新面积。将每个合并对象的被包含的标志设置为"真"。
分裂(Split) (A, [B, C]):这声明,来自先前帧的对象A已经 从单个边界分裂为当前帧中的对象B和C。
在检测到分裂时,将A中包含的对象总数定义为S(a),并且将A 分裂为的对象数目定义为N(s)。现在假设一个分裂,这样,假设B包 含(Sa-Na)个对象,并且假设C包含一个对象。C将其"可能"对象 变量设置为B的包含列表。
对于每个分裂对象,使用遮挡信息生成方法为B和C指派对象, 并且匹配至先前凄t才居。
如果对象A分裂为B和C但是对象A的包含列表变量没有包含 覆盖该分裂的足够条目,也即(Sa<Ns),则参考对象A的可能变量。 可能变量的大小是P(a),促进分裂所需的额外对象的数目是(Ns-Sa)。 从对象A的可能变量中选择(Sa〈Ns)个条目,并使用其来"补足数目"。 继而从来自先前帧的所有其他对象的可能列表以及包含列表变量中 删除这些条目。继而如先前概括的完成分裂。最后,每个分裂对象将 其被包含的标志设置为"假"。
下面给出分裂操作的伪代码{or<£wed.<7forest = FTNDCLOSEST(^A,poss《We, Sp^:*" "!-) cl o {:4 ,con* . :ns. acM( eredC'Z oses* ('£))
for : — 0 t,o (6U — iNrs—)
d o (5'fW:'i力故i.5"(《〕).da《ns ,a4.contft《ns (o 、 tiere cZCfZo se (《))) for《"(5U — iVs) to iVs
C o Sj》〖樹《考(《)= Sj 故始ig (0). cxmia《ns for each s G ,SpH始:rr,g
离开(Leave) (A):来自先前帧的对象A已离开。
如果已经检测到了对象A离开,则将在其可能列表中、没有在任 何其他对象可能列表中的任何条目添加到所有其他对象可能列表。这 涵盖了对象A实际上包含多于一个对象的情况。
进入(Enter ) (A):当前帧中的边界A是新的。
如果边界A被检测为进入,则为其指派新的标记,并且执行像素 群组分析方法34,以获取其面积、位置和角度以及多个其他参数。
如果边界A实际上包含多于一个对象,则当其分裂时,将发现包 含列表和可能列表变量中没有足够的条目。在这种情况下,将分裂对 象视为新的。
不匹配(NoMatch) (A, B):来自先前帧的对象A与谁都不匹 配(正在离开),并且当前帧中的对象B与谁都不匹配(是新的), 因此,由于4交大的空间运动,々"殳A和B相互匹配。
如果已经没有检测到匹配,则找到没有匹配的来自先前帧的所有 对象B(p)以及没有匹配的来自当前帧的所有对象B(c),并且使用其中心点和最佳拟合算法将其指派给彼此。如OneOnOne匹配中一样,将 信息从每个匹配的先前对象复制到当前对象。
豫;^^1^^^^才法34
该方法是可以用来获取包含单个对象的像素群组的位置、面积和 角度信息的多种方法之一的示例。当已经在图像中标识并标记了像素 群组时,必须提取所需的属性。可以通过对属于对象的像素的x和y 位置求和并且除以面积来简单地找到位置。这给出了对象的平均x和 y位置。可以使用线性参数模型或者基于向量的方法来找到角度。
线性参数模型是求解回归问题的 一种方法,其试图将线性模型拟 合至采样数据集。这种方法的优点在于,其给出了对象朝向的非常准 确的估计。缺点在于,与向量方法相比,计算所花费的时间较高。
基于向量的方法简单地假设对象从头到尾长于从侧面到另 一侧 面。首先找到中心,然后计算离中心最远的点。使用这两个点之间的 向量来确定对象的朝向。
遮祟7^感^成才法56
其用于获取包含多个对象的像素群组中每个对象的位置和角度"息。
伪代码是
算法B,4.1: CKX^lN^G"EN(n,只ece)
" .ea.m = KME.,4NS(He《10〗 for eacti附7- €.'爪eans
do / = KINDF冊THESTPorNTFROM(m(i) > i 忍ct)
a s' s' :炉meti亡=b estF it 》)
首先,将对象数目定义为对象A的包含列表的长度C(a)。在二值 图像上,在对象A的边界内执行K^Length(C(a))的K-Means ( K均值 算法)。这生成了被包含对象的中心点(平均)P(n)。接下来,对于对象A中的每个点P(n),找到对象内距离P(n)的欧氏平方距离最长的 点D(n)。最后,使用最佳拟合指派方法将所有P值指派给D值。P 值和所指派的D值之间的向量的方向提供了角度数据。
现在,我们具有了针对已知为包含在边界A中(以及由此包含在 边界B中)的N个对象的数据,必须将所计算的数据匹配至来自先 前帧的对象B中包含的数据。根据所计算的中心之间的平均距离,这 可以通过两个方法之一来实现。首先,如果所计算的中心之间的平均 距离超过了某阈值T,则可以使用最佳拟合匹配算法将来自先前帧的 相应中心点匹配至当前帧。当平均距离小于T时,需要诸如alman滤 波器的预测方法。
来自阶段32的输出是诸如图4中所示的数据结构40。对于视频 的每个帧,其包括针对每个对象的条目。针对每个对象的条目包含信 息字段。
如果可以确保,贯穿数据集的每个帧中的对象数目是常量,则进 入和离开操作必定是错误引起的。因此,引入冲突解决例程作为事件 检测阶段30的部分是有益的,由此,可以通过不匹配事件来替代进 入和离开事件。在错误修正的最初一轮之后,继而对经过滤波的事件
进行分析,以查看是否可以解决所有不匹配(也即,先前帧和当前帧 中是否有足够的对象来满足所有操作),如果不可以,则删除无法满 足的操作。
而且,该过程也可以是盖然性的,其中,假设存在冲突,则在给 出关于冲突操作中所涉及对象(例如,来自Kalman滤波器)的预测 信息的过去经验和可用信息的情况下可以为解决该冲突的操作指派概率。
来自跟踪过程20的输出(即数据结构40)可以在执行该跟踪过 程的位置进行处理,也可以乂人该位置远程进行处理。》类评錄炎凝
跟踪过程20产生的数据结构40被用以重构对象的交互。专家通 过标识他们认为其期望的行为得到满足的连续镜头时段,来与注解器
(annotator)交互。将专家分类与来自数据结构40的相应参数值一 起存储在日志文件中。日志文件是参数和值的已标记数据集(满足或 者不满足行为)。行为学习算法使用日志文件来生成对应于专家分类 过程的规则。
存》夢^^法
假设存在可以根据与一个或多个对象的某些行为相互联系的对 象的交互而测量的某些参数。有可能无法根据连续镜头的单个帧来标 识行为,因为这些行为可能在有可能进行分类之前的时段被展示。如 果存在定义n维空间的n个参数,则假设表征特定行为的不同方面 的数据点将形成不同的簇。每个簇可以是n维空间中的体积,或者是 某些m维子空间的体积(volume)。每个蔟代表针对所研究行为的特 定方面的4于为^见则。
图4中所示的过程50的对象将接收流式数据结构40,并且实时 确定是否发生了预定的行为,如果是,则确定该行为涉及哪个或者哪 些对象。
设置过程52首先将行为的方面表征为不同的"行为"体积。行 为体积可以跨越其自己的n维空间的m维子空间。
评估过程54继而处理接收到的参数,以确定其是否落在行为体 积之内。如果是,则将认为接收的参数所代表的情况对应于该行为。
皮J诚
设置过程52将行为的方面表征为不同的"行为"体积。行为体 积可以3,越其自己的n维空间的m维子空间中。用于该方法的多个维 度降低过程包括但不限于基因算法、主成分分析、盖然性PCA以 及因素分析。在基因算法的情况下,过程生成可能解的群体,每个解由基因的 染色体定义。染色体被定义为一组测量参数基因以及一组在基因算法 中控制健康度评分过程的基因。基因算法通常针对较好拟合的基因仿 真较长的寿命,并且还仿真提高的繁殖的可能性。还可以允许一些基 因突变。
控制评分过程的基因例如将簇的数目C规定为整数基因,并且将 检测行为的时段F规定为整数基因。测量的参数基因可以是能够打开 /关闭的布尔基因。
基因算法的优点在于无需预先判断哪些测量参数进行聚类或者
其如何进行聚类来表征所研究的行为,或者应当评估行为的时段。基
因算法本身将解决这些问题。
在基因算法的每次迭代中,从群体中随机选择(或者使用竟争选 择)染色体,并且随机执行三个操作之一。
.选择将染色体移动到未改变的中间群体
突变随机地改变染色体中的一个值,并且将其移动到中间群体 交叉选择两个染色体,并且沿着染色体的长度随机挑选点,并 且在分裂点之后交换两个染色体的所有的值。这生成了两个孩子和两 个父亲。从这些孩子和父亲中挑选多个以通过中间群体。具有最高健 康度的两个结果染色体可以例如进入中间群体,并且丟弃其他两个。 在每次迭代的结尾,评价中间群体中的每个染色体的健康度。 使用来自专家分类阶段的日志文件51为每个染色体解指派健康 度记分。在可能的解染色体中,被打开(也即,具有"真"值)的b 个测量参数基因定义由所测量参数定义的n维参数空间的b维子空 间。
专家日志文件记录有n维空间中的数据点以及专家是否认为每个 数据点位于行为期间,该专家日志文件被用来形成跨越n维参数空间 的b维子空间的C个簇。例如可以使用高斯分布或者扩展K-means 或者C-means ( C均值)算法来执行聚类,但是不限于这些聚类方法。
高斯聚类将概率的"粒子(blob)"拟合到数据空间中,允许给予点其属于存在的每个高斯分布的概率。这在分类情况下可能是有益 的,但是如果数据点落入任何高斯分布,其将被分类为行为。还是通 过高斯分布,必须确定置信区间,以便给出对可能导致复杂化
(complication )的数据的最佳拟合。
K-Means算法是使k个均值拟合n个数据点的一种方法。最初, 随机地将数据集中的点指派到k个集合之一中,并且计算每个集合的 质心
继而对每个点进行迭代,并且根据欧氏平方距离来计算距其最近的质 心。将每个点指派到与最近质心相关联的集合中。
在每次迭代的结尾,重新计算集合的质心。继续该过程,直到经 过了预定数目的迭代,或者直到在迭代期间没有重新指派。下面给出
伪代码
算法 .Bsais KMEANS(dofe,seHi,沐s)
<formula>formula see original document page 24</formula>K-means仅使均值拟合数据点,但是可以对其进行扩展,以给予 每个均值包围框,并由此使其成为簇。其实现是通过检查属于特定 簇的所有点(也即,其到该点的最近均值)并且通过在每个维度中检 查到该簇中的均值最远的点来创建包围框(在两个维度中创建,在三维空间是立方体,在更多维空间中是超立方体)。这在每个维度中生 成一组阈值。忽略距离均值过远(用户通过阈值T定义)的属于蔟的
任何点,以补偿数据集中的异常值(噪声数据)。继而将簇定义为n
维空间中的中心点以及每个维度中的容差。该容差是阈值,其表明参 数集的实例可以距离已定义中心点的其落入簇以及可被分类为行为 方面的最大欧氏距离。
可以添加阈值T,作为基因算法中使用的染色体的基因。此外,
也可以按照这种方式来学习分类的时间关系,并且在分类或者后处理 中对其加以-使用。
继而使用所定义的C个簇来评估日志文件。将落入所定义簇C的、 来自日志文件的每个数据点标记为展现行为,并且将没有落入任何所 定义簇C的每个数据点标记为没有展现行为。
用于染色体的健康度函数在逐帧的基础上基于在数据的过去F帧 上的求偶行为的算法分配与求偶行为的专家分配的相关性。相关性越 好,染色体拟合越好。
继而找到中间群体的总健康度,并且使用轮盘算法来构造下一群 体。这将群体大小的一部分(染色体健康度/总健康度)指派给了中间 群体中的每个染色体。这确保在下一代中有更多的较好拟合解。
停止条件是最佳解与(用户定义的)测试数据中的专家分类的百 分比相关性的(用户定义的)多个迭代的集合。
基因算法的结果是单个最佳拟合的染色体或者最佳拟合的染色 体群组。此外,可以计算与这种染色体相关联的蔟。
基因算法的优点在于其是任意时间的算法,也即,其可以在任意 时间停止,并且可以返回有效的解,随着其运行时间的增加,解将变 得更好。
对于蝇类,假定求偶交互将其自己表示为特定距离界限内的特定 方向的集合中的、相互朝向的对象。由此,可能需要的参数是相对距 离、两个对象之间的角度以及对象之间的x和y距离。需要x和y距 离是因为在求偶行为中, 一 只苍蝇可能跟随另 一 只苍蝇。由此,在蝇类示例中,假设但是不知道在发生求偶行为时采用特 定范围值的一个或多个特定参数,诸如面积、相对位置、相对朝向。 在该特定示例中,测量的参数基因是四个布尔基因,其代表四个
数据值x距离、y距离、相对距离和相对角度。评分过程基因是两 个整数基因,其代表所期望的簇C的数目以及要考虑的过去数据的帧 数F。
设置过程52中的基因算法具有固定的数据点和行为分类,并产 生染色体和簇。
继而可以固定最佳拟合的染色体及其相关联的簇。继而,在评价 过程54处,将来自数据结构40的输入数据点减小为跨越最佳拟合染 色体的"打开"测量参数所跨越的空间的那些数据点,继而进行检测, 以查看它们是否位于相关联的簇内。如果是,在输出56中将其自动 分类为展现行为。
在对数据集进行分类之后,可以研究行为组件之间的关系。由于 专家标识高层行为,算法标识对象之间的关系,可以由不止一个组件 (学习的簇)来构成单个行为。这可以通过考虑所标识的组件之间的 时间关系来实现。可以使用诸如隐式马尔可夫模型(Hidden Markov Model)的技术来计算时间点处的组件值的可能性(如果没有匹配组 件则为0),以确定所指派的值是否合适。
可以进行后处理以作为来自算法的输出的整体行为是布尔值(或 者概率)的列表。可以基于所标识的行为对这些值进行平滑,以消除 不可能的时间关系。示例包括表示行为的时间长度或者正在表示的行 为中中断的长度。这种技术的示例包括在数据值上通过包含高斯分布 的窗口,以便平滑数据值。
尽管已经在之前的段落中参考各种示例描述了本发明的实施方 式,应当意识到,在没有脱离所要求的本发明范围的情况下,可以对 给出的示例进行修改。例如,尽管跟踪和行为分析是关于苍蝇描述的, 但是其可以用于其他移动对象的跟踪和行为分析,诸如独立的生物有 机体、能够独立相对运动的动物、啮齿动物、蝇类、斑马鱼和人。尽管在前文中努力关注那些被认为特别重要的发明特征,但是应 当理解,申请人要求保护此前参考附图和/或在附图中示出的任何可取 得专利的特征及其组合,不论是否对其进行过特别强调。
权利要求
1.一种用于自动表征一个或多个对象的行为的方法,包括处理对象数据以获取数据集,所述数据集随时间记录针对每个对象的测量参数集;提供学习输入,其标识对象的所述测量参数集何时与行为相关联;结合所述学习输入来处理所述数据集,以确定所述参数集的哪些参数上的相应值的范围表征所述行为;以及发送标识所述参数集的哪些参数上的相应值的范围表征所述行为的信息,以便在使用所述特征参数及其特征范围来处理第二对象数据并自动标识所述行为何时发生的过程中使用。
2. 根据权利要求1所述的方法,其中,所述独立移动对象是能够 独立相对运动的动物。
3. 根据权利要求2所述的方法,其中,所述动物是啮齿动物。
4. 根据权利要求2所述的方法,其中,所述动物是蝇类。
5. 根据权利要求2所述的方法,其中,所述动物是斑马鱼。
6. 根据权利要求2所述的方法,其中,所述动物是人。
7. 根据前述任一权利要求所述的方法,其中,结合所述学习输入 来处理所述数据集以确定所述参数集的哪些参数上的相应值的范围 表征所述行为包括使用学习机制。
8. 根据前述任一权利要求所述的方法,其中,结合所述学习输入 来处理所述数据集以确定所述参数集的哪些参数上的相应值的范围 表征所述行为包括使用基因算法。
9. 根据权利要求8所述的方法,其中,在所述基因算法中使用的 染色体包括针对所述测量参数集中每个参数的、可以打开或者关闭的 基因。
10. 根据权利要求8或者9所述的方法,其中,在所述基因算法 中使用的染色体包括指定表征所述行为所需的参数簇的数目的基因。
11. 根据权利要求8、 9或者10所述的方法,其中,在所述基因 算法中使用的染色体包括指定对染色体的健康度进行评估的时段的 基因。
12. 根据权利要求8到11中任一权利要求所述的方法,其中,来所述参数空间划分为多少个簇,并且位于所述簇内的所述数据集的子 集与行为所关联的所述数据集的子集的相关程度决定所述染色体的 健康度。
13. 根据前述任一权利要求所述的方法,其中,所述对象数据是视频。
14. 根据前述任一权利要求所述的方法,其中,所述所表征的行 为是移动对象的交互。
15. —种计算机程序,用于执行权利要求1到14中任一权利要求 所述方法中的步骤。
16. —种用于自动表征一个或多个对象的行为的系统,包括 装置,用于提供标识对象的测量参数集何时与行为相关联的学习输入;装置,用于结合所述学习输入来处理随时间记录针对每个对象的 所述测量参数集的数据集,以确定所述参数集的哪些参数上的相应值 的范围表征所述行为;以及装置,用于输出标识所述参数集的哪些参数上的相应值的范围表 征所述行为的信息。
17. —种跟踪一个或多个对象的方法,包括处理第 一 数据,以标识满足第 一 准则或者第 一 标准的连续数据值 的离散的第一群组;处理第二后续数据,以标识满足第二准则或者第二标准的连续数 据值的离散的第二群组;在所述第一群组和所述第二群组之间执行映射;使用所述映射来确定第二群组是代表单个对象还是代表多个对象;当确定第二群组代表单个对象时,测量所述第二群组的一个或多个参数;当确定第二群组代表N (N>1)个对象时,处理第二群组,以将 所述第二群组分解为满足所述第二准则或者第二标准的连续数据值的N个子群组;测量所述子群组的所述一个或多个参数;以及 将所述多个子群组映射到所述多个对象。
18. 根据权利要求17所述的方法,其中,将所述多个子群组映射 到相应的对象是基于匹配所测量参数。
19. 根据权利要求18所述的方法,其中,所述所测量参数是距离。
20. 根据权利要求17到19中任一权利要求所述的方法,其中, 将所述多个子群组映射到相应的对象是基于匹配所测量参数的变化 率。
21. 根据权利要求17到20中任一权利要求所述的方法,其中, 将所述多个子群组映射到相应的对象是基于所测量参数的历史。
22. 根据权利要求17到21中任一权利要求所述的方法,其中, 如果满足第三准则或者标准,则将所述多个子群组映射到相应的对象 是根据第一方法,并且其中,如果满足第四准则或者标准,则将所述 多个子群组映射到相应的对象是根据第二方法。
23. 根据权利要求22所述的方法,其中,所述第一方法使用第一 观寸量参数。
24. 根据权利要求23所述的方法,其中,所述第二方法使用取决 于所述第 一 测量参数随时间的变化的值。
25. 根据权利要求17到22中任一权利要求所述的方法,其中, 所述第一数据是第一视频帧,所述第二数据是第二后续视频帧,并且 所述数据值是像素值。
26. 根据权利要求25所述的方法,其中,只要所述第二帧中的子 群组到所述第一帧中对象的距离中最短的一个超过了阈值,将所述多个子群组映射到相应的对象就是基于对所述距离的测量,否则,其是 基于对移动对象的运动的测量,所述运动是从包括所述第一帧的先前 帧以及所述第二帧中的子群组至U所述移动对象的预测位置的距离而 导出的。
27. 根据权利要求25或者26中任一权利要求所述的方法,进一 步包括处理视频帧以标识满足准则或者标准的连续像素值的离散群 组,包括将大小为(hxw)的所述第一视频帧划分为多个窗口 ,并且对 每个窗口单独地执行平均阈值化。
28. 根据权利要求17到27中任一权利要求所述的方法,其中, 在所述第一群组和所述第二群组之间执行映射包括标识"不匹配"事 件,在"不匹配"事件中,所述第一群组之一看似已经进入(或者离 开),并且所述第二群组之一看似已经同时离开(或者进入),并且 强制通过看似已经同时离开(或者进入)的所述第二群组之一来映射 看似已经进入(或者离开)的所述第一群组之一。
29. 根据权利要求17到28中任一权利要求所述的方法,进一步 包括根据与所述第一帧相比所述第二群组的一个或多个是否看似已 经进入或者离开,来解决所述第一群组和所述第二群组之间的映射中 的冲突。
30. 根据权利要求17到29中任一权利要求所述的方法,其中, 所述所测量参数包括面积、朝向、位置、速度中的一个或多个。
31. 根据权利要求17到30中任一权利要求所述的方法,其中, 所述第 一 准则/标准和所述第二准则/标准是相同的。
32. 根据权利要求1到30中任一权利要求所述的方法,其中,用 于标识连续像素值的离散群组的所述准则或者标准是动态的。
33. —种计算机程序,用于执行权利要求17到32中任一权利要 求所述的方法。
34. —种用于跟踪一个或多个对象的系统,包括 处理器,其能够进行操作以处理第 一 数据,以标识满足第 一 准则或者第 一 标准的连续数据值的离散的第一群组;外理第二后续数据,以标识满足第二准则或者第二标准的连续数据值的离散的第二群组;在所述第一群组和所述第二群组之间执行映射;使用所述映射来确定第二群组是代表单个对象还是代表多个对象;当确定第二群组代表单个对象时,测量所述第二群组的一个或多 个参数;当确定第二群组代表N (N>1)个对象时,处理所述第二群组, 以将所述第二群组分解为满足所述第二准则或者第二标准的连续数 据值的N个子群组;测量所述子群组的所述一个或多个参数;以及将所述多个子群组映射到所述多个对象。
全文摘要
通过以下步骤自动地表征一个或多个对象的行为处理对象数据以获取数据集,该数据集随时间记录针对每个对象的测量参数集;提供学习输入,其标识对象的测量参数集何时与行为相关联;结合学习输入来处理数据集,以确定参数集的哪些参数上的相应值的范围表征行为;以及发送标识参数集的哪些参数上的相应值的范围表征行为的信息,以便在使用所述特征参数及其特征范围来处理第二对象数据并自动标识所述行为何时发生的过程中使用。还公开了一种跟踪一个或多个对象的方法。
文档编号G06T7/20GK101410855SQ200680054053
公开日2009年4月15日 申请日期2006年3月28日 优先权日2006年3月28日
发明者D·A·贝克, J·A·休厄德, J·D·阿姆斯特朗 申请人:爱丁堡大学评议会
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1