A Prior-Less Method for Multi-Face Tracking in Unconstrained Videos 论文学习

这篇论文是2018 CVPR上关于多人脸追踪的,值得一读。

论文地址:http://openaccess.thecvf.com/content_cvpr_2018/papers/Lin_A_Prior-Less_Method_CVPR_2018_paper.pdf

Abstract

本论文提出了一个 prior-less 的方法,在无条件约束的视频里对未知数量的人脸进行追踪和聚类。最大的挑战就是准确地追踪到被部分遮挡住的人脸,以及受到化妆,表情,姿势和光照影响而带来的变化剧烈镜头的人脸。因而,作者提出了一个新的人脸追踪和再识别算法,它在整个视频中通过聚类方法(自动产生cluster的个数)将人脸联系起来,对outliers鲁棒性强,准确率很高。作者提出了一个 co-occurrence model,可以通过识别出身体的不同部位来产生人脸的 tracklet,然后递归式地将各 tracklet 连接起来,进而产生一张用于提取clusters 的 graph,最终使用了Gaussian Process model 来补偿深度特征的不充分性,优化tracklets连接的结果

1. Introduction

多目标追踪(MOT or MTT)任务,是要找到不定数量物体的轨迹。多人脸追踪是其中最重要的一个领域,使我们可以分析和理解复杂视频的内容(如人流量分析,语义分析,事件检测等)。

这篇论文中,作者目的是去追踪不定数量的人脸,在无条件约束的视频里可以一直追踪到他们。此方法不需要视频的任何额外的 prior knowledge,过程是全自动的。虽然已有许多方法来解决,但由于视频内在的无条件约束的设定,这个问题仍然很具挑战性。视频可能是由多个移动的相机拍摄,相机或物体的移动是不规则的,被拍摄对象可能多次移入或移出相机。而且由于光照强度,相机角度,表情和姿势等,人脸的 appearance 变化是很剧烈的。另一个因素是部分遮挡,比如眼镜或头发造成人脸的遮挡,以及手臂姿势等。

这个任务和 constrained videos 的追踪任务不同(如监控视频通常是固定或缓慢移动的),constrained videos 主要挑战是应对不同的视角,光照条件,以及密集人流交叉等。我们有一些现成的数据集,如MOT Challenge, PETS, 和 KITTI,用来评价 MOT 方法。但是这些数据集并不包括 multiple shot changes 和 appearance changes,因而那些方法不能被简单地套用到 unconstrained videos(相机剧烈运动,突然的镜头切换)上去。

有一些方法如 Arttrack 和 Pose-track 允许用户在 unconstrained videos 中追踪人,但是它们仅关注在每个镜头里追踪得准确,没法在各镜头间将人联系起来,一旦一个人消失后又重新出现在了视频里,他/她就会被赋予一个新的ID。

图1 给了一些本论文中使用的数据集中的例子。作者在两个不同的 unconstrained video datasets 测试了本文的算法。第一个数据集包含8个编辑过的音乐视频,镜头间的表情,比例,姿势,光照度都不同。第二个数据集是首次在这篇论文中使用,包括4个未编辑过的视频,由人体佩戴的相机拍摄,因此难度很高。视频里包含剧烈的光照变化,相机运动,遮挡严重的情况。在这两个数据集里,人多次进出画面,作者提出的方法能在多个镜头间追踪到人脸,并且能保持他们的identities。

本方法包含3个主要组成,以在人脸追踪上获得高准确率,它对明显的人脸旋转鲁棒性也很强。首先,作者提出一个可以追踪身体多个部位的 co-occurrence model 以产生更长的 face tracklets。然后有一个递归算法将联系紧密的 tracklets 连接起来。最终,应用 Gaussian process model 来优化聚类的结果。论文主要贡献如下:

  • 提出 prior-less 框架,在复杂 unconstrained 视频中追踪人脸;
  • 提供了通过数据自动估计 clusters 个数的方法,而不用人工提前估计 clusters 个数;
  • 当人脸只部分可见的时候,co-occurrence model 仍可以继续追踪多张人脸
  • 介绍了一个新的数据集,包含4个高度挑战性的,真实场景的,未编辑过的,人体佩戴相机拍摄的视频。

2. Related Work

2.1 Multiple person tracking

这个领域的研究已经非常多了。一些方法利用 data association 方法,如 Markov decision process, greedy algorithm等,但是这些方法都假设目标出现,位置和运动的连续性。这在 shot change 的问题上效果不好。另一些方法探索了 tracklets association 问题,将多个镜头的 tracklets 连接起来。它们通过聚类方法来联系不同镜头间的人,但是在人脸变化幅度很大的视频上效果不行。

2.2 CNN-based representation learning

基于CNN的方法如 VGG-Face, DeepFace, FaceNet 等都提供了biometrics-solutions,但是训练它们的数据集通常都是精挑细选的。在 unconstrained videos中,遮挡,剪裁,模糊的情况随时可能发生,因此这些模型面对 unconstrained videos 可能效果很差。

2.3 Unconstrained face tracking

Simultaneous clustering and tracklet linking for multi-face tracking in videos 论文提出了一个多人脸追踪方法,通过 Markov random field 模型同时处理 clustering 和 tracklet linking。它使用外观近似程度和HSV信息来衡量人脸的相似度,但它只对正脸效果不错。其它一些论文假设人脸 tracklets 和 cluster 个数是给定的。还有一些论文中,false positive 的tracklets被手动移除了。

2.4 State-of-the-art

2016年 Zhang的论文Tracking persons-of-interest via adaptive discriminative features 提出了一个基于CNN的方法,学习视频中的人脸特征,用于多人脸追踪,效果是state of art的。但是此方法的问题是,如果多个镜头中只有一个人,它就无法产生足够的 negative face pairs来训练网络。因此,在不同的镜头间,不同的人可能会被错误地识别为同一个人。而且它需要视频的 prior knowledge来提前给出 clusters 的准确个数。但在实际应用中,很难知道 cluster 的精确个数。第三点,它需要应用一个 shot change detection方法将视频分割为 non-overlapping shots

此论文提出的算法直接分析 raw video data,自动产生最终的追踪和聚类结果,不需要任何 video-specific prior information。

3. Algorithm

为了让追踪结果更优,我们想要每个人的 tracklets 更长。Tracklets 越长,我们能捕捉到的每个人脸的可能变化就越多。但是,tracklets 越长的话,它里面的噪音就越多,造成 tracklets 的 linking error。综合考虑下来,作者提出了图2中的框架,包含3个核心算法组成。

  • 创建 tracklets — 通过识别多个身体部位的 co-occurrence model 来创建更长的 face tracklets。一个人的脸可能会短暂地消失,比如他/她转头了,或被其它物体遮挡了。此模型就是为了防止由于人脸短暂的消失而追踪停止。
  • Link tracklets — 递归式地将联系紧密的 tracklets 连接起来。递归式连接起来的 tracklets 构建了一个 constrained graph 用于提取 clusters,进而有了初始聚类结果。
  • Detect and reassign outlier tracklets — 用 Gaussian Process model 获取数据的丰富性,补充深度特征的不足。

3.1 Tracking by Co-occurrence Model

通常,人体的姿势,物体遮挡,人脸旋转,图像大小和分辨率很大程度上会影响检测器的性能。但是,那个人的身子仍然能被检测和追踪到。基于此想法,作者认为同时利用多个身体部位能创造出更长的 tracklets。于是,设计了 co-occurrence model 来获取多个身体部位的信息,当人脸无法检测到而那个人存在于画面中的时候,追踪器仍可以继续追踪。

作者利用论文 Enhanced face detection using body part detections for wearable cameras 中现成的 body-part 检测器,提取人脸,头,躯干,和整体的位置。用 { v k , γ t } \{v^t_{k,\gamma}\} 来表示第 t t 帧内身体部位检测集合, v k , γ t = [ c x , k t , c y , k t , w k t , h k t ] , k v^t_{k,\gamma}=[c^t_{x,k}, c^t_{y,k},w^t_k,h^t_k], k 是检测的index, c , w , h c,w,h 表示边框的中心位置,宽度和高度。 γ \gamma 是身体部位的类型,如躯干, γ Γ = { 1 ,   , N } . \gamma \in \Gamma=\{1,\cdots,N\}.

对于每个身体部分的检测,2 thresholds are applied: (1)用高阈值筛选的检测结果创造新的 tracklets,(2)低阈值筛选的检测结果用于追踪目标。

作者将多人追踪问题表示为 graph structure G = ( v , ϵ ) G=(v,\epsilon) ,它有两类边, ϵ s \epsilon_s ϵ t \epsilon_t ,如图2(1a)。Spatial edges ϵ s \epsilon_s 表示在某一帧内不同身体部位的连接,用于产生一个人的状态。Temporal edges ϵ t \epsilon_t 表示同一个身体部位在相邻帧内的连接。每个人在不同帧内的状态用 temporal edges 来估计。

ϵ s = { v k , γ t , v k , γ t : γ γ } , ϵ t = { v k , γ t , v n , γ t 1 } ( 1 ) \epsilon_s = \{\langle v^t_{k,\gamma},v^t_{k',\gamma'} \rangle : \gamma \neq \gamma' \}, \quad \epsilon_t = \{\langle v^t_{k,\gamma}, v^{t-1}_{n,\gamma} \rangle \} \quad \quad \quad (1)

Spatial edge定义如下: v k , γ t , v k , γ t = δ ϕ ( v k , γ t , v k , γ t ) ( 2 ) \langle v^t_{k,\gamma}, v^t_{k',\gamma'} \rangle = \delta \cdot \phi(v^t_{k,\gamma},v^t_{k',\gamma'}) \quad \quad \quad (2)

ϕ ( v k , γ t , v k , γ t ) \phi(v^t_{k,\gamma},v^t_{k',\gamma'}) δ \delta 是indicator functions。当重叠区域大于某阈值 ζ \zeta ϕ ( v k , γ t , v k , γ t ) = 1 \phi(v^t_{k,\gamma},v^t_{k',\gamma'})=1 。当同一帧内两个身体部位之间的连接是唯一的时, δ = 1 \delta=1 。这个条件确保了仅当连接不存在歧义时,这两个身体部位属于同一个人。

ϵ s \epsilon_s 建好后,用于生成 G p t , i G_p^{t,i} ,表示一个人 ξ i \xi_i 在第 t t 帧。 G p t , i G_p^{t,i} 由所有检测到的身体部位组成,它们都属于同一个人 ξ i \xi_i

给定从第0帧到第 t t 帧的观察 Z t Z^t ,估计当前某人 ξ i t \xi_i^t 的状态,可表示为最大化此人前一个状态 ξ i t 1 \xi_i^{t-1} 的概率函数:

p ( ξ i t Z t ) = max j f ( G p t , j ξ i t 1 ) ( 3 ) p(\xi_i^t | Z^t) = \max \limits_{j} f(G^{t,j}_p | \xi_i^{t-1}) \quad \quad \quad (3)

f ( G p t , j ξ i t 1 ) f(G^{t,j}_p | \xi_i^{t-1}) 用于评价某人现在的状态和之前的状态匹配的程度。 f ( G p t , j ξ i t 1 ) f(G^{t,j}_p | \xi_i^{t-1}) 是一个概率,给定一个人之前状态 ξ i t 1 \xi_i^{t-1} ,此人做出 G p t , j G_p^{t,j} 的概率:

f ( G p t , j ξ i t 1 ) = p ( G p t , j G p t 1 , i ) = m a x { p ( v γ t , j v γ t 1 , i ) , γ G p t , j } . ( 4 ) f(G^{t,j}_p | \xi_i^{t-1}) = p(G_p^{t,j} | G_p^{t-1,i}) = max\{ p(v_\gamma^{t,j} | v_\gamma^{t-1,i}), \forall \gamma\in G^{t,j}_p\}. \quad \quad \quad (4)

Body-part transition probability p ( v γ t , j v γ t 1 , i ) p(v_\gamma^{t,j} | v_\gamma^{t-1,i}) 定义如下: p ( v γ t , j v γ t 1 , i ) = η ( v γ t , j , v γ t 1 , i ) p(v_\gamma^{t,j} | v_\gamma^{t-1,i}) = \eta(v^{t,j}_\gamma, v^{t-1,i}_\gamma) 。而 η ( v γ t , j , v γ t 1 , i ) \eta(v^{t,j}_\gamma, v^{t-1,i}_\gamma) 函数定义为边框的 overlapping ratio。

如果一个身体部位的概率比其它部位的概率高,那么它就能更好地代表那个人。公式(3)和(4)能有效地保证,当人脸短暂消失时,他/她的身体部位仍然能追踪到此人。

有了某人的当前状态,我们通过在 G p t , i G^{t,i}_p G p t 1 , i G^{t-1,i}_p 之间连接同类型身体部位,即可构建 temporal edges ϵ t \epsilon_t 。然后,利用每个人的人脸边框去生成人脸 tracklets,然后用聚类方法提取面部特征。

3.2 Recursive Constrained Tracklet Linking

在人脸的 tracklets 产生之后,每个 face tracklet 用 node T i T_i 表示,它包含一个人不同的face pose,提取的特征是 { f k i } k = 1 n i \{f_k^i\}^{n_i}_{k=1} ,frame index是 { t k i } k = 1 n i \{t_k^i\}^{n_i}_{k=1} 。我们的目的是找出nodes中的相似对,用于人脸聚类。作者用VGG-face来提取特征。作者基于VGG-face的训练方式,设计了一个 unified and generalized linking framework。作者进一步构建了 similarity graphs 以更好地表示 clusters 中潜在的人脸特征关系。

首先用每个 tracklet中的人脸边框,获取人脸图片,在FC7层提取4096维的VGG-face 特征。对提取出来的人脸特征进行了归一化处理,用于比较。VGG-face 网络用高分辨率图像和 triplet-loss function 训练,作者的核心思想就是图片越清晰 & relative distance越大,信息就越丰富。作者构建了2类links: { L l } \{L_l\} { L c } \{L_c\} { L l } \{L_l\} 基于 tracklets 图像分辨率的性质构建, { L c } \{L_c\} 基于 tracklets 之间的 relative distance 构建。

3.2.1 基于 tracklets 图像分辨率构建的 L l L_l

图2(b)就是在T-ara视频上,对提取出来的VGG特征进行2D tSNE降维后的效果。它说明,高分辨率图片的特征(b2)区分度更高。因此作者用分辨率更高的 tracklets 来构建linkages { L l } \{L_l\}

作者计算 pairwise similarity 来构建linkings。 M l l ( T i , T j ) M_{ll}(T_i,T_j) 用于衡量 tracklets T i T_i T j T_j 的相似度

M l l ( T i , T j ) = Λ a ( T i , T j ) Λ s ( T i ) Λ s ( T j ) M_{ll}(T_i,T_j) = \Lambda^a (T_i,T_j)\Lambda^s (T_i) \Lambda^s(T_j)

  • Λ a ( T i , T j ) \Lambda^a (T_i,T_j) 用于评价外观相似度,使用tracklets间的距离表示, D ( T i , T j ) D(T_i,T_j)

Λ a ( T i , T j ) = { 1 D ( T i , T j ) , D ( T i , T j ) < ϕ 0 , o t h e r w i s e \Lambda^a(T_i,T_j)=\left\{ \begin{aligned} 1-D(T_i,T_j), & \quad D(T_i,T_j)<\phi\\ 0, & \quad otherwise \end{aligned} \right.

D ( T i , T j ) D(T_i,T_j) 用VGG-face 特征的距离表示, d ( f k , f h ) d(f_k,f_h) 。当 D ( T i , T j ) D(T_i,T_j) 小于阈值 ϕ \phi 时,就建立起连接。
D ( T i , T j ) = min f k T i , f h T j { d ( f k , f h ) } . D(T_i,T_j) = \min \limits_{f_k \in T_i, f_h \in T_j}\{d(f_k, f_h)\}.

d ( f k , f h ) d(f_k, f_h) f k f_k f h f_h 间的欧氏距离。

  • Λ s ( T i ) \Lambda^s (T_i) 施加一个分辨率约束条件,只选取分辨率高的 tracklets,定义 Λ s ( T i ) \Lambda^s(T_i) 如下:

Λ s ( T i ) = { 1 , T i Ψ L 0 , o t h e r w i s e \Lambda^s(T_i)=\left\{ \begin{aligned} 1, & \quad T_i \in \Psi_L\\ 0, & \quad otherwise \end{aligned} \right.

使用 k-means 方法,根据每个 tracklet 的图像大小,区分所有的 tracklets,由较大的 tracklets 组成 Ψ L \Psi_L 集合。

3.2.2 基于 tracklets relative distance 构建的 L c L_c

另一类Linkage { L c } \{L_c\} ,表示 coexisting tracklets (同时存在的 tracklets)间的相互距离(relative distance)。首先,搜索所有的有重叠帧的 coexisting tracklets集合。没有人可以存在两次。因此,coexisting tracklets 不应该被连接起来。根据算法一的步骤,我们用 relative distance,在 coexisting tracklets 中所有的pairs之间建立 constrained linkages。对于 { T i A } \{T_i^A\} 中的每个tracklet,在 { T j B } \{T_j^B\} 中搜索对应的最近的 neighbor tracklet,通过相似度 M l c ( T i A , T j B ) M_{lc}(T_i^A,T_j^B) 建立联系,它考虑了外观相似度和 relative distance constraints.

M l c ( T i A , T j B ) = Λ a ( T i A , T j B ) Λ r ( T i A ) Λ r ( T j B ) M_{lc}(T_i^A, T_j^B) = \Lambda^a (T_i^A,T_j^B)\Lambda^r(T_i^A)\Lambda^r(T_j^B)

  • Λ a ( T i A , T j B ) \Lambda^a (T_i^A,T_j^B) M l l ( T i , T j ) M_{ll}(T_i,T_j) 中的一样。
  • Λ r ( T i A ) \Lambda^r(T_i^A) 用于施加一个 relative distance 约束。因为同时存在的 tracklets 应该是互斥的, { T i A } \{T_i^A\} 中的 tracklet和 { T j B } \{T_j^B\} 中的 tracklet 的关系 should be one or none。当 ( T i A , T j A ) (T_i^A,T_j^A) 之间( A A 中的两个 tracklets)的距离小于 ν \nu ,或者一个集合内的多个 tracklets 连接到另一个集合中的同一个 tracklet,这些 tracklets 就是非常类似的,很难区分开它们。这种情况下,连接就是断开的。

Λ r ( T i A ) = { 1 , o t h e r w i s e 0 , i f D ( T i A , T j A ) < ν , T j A T i A { T i A } \Lambda^r(T_i^A)=\left\{ \begin{aligned} 1, & \quad otherwise\\ 0, & \quad if \quad D(T_i^A,T_j^A)<\nu, \forall T_j^A \neq T_i^A \in \{T_i^A\} \end{aligned} \right.

递归式地进行此操作,直到 coexisting nodes (同时存在的nodes)中所有的 pairs 都被 evaluated 了。

有了 { L c } \{L_c\} { L l } \{L_l\} 后,所有的linkages就形成了图 G T G_T 。我们提取出 G T G_T 中的各组成部分,用于生成 initial clusters。

3.3 Refinement Based on Gaussian Process

研究表明CNN模型对图像模糊和噪音非常敏感,因为那些模型通常是在高质量图像上训练的。前面的 recursive linking framework 是用 CNN 特征初始化的,因此有些 tracklets 可能就被错误地连接到了其它的 tracklets。作者为此设计了 Gaussian Process model 来弥补深度特征的不足,获取数据的 richness。我们用 GP model来识别 outliers,将 outliers 和其它的 tracklets 的连接断开,然后重新将 outliers 和 refined clusters 连接起来,这样产生高质量的clusters。

3.3.1 Dimension Reduction Using GP

Gaussian Process model 通常用于机器学习中。和CNN方法不同,GP模型提供一个灵活的 parametric 方法来捕捉非线性和系统中潜在的时空关系。因此,它与CNN结合起来使用能进一步降低数据的维度,而不会损失复杂而重要的时空信息。作者对每个色彩通道应用一个GP模型,这样来降低维度。构建了3个GP模型,维度降低到18个参数。注意,维度数并不一定是18,我们可以改变GP模型中的参数个数而灵活地调节这个维度数。

GP模型可以写作如下:
y ( x ) = μ ( x ) + Z ( x ) , y(x)=\mu(x)+Z(x),

y R y\in \mathbb{R} 是色彩强度。 x R p x\in \mathbb{R}^p 是输入,代表空间位置,所以 p = 2 p=2 。均值函数 μ ( x ) = x T β = β 0 + β 1 x 1 + β 2 x 2 \mu(x)=x^T \beta = \beta_0 + \beta_1 x_1 + \beta_2 x_2 β \beta 是个未知参数。此外, Z ( x ) Z(x) 是个 Gaussian process,mean是0, C o v ( x i , x j ) = σ 2 ϕ ( x i , x j ; θ ) Cov(x_i,x_j)=\sigma^2\phi(x_i,x_j;\pmb{\theta}) ϕ ( x i , x j ; θ ) \phi(x_i,x_j;\pmb{\theta}) 是 correlation function, θ \pmb{\theta} is a vector of unknown correlation parameters。

ϕ ( x i , x j ; θ ) = k = 1 p R k ( x i k x j k ) = k = 1 p e x p ( θ k x i k x j k α ) . \phi(x_i,x_j;\pmb{\theta}) = \prod_{k=1}^p R_k(|x_{ik} - x_{jk}|) = \prod_{k=1}^p exp(-\theta_k |x_{ik} - x_{jk}|^\alpha).

0 < α 2 0 < \alpha\leq 2 是个tuning parameter, θ = ( θ 1 , θ 2 ) , θ k 0 \pmb{\theta}=(\theta_1, \theta_2), \theta_k \geq 0

给定某色彩通道的 n n 个值, y = ( y 1 ,   , y n ) T y=(y_1,\cdots,y_n)^T ,对应的空间信息是 X = ( x 1 T ,   , x n T ) T X=(x_1^T,\cdots,x_n^T)^T y ( x ) y(x) 的 joint log-likelihood function 可以写成如下:

l ( β , θ , σ ) = 1 2 σ 2 ( y X β ) T Σ 1 ( θ ) ( y X β ) 1 2 l o g Σ ( θ ) n 2 l o g ( σ 2 ) l(\beta,\pmb{\theta},\sigma) = -\frac{1}{2\sigma^2}(y-X\beta)^T \Sigma^{-1}(\pmb{\theta})(y-X\beta) - \frac{1}{2}log|\Sigma(\pmb{\theta})| - \frac{n}{2}log(\sigma^2)

Σ ( θ ) \Sigma(\pmb{\theta}) n × n n\times n 的 correlation matrix,第 i j t h ij^{th} 元素等于 ϕ ( x i , x j ; θ ) \phi(x_i,x_j;\pmb{\theta}) β \beta σ \sigma 的maximum likelihood estimate 是:

β ^ = ( X T Σ 1 ( θ ) X ) 1 X T Σ 1 ( θ ) y ( 13 ) \hat \beta = (X^T\Sigma^{-1}(\pmb{\theta})X)^{-1}X^T\Sigma^{-1}(\pmb{\theta})y \quad \quad \quad (13)
σ ^ 2 = ( y X β ^ ) T Σ 1 ( θ ) ( y X β ^ ) / n ( 14 ) \hat \sigma^2 = (y-X\hat \beta)^T \Sigma^{-1}(\pmb{\theta})(y-X\hat \beta)/n \quad \quad \quad (14)

θ \theta 的最大似然估计是

θ ^ = arg min θ { n l o g ( σ ^ 2 ) + l o g Σ 1 ( θ ) } ( 15 ) \hat {\pmb{\theta}} = \mathop{\arg\min}_{\pmb{\theta}} \{nlog(\hat \sigma^2) + log |\Sigma^{-1} (\pmb{\theta})|\} \quad \quad \quad (15)

根据上面的(13), (14), (15)等式,对于每个色彩通道都有6个参数 ( β ^ , σ ^ 2 , θ ^ ) (\hat \beta, \hat \sigma^2, \hat {\pmb{\theta}}) 。总共有18个参数来获取每张人脸图片的潜在信息。

3.3.2 Outlier Detection and Reassignment by GP

主要的想法就是将每个 tracklet与其周围的空间比较,看看它有多isolated。更准确点,是比较该 tracklet 的局部密度和其 neighbors 的局部密度。我们可以识别出密度明显低于它的 neighbors 的 tracklet,如图2(c2)。这些 tracklets 被认为是 outliers,可能属于其它的 clusters。我们找到这些outliers,通过GP特征 r R 18 r\in R^{18} ,将它们重新连接到一个cluster。对于每个 cluster,我们使用一个简单的非监督 outlier detection method — Local Outlier Factor estimator,来计算某个 tracklet相对于其neighbors的局部密度。识别出outlier后,我们断开outliers和其它的 tracklets 的连接,以此来优化原来的clusters。

我们进一步使用GP特征,将所有孤立的 tracklets 和优化后的 clusters 连接起来。我们评价孤立的 tracklet和每个优化后的cluster的外观相似度。对于给定的tracklet,我们评价该 tracklet与某cluster内所有的 tracklet之间的距离,用最短的距离作为该tracklet和那个cluster的相似度。接下来,我们决定哪个cluster到给定的 isolated tracklet 最近,然后将这个tracklet添加入那个cluster。

当所有的tracklets都连接到某个cluster时,我们就获得了最终的clusters。最终,我们给每个cluster赋一个identity,生成最终的轨迹。

猜你喜欢

转载自blog.csdn.net/calvinpaean/article/details/84940318