基本原理
动态场景解析需要对场景中的目标进行检测、跟踪、识别,对目标的状态进行估计,对特定事件是否发生进行判断。由于动态场景具有时变性、场景中目标类别、状态及行为具有多样性、事件的发生具有不确定性、各种场景对象之间具有关联性,动态场景解析是一个非常困难的问题,传统方法通常面临着搜索空间巨大、算法效率低下等问题。但相对于计算机,人类的神经系统在处理此类问题时却毫不费力,人眼能够在瞬间发现场景中感兴趣的目标并对其属性及关联关系进行判断,原因在于人类能够把多种信息融入搜索过程,通过对搜索空间进行削减达到快速、准确的搜索。受人类识别方式的启发,我们提出了基于假设检验(Hypothesis Testing)理论的动态场景多目标实时解析架构,该架构包含了状态空间初始化、对象特征提取、先验知识引入、分支假设检验、评分排序、时空关联等算法模块,同时此架构可融合多种现有检测、跟踪、特征提取、识别技术,包括我们提出的异构深度神经网络、分层矢量化多媒体信息表达、基于受限自适应层次化稀疏表示的多目标跟踪等。
算法是一个递归的过程、当场景变化时须重复这些步骤(场景更新通常是指有新目标出现):状态空间初始化须确定候选目标区域、指定可能的目标类别等,合适的初始化能极大地减少搜索范围,算法开始时可基于一些显著性检测算法及先验知识进行初始化,在迭代时可以用前一场景的解析结果对后一场景进行初始化。算法采用高置信度优先的方式进行搜索,每次都选取置信度最高的候选目标并对其状态进行假设检验,当检验通过时则对其引发的结果进行分支假设检验,如检验没通过则此分支被剪枝,每个通过的假设都会有一个得分(置信度),得分高低取决于目标自身特征、多目标之间的关联性以及先验知识。算法需要优化一个基于信息熵的能量函数,当能量函数最小时,认为搜索到最优解。此能量函数融合了整个场景的信息,不仅包括场景中目标、事件和场景自身的信息,也包括它们之间的交互信息以及先验信息。由于动态场景具有时变性和相关性,在对当前场景进行解析时,还须关联上一场景的解析结果,整个算法构成一个时空关联的有机整体。基于这种架构,可对动态场景进行在线解析(只考虑当前场景及之前的信息),也可离线对动态场景进行整体解析。由于模拟了人类神经系统的搜索方式,有效地减小了搜索空间,算法具有较高的搜索效率,可实现实时的动态场景解析。同时由于融合了多种信息,算法能达到较高的识别准确率。
图 1:动态场景多目标实时解析架构
该算法利用稀疏表示的能力,结合分层表达思想,将层次化和稀疏表示(特征)相结合,有效提高了目标的模板的表达能力。在建立模板时,不仅对目标建立模板,对背景也建立建模,在判断候选区域是否为目标时,可以结合两个相似度进行判定,分类结果更准确。在跟踪过程中,不断更新模板时,对目标和背景建立模板池,收集一段时间内的目标和背景特征分布,使得模板池的鲁棒性更强。为了保证算法的实时性,有选择性地对模板进行更新,对当前的新目标进行判断,如果和模板池差别很小,则不更新模板;差别非常大说明跟踪失败,也不更新;只有在合适的时机才更新模板,即保持模板的稳定性,又能减少运算,达到实时性。为了更准确地度量目标和背景之间差异,采用自适应权重调整方法,将目标模板和背景之间不相似的特征赋予较大的权值,相似的特征赋予较小的权值,增强目标与背景之间的区分度。通过建立目标的时序特征模型,保证目标模板的时序连贯性与完整性。
算法的主要流程:算法对视频中多目标的状态采样后,结合时间约束、空间约束对多层稀疏表示特征进行加权,并通过目标基、背景基的更新机制,在标准对冲跟踪框架判断后得到目标的状态(包括大小、方向、位置等);在目标丢失后,结合稀疏分类器网格粗略检出目标后再次判断,从而实现复杂场景下实时的目标跟踪。