摘要
虽然不常用,但相关滤波器可以通过旋转、遮挡和其他干扰来跟踪复杂对象,其速度是当前最先进技术的 20 倍以上。最古老和最简单的相关滤波器使用简单的模板,在应用于跟踪时通常会失败。ASEF 和 UMACE 等更现代的方法表现更好,但它们的训练需求不太适合跟踪。视觉跟踪要求从单个帧训练鲁棒滤波器,并随着目标对象外观的变化动态调整。
本文提出了一种新型的相关滤波器,最小输出平方误差和(MOSSE)滤波器,它在使用单个帧初始化时产生稳定的相关滤波器。基于MOSSE过滤器的跟踪器在每秒669帧的速度下,对光照、比例、姿势和非刚性变形的变化具有鲁棒性。遮挡是根据峰值旁瓣比来检测的,这使得跟踪器能够在对象重新出现时暂停并恢复到其停止的位置。
1介绍
视觉跟踪在视频处理中有许多实际应用。当目标位于视频的一帧中时,在后续帧中跟踪该对象通常很有用。成功跟踪目标的每一帧都提供了有关目标身份和活动的更多信息。因为跟踪比检测容易,所以跟踪算法比在每一帧上运行对象检测器使用的计算资源更少。
近年来,视觉跟踪受到了广泛的关注。一系列鲁棒跟踪策略被提出,它们能够容忍目标外观的变化,并通过复杂运动跟踪目标。最近的例子包括:增量视觉跟踪(IVT)[17]、基于片段的鲁棒跟踪(FragTrack)[1]、基于图形的区分学习(GBDL[19]和多实例学习(MILTrack)[2]。这些技术虽然有效,但并不简单;它们通常包括复杂的外观模型和/或优化算法,因此很难跟上许多现代相机每秒25到30帧的速度(见表1)。
图1. 此图显示了基于MOSSE滤波器的跟踪器在具有挑战性的视频序列上的结果。该跟踪器能够快速适应缩放和旋转变化。它还能够检测跟踪失败并从遮挡中恢复。
在本文中,我们研究了一种更简单的跟踪策略。目标外观采用自适应相关滤波器建模,跟踪采用卷积方法。创建过滤器的简单方法,例如从图像中裁剪模板,会为目标产生强烈的峰值,但也会错误地响应背景。因此,它们对目标外观变化的鲁棒性不是特别强,无法解决具有挑战性的跟踪问题。合成精确滤波器的平均值 (ASEF) ,无约束最小值平均相关能量 (UMACE) 和最小输出平方误差和(MOSSE)(在本文中介绍)产生的过滤器对外观变化更加鲁棒,并且更善于区分目标和背景。如图2所示,结果是一个更强的峰值,这意味着更少的漂移和更少的掉线。传统上,ASEF和UMACE过滤器都是离线训练的,用于目标检测或目标识别。在这项研究中,我们对这些技术进行了修改,以便在在线和自适应manor中进行视觉跟踪训练。结果是跟踪最先进的性能,保留了基本的基于相关性的方法的大部分速度和简单性。
尽管该方法简单,但基于改进的ASEF、UMACE或MOSSE滤波器的跟踪在旋转、比例、照明和部分遮挡的变化下表现良好(见图1)。峰值旁瓣比(PSR)用于测量相关峰值的强度,可用于检测遮挡或跟踪失败,停止在线更新,并在对象以类似外观重新出现时重新获取轨迹。更一般而言,这些高级相关滤波器实现的性能与前面提到的更复杂的跟踪器一致;然而,基于滤波器的方法速度快20倍以上,每秒可以处理669帧(见表1)。
表1. 此表将MOSSE跟踪器的帧速率与其他跟踪系统的已发布结果进行了比较。
本文的其余部分安排如下。 第 2 节回顾了相关的相关过滤技术。 第 3 节介绍了 MOSSE 过滤器以及如何使用它来创建强大的基于滤波器的跟踪器。 第 4 节介绍了来自 [17] 的七个视频序列的实验结果。最后第5节将回顾本文的主要发现。
2 背景
在 1980 年代和 1990 年代,相关滤波器的许多变体,包括合成判别函数 (SDF) [7, 6]、最小方差合成判别函数 (MVSDF) [9]、最小平均相关能量 (MACE) [11]、最优权衡滤波器 (OTF) [16] 和最小平方误差综合判别函数 (MSESDF) [10]。这些过滤器针对具有不同外观和强制硬约束的目标对象的示例进行训练,以便过滤器始终生成相同高度的峰值。最相关的是产生尖峰和高PSR的MACE。
在 [12] 中,发现基于 SDF 的滤波器(如 MACE)的硬约束会导致失真容限问题。解决方案是消除硬约束,而是要求滤波器产生高平均相关响应。这种称为最大平均相关高度(MACH)的新型“无约束”相关滤波器导致了一种称为UMACE的MACE变体。
一种称为ASEF[3]的新型相关滤波器引入了一种针对特定任务调整滤波器的方法。早期的方法只指定一个峰值,而 ASEF 指定每个训练图像的整个相关输出。ASEF在眼睛定位和行人检测方面都表现良好。不幸的是,在这两项研究中,ASEF都需要大量的训练图像,这使得视觉跟踪速度太慢。本文通过引入一种适用于视觉跟踪的正则化ASEF变量来减少这种数据需求。
3 基于相关滤波器的跟踪
基于过滤器的跟踪器使用在示例图像上训练的过滤器对对象的外观进行建模。目标最初是基于以第一帧中的对象为中心的小跟踪窗口选择的。从这一点开始,跟踪和滤波器训练一起工作。通过在下一帧的搜索窗口上关联滤波器来跟踪目标;与相关输出中的最大值相对应的位置指示目标的新位置。然后基于该新位置执行在线更新。
为了创建快速跟踪器,在傅里叶域快速傅里叶变换 (FFT) [15] 中计算相关性。首先,计算输入图像的二维傅里叶变换:
F
=
F
(
f
)
F=\mathcal{F}(f)
F=F(f),以及滤波器的二维傅里叶变换:
H
=
F
(
h
)
H=\mathcal{F}(h)
H=F(h)。卷积定理表明,相关性在傅里叶域中变成元素乘法。使用
⊙
\odot
⊙明确表示元素乘法和
∗
\ast
∗为了表示复共轭,相关性采用以下形式:
G
=
F
⊙
H
∗
(1)
G = F\odot{H^{\ast}} \tag{1}
G=F⊙H∗(1)
使用逆FFT将相关输出转换回空间域。此过程中的瓶颈是计算正向和反向FFT,因此整个过程的上限时间为 O ( P l o g P ) O(PlogP) O(PlogP),其中 P P P是跟踪窗口中的像素数。
在本节中,我们将讨论基于滤波器的跟踪器的组件。第 3.1 节讨论了在跟踪窗口上执行的预处理。 3.2 节介绍了 MOSSE 滤波器,这是一种从少量图像构建稳定相关滤波器的改进方法。3.3 节展示了如何使用正则化来产生更稳定的 UMACE 和 ASEF 滤波器。 3.4 节讨论了用于滤波器在线更新的简单策略。
3.1 预处理
FFT卷积算法的一个问题是,图像和滤波器映射到圆环的拓扑结构。换句话说,它将图像的左边缘连接到右边缘,将顶部连接到底部。在卷积过程中,图像在环形空间中旋转,而不是像在空间域中那样平移。人为地连接图像的边界会引入影响相关输出的伪影。
通过遵循[3]中概述的预处理步骤,可以减少这种影响。首先,使用有助于低对比度照明情况的对数函数变换像素值。像素值被归一化为具有 0.0 的平均值和 1.0 的范数。最后,图像乘以余弦窗口,余弦窗口将边缘附近的像素值逐渐减少到零。这还有一个好处,即它将更多的重点放在目标的中心附近。
3.2 MOSSE过滤器
MOSSE是一种从较少的训练图像生成类似ASEF的过滤器的算法。首先,它需要一组训练图像
f
i
f_i
fi和训练输出
g
i
g_i
gi 。一般来说,
g
i
g_i
gi可以是任何形状。 在这种情况下,
g
i
g_i
gi是从地面实况生成的,因此它在训练图像
f
i
f_i
fi中具有以目标为中心的紧凑 (
σ
=
2.0
\sigma=2.0
σ=2.0) 二维高斯形峰。在傅立叶域中进行训练,以利用输入和输出之间的简单元素关系。如前一节所述,我们将大写变量
F
i
F_i
Fi、
G
i
G_i
Gi和滤波器
H
H
H定义为其小写对应项的傅立叶变换。
H
i
∗
=
G
i
F
i
(2)
H_i^{\ast} = \frac{G_i}{F_i} \tag{2}
Hi∗=FiGi(2)
其中除法是按元素执行的。
为了找到将训练输入映射到所需训练输出的滤波器,MOSSE找到一个滤波器H,该滤波器使卷积的实际输出和所需输出之间的平方误差之和最小化。此最小化问题的形式如下:
min
H
∗
∑
i
∣
F
i
⊙
H
∗
−
G
i
∣
2
(3)
\min \limits_{H^{\ast}}\sum_{i}|F_i\odot{H^{\ast}}-G_i|^2 \tag{3}
H∗mini∑∣Fi⊙H∗−Gi∣2(3)
最小化输出上的平方误差和(SSE)的想法并不新鲜。事实上,等式3中的优化问题与[10]和[12]中提出的优化问题几乎相同。不同之处在于,在这些作品中,假设目标始终以 f i f_i fi为中心,并且整个训练集的输出 ( g i g_i gi) 是固定的,而自定义每个 g i g_i gi是 ASEF 和 MOSSE 背后的基本思想。在跟踪问题中,目标并不总是居中, g i g_i gi 中的峰值会随着 f i f_i fi 中的目标移动。在更一般的情况下, g i g_i gi具有任何形状。 例如,在 [4] f i f_i fi包含多个目标并且有多个对应的峰值。
解决这个优化问题并不特别困难,但确实需要一些注意,因为要优化的函数是一个复变量的实值函数。首先, H H H的每个元素(由 ω \omega ω和 ν \nu ν索引)都可以独立求解,因为傅里叶域中的所有操作都是按元素执行的。这涉及根据 H ω ν H_{\omega\nu} Hων 和 H ω ν ∗ H_{\omega\nu}^{\ast} Hων∗ 重写函数。然后,部分 W.R.T. H ω ν ∗ H_{\omega\nu}^{\ast} Hων∗ 设置为零,同时将 H ω ν H_{\omega\nu} Hων 视为自变量 [13]。
0 = ∂ ∂ H ω ν ∗ ∑ i ∣ F i ω ν ⊙ H ω ν ∗ − G i ω ν ∣ 2 (4) 0=\frac{\partial}{\partial{H_{\omega\nu}^{\ast}}}\sum_{i}|F_{i\omega\nu}\odot{H_{\omega\nu}^{\ast}}-G_{i\omega\nu}|^2 \tag{4} 0=∂Hων∗∂i∑∣Fiων⊙Hων∗−Giων∣2(4)
通过求解 H ∗ H^{\ast} H∗找到MOSSE滤波器的闭合表达式:
H ∗ = ∑ i G i ⊙ F i ∗ ∑ i F i ⊙ F i ∗ (5) H^{\ast}=\frac{\sum_iG_i\odot{F_i^{\ast}}}{\sum_iF_i\odot{F_i^{\ast}}}\tag{5} H∗=∑iFi⊙Fi∗∑iGi⊙Fi∗(5)
完整的推导见附录A。等式 5 中的术语有一个有趣的解释。 分子是输入和期望输出之间的相关性,分母是输入的能谱。
从等式 5,我们可以很容易地证明 UMACE 是 MOSSE 的一个特例。UMACE 定义为 H ∗ = D − 1 m ∗ H^{\ast}= D^{−1}m^∗ H∗=D−1m∗ 其中 m 是包含平均居中裁剪训练图像的 FFT 的向量,D 是包含训练图像平均能谱的对角矩阵 [18]。因为 D 是对角矩阵,所以乘以它的逆矩阵本质上执行的是逐元素除法。使用当前符号重写时,UMACE采用以下形式:
H ∗ = ∑ i F i ∗ ∑ i F i ⊙ F i ∗ (6) H^{\ast}=\frac{\sum_i{F_i^{\ast}}}{\sum_iF_i\odot{F_i^{\ast}}}\tag{6} H∗=∑iFi⊙Fi∗∑iFi∗(6)
但是,UMACE要求目标以 F i F_i Fi为中心。可以使用相关性进行重新居中。如果我们将 g i g_i gi 定义为 Kronecker delta(目标中心的峰值为 1,其他地方的峰值为 0),这将实质上重新定位目标并计算 UMACE 滤波器。这与传统实现的区别在于在这里我们先裁剪然后翻译,传统方法先翻译然后裁剪。
为了证明MOSSE比ASEF产生更好的滤波器,进行了一项实验,改变用于训练过滤器的图像数量。通过对视频第一帧的跟踪窗口应用随机小的仿射扰动来初始化滤波器。第二帧上的 PSR 被用作滤波器性能的度量。图3表明 MOSSE 在少量图像窗口上训练时会产生更好的滤波。原因将在下一节讨论。
3.3 ASEF的正则化
ASEF采用了一种稍微不同的方法来最小化相关变换中的误差。结果表明,当只有一个训练图像 F i F_i Fi和一个输出图像 G i G_i Gi时,有一个滤波器产生零误差。
该滤波器称为精确滤波器,可以通过以下方法找到
H i ∗ = G i F i = G i ⊙ F i ∗ F i ⊙ F i ∗ (7) H^{\ast}_i=\frac{G_i}{F_i}=\frac{G_i\odot{F_i^{\ast}}}{F_i\odot{F_i^{\ast}}}\tag{7} Hi∗=FiGi=Fi⊙Fi∗Gi⊙Fi∗(7)
在一幅图像上训练的精确滤波器几乎总是会过度拟合该图像。当应用于新图像时,该滤波器通常会失败。均值化用于生成更通用的滤波器。平均化的动机来自 Bootstrap Aggregation [5],其中弱分类器的输出可以被平均以产生更强的分类器。通过一些操作,ASEF滤波器的方程可以显示为:
H i ∗ = 1 N ∑ i G i ⊙ F i ∗ F i ⊙ F i ∗ (8) H^{\ast}_i=\frac{1}{N}\sum_i\frac{G_i\odot{F_i^{\ast}}}{F_i\odot{F_i^{\ast}}}\tag{8} Hi∗=N1i∑Fi⊙Fi∗Gi⊙Fi∗(8)
如果只使用一幅图像进行训练,MOSSE和ASEF都会生成一个精确的过滤器。
ASEF 滤波器在少量图像上训练时不稳定,因为当训练图像中的频率包含非常少的能量(或分母接近于零)时,等式 8 中的元素除法变得不稳定。对大量精确滤波器进行平均化可以补偿此问题,并生成鲁棒的ASEF滤波器。因为 MOSSE 的分母是更多图像的能量之和,所以它很少会产生小数字,因此更稳定。
或者,可以使用正则化来校正低能频率,并产生更稳定的ASEF滤波器。这是通过向能谱中的每个元素添加一个小值来实现的。 F i ⊙ F i ∗ F_i\odot{F_i^{\ast}} Fi⊙Fi∗被用 F i ⊙ F i ∗ + ϵ F_i\odot{F_i^{\ast}}+\epsilon Fi⊙Fi∗+ϵ替换,其中是 ϵ \epsilon ϵ正则化参数。
正则化类似于OTF理论的结果,OTF理论通常与UMACE滤波器结合使用。这一结果表明,将背景噪声的能量谱添加到训练图像的能量谱中,将产生一个具有更好噪声耐受性的滤波器[16]。这里我们基本上添加了白噪声。
图4显示了调整的效果。通过适当的正则化,所有滤波器都能产生良好的峰值,并且应足够稳定,以产生良好的轨迹。
3.4 滤波器初始化与在线更新
等式8和5描述了在初始化过程中如何构造滤波器。训练集是使用随机仿射变换构建的,以在初始帧中生成跟踪窗口的八个小扰动 ( f i f_i fi)。还将生成训练输出( g i g_i gi),其峰值对应于目标中心。
在跟踪过程中,目标通常可以通过改变其旋转、比例、姿势、在不同的照明条件下移动,甚至通过经历非刚性变形来改变外观。因此,滤波器需要快速调整以跟踪对象。运行平均值用于此目的。例如,从帧 i i i学习的ASEF滤波器计算为:
H i ∗ = η G i ⊙ F i ∗ F i ⊙ F i ∗ + ( 1 − η ) H i − 1 ∗ (9) H^{\ast}_i=\eta\frac{G_i\odot{F_i^{\ast}}}{F_i\odot{F_i^{\ast}}}+(1-\eta)H_{i-1}^{\ast} \tag{9} Hi∗=ηFi⊙Fi∗Gi⊙Fi∗+(1−η)Hi−1∗(9)
MOSSE 滤波器为:
H
i
∗
=
A
i
B
i
(10)
H^{\ast}_i=\frac{A_i}{B_i} \tag{10}
Hi∗=BiAi(10)
A
i
=
η
G
i
⊙
F
i
∗
+
(
1
−
η
)
A
i
−
1
(11)
A_i=\eta{G_i\odot{F_i^{\ast}}}+(1-\eta)A_{i-1} \tag{11}
Ai=ηGi⊙Fi∗+(1−η)Ai−1(11)
B
i
=
η
F
i
⊙
F
i
∗
+
(
1
−
η
)
B
i
−
1
(12)
B_i=\eta{F_i\odot{F_i^{\ast}}}+(1-\eta)B_{i-1} \tag{12}
Bi=ηFi⊙Fi∗+(1−η)Bi−1(12)
其中 η η η是学习率。这会增加最近帧的权重,并使以前帧的效果随时间呈指数衰减。在实践中,我们发现 η = 0.125 η=0.125 η=0.125允许过滤器快速适应外观变化,同时仍保持稳健的过滤器。
3.5 故障检测和PSR
如前所述,峰值强度的简单测量称为峰值旁瓣比(PSR)。为了计算 PSR,相关输出 g 被分成最大值的峰值和旁瓣,旁瓣是除峰值周围的 11 × 11 窗口之外的其余像素。然后将 PSR 定义为 g m a x − μ s 1 σ s 1 \frac{g_{max}−\mu_{s_1}}{\sigma_{s1}} σs1gmax−μs1,其中 g m a x g_{max} gmax 是峰值, μ s 1 \mu_{s_1} μs1 和 σ s 1 \sigma_{s1} σs1 是旁瓣的平均值和标准偏差。根据我们的经验,正常跟踪条件下 UMACE、ASEF 和 MOSSE 的 PSR 通常介于 20.0 和 60.0 之间,这表明峰值非常强。我们发现,当 PSR 下降到 7.0 左右时,表明对象被遮挡或跟踪失败。对于朴素的实现,PSR 的范围在 3.0 到 10.0 之间,对于预测轨道质量没有用处。
4 评估
最初,建立了一个基于MOSSE的实时跟踪系统,并通过网络摄像头的实时视频进行评估。实时反馈可以方便地测试跟踪器配置的微小变化,并对各种目标和跟踪条件下的跟踪器性能进行定性分析。这些测试为跟踪器的操作提供了有价值的见解,并有助于生成本文中所述的快速且鲁棒的跟踪器。
对七个常用的测试视频进行了更具控制性的评估,这些视频可以从http://www.cs.toronto.edu/∼dross/ivt/.获取。测试视频都是灰度的,包括灯光、姿势和外观的挑战性变化。摄像机本身在所有视频中都在移动,这增加了目标的不稳定运动。这七个序列包括两个车辆跟踪场景(car4、car11)、两个玩具跟踪场景(fish、sylv)和三个面部跟踪场景(davidin300、dudek 和ttrellis70)。
4.1 滤波器比较
本节评估UMACE、ASEF和MOSSE滤波器的跟踪质量。这些都与基于在线更新的平均预处理跟踪窗口的朴素过滤器进行了比较。跟踪输出被手动标记为良好跟踪、偏离中心的跟踪或丢失的跟踪(见图5)。
定性地说,包括朴素滤波在内的所有滤波都能够在测试集中发现的整个比例、旋转和照明变化范围内跟踪对象,且漂移很小。大多数漂移和故障发生在目标发生大的平面外旋转时。图6显示了davidin300序列的示例。滤波器倾向于跟踪目标中心的点。当目标旋转时,该点向目标边界移动,跟踪器最终处于跟踪窗口大部分被背景覆盖的状态。滤波器适应此半背景窗口,当目标旋转回正面姿势时,过滤器有时会移动到新位置,或者可能会松开目标并跟踪背景。
这些结果表明,高级相关滤波器比原始方法跟踪目标的时间更长。尖峰还有一个好处,即PSR是跟踪质量的一个很好的预测器,而PSR对于朴素滤波器来说并不是特别有用。对于高级过滤器,漂移和故障总是与低PSR相关。图7显示了MOSSE PSR可以定位视频中最具挑战性的部分。
对于基于滤波器的跟踪器,很难断言任何一种滤波器类型的性能明显优于另一种。在七个视频序列中的四个视频序列上,相关滤波器表现完美。在davidin300上,所有滤波器在相同的平面外旋转过程中从面部中心漂移到眼睛,在sylv中,滤波器在该序列的相同困难部分漂移。这两个序列表明滤波器类型的选择并非特别重要,因为滤波器以完全相同的方式出现故障。
只有在dudek序列上,三个过滤器之间才有显著差异。虽然 MOSSE 完美地完成了序列,但 UMACE 和 ASEF 在具有挑战性的视频部分方面遇到了问题。尽管第3节中提供的证据表明MOSSE可能是这项任务的最佳过滤器,但一个视频序列上的单一故障不足以支持有力的说法;需要更多的研究。
4.2 与其他跟踪器的比较
此部分,略。
4.3 实时表现
测试是在 2.4Ghz Core 2 Duo MacBook Pro 的单处理器上进行的。本文测试的跟踪器是用 Python 编写的,使用 PyVision 库、OpenCV 和 SciPy。当使用64×64跟踪窗口时,最初的Python实现平均每秒约250次跟踪更新。为了更好地对跟踪器的运行时性能进行基准测试,一些代码的较慢部分在 C 中重新实现,其中包括更好的内存管理和更高效的耗时任务计算,例如归一化、FFT 和 PSR。这些优化的结果是平均帧速率为每秒669次更新,如图9所示。
基于滤波器的跟踪的计算复杂度为 O ( P l o g P ) O(PlogP) O(PlogP),其中 P P P是滤波器中的像素数。这来自相关操作和在线更新期间使用的FFT。跟踪初始化会产生 O ( N P l o g P ) O(NPlogP) O(NPlogP)的一次性成本,其中 N N N 是用于初始化第一个滤波器的仿射扰动的数量。虽然这比在线更新慢很多倍,但初始化仍然比实时快,每秒更新 66.32 次。
5 结论
本文表明,传统上使用权重分类器、复杂外观模型和随机搜索技术解决的视觉跟踪问题可以被高效、简单的MOSSE相关滤波器所取代。结果是一个易于实现的算法,可以同样精确,并且速度更快。在本文中,跟踪器保持简单,以评估滤波器跟踪和适应困难跟踪场景的能力。有许多简单的方法可以改进此跟踪器。例如,如果目标的外观相对稳定,则可以通过偶尔基于初始帧重新居中滤波器来减轻漂移。通过过滤更新后跟踪窗口的对数极坐标变换,该跟踪器还可以扩展以估计尺度和旋转的变化。
附录A
在这里,我们包括更详细的 MOSSE 过程推导。 本文涵盖了主要步骤和最终结果。 这里的解释显示了大部分中间步骤。 寻找 MOSSE 滤波器的第一步是设置将被优化的最小化问题:
H
=
min
H
∑
i
∣
F
i
⊙
H
∗
−
G
i
∣
2
(13)
H=\min \limits_{H}\sum_{i}|F_i\odot{H^{\ast}}-G_i|^2 \tag{13}
H=Hmini∑∣Fi⊙H∗−Gi∣2(13)
其中
F
i
F_i
Fi 和
G
i
G_i
Gi 是傅里叶域中的输入图像和相应的期望输出,目标是找到一个滤波器
H
H
H 最小化输出误差的平方和。 因为傅里叶域中的相关性是逐元素乘法,所以滤波器
H
H
H 的每个元素都可以独立优化。 因此,优化问题可以从多变量优化问题转换为独立优化
H
H
H 的每个元素的问题。
H
ω
ν
=
min
H
ω
ν
∑
i
∣
F
i
ω
ν
⊙
H
ω
ν
∗
−
G
i
ω
ν
∣
2
(14)
H_{\omega\nu}=\min \limits_{H_{\omega\nu}}\sum_{i}|F_{i\omega\nu}\odot{H_{\omega\nu}^{\ast}}-G_{i\omega\nu}|^2 \tag{14}
Hων=Hωνmini∑∣Fiων⊙Hων∗−Giων∣2(14)
其中
ω
\omega
ω 和
ν
\nu
ν 索引
H
H
H 的元素。
此函数是实值、正值和凸函数,因此它只有一个最优值。 通常要找到函数的最优值,通过将导数设置为零然后求解感兴趣的变量来找到稳定点。 找到这个函数的稳定点是不同的,因为它是一个复变量的实值函数。 需要注意正确解决此问题。 事实证明,找到这样一个函数的稳定点并不难。 总而言之,它涉及根据
H
ω
ν
H_{ων}
Hων 和
H
ω
ν
∗
H^∗_{ων}
Hων∗ 重写函数。 然后,部分 W.R.T.
H
ω
ν
∗
H^∗_{ων}
Hων∗ 设置为零,同时将
H
H
H 视为自变量。
0
=
∂
∂
H
ω
ν
∗
∑
i
∣
F
i
ω
ν
H
ω
ν
∗
−
G
i
ω
ν
∣
2
(15)
0=\frac{\partial}{\partial{H_{\omega\nu}^{\ast}}}\sum_{i}|F_{i\omega\nu}{H_{\omega\nu}^{\ast}}-G_{i\omega\nu}|^2 \tag{15}
0=∂Hων∗∂i∑∣FiωνHων∗−Giων∣2(15)
可以证明,任何满足该方程的 H ω ν H_{ων} Hων 都是一个稳定点。 可以在 [13] 中找到有关该技术的简短教程。 变换这个方程会导致:(根据复数模的平方等于该复数与共轭复数相乘,得)
0 = ∂ ∂ H ω ν ∗ ∑ i ( F i ω ν H ω ν ∗ − G i ω ν ) ( F i ω ν H ω ν ∗ − G i ω ν ) ∗ (16) 0=\frac{\partial}{\partial{H_{\omega\nu}^{\ast}}}\sum_{i}(F_{i\omega\nu}{H_{\omega\nu}^{\ast}}-G_{i\omega\nu}) (F_{i\omega\nu}{H_{\omega\nu}^{\ast}}-G_{i\omega\nu})^{\ast} \tag{16} 0=∂Hων∗∂i∑(FiωνHων∗−Giων)(FiωνHων∗−Giων)∗(16)
0 = ∂ ∂ H ω ν ∗ ∑ i [ ( F i ω ν H ω ν ∗ ) ( F i ω ν H ω ν ∗ ) ∗ − ( F i ω ν H ω ν ∗ ) G i ω ν ∗ − G i ω ν ( F i ω ν H ω ν ∗ ) ∗ + G i ω ν G i ω ν ∗ ] (17) 0=\frac{\partial}{\partial{H_{\omega\nu}^{\ast}}} \sum_{i}[ (F_{i\omega\nu}{H_{\omega\nu}^{\ast}})(F_{i\omega\nu}{H_{\omega\nu}^{\ast}})^{\ast}- (F_{i\omega\nu}{H_{\omega\nu}^{\ast}})G_{i\omega\nu}^{\ast}- G_{i\omega\nu}(F_{i\omega\nu}{H_{\omega\nu}^{\ast}})^{\ast}+ G_{i\omega\nu}G_{i\omega\nu}^{\ast}] \tag{17} 0=∂Hων∗∂i∑[(FiωνHων∗)(FiωνHων∗)∗−(FiωνHων∗)Giων∗−Giων(FiωνHων∗)∗+GiωνGiων∗](17)
0
=
∂
∂
H
ω
ν
∗
∑
i
[
F
i
ω
ν
F
i
ω
ν
∗
H
ω
ν
H
ω
ν
∗
−
F
i
ω
ν
G
i
ω
ν
∗
H
ω
ν
∗
−
F
i
ω
ν
∗
G
i
ω
ν
H
ω
ν
+
G
i
ω
ν
G
i
ω
ν
∗
]
(18)
0=\frac{\partial}{\partial{H_{\omega\nu}^{\ast}}} \sum_{i}[ F_{i\omega\nu}F_{i\omega\nu}^{\ast}{H_{\omega\nu}}{H_{\omega\nu}^{\ast}}- F_{i\omega\nu}G_{i\omega\nu}^{\ast}{H_{\omega\nu}^{\ast}}- F_{i\omega\nu}^{\ast}G_{i\omega\nu}{H_{\omega\nu}}+ G_{i\omega\nu}G_{i\omega\nu}^{\ast}] \tag{18}
0=∂Hων∗∂i∑[FiωνFiων∗HωνHων∗−FiωνGiων∗Hων∗−Fiων∗GiωνHων+GiωνGiων∗](18)
计算偏导数得:(第三项中不含
H
∗
H^{\ast}
H∗,第四项为常数,因此均为零)
0 = ∑ i [ F i ω ν F i ω ν ∗ H ω ν − F i ω ν G i ω ν ∗ ] (19) 0= \sum_{i}[ F_{i\omega\nu}F_{i\omega\nu}^{\ast}{H_{\omega\nu}}- F_{i\omega\nu}G_{i\omega\nu}^{\ast} \tag{19}] 0=i∑[FiωνFiων∗Hων−FiωνGiων∗](19)
然后我们可以分配总和并求解 H ω ν H_{ων} Hων。
H ω ν = ∑ i F i ω ν G i ω ν ∗ ∑ i F i ω ν F i ω ν ∗ H_{\omega\nu}=\frac{\sum_i{F_{i\omega\nu}}G_{i\omega\nu}^{\ast}}{\sum_i{F_{i\omega\nu}}F_{i\omega\nu}^{\ast}} Hων=∑iFiωνFiων∗∑iFiωνGiων∗
最后,我们用原来的数组符号重写这个表达式:
H = ∑ i F i ⊙ G i ∗ ∑ i F i ⊙ F i ∗ H=\frac{\sum_i{F_{i}}\odot{G_{i}^{\ast}}}{\sum_i{F_{i}}\odot{F_{i}^{\ast}}} H=∑iFi⊙Fi∗∑iFi⊙Gi∗