这篇主要是把CLR方法应用到多视角人群聚类上面了
论文笔记:A Multiview-Based Parameter Free Framework for Group Detection
Abstract
- 群体检测对于分析群体行为至关重要;
- 目前方法大多具有局限性:无法充分利用人群的信息,对个体任意处理;
- 提出了基于多视图的无参数Multiview-based Parameter Free(MPF)方法来检测人群中的群组,创新点有三点;
- 提出了新的structural context descriptor(结构背景描述方法?)用于表征人群运动中个体的结构特性;
- 提出了一种自加权多视图聚类方法,通过结合其运动和背景相似性来对特征点进行聚类;
- 引入了一种新的人群检测框架,能够自动确定组号,无需调整任何参数或阈值。
Introduction
- problem:
- 群体检测的主要困难来自于无法充分利用特征,由于人群的遮挡,目前许多方法避免直接识别行人而是检测和跟踪特征点,然后将具有相似动作的那些点组合到同一组中;
- 这一思路的问题在于:一个行人总是有很多点,这些点的速度可能有很大差异。例如,行人头上的点可能会与脚上的点反向移动,因此特征点无法始终准确地反映行人的真实运动,即运动偏差。
- 现有方法的另一个问题在于arbitrary clustering procedure(任意聚类过程?),先前的工作一般都是通过对图进行阈值处理来进行聚类,这种思路不需要确定组号,但是不可能找到对应于所有人群的阈值,同时忽略了图本身的内在结构。
- solution:
- 提出了结构背景描述方法,可以从宏观视图表示行人的运动动态,并且对运动偏差是鲁棒的;
- 开发了一种自加权多视图聚类方法,不涉及任何超参数,适用于各种聚类任务;
- 提出了一种新的群体检测框架,具有以下特点:(1)在多个视图上结合特征; (2)自动决定组号; (3)可以处理密度不同的人群场景。
Related Work
- 这一部分主要分析了目前对于人群检测和多视角聚类这两个领域的研究,大体来说,目前这两个领域的方法大多含有超参,缺乏适用性。
Multiview-based Parameter Free Approach
Adaptive Motion Description
- 由于人群场景中的严重遮挡和噪声,论文选择将特征点作为研究对象。提取特征点时采用了KandaeLucas-Tomasi(gKLT)跟踪器,然后研究点的运动相似性。
- 现有的一些工作通过kNN方法寻找临近点,但是这一方法涉及参数。
-
论文提出一种自适应的方法寻找临近点:如果两点之间的欧式距离小于r,则定义为临近点,相似度图定义为:
- max函数用于进行非负约束。
- 根据经验,将r定义为所有距离对()中第N小的距离。通过这样设置,较高的人群密度对应于较小的r。
Structural Context Description
- 由于运动偏差,特征点的局部运动太过微观,无法准确反映人的行为。
- 每个点可以用其与周围临近点的相关性来表示,即结构背景Structural Context(SC)。
-
根据上一节的方法找出每个点的临近点,然后将空间划分为12部分,每个点第m方向的SC定义为:
- 考虑的出发点是由于跟踪方式的限制,点的运动可能中断,这时每个点的临近点可以表示其运动状态。
-
由SC函数得到图:
Self-weighted Multiview Clustering
- 首先回顾Constrained Laplacian Rank (CLR)方法,可以参见https://www.jianshu.com/p/039f6c8c3af1,在CLR方法中加入了各个视图的权值W:
- 传统的思路是直接将每个视图权值平均,本文提出一种自动调整W权值的方法来进行优化求解。
- 同CLR的求解思路一样,每次迭代中每个参数独立进行优化。在CLR的基础上,加入了一步,即固定其他参数,更新优化W。这里采取的方法是将S、W、G都展开,、、,则有:
-
经过展开化简,可以得到式(8),即转化为二次规划QP问题,可以求解。简单地写了一下推导过程:
- 在迭代的开始可以将W 的权重平均分配。
- 组号c可以通过深度优先搜索方法进行计算,但是在人群场景中,同一组中的所有点无法保持彼此紧密的联系,很多时候都是在一个弱连通分量中。在计算时,弱连通分量可能被分成多个强连通分量,这会导致数目过高,因此有必要合并实际属于同一组的子组。
Tightness-based Merging
- 由前面的相似度和SC分别得到一个视角的图,则有:。
- 在考虑两个子组是不是属于同一组时,应使用G去分析,而不能应用S。因为由于秩约束,对于聚类到不同子组中的点,S中的相似性为0,所以S不适合决定两个子组是否一致。
-
分析采用的方法是:假设每个子组里面都存在一个锚点,能够反映它所属的子组的运动动态,定义子组的紧密度为锚点与其他点的一致性。一致性为:
其中subα是子组α。
- 定义为点i的临近点数量,则锚点为:
- 因此子组α的紧密度为:。
- 如果两个子组合并后,产生了更高的紧密度,那么这两个子组应该是属于一组。
Experiments
- 这一部分就是实验,采用了ACC和F-score这两个参数用来评估。