以下翻译主要为机翻,结合手工校对。
在人群计数中,每个训练图像包含多个人,每个人都用一个点标记。现有的人群计数方法需要使用高斯平滑每个带注释的点或估计给定带注释点的每个像素的可能性。在本文中,我们表明将高斯方法强加于注释会损害泛化性能。相反,我们建议使用分布匹配(Distribution Matching)进行人群计数(DM-Count)。在DM-Count中,我们使用最优传输(Optimal Transport)来测量归一化预测密度图和归一化GT密度图之间的相似度。为了稳定OT计算,我们在模型中包括了总变化(Total Variation)损失。我们证明,DM-Count的泛化误差范围比高斯平滑方法的泛化误差范围更严格。在平均绝对误差(MAE)方面,DM-Count在两个大型计数数据集(UCF-QNRF和NWPU)上大大优于以前的最新方法,并在ShanghaiTech和UCF-CC50数据集上获得了最新结果。 DM-Count将最新发布结果的误差降低了约16%。
基于图像的人群计数是一个重要的研究问题,在包括新闻和监控在内的许多领域中都有各种应用。当前最先进的方法[54、8、25、55、61、59、17、48、21、23、36]将人群计数视为密度图估计问题,其中深度神经网络首先会产生一个给定输入图像的2D人群密度图,随后通过对密度图所有空间位置上的密度值求和来估算人群的总大小。对于大量人群的图像,该密度图估计方法已显示出比“先检测再计数”方法[22、19、62、12]更为鲁棒,因为前者对遮挡不敏感并且不需要在早期就进行二元化决策。
密度图估计方法发展中的关键步骤是训练从输入图像映射到相应的带注释的密度图的深度神经网络。在所有现有的人群计数数据集[15、60、14、51]中,每个训练图像的带注释的密度图是一个稀疏的二进制掩膜(binary mask),其中每个人的头或前额都用一个点标记。由于描述空间范围所需的费力工作,尤其是当遮挡模糊太大时,没有提供每个人的空间范围。给定带有点注释的训练图像,训练密度图估计网络等效于优化网络参数,以最小化可预测损失密度的可微损失函数,该函数可测量预测密度图和点注释图之间的差异。值得注意的是,前者是一个密集的实值矩阵,而后者是一个稀疏的二进制矩阵。给定点的稀疏性,很难训练基于带注释的密度图和预测的密度图之间的像素级差异定义的函数,因为重建损失在稀疏二进制矩阵中的0和1之间非常不平衡。缓解此问题的一种方法是将每个带注释的点变成高斯块(Gaussian blob),以便GT更加平衡,因此网络更易于训练。几乎所有先前的人群密度图估计方法[56、57、60、38、20、33、35、4、28、50、27、40、29、26]都遵循了这一约定。不幸的是,所得网络的性能高度依赖于此“伪GT(pseudo ground truth)”的质量,但是鉴于拥挤的场景的透视图中人的大小和形状的巨大差异,为高斯块(Gaussian blobs)设置正确的宽度并非易事。
最近,Ma等 [31]提出了贝叶斯损失来测量预测密度图和注释密度图之间的差异。该方法将二进制GT注释图转换为N个“平滑GT”密度图,其中N是人数。给定该像素的位置,平滑的GT密度图的每个像素值就是相应注释点的后验概率。从经验上看,该方法的性能优于其他前述方法[60、38、20、33、35、4]。但是,此损失函数存在两个主要问题。首先,它还需要高斯核来为每个带注释的点构造似然函数,这涉及设置核宽度(kernel width)。其次,这种损失对应于一个不确定的方程组,具有无限多个解。对于许多与GT密度图不相似的密度图,损失可能为0。结果,使用此损失进行训练可能会导致预测的密度图与GT密度图非常不同。
在本文中,我们通过以下贡献解决了现有方法的缺陷。
• 我们在理论上和经验上表明,将高斯方法强加于注释会损害人群计数网络的泛化性能。
• 我们建议使用DM-Count,这是一种针对人群计数d分布匹配的方法。与以前的工作不同,DM-Count不需要任何高斯平滑GT注释。相反,我们使用最优传输(OT)来测量归一化的预测密度图和归一化的GT密度图之间的相似度。为了稳定OT计算,我们进一步添加了总变化(TV)损失。
• 我们在我们的方法中给出了计数损失(counting loss),OT损失,TV损失和总体损失(overall loss)的泛化误差范围。所有边界都比高斯平滑方法的边界更严格。
• 根据经验,我们的方法在四个具有挑战性的人群计数数据集:UCF-QNRF,NWPU,ShanghaiTech和UCF-CC50上大大改进了现有技术。值得注意的是,我们的方法将NWPU数据集上已发布的最新MAE降低了约16%。
人群计数方法可分为三类:检测然后计数方法,直接回归法计数和密度图估计法。早期方法[22、19、62、12]可以检测图像中的人,头部或上半身。但是,对于人群密集的人群来说,准确检测是困难的。此外,它还需要边界框注释,由于严重的遮挡,这是一个费力且模棱两可的过程。后来的方法[5、6、49、7]避免了检测问题,并直接学习从特征向量中对计数进行回归。但是它们的结果难以解释,并且点注释图的利用不足。最新研究[20、35、15、4、31、50、27、40、29、26、54、8、25、55、61、59、17、48、21、23、30、47、53 43、37、56、18、39、24、44、42]是基于密度图估计的,它已显示出是比先检测再计数和计数回归方法更可靠的方法。
密度图估计方法通常基于高斯平滑密度图和预测密度图之间的像素差异来定义训练损失。而不是使用单个内核宽度来平滑点注释,[60,14,47]使用自适应内核宽度。根据到注释点的最近邻居的距离来选择内核宽度。具体来说,[15]在不同的密度水平上生成了多个平滑的GT密度图。最终损失合并了来自多个密度级别的重建误差(reconstruction errors)。但是,这些方法假定人群均匀分布。实际上人群分布是非常不规则的。贝叶斯损失方法[31]使用高斯为每个带注释的点构造似然函数。但是,由于损失未确定,因此可能无法预测正确的密度。详细分析可以在第4.2节中找到。
我们提出了一种基于最优运输(OT)的新颖损失函数[46]。 为了更好地理解所建议的方法,我们在本节中简要回顾一下Monge-Kantarovich OT公式。
最优运输是指将一种概率分布转换为另一种概率分布的最优成本。令 X = { x i ∣ x i ∈ R d } i = 1 n \mathcal{X}=\left\{\mathbf{x}_{i} \mid \mathbf{x}_{i} \in \mathbb{R}^{d}\right\}_{i=1}^{n} X={xi∣xi∈Rd}i=1n 和 Y = { y j ∣ y j ∈ R d } j = 1 n \mathcal{Y}=\left\{\mathbf{y}_{j} \mid \mathbf{y}_{j} \in \mathbb{R}^{d}\right\}_{j=1}^{n} Y={yj∣yj∈Rd}j=1n 为两个 d d d 维向量空间的点集。令 μ \mu μ 和 ν \nu ν 为两个定义在 X \mathcal{X} X 和 Y \mathcal{Y} Y 上的概率测度,其中, μ , ν ∈ R + n \mu, \nu \in \mathbb{R}_{+}^{n} μ,ν∈R+n 且 1 n T μ = 1 n T ν = 1 ( 1 n \mathbf{1}_{n}^{T} \boldsymbol{\mu}=\mathbf{1}_{n}^{T} \boldsymbol{\nu}=1\left(\mathbf{1}_{n}\right. 1nTμ=1nTν=1(1n 是一个 n n n 维全 1 向量 )。 令 c : X × Y ↦ R + c: \mathcal{X} \times \mathcal{Y} \mapsto \mathbb{R}_{+} c:X×Y↦R+ 为从点 X \mathcal{X} X 移动到点 Y \mathcal{Y} Y 的成本函数, C \mathrm{C} C 为两个点集之间对应的 n × n n \times n n×n 成本矩阵: C i j = c ( x i , y j ) \mathbf{C}_{i j}=c\left(\mathbf{x}_{i}, \mathbf{y}_{j}\right) Cij=c(xi,yj) . 令 Γ \Gamma Γ 为将概率质量从 X \mathcal{X} X 传递到 Y \mathcal{Y} Y 的所有可能方式的集合: Γ = { γ ∈ R + n × n : γ 1 = μ , γ T 1 = ν } \Gamma=\left\{\gamma \in \mathbb{R}_{+}^{n \times n}: \gamma \mathbf{1}=\boldsymbol{\mu}, \gamma^{T} \mathbf{1}=\boldsymbol{\nu}\right\} Γ={γ∈R+n×n:γ1=μ,γT1=ν} 。介于 μ \mu μ 和 ν \nu ν 之间的Monge-Kantorovich的最优传输(OT)成本定义为:
W ( μ , ν ) = min γ ∈ Γ ⟨ C , γ ⟩ \mathcal{W}(\boldsymbol{\mu}, \boldsymbol{\nu})=\min _{\gamma \in \Gamma}\langle\mathbf{C}, \gamma\rangle W(μ,ν)=γ∈Γmin⟨C,γ⟩
Intuitively, if the probability distribution μ \mu μ is viewed as a unit amount of “dirt” piled on X \mathcal{X} X and μ \mu μ a unit amount of dirt piled on Y \mathcal{Y} Y, the OT cost is the minimum “cost” of turning one pile into the other. The OT cost is a principal measurement to quantify the dissimilarity between two probability distributions, also taking into account the distance between “dirt” locations.(这一段不知道怎么翻译。。。)
OT成本也可以通过对偶公式(2)计算:
W ( μ , ν ) = max α , β ∈ R n ⟨ α , μ ⟩ + ⟨ β , ν ⟩ , s.t. α i + β j ≤ c ( x i , y j ) , ∀ i , j \mathcal{W}(\boldsymbol{\mu}, \boldsymbol{\nu})=\max _{\boldsymbol{\alpha}, \boldsymbol{\beta} \in \mathbb{R}^{n}}\langle\boldsymbol{\alpha}, \boldsymbol{\mu}\rangle+\langle\boldsymbol{\beta}, \boldsymbol{\nu}\rangle, \quad \text { s.t. } \alpha_{i}+\beta_{j} \leq c\left(\mathbf{x}_{i}, \mathbf{y}_{j}\right), \forall i, j W(μ,ν)=α,β∈Rnmax⟨α,μ⟩+⟨β,ν⟩, s.t. αi+βj≤c(xi,yj),∀i,j
我们认为人群计数是分布匹配问题。 在本节中,我们提出DM-Count:用于人群计数的分布匹配,输入一张图像并输出密度值图的人群计数的网络。通过对预测密度图求和来获得最终计数估计。 DM-Count与不同的网络体系结构无关。 在我们的实验中,我们使用与贝叶斯损失论文相同的网络[31]。 与所有以前需要使用高斯来平滑GT情况注释的密度图估计方法不同,DM-Count不需要任何高斯来预处理GT注释。
令 z ∈ R + n \mathbf {z} \in \mathbb {R} _ {+} ^ {n} z∈R+n 表示点注释的矢量化二进制映射,而 z ^ ∈ R + n \hat {\mathbf {z}} \in \mathbb {R} _ {+} ^ {n} z^∈R+n 由神经网络返回的矢量化预测密度图。 通过将 z \mathrm {z} z 和 z ^ \hat {\mathrm {z}} z^ 视为未归一化的密度函数,我们使用以下三项来表示DM-Count中的损失函数:计数损失,OT损失和总变化(TV)损失。 第一项测量总质量之间的差异,而后两项测量归一化密度函数分布之间的差异。
计数损失。 令 ∥ ⋅ ∥ 1 \| \cdot \|_{1} ∥⋅∥1 表示向量的 L 1 L_ {1} L1 范数,因此 ∥ z ∥ 1 , ∥ z ^ ∥ 1 \| \mathbf {z} \| _ {1},\| \hat {\mathbf {z}} \| _ {1} ∥z∥1,∥z^∥1 分别是基本事实和预测计数。 人群计数的目标是使 ∥ z ^ ∥ 1 \| \hat {\mathbf {z}} \|_{1} ∥z^∥1 尽可能接近 ∥ z ∥ 1 \| \mathbf {z} \| _ {1} ∥z∥1 ,然后 计数损失定义为它们之间的绝对值之差:
ℓ C ( z , z ^ ) = ∣ ∥ z ∥ 1 − ∥ z ^ ∥ 1 ∣ \ell_{C}(\mathbf{z}, \hat{\mathbf{z}})=\left|\|\mathbf{z}\|_{1}-\|\hat{\mathbf{z}}\|_{1}\right| ℓC(z,z^)=∣∥z∥1−∥z^∥1∣
最优传输损失。 z \mathbf {z} z 和 z ^ \hat {\mathbf {z}} z^ 都是非归一化的密度函数,但是我们可以通过将它们除以它们各自的总和来将它们转换为概率密度函数(pdfs)。 除了OT,Kullback-Leibler散度和Jensen-Shannon散度也可以测量两个pdf之间的相似性。 但是,如果源分布与目标分布不重叠,这些测量将不会提供有效的梯度来训练网络[32]。 因此,我们建议在这项工作中使用OT。 我们将OT损失定义如下:
ℓ O T ( z , z ^ ) = W ( z ∥ z ∥ 1 , z ^ ∥ z ^ ∥ 1 ) = ⟨ α ∗ , z ∥ z ∥ 1 ⟩ + ⟨ β ∗ , z ^ ∥ z ^ ∥ 1 ⟩ \ell_{O T}(\mathbf{z}, \hat{\mathbf{z}})=\mathcal{W}\left(\frac{\mathbf{z}}{\|\mathbf{z}\|_{1}}, \frac{\hat{\mathbf{z}}}{\|\hat{\mathbf{z}}\|_{1}}\right)=\left\langle\boldsymbol{\alpha}^{*}, \frac{\mathbf{z}}{\|\mathbf{z}\|_{1}}\right\rangle+\left\langle\boldsymbol{\beta}^{*}, \frac{\hat{\mathbf{z}}}{\|\hat{\mathbf{z}}\|_{1}}\right\rangle ℓOT(z,z^)=W(∥z∥1z,∥z^∥1z^)=⟨α∗,∥z∥1z⟩+⟨β∗,∥z^∥1z^⟩
其中 α ∗ \alpha ^ {*} α∗ 和 β ∗ \beta ^ {*} β∗ 是公式 ( 2 ) (2) (2) 的解。我们使用二次传输成本,即 c ( z ( i ) , z ^ ( j ) ) = ∥ z ( i ) − z ^ ( j ) ∥ 2 2 , c(\mathbf {z}(i), \hat {\mathbf{z}}(j))= \| \mathbf {z}(i)-\hat{\mathbf {z}}(j)\| _ {2} ^ {2}, c(z(i),z^(j))=∥z(i)−z^(j)∥22, 其中 z ( i ) \mathbf {z}(i) z(i) 和 z ^ ( j ) \hat {\mathbf {z}}(j) z^(j) 分别是位置 i i i 和 j j j 的 2 D 2\mathrm {D} 2D 坐标。为了防止除以零的错误,我们在分母中增加了机器精度数。 由于 z ^ \hat {z} z^ 中的元素为非负数,方程(4)关于 z ^ \hat {z} z^ 的梯度为:
∂ ℓ O T ( z , z ^ ) ∂ z ^ = β ∗ ∥ z ^ ∥ 1 − ⟨ β ∗ , z ^ ⟩ ∥ z ^ ∥ 1 2 \frac{\partial \ell_{O T}(\mathbf{z}, \hat{\mathbf{z}})}{\partial \hat{\mathbf{z}}}=\frac{\boldsymbol{\beta}^{*}}{\|\hat{\mathbf{z}}\|_{1}}-\frac{\left\langle\boldsymbol{\beta}^{*}, \hat{\mathbf{z}}\right\rangle}{\|\hat{\mathbf{z}}\|_{1}^{2}} ∂z^∂ℓOT(z,z^)=∥z^∥1β∗−∥z^∥12⟨β∗,z^⟩
可以通过反向传播此梯度,以了解密度估计网络的参数。
总变化损失。 在每个训练迭代中,我们使用Sinkhorn算法[34]来近似 α ∗ \alpha ^ {*} α∗ 和 β ∗ \beta ^ {*} β∗ 。时间复杂度为 O ( n 2 log n / ϵ 2 ) O \left(n ^ {2} \log n / \epsilon ^ {2} \right) O(n2logn/ϵ2) [9],其中 ϵ \epsilon ϵ 是所需的最优间隔,即返回的目标与最佳目标之间的差异。当使用Sinkhorn算法进行优化时,目标函数在开始时急剧下降,但在以后的迭代中仅缓慢收敛到最优解。在实践中,我们设置最大迭代次数,而Sinkhorn算法仅返回近似解。结果,当我们使用Sinkhorn算法优化OT损失时,预测的密度图最终接近GT密度图,但并不完全相同。 OT损失将很好地逼近人群的密集区域,但是对于人群的低密度区域,近似值可能会更差。为了解决这个问题,我们另外使用总变化(TV)损失,定义为 :
ℓ T V ( z , z ^ ) = ∥ z ∥ z ∥ 1 − z ^ ∥ z ^ ∥ 1 ∥ T V = 1 2 ∥ z ∥ z ∥ 1 − z ^ ∥ z ^ ∥ 1 ∥ 1 \ell_{T V}(\mathbf{z}, \hat{\mathbf{z}})=\left\|\frac{\mathbf{z}}{\|\mathbf{z}\|_{1}}-\frac{\hat{\mathbf{z}}}{\|\hat{\mathbf{z}}\|_{1}}\right\|_{T V}=\frac{1}{2}\left\|\frac{\mathbf{z}}{\|\mathbf{z}\|_{1}}-\frac{\hat{\mathbf{z}}}{\|\hat{\mathbf{z}}\|_{1}}\right\|_{1} ℓTV(z,z^)=∥∥∥∥∥z∥1z−∥z^∥1z^∥∥∥∥TV=21∥∥∥∥∥z∥1z−∥z^∥1z^∥∥∥∥1
TV损失也将增加训练过程的稳定性。 用Sinkhorn算法优化OT损失是最小-最大鞍点的优化过程,类似于GAN优化[13]。 如Pix2Pix GAN [16]所示,可以通过增加重建损失来增加GAN训练的稳定性。 为此,TV损失类似于重建损失,并且还增加了训练过程的稳定性。TV损失对预测密度图 z ^ \hat{\mathbf{z}} z^ 的梯度为:
∂ ℓ T V ( z , z ^ ) ∂ z ^ = − 1 2 ( sign ( v ) ∥ z ^ ∥ 1 − ⟨ sign ( v ) , z ^ ⟩ ∥ z ^ ∥ 1 2 ) \frac{\partial \ell_{T V}(\mathbf{z}, \hat{\mathbf{z}})}{\partial \hat{\mathbf{z}}}=-\frac{1}{2}\left(\frac{\operatorname{sign}(\mathbf{v})}{\|\hat{\mathbf{z}}\|_{1}}-\frac{\langle\operatorname{sign}(\mathbf{v}), \hat{\mathbf{z}}\rangle}{\|\hat{\mathbf{z}}\|_{1}^{2}}\right) ∂z^∂ℓTV(z,z^)=−21(∥z^∥1sign(v)−∥z^∥12⟨sign(v),z^⟩)
其中, v = z / ∥ z ∥ 1 − z ^ / ∥ z ^ ∥ 1 , \mathbf{v}=\mathbf{z} /\|\mathbf{z}\|_{1}-\hat{\mathbf{z}} /\|\hat{\mathbf{z}}\|_{1}, v=z/∥z∥1−z^/∥z^∥1, , sign ( ⋅ ) \operatorname{sign}(\cdot) sign(⋅) 是向量每个元素上的符号函数。
总体损失函数(The Overall Objective)。 总体损失函数是计数损失,OT损失和TV损失的和:
ℓ ( z , z ^ ) = ℓ C ( z , z ^ ) + λ 1 ℓ O T ( z , z ^ ) + λ 2 ∥ z ∥ 1 ℓ T V ( z , z ^ ) \ell(\mathbf{z}, \hat{\mathbf{z}})=\ell_{C}(\mathbf{z}, \hat{\mathbf{z}})+\lambda_{1} \ell_{O T}(\mathbf{z}, \hat{\mathbf{z}})+\lambda_{2}\|\mathbf{z}\|_{1} \ell_{T V}(\mathbf{z}, \hat{\mathbf{z}}) ℓ(z,z^)=ℓC(z,z^)+λ1ℓOT(z,z^)+λ2∥z∥1ℓTV(z,z^)
其中 λ 1 \lambda_ {1} λ1 和 λ 2 \lambda_ {2} λ2 是OT和TV损失的可调超参数。 为确保TV损失与计数损失具有相同的比例,我们将此损失项与总人数相乘。
给定 K K K 训练图像 { I k } k = 1 K \left \{I_ {k} \right \} _ {k = 1} ^ {K} {Ik}k=1K 及其相应的点注释图 { z k } k = 1 K \left \{\mathbf {z} _ {k} \right \} _ {k = 1} ^ {K} {zk}k=1K ,我们将通过最小化 L ( f ) = 1 K ∑ k = 1 K ˉ ℓ ( z k , f ( I k ) ) L(f)= \frac {1} {K} \sum_ {k = 1} ^ {\bar {K}} \ell \left(\mathbf {z} _ {k},f \left(I_ {k} \right)\right) L(f)=K1∑k=1Kˉℓ(zk,f(Ik)) 来学习用于密度图估计的深度神经网络 f f f 。
在本节中,我们分析了高斯平滑方法,贝叶斯损失和提出的DM-Count的理论特性。 本节中定理的证明可以在补充材料中找到。 首先,我们在下面介绍一些符号。
令 D = { ( I , z ) } \mathcal {D} = \{(I,\mathbf {z})\} D={(I,z)} 是人群图像和相应点注释图的联合分布。令 H \mathcal {H} H 为假设空间。每个 h ∈ H h \in \mathcal {H} h∈H 把 I ∈ I I \in \mathcal {I} I∈I 映射到 z ∈ Z \mathbf {z} \in \mathcal {Z} z∈Z 的每个维度。令 F = H × ⋯ × H ( n times ) x \mathcal {F} = \mathcal {H} \times \cdots \times \mathcal {H}(n \text{ times})x F=H×⋯×H(n times)x 为映射空间。每个 f ∈ F f \in \mathcal {F} f∈F 把 I ∈ I I \in \mathcal {I} I∈I 映射到 z ∈ Z \mathbf {z} \in \mathcal {Z} z∈Z 。假设 t \mathrm {t} t 为每个 z ∈ D \mathbf {z} \in \mathcal {D} z∈D 中的高斯平滑密度图,并令 D ~ = { ( I , t ) } \tilde{\mathcal {D}} = \{(I,\mathbf {t})\} D~={(I,t)} 为 ( I , t ) (I,\mathbf {t}) (I,t) 的联合分布。让 S = { ( I k , z k ) } k = 1 K S = \left \{\left(I_ {k},\mathbf {z} _ {k} \right)\right \} _ {k = 1} ^ {K} S={(Ik,zk)}k=1K 和 S ~ = { ( I k , t k ) } k = 1 K \tilde {S} = \left \{\left(I_ {k},\mathbf {t} _ {k} \right)\right \} _ {k = 1} ^ {K} S~={(Ik,tk)}k=1K 为含有 K K K 个样本的有限集,且分别为从 D \mathcal {D} D 和 D ~ \tilde {\mathcal {D}} D~ 中采样的独立同分布样本。假设 R S ( H ) R_ {S}(\mathcal {H}) RS(H) 表示 H \mathcal {H} H 关于 S S S 的经验拉德马赫尔复杂度(empirical Rademacher complexity)[3]。给定数据集 D ∈ { D , S , D ~ , S ~ } D \in \{\mathcal {D} ,S,\tilde {\mathcal {D}},\tilde {S} \} D∈{D,S,D~,S~}, 映射 f ∈ F f \in \mathcal {F} f∈F 和损失函数 ℓ \ell ℓ , 令 R ( D , f , ℓ ) = E ( I , s ) ∼ D [ ℓ ( s , f ( I ) ) ] \mathcal {R} (D,f,\ell)= \mathbb {E} _ {(I,\mathbf {s})\sim D} [\ell(\mathbf {s},f(I))] R(D,f,ℓ)=E(I,s)∼D[ℓ(s,f(I))] 表示预期风险。令 ℓ 1 ( z , z ^ ) = ∥ z − z ^ ∥ 1 \ell_ {1}(\mathbf {z},\hat {\mathbf {z}})= \| \mathbf {z}-\hat {\mathbf {z}} \| _ {1} ℓ1(z,z^)=∥z−z^∥1 。设 f Δ D = argmin f ∈ F R ( D , f , ℓ Δ ) f _ {\Delta} ^ {D} = \operatorname {argmin} _ {f \in \mathcal {F}} \mathcal {R} \left(D,f,\ell _ {\Delta} \right) fΔD=argminf∈FR(D,f,ℓΔ) 为损失 ℓ Δ \ell _ {\Delta} ℓΔ 在数据集 D D D 上的极小值 R ( D , f , ℓ Δ ) \mathcal {R} \left(D,f,\ell _ {\Delta} \right) R(D,f,ℓΔ),其中 D ∈ { D , S , D ~ , S ~ } D \in \{\mathcal {D},S,\tilde {\mathcal {D}},\tilde {S} \} D∈{D,S,D~,S~} , Δ ∈ { 1 , C , O T , T V , ∅ } \Delta \in \{1,C,OT,TV,\emptyset \} Δ∈{1,C,OT,TV,∅} 。
许多现有方法(例如[60、20、35])都使用高斯平滑的注释图进行训练。下面给出了在密度图上使用 ℓ 1 \ell_1 ℓ1 损失的泛化误差界。
定理1 :假设 ∀ f ∈ F \forall f \in \mathcal{F} ∀f∈F 且 ( I , t ) ∼ D ~ (I, \mathbf{t}) \sim \tilde{\mathcal{D}} (I,t)∼D~,有 ℓ ( t , f ( I ) ) ≤ B . \ell(\mathbf{t}, f(I)) \leq B . ℓ(t,f(I))≤B. 那么, 对任意 0 < δ < 1 0<\delta<1 0<δ<1, 至少以概率 1 − δ 1-\delta 1−δ 有,
a) 泛化误差的上边界为:
R ( D , f 1 S ~ , ℓ 1 ) ≤ R ( D ~ , f 1 D ~ , ℓ 1 ) + 2 n R S ( H ) + 5 B 2 log ( 8 / δ ) / K + E ( I , z ) ∼ D ∥ z − t ∥ 1 \mathcal{R}\left(\mathcal{D}, f_{1}^{\tilde{S}}, \ell_{1}\right) \leq \mathcal{R}\left(\tilde{\mathcal{D}}, f_{1}^{\tilde{\mathcal{D}}}, \ell_{1}\right)+2 n R_{S}(\mathcal{H})+5 B \sqrt{2 \log (8 / \delta) / K}+\mathbb{E}_{(I, \mathbf{z}) \sim \mathcal{D}}\|\mathbf{z}-\mathbf{t}\|_{1} R(D,f1S~,ℓ1)≤R(D~,f1D~,ℓ1)+2nRS(H)+5B2log(8/δ)/K+E(I,z)∼D∥z−t∥1
b) 泛化误差的下边界为:
R ( D , f 1 S ~ , ℓ 1 ) ≥ ∣ E ( I , z ) ∼ D ∥ z − t ∥ 1 − R ( D ~ , f 1 S ~ , ℓ 1 ) ∣ \mathcal{R}\left(\mathcal{D}, f_{1}^{\tilde{S}}, \ell_{1}\right) \geq\left|\mathbb{E}_{(I, \mathbf{z}) \sim \mathcal{D}}\|\mathbf{z}-\mathbf{t}\|_{1}-\mathcal{R}\left(\tilde{\mathcal{D}}, f_{1}^{\tilde{S}}, \ell_{1}\right)\right| R(D,f1S~,ℓ1)≥∣∣∣E(I,z)∼D∥z−t∥1−R(D~,f1S~,ℓ1)∣∣∣
在这个定理中,随着样本数 K K K 区域无穷, 2 n R S ( H ) 2 n R_{S}(\mathcal{H}) 2nRS(H) 和 5 B 2 log ( 8 / δ ) / K 5 B \sqrt{2 \log (8 / \delta) / K} 5B2log(8/δ)/K 降为 0 0 0 。定理 1. a 1 . a 1.a ) 表明期望风险 R ( D , f 1 S ~ , ℓ 1 ) \mathcal{R}\left(\mathcal{D}, f_{1}^{\tilde{S}}, \ell_{1}\right) R(D,f1S~,ℓ1) 的上边界(最差情况) ,这个边界是使用在高斯平滑GT上训练的经验极小值对真实GT数据进行评估的。在足够训练数据条件下不超过 R ( D ~ , f 1 D ~ , ℓ 1 ) + E ( I , z ) ∼ D ∥ z − t ∥ 1 \mathcal{R}\left(\tilde{\mathcal{D}},f_{1}^{\tilde{\mathcal{D}}}, \ell_{1}\right)+\mathbb{E}_{(I, \mathbf{z}) \sim \mathcal{D}}\|\mathbf{z}-\mathbf{t}\|_{1} R(D~,f1D~,ℓ1)+E(I,z)∼D∥z−t∥1 定理 1. b 1 . b 1.b ) 表明期望风险 R ( D , f 1 S ~ , ℓ 1 ) \mathcal{R}\left(\mathcal{D}, f_{1}^{\tilde{S}}, \ell_{1}\right) R(D,f1S~,ℓ1) 的下边界(最好情况)不小于 ∣ E ( I , z ) ∼ D ∥ z − t ∥ 1 − R ( D ~ , f 1 S ~ , ℓ 1 ) ∣ . \left|\mathbb{E}_{(I, \mathbf{z}) \sim \mathcal{D}}\|\mathbf{z}-\mathbf{t}\|_{1}-\mathcal{R}\left(\tilde{\mathcal{D}}, f_{1}^{\tilde{S}}, \ell_{1}\right)\right| . ∣∣∣E(I,z)∼D∥z−t∥1−R(D~,f1S~,ℓ1)∣∣∣. 这意味着 R ( D ~ , f 1 S ~ , ℓ 1 ) ≤ E ( I , z ) ∼ D ∥ z − t ∥ 1 , \mathcal{R}\left(\tilde{\mathcal{D}}, f_{1}^{\tilde{S}}, \ell_{1}\right) \leq \mathbb{E}_{(I, \mathbf{z}) \sim \mathcal{D}}\|\mathbf{z}-\mathbf{t}\|_{1}, R(D~,f1S~,ℓ1)≤E(I,z)∼D∥z−t∥1, 于是最小的是 R ( D ~ , f 1 S ~ , ℓ 1 ) \mathcal{R}\left(\tilde{\mathcal{D}}, f_{1}^{\tilde{S}}, \ell_{1}\right) R(D~,f1S~,ℓ1),最大的期望风险是 R ( D , f 1 S ~ , ℓ 1 ) \mathcal{R}\left(\mathcal{D}, f_{1}^{\tilde{S}}, \ell_{1}\right) R(D,f1S~,ℓ1). 换句话说,模型 f 1 S ~ f_{1}^{\tilde{S}} f1S~ 在高斯平滑的GT D ~ \tilde{\mathcal{D}} D~ 上表现越好, 在实际GT D \mathcal{D} D 上的泛化性能越差. 此外, 由于 R ( D ~ , f 1 S ~ , ℓ 1 ) ≠ E ( I , z ) ∼ D ∥ z − t ∥ 1 , \mathcal{R}\left(\tilde{\mathcal{D}}, f_{1}^{\tilde{S}}, \ell_{1}\right) \neq \mathbb{E}_{(I, \mathbf{z}) \sim \mathcal{D}}\|\mathbf{z}-\mathbf{t}\|_{1}, R(D~,f1S~,ℓ1)=E(I,z)∼D∥z−t∥1, 当 R ( D ~ , f 1 S ~ , ℓ 1 ) = 0. \mathcal{R}\left(\tilde{\mathcal{D}}, f_{1}^{\tilde{S}}, \ell_{1}\right)=0 . R(D~,f1S~,ℓ1)=0.,有 R ( D , f 1 S ~ , ℓ 1 ) > 0. R ( D , f 1 S ~ , ℓ 1 ) \mathcal{R}\left(\mathcal{D}, f_{1}^{\tilde{S}}, \ell_{1}\right)>0 . \mathcal{R}\left(\mathcal{D}, f_{1}^{\tilde{S}}, \ell_{1}\right) R(D,f1S~,ℓ1)>0.R(D,f1S~,ℓ1) 最大能够到 E ( I , z ) ∼ D ∥ z − t ∥ 1 \mathbb{E}_{(I, \mathbf{z}) \sim \mathcal{D}}\|\mathbf{z}-\mathbf{t}\|_{1} E(I,z)∼D∥z−t∥1。这并非我们想要的,因为我们希望在真实GT上评估的风险 R ( D , f 1 S ~ , ℓ 1 ) \mathcal{R}\left(\mathcal{D}, f_{1}^{\tilde{S}}, \ell_{1}\right) R(D,f1S~,ℓ1) 尽可能趋于 0 0 0。
贝叶斯损失[31]为:
ℓ Bayesian ( z , z ^ ) = ∑ i = 1 N ∣ 1 − ⟨ p i , z ^ ⟩ ∣ , where p i = N ( q i , σ 2 1 2 × 2 ) ∑ i = 1 N N ( q i , σ 2 1 2 × 2 ) \ell_{\text {Bayesian}}(\mathbf{z}, \hat{\mathbf{z}})=\sum_{i=1}^{N}\left|1-\left\langle\mathbf{p}_{i}, \hat{\mathbf{z}}\right\rangle\right|, \text { where } \quad \mathbf{p}_{i}=\frac{\mathcal{N}\left(\mathbf{q}_{i}, \sigma^{2} \mathbf{1}_{2 \times 2}\right)}{\sum_{i=1}^{N} \mathcal{N}\left(\mathbf{q}_{i}, \sigma^{2} \mathbf{1}_{2 \times 2}\right)} ℓBayesian(z,z^)=i=1∑N∣1−⟨pi,z^⟩∣, where pi=∑i=1NN(qi,σ212×2)N(qi,σ212×2)
其中 N N N 是 z 的 人 头 数 , \mathbf{z} 的人头数, z的人头数, N ( q i , σ 2 1 2 × 2 ) \mathcal{N}\left(\mathbf{q}_{i}, \sigma^{2} \mathbf{1}_{2 \times 2}\right) N(qi,σ212×2) 是以 q i \mathbf{q}_{i} qi 为均值,方差为 σ 2 1 2 × 2 \sigma^{2} \mathbf{1}_{2 \times 2} σ212×2 的高斯分布。 q i \mathbf{q}_{i} qi 是 z \mathbf{z} z 中的第 i t h i^{t h} ith 个标注点。. p i \mathbf{p}_{i} pi 和 z \mathbf{z} z 的维度为 n , n, n, 即密度图的像素点数。 但是,由于标注的点数 N N N小于 n , n, n,贝叶斯损失是不确定的。 对于GT标注 z \mathbf{z} z, 有无穷多个 z ^ \hat{\mathbf{z}} z^ 满足 ℓ Bayesian ( z , z ^ ) = 0 \ell_{\text {Bayesian}}(\mathbf{z}, \hat{\mathbf{z}})=0 ℓBayesian(z,z^)=0 且 z ^ ≠ z . \hat{\mathbf{z}} \neq \mathbf{z} . z^=z. 因此,预测的密度图可能与GT密度图有很大不同。
在下面的定理中,我们给出了所提出方法的损失函数的泛化误差界。
定理 2 : 假设 ∀ f ∈ F \forall f \in \mathcal{F} ∀f∈F 且 ( I , z ) ∼ D (I, \mathbf{z}) \sim \mathcal{D} (I,z)∼D,有 ∥ z ∥ 1 ≥ 1 , ∥ f ( I ) ∥ 1 ≥ 1 \|\mathbf{z}\|_{1} \geq 1,\|f(I)\|_{1} \geq 1 ∥z∥1≥1,∥f(I)∥1≥1 (可以通过向 z \mathrm{z} z 和 f ( I ) f(I) f(I) 都添加值为1的虚拟维来满足) 且 ℓ C ( z , f ( I ) ) ≤ B . \ell_{C}(\mathrm{z}, f(I)) \leq B . ℓC(z,f(I))≤B. 那么, 对任意 0 < δ < 1 0<\delta<1 0<δ<1, 至少以概率 1 − δ 1-\delta 1−δ 有:
a . ) a.) a.) 计数损失的泛化误差界为:
R ( D , f C S , ℓ C ) ≤ R ( D , f C D , ℓ C ) + 2 n R S ( H ) + 5 B 2 log ( 8 / δ ) / K \mathcal{R}\left(\mathcal{D}, f_{C}^{S}, \ell_{C}\right) \leq \mathcal{R}\left(\mathcal{D}, f_{C}^{\mathcal{D}}, \ell_{C}\right)+2 n R_{S}(\mathcal{H})+5 B \sqrt{2 \log (8 / \delta) / K} R(D,fCS,ℓC)≤R(D,fCD,ℓC)+2nRS(H)+5B2log(8/δ)/K
b . ) b.) b.) OT损失的泛化误差界为:
R ( D , f O T S , ℓ O T ) ≤ R ( D , f O T D , ℓ O T ) + 4 C ∞ n 2 R S ( H ) + 5 C ∞ 2 log ( 8 / δ ) / K \mathcal{R}\left(\mathcal{D}, f_{O T}^{S}, \ell_{O T}\right) \leq \mathcal{R}\left(\mathcal{D}, f_{O T}^{\mathcal{D}}, \ell_{O T}\right)+4 \mathbf{C}_{\infty} n^{2} R_{S}(\mathcal{H})+5 \mathbf{C}_{\infty} \sqrt{2 \log (8 / \delta) / K} R(D,fOTS,ℓOT)≤R(D,fOTD,ℓOT)+4C∞n2RS(H)+5C∞2log(8/δ)/K
c . ) c.) c.) TV损失的泛化误差界为:
R ( D , f T V S , ℓ T V ) ≤ R ( D , f T V D , ℓ T V ) + n 2 R S ( H ) + 5 2 log ( 8 / δ ) K \mathcal{R}\left(\mathcal{D}, f_{T V}^{S}, \ell_{T V}\right) \leq \mathcal{R}\left(\mathcal{D}, f_{T V}^{\mathcal{D}}, \ell_{T V}\right)+n^{2} R_{S}(\mathcal{H})+5 \sqrt{2 \log (8 / \delta) K} R(D,fTVS,ℓTV)≤R(D,fTVD,ℓTV)+n2RS(H)+52log(8/δ)K
d . ) d.) d.) 总体损失的泛化误差界为:
R ( D , f S , ℓ ) ≤ R ( D , f D , ℓ ) + ( 2 n + 4 λ 1 C ∞ n 2 + λ 2 N n 2 ) R S ( H ) + 5 ( B + λ 1 C ∞ + λ 2 N ) 2 log ( 8 / δ ) K \begin{array}{r} \mathcal{R}\left(\mathcal{D}, f^{S}, \ell\right) \leq \mathcal{R}\left(\mathcal{D}, f^{\mathcal{D}}, \ell\right)+\left(2 n+4 \lambda_{1} \mathbf{C}_{\infty} n^{2}+\lambda_{2} N n^{2}\right) R_{S}(\mathcal{H}) \\ +5\left(B+\lambda_{1} \mathbf{C}_{\infty}+\lambda_{2} N\right) \sqrt{2 \log (8 / \delta) K} \end{array} R(D,fS,ℓ)≤R(D,fD,ℓ)+(2n+4λ1C∞n2+λ2Nn2)RS(H)+5(B+λ1C∞+λ2N)2log(8/δ)K
其中, C ∞ \mathbf{C}_{\infty} C∞ 是OT成本矩阵的最大值, N = sup { ∥ z ∥ 1 ∣ ∀ ( I , z ) ∼ D } N=\sup \left\{\|\mathbf{z}\|_{1} \mid \forall(I, \mathbf{z}) \sim \mathcal{D}\right\} N=sup{∥z∥1∣∀(I,z)∼D} 为数据集上最大的人头数。
在上面的理论中,随着 K K K 增加, R S ( H ) R_{S}(\mathcal{H}) RS(H) 和 2 log ( 1 / δ ) K \sqrt{2 \log (1 / \delta) K} 2log(1/δ)K 减小。 所有使用经验最小化器(empirical minimizers) f Δ S ˙ f_{\Delta}^{\dot{S}} fΔS˙ 的期望风险 R ( D , f Δ S , ℓ Δ ) \mathcal{R}\left(\mathcal{D}, f_{\Delta}^{S}, \ell_{\Delta}\right) R(D,fΔS,ℓΔ) 收敛到使用最优最小化器(optimal minimizers) f Δ D f_{\Delta}^{\mathcal{D}} fΔD 的期望风险 R ( D , f Δ D , ℓ Δ ) \mathcal{R}\left(\mathcal{D}, f_{\Delta}^{\mathcal{D}}, \ell_{\Delta}\right) R(D,fΔD,ℓΔ) , Δ ∈ { C , O T , T V , ∅ } \Delta \in\{C, O T, T V, \emptyset\} Δ∈{C,OT,TV,∅} 。这意味着所有上限都很严格。 此外,所有上限都比定理 1. a 1 . \mathrm{a} 1.a ) 中所示的高斯平滑方法的上限更严格。定理 2. b 2 . \mathrm{b} 2.b ) 中OT损失的界限与最大传输成本 C ∞ \mathrm{C}_{\infty} C∞ 有关。因此,我们需要在OT中使用较小的传输成本以获得更好的泛化性能。 R S ( H ) R_{S}(\mathcal{H}) RS(H) 的计数损耗系数为 O ( n ) O(n) O(n),OT损耗和TV损耗的系数为 O ( n 2 ) O\left(n^{2}\right) O(n2) 。 这意味着对于更大的图像尺寸,我们需要更多的图像进行训练。 当使用计数损失时,该数字与 z \mathbf{z} z 的大小呈线性关系,而使用OT损失或TV损失时,则为平方关系。 当使用这三个损失函数时,我们需要将 λ 1 \lambda_{1} λ1 和 λ 2 \lambda_{2} λ2 设置为较小,以便平衡这三个损失值。
在本节中,我们将介绍有关在toy data和基准人群计数数据集(benchmark crowd counting datasets)上的实验。 在补充材料中可以找到更详细的数据集描述,实现细节和实验设置。
为了理解不同方法的经验行为,我们考虑一个 toy problem,其中的任务是使用像素级损失,贝叶斯损失和DM-Count将源密度图 z ^ \mathbf{\hat{z}} z^ 移动到目标密度图 z \mathbf{z} z 。源密度图 z ^ \mathbf{\hat{z}} z^ 是从 0 0 0 到 0.01 0.01 0.01 之间的均匀分布初始化的,目标密度图显示在图1的最左侧。所有三种方法都从相同的源密度图开始。图1为最终收敛时 z ^ \mathbf{\hat{z}} z^ 的可视化图。逐像素损失会产生具有更高计数的模糊密度图。在计数误差、峰值信噪比(PSNR)和图像中的结构相似性(SSIM)[52]方面,贝叶斯损耗的性能要好于像素级损耗[52],但最终的密度图与目标值有很大不同,在没有注释点的许多位置具有较高的值。这证实了我们的分析,即贝叶斯损失对应于一个不确定系统,因此输出密度图可能与目标密度图有很大差异。相比之下,DM-Count能够产生更准确的计数和密度图。 DM-Count在PSNR和SSIM方面都大大优于贝叶斯损失。
我们在四个具有挑战性的人群计数数据集上进行实验:UCF-QNRF [15],NWPU [51],ShanghaiTech [60]和UCF-CC-50 [14]。值得注意的是,NWPU数据集是当今公开可用的规模最大,最具挑战性的人群计数数据集。测试图像的GT计数不会发布,并且必须通过提交给评估服务器https://www.crowdbenchmark.com/nwpucrowd.html 来获得测试集上的结果。在先前的工作[35、15、4、14、60]之前,我们使用以下度量:平均绝对误差(MAE),均方根误差(RMSE)和平均归一化绝对误差(NAE)作为评估指标。对于所有三个指标,越小越好。为了进行公平的比较,我们使用与贝叶斯损失论文[31]中相同的网络。在所有实验中,我们将 λ 1 = 0.1 , λ 2 = 0.01 \lambda_1= 0.1,\lambda_2= 0.01 λ1=0.1,λ2=0.01,并将Sinkhorn熵正则化参数设置为10。Sinkhorn迭代次数设置为100。平均而言,每个图像的OT计算时间为25ms。
定量结果。 表1和表2比较了DM-Count与各种方法的性能。在所有实验中,除了CAN方法,DM-Count 在MSE性能上优于其他所有方法(基于可比的NWPU数据集)。尽管我们在所有实验中对DM-Count使用相同的超参数集,但DM-Count仍可达到最佳性能,这表明DM-Count的性能在各种数据集中稳定。
在所有实验中,DM-Count在与DM-Count相同的网络体系结构和训练过程中时,其性能优于逐像素(Pixel-wise)损失和贝叶斯损失。这证明了我们提出的损失函数的有效性。逐像素(Pixel-wise)损失比表1中的DM-Count严重得多。此外,即使未使用[4,47]中的多尺度体系结构或[2,50]中的更深层网络,DM-Count仍然在所有四个数据集上均达到最先进的性能。这表明在人群计数中具有良好的损失函数非常重要。
在UCF-QNRF和NWPU的大型且具有挑战性的数据集上,DM-Count明显优于最新方法。具体来说,在UCF-QNRF数据集上,DM-Count将贝叶斯损失的MAE和MSE分别从88.7降低到85.6和从154.8降低到148.3。值得注意的是,在NWPU测试集上(通过提交给评估服务器获得),DM-Count大大降低了MAE和NAE,MAE从105.4降低到88.4,NAE从0.203降低到0.169。
定性结果。 图2显示了像素级损失,贝叶斯损失和DM-Count的预测密度图。该图表明:1)DM-Count产生的计数值更接近于GT实际值,2)DM-Count产生的密度图比逐像素损失和贝叶斯损失更清晰。在图2中,DM-Count产生的PSNR和SSIM比逐像素和贝叶斯损耗高得多。在整个UCF-QNRF测试集上,逐像素损失的平均PSNR和SSIM分别为34.79和0.43,贝叶斯损失为34.55和0.42,DM计数为40.65和0.55。由于逐像素损失使用了高斯平滑的地面实况,因此它产生的密度比实际地面实况更模糊。这从经验上验证了我们对高斯平滑方法的广义界限的理论分析。如图所示,Pixelwise和贝叶斯损失无法将人定位在人口稠密的地区。相反,DM-Count在人口稠密和稀疏地区都能很好地定位人们。图3示出了通过DM计数的预测密度图。预测的密度图与稀疏和稠密地区的人群密度非常吻合,证明了DM-Count在空间密度估计中的有效性。
超参数研究。 我们在UCF-QNRF数据集的DM-Count中调整 λ 1 λ1 λ1 和 λ 2 λ2 λ2 。 首先,我们将 λ 1 λ_1 λ1 固定为0.1,并将 λ 2 λ_2 λ2 从0.01、0.05调整为0.1。 MAE从85.6、87.8到88.5不等。 由于 λ 2 = 0.01 λ_2= 0.01 λ2=0.01 可获得最佳结果,我们将 λ 2 λ_2 λ2 固定为0.01,并将 λ 1 λ_1 λ1 从0.01、0.05调整为0.1。 MAE从87.2、86.2到85.6不等。 因此,我们设置 λ 1 = 0.1 , λ 2 = 0.01 λ_1= 0.1,λ_2= 0.01 λ1=0.1,λ2=0.01 并将其用于所有数据集。
Sinkhorn迭代次数的影响。 表3列出了使用不同数量的Sinkhorn迭代的UCF、QNRF数据集上DM-Count的结果。 如下表所示,使用少量迭代会降低DM-Count的性能,这表明我们获得的OT解决方案不准确。 当迭代次数增加到100时,DM-Count的性能将超过以前的最新水平。 迭代次数超过100后性能稳定下来。因此,在我们所有的实验中,我们对DM-Count使用100个Sinkhorn迭代。
每个损失函数的贡献。 DM-Count 计数损失函数由三个部分组成,计数损失,OT损失和TV损失。我们研究了在UCF-QNRF数据集上每个函数的贡献。 结果列在表5中。如表中所示,所有组分对于最终性能都是必不可少的。 但是,OT损失是最重要的组成部分。
对有噪声的注释的鲁棒性。 人群注释是通过在人身上放置一个点。 这样的过程是模棱两可的,并且可能导致不可避免的注释错误。 我们研究了不同的损失函数对于注释错误的表现。 我们向原始注解添加统一的随机噪声,并使用相同的噪声注解训练不同的模型。 噪声是在图像高度的0%到5%之间随机产生的,平均约为80个像素。 如表4所示,与逐像素贝叶斯损失相比,提出的DM-Count对注释错误更具有鲁棒性。
在本文中,我们已经表明,使用高斯核对GT点注释进行平滑处理会损害模型在真实的GT数据上进行测试的泛化范围。 相反,我们将人群计数视为分布匹配问题,并提出基于优化传输的DM-Count来解决此问题。 与先前的工作不同,DM-Count不需要高斯核来平滑带注释的点。 DM-Count的泛化误差范围比高斯平滑方法的泛化误差范围更严格。 在四个人群计数基准上进行的大量实验表明,DM-Count明显优于以前的最新方法。