【论文阅读】SSR-Net: 一个小型的 软分段回归网络 用于年龄估计

news2024/11/15 12:35:44
原始题目SSR-Net: A Compact Soft Stagewise Regression Network for Age Estimation
中文名称SSR-Net: 一个小型的 软分段回归网络 用于年龄估计
发表时间2018年7月13日
平台IJCAI-18
来源台湾中央研究院、国立台湾大学
文章链接https://www.ijcai.org/proceedings/2018/0150.pdf
开源代码https://github.com/shamangary/SSR-Net (官方实现)
https://github.com/b02901145/SSR-Net_megaage-asian
https://github.com/oukohou/SSR_Net_Pytorch

摘要

本文提出了一种新的 CNN 模型,称为 Soft Stagewise Regression Network (SSR-Net),使用从小型模型对单个图像进行年龄估计。受 DEX 的启发,我们通过执行 多类分类来解决年龄估计问题 ,然后通过计算期望值将分类结果转化为回归。SSR-Net 采用由粗到细的策略并执行 多阶段的多类分类 。每个阶段只负责完善其前一阶段的决策,以获得更准确的年龄估计。因此,每个阶段执行的任务很少,需要的神经元也很少,从而大大减少了模型的大小。为了解决将年龄分组到不同类别所引入的量化问题,SSR-Net 根据输入人脸图像为每个年龄类别分配一个可移动和缩放(shifted and scaled)的动态范围。多阶段策略和动态范围都包含在 soft stagewise 回归的公式中。提出了一种新的网络架构来执行 soft stagewise 回归。由此产生的 SSR-Net 模型非常小型,仅占用 0.32 MB。尽管模型很小,但 SSR-Net 的性能接近模型大小通常大近 1500 倍以上的最先进的方法。

5. 结论

在本文中,我们提出了一种新的年龄估计方法,Soft Stagewsie 回归网络(SSR-Net)。它既小型又高效。它还在多个年龄估计数据集上取得了良好的表现。 Stagewise 预测结构避免了大量神经元并导致模型更加小。通过利用动态范围,可以更好地解决量化错误,从而使 SSR-Net 的性能可以与庞大模型的性能相媲美。凭借其紧凑的尺寸和效率,SSR-Net 适用于在移动或嵌入式设备上进行年龄估计。

1. 引言

从一张人脸图像中预测一个人的真实 (生物) 年龄是计算机视觉和人工智能中的一个经典问题[Ramanathan et al., 2009]。它可用于许多应用,例如监控(surveillance)、产品推荐、人机界面和市场分析。这个问题具有挑战性,因为同龄人的外表存在显着差异。老年人可能看起来比一些年轻人年轻,反之亦然。因此,即使对人类来说,从外表估计真实年龄的任务也是具有挑战性的。

年龄估计问题表述为回归问题是很直观的,因为年龄是一个连续值而不是一组离散类[Agustsson et al., 2017; Rothe et al., 2016b]。然而,正如之前的研究所指出的[Chang et al., 2011; Rothe et al., 2016a; Tan et al., 2018],基于回归的年龄估计方法可能会由于老化过程中的随机性以及人脸外观与其真实年龄之间的模糊映射而受到过拟合的影响。另一方面,人们可以很容易地分为几个年龄段,例如 青少年、中年或老年人 。因此,许多研究使用多类分类方法通过将年龄量化成组来解决年龄估计问题[Rothe et al., 2015; Rothe et al., 2016a; Tan et al., 2018]。然而,将年龄估计作为多类分类问题必须面临 年龄组是有序的且高度相关而不是独立的类的问题 。此外,将年龄量化为年龄组可能会遇到量化误差和年龄组间模糊性的问题。一些方法采用 序数信息(ordinal information)[Chang et al., 2011; Zhang et al., 2017] 用于获取年龄之间的相对排序和解决年龄组之间的歧义。分布学习方法n [Geng et al., 2014; Hou et al., 2017] 将年龄建模为可学习的分布用于解决组歧义问题。然而,使用序数信息和分布学习的方法通常需要额外的信息,例如分布或 ranks 之间的相似性。此外,它们通常需要更复杂的损失函数和算法。

大多数最先进的基于 CNN 的年龄估计方法都建立在复杂网络或网络集成的基础上[Simonyan and Zisserman, 2014; Chen et al., 2017]。他们的模型通常体积庞大,模型大小大于 500 MB。因此,它们不适合在内存和计算资源有限的平台上采用,例如移动和嵌入式设备。目前已经有使用 小内存 占用(footprints) 的 小型 通用 CNN 模型[Howard et al., 2017; Huang et al., 2017] 以便智能应用程序可以在此类设备上运行。 对于年龄估计,Niu 等人提出的 ORCNN,其模型消耗大约 1.7 MB 的内存 [Niu et al., 2016]。

本文提出了一种新的 CNN 模型,称为 Soft Stagewise Regression Network (SSR-Net),用于年龄估计。该模型结构紧凑,内存占用仅为 0.32 MB,并实现了最先进的性能。SSR-Net 的灵感来自 DEX[Rothe et al., 2015; Rothe et al., 2016a]。DEX 将年龄估计作为一个多类分类问题,通过计算期望值作为年龄将分类结果转化为回归。DEX 的一个问题是它需要大量神经元,每个年龄段一个。最后一个全连接层的 links 数是特征数和神经元(类别)数的乘积。因此,许多神经元导致许多参数和大型模型。SSR-Net 用从粗到细的策略解决了这个问题。每个阶段只对 少数类进行中间(intermediate)分类,比如当前年龄组内的 “相对年轻”、“大约一致” 和 “相对较老”。下一阶段细化上一阶段指定的年龄组内的决策。这样,每个阶段只需要少量的神经元,模型大小可以大大减小。基于分类的方法的另一个问题是年龄的量化。SSR-Net 通过为每个年龄组引入动态范围来解决这个问题。每个组的年龄间隔可以根据输入的人脸图像进行移动和缩放。这些想法被纳入 soft stagewise 回归的公式中。提出了一种新的网络结构来实现 soft stagewise 回归。与基于序数信息(ordinal information)或分布学习的方法相比,SSRNet 可以通过简单的回归损失和端到端的方式进行训练,而无需额外的信息,例如分布/rank 相似性。实验表明,SSRNet 优于现有的紧凑型网络,包括 MobileNet [Howard et al., 2017]、DenseNet[Huang et al., 2017] 和 ORCNN [Niu et al., 2016]。SSR-Net 的性能接近具有更大模型尺寸 (1500 倍以上) 的最先进方法的性能。

2. 相关工作

在本节中,通过将它们分为四类来回顾最先进的年龄估计方法。

Regression

将年龄估计问题转换为回归问题是很直观的。Rothe et al. 通过将 CNN 特征传输给以支持向量回归 [Chang and Lin, 2011] 以用于年龄估计 [Rothe et al., 2016b].。 Agustsson et al. 提出的 Anchored Regression Network (ARN) 将多个线性回归器结合 soft 分配到 anchor 点 [Agustsson et al.,
2017]。正如之前的研究所指出的那样[Chang et al.,2011;Rothe et al.2016a], 由于老化过程中的随机性和模糊映射,基于回归的方法经常过度拟合。

Multi-Class Classification and Age Grouping 多类分类和年龄分组

DEX 通过进行多类别分类,然后计算期望值作为年龄估计来执行年龄估计 [Rothe et al., 2015; Rothe et al., 2016a].。此外,Liu et al. 同时使用回归和分类进行年龄估计 [Liu et al., 2015] 。Malli et al. 使用年龄组和 age-shifted 分组来训练一个集成的深度学习模型[Malli et al., 2016]。

Distribution Learning 分布学习

考虑到分类经常受到分组歧义和量化错误的影响,Geng 等人提出了两种不同的自适应分布学习方法,IIS-ALDL 和 BFGS-ALDL 以用于年龄估计[Geng et al., 2014]。分布的标准偏差根据 KL 散度进行更新。为了解决具有精确年龄的训练数据短缺的问题,Hou 等人提出标签分布学习以在学习特定年龄的同时利用相邻年龄信息。

Ordinal Information 序数信息

一些方法侧重于从数据集中学习相对排序以进行年龄估计。 OHRank 通过开发具有多个二元分类的 cost-sensitive 框架,成功地获得了年龄估计的排序关系 [Chang et al., 2011]。 Ranking-CNN 在 ImageNet 等大型数据集上预训练几个基本 CNN,并使用有序年龄标签对它们进行微调 [Chen et al., 2017]。 Zhang 等人提出了一种范式用于将多个类似年龄映射到年龄分布 posterior 以进行年龄估计。

3. 软阶段回归网络

本节首先说明问题。 然后描述了两个关键思想:stagewise 回归和动态范围。 最后给出了网络架构,并提出了 soft stagewise 回归的公式。

3.1 问题定义

在使用单张人脸图像进行真实年龄估计的问题中,我们给出了一组训练人脸图像 X = { x n ∣ n = 1 , . . . , N } X=\{x_n|n=1,...,N\} X={xnn=1,...,N} 和每个图像 x n x_n xn 的真实年龄 y n ∈ Y y_n \in Y ynY ,其中 N 是图像数量,Y 是年龄间隔。目标是找到一个函数 F 来预测 y ~ = F ( x ) \tilde{y} = F(x) y~=F(x) 作为给定图像 x 的年龄。 对于训练,通过 最小化预测年龄和真实年龄之间的 平均绝对误差 (mean absolute error (MAE)) 来搜索函数 F

J ( X ) = 1 N ∑ n = 1 N ∣ y ~ n − y n ∣   , (1) J(X)=\frac{1}{N}\sum_{n=1}^{N}|\tilde{y}_{n}-y_{n}|\,, \tag{1} J(X)=N1n=1Ny~nyn,(1)

其中 y n ~ = F ( x n ) \tilde{y_n}= F(x_n) yn~=F(xn) 是给定图像 x n x_{n} xn 的预测年龄。

3.2 Stagewise Regression (核心)

以前的工作已经将年龄估计的回归问题转化为解决多类分类问题,然后计算期望值作为预测年龄。


image

例如,DEX 将年龄区间 Y = [0, V] 均匀地划分为 s 个不重叠的 bins。 因此,每个 bin 的宽度 w 是 V s \frac{V}{s} sV。 将第 i 个 bin 的代表年龄表示为 µ i µ_i µi 并且 DEX 选择 µ i = i ( V s ) µ_i = i(\frac{V}{s}) µi=i(sV) 。 DEX 为 s 类 年龄分类问题训练一个网络。 对于给定的图像 x,网络输出分布向量 p → = ( p 0 , p 1 , . . . , p s − 1 ) \overrightarrow{p} = (p_0, p_1, . . . , p_{s−1}) p =(p0,p1,...,ps1) 表示 x 属于每个年龄组的概率。 然后通过计算以下期望值来预测年龄,

y ~ = p ⃗ ⋅ μ ⃗ = ∑ i = 0 s − 1 p i ⋅ μ i = ∑ i = 0 s − 1 p i ⋅ i ( V s ) . (2) \tilde{y}=\vec{p}\cdot\vec{\mu}=\sum_{i=0}^{s-1}p_{i}\cdot\mu_{i}=\sum_{i=0}^{s-1}p_{i}\cdot i\left(\frac{V}{s}\right).\tag{2} y~=p μ =i=0s1piμi=i=0s1pii(sV).(2)

为了获得更准确的估计,DEX 将年龄间隔细分,并将 bin 宽度设置为 one year old,即,如果 Y = [0…100],则有 101 个 bin。 这会导致 最后阶段的全连接(FC)层有大量参数并消耗大量内存

paper: https://www.cv-foundation.org/openaccess/content_iccv_2015_workshops/w11/html/Rothe_DEX_Deep_EXpectation_ICCV_2015_paper.html 。其实很简单,就是划分为 101 类,然后 FC 输出 101 个概率,然后和对应的 0-101 加权求和即可得到最终的年龄结果。


为了在 **不牺牲太多准确性的情况下 ** 减小模型大小,我们提出使用 一个具有多阶段预测由粗到细的策略( a coarse-to-fine strategy with multi-stage prediction)。 假设有 K 个 阶段,第 k 个阶段有 s k s_k sk 个 bins。 对于每个阶段,我们训练一个网络 F k F_k Fk ,该网络生成该阶段的分布 p → ( k ) = ( p 0 ( k ) , p 1 ( k ) , . . . , p s k − 1 ( k ) ) \overrightarrow{p}^{(k)} =(p^{(k)}_0,p^{(k)}_1, ..., p^{(k)}_{sk-1}) p (k)=(p0(k),p1(k),...,psk1(k)) 。 年龄由以下阶段回归公式预测,

y ~ = ∑ k = 1 K p ˉ ( k ) ⋅ μ ˉ ( k ) = ∑ k = 1 K ∑ i = 0 s k − 1 p i ( k ) ⋅ i ( V ∏ j = 1 k s j ) . (3) \tilde{y}=\sum_{k=1}^{K}\bar{p}^{(k)}\cdot\bar{\mu}^{(k)}=\sum_{k=1}^{K}\sum_{i=0}^{s_{k}-1}p_{i}^{(k)}\cdot i\left(\frac{V}{\prod_{j=1}^{k}\mathbf{s}_{j}}\right). \tag{3} y~=k=1Kpˉ(k)μˉ(k)=k=1Ki=0sk1pi(k)i(j=1ksjV).(3)

上述等式中的最后一项是第 k 个阶段的 bin 宽度 w k w_k wk ,i 是 bin 索引。通过一个具体的例子来直观的理解 stagewise 回归。

  1. 假设要估计一个在 0∼90 岁范围内的年龄(V = 90),并且假设有两个阶段 (K = 2),并且每个阶段都有三个 bin ( s 1 = s 2 = 3 s_1 = s_2 = 3 s1=s2=3)。
  2. 从分类的角度来看,阶段一将图像分类为青年(0∼30)、中年(30∼60)或老年(60∼90)。
  3. 对于阶段二,阶段一中的每个 bin 进一步分为 s 2 = 3 s_2 = 3 s2=3 个 bins。因此,第二阶段的 bin 宽度为 90 3 ⋅ 3 = 10 \frac{90}{3·3} = 10 3390=10。第二阶段的分类器将阶段一 指定的年龄组的图像分类为相对年轻 (+0∼10)、中等 (+10∼20) 或相对较老 ( +20∼30) 。

需要注意的是 第二阶段只有一个分类器,被第一阶段的所有年龄分组共享。将阶段分类转化为回归给出了上面等式中的公式3。第一阶段以粗粒度预测年龄,而第二阶段则以更细粒度对其进行细化。 阶段回归的优点是每个阶段的类数量很少,从而导致参数更少,模型更紧凑(compact)。

相对 DEX 的改进是:DEX 相当于是一个阶段来回归年龄,而 SSR-Net 使用多个阶段,从粗到细去分类年龄,再使用和 DEX 同样的加权求和得到最终的年龄。优点:因为每个阶段分的类别较少,因此全连接参数少,模型就占得内存小。stagewise 可以翻译为 阶段级。

3.3 动态范围 (核心)

将年龄间隔均匀地划分为不重叠的 bins 在处理年龄组歧义和年龄连续性方面不太灵活。这个问题在粗粒度时更加严重。我们通过为每个 bin 引入动态范围来解决这个问题;即允许根据输入图像移动和缩放每个 bin。有几种可能的选项可以将移位和比例应用于一个 bin。为了在 方程3 中使用相同的 stagewise 回归公式,我们选择修改 方程3 中的 bin 索引 i 和 bin 宽度 w k w_k wk 以分别调整 bin 的移位和尺度。为了在第 k 阶段调整 bin 宽度 w k w_k wk ,作者引入了一个项 Δ k Δ_k Δk 来将 s k s_k sk 修改为 s ˉ k \bar{s}_k sˉk 如下,

s ˉ k = s k ( 1 + Δ k ) , (4) \bar{s}_{k}=s_{k}(1+\Delta_{k}),\tag{4} sˉk=sk(1+Δk),(4)

其中 Δ k Δ_k Δk 是给定输入图像的回归网络的输出。回归网络的细节将在 3.4 节中给出。修改 s k s_{k} sk 后,bin 宽度现在变为:

w ˉ k = V ∏ j = 1 k s ˉ j . (5) \bar{w}_{k}=\frac{V}{\prod_{j=1}^{k}\bar{s}_{j}}. \tag{5} wˉk=j=1ksˉjV.(5)

因此, s k s_{k} sk 的调整有效地改变了 bin 宽度。对于 shifting bin,我们向每个 bin 索引 i 添加一个偏移项 η。 在第 k 个阶段有 s k s_{k} sk 个 bin。因此,需要一个用于第 k 阶段的偏移向量, η ⃗ ( k ) = ( η 0 ( k ) , η 1 ( k ) , . . . η s k − 1 ( k ) ) \vec{\eta }^{(k)}=(\eta _{0}^{(k)},\eta _{1}^{(k)},...\eta _{s_{k}-1}^{(k)}) η (k)=(η0(k),η1(k),...ηsk1(k))。 同样,偏移向量是在输入图像上回归网络的输出。bin 索引 i 被修改如下,

i ˉ = i + η i ( k ) . (6) \bar{i}=i+\eta_{i}^{(k)}. \tag{6} iˉ=i+ηi(k).(6)

修改后的 bin 索引 i ˉ \bar{i} iˉ 有效地 shifts 第 i 个 bin。bin 的尺度和位移都是输入图像的回归结果。根据输入图像, 依赖于输入的 动态范围提供更准确的细化。

3.4 网络架构

image
图1:(a)本文提出的三阶段(K = 3) Soft Stagewise Regression Network (SSR-Net) 的网络结构,各阶段池化大小固定为2 × 2。(b) SSR-Net 中融合块的详细结构和融合块内 the prediction block (PB) 的结构。

b 图中,灰色阴影部分表示为 a 中的 PB,这里的乘法为 对应元素相乘。每个阶段输出 三个值: p → ( k ) , η → ( k ) , Δ k \overrightarrow{p}^{(k)},\overrightarrow{\eta}^{(k)},Δ_k p (k)η (k)Δk

图 1 (a) 说明了所提出的 SSR-Net 的整体网络结构。 受到 Yang et al. [Yang et al., 2017] 提出的 互补 2-stream 结构 的启发,我们采用 2-stream 模型,其中有 两个异构(heterogeneous)流。 对于这两个流,基本构建块由 3 × 3 卷积、batch normalization、non-linear activation 和 2 × 2 pooling 组成。 然而,每个流都采用了不同类型的激活函数(ReLU 与 Tanh)和 pooling(average VS(versus) maximum)以使其异构。 这样,可以提取不同的特征,它们的融合可以提高性能。

不同阶段采用不同 levels 的特征。如图 1(b) 所示,对于每个阶段,来自某个 level 的两个流的特征都被馈送到融合块中。融合块负责生成 第 k 阶段 的 stage-wise 输出、分布为 p → ( k ) \overrightarrow{p}^{(k)} p (k) ,偏移向量 η → ( k ) \overrightarrow{η}^{(k)} η (k) 和比例因子 Δ k Δ_k Δk 。在融合块中,来自两个流的特征首先经过 1×1 卷积、激活和 pooling 以获得更紧凑的特征。为了获得 Δ k Δ_k Δk ,两个获得的特征图通过 element-wise 乘法 ⊗ 融合。乘积经过一个全连接层,然后是一个 Tanh 函数,用于在 [−1, 1] 中获得一个值作为 Δ k Δ_k Δk p → ( k ) \overrightarrow{p}^{(k)} p (k) η → ( k ) \overrightarrow{η}^{(k)} η (k) 都是向量,而且更复杂。因此,特征在进行逐元素乘法、FC 层和激活之前经过一个额外的预测块。由于 p → ( k ) \overrightarrow{p}^{(k)} p (k) 表示一个分布,因此使用 ReLU 作为其激活函数以获得正值。另一方面, η → ( k ) \overrightarrow{η}^{(k)} η (k) 使用 Tanh 以使其在正负两侧移动。

3.5 软阶段回归

为输入图像 x , 给定网络的 stagewise 输出 { p → ( k ) , η → ( k ) , Δ k } \{\overrightarrow{p}^{(k)}, \overrightarrow{η}^{(k)}, Δ_k\} {p (k),η (k),Δk} ,bins 的数量 s k s_k sk ,对于 x 预测的年龄 y ~ \tilde{y} y~ 被计算如下:

y ~ = ∑ k = 1 K ∑ i = 0 s k − 1 p i ( k ) ⋅ i ˉ ( V ∏ j = 1 k s ˉ j ) , (7) \tilde{y}=\sum_{k=1}^{K}\sum_{i=0}^{s_{k}-1}p_{i}^{(k)}\cdot\bar{i}\left(\frac{V}{\prod_{j=1}^{k}\bar{s}_{j}}\right), \tag{7} y~=k=1Ki=0sk1pi(k)iˉ(j=1ksˉjV),(7)

其中 i ˉ \bar{i} iˉ 是 公式6 中定义的移位 bin 索引,而 s j ˉ \bar{s_j} sjˉ 是公式 4 中定义的调整后的 bin 数。因为 bin 是通过小数调整的,所以 我们将 公式7 中的公式命名为 soft stagewise 回归。通过这种方式将 softness 带入 bin 的索引和宽度。使用预测的年龄 y ~ \tilde{y} y~ ,通过最小化 公式1 中 MAE 定义的 L 1 L_1 L1 损失,可以获得用于年龄估计的 SSR-Net 模型。

4 实验

数据集:the IMDB-WIKI [Rothe et al., 2015; Rothe et al., 2016a], MORPH2[Ricanek and Tesafaye, 2006], and MegaAge-Asian [Zhang et al., 2017] datasets

4.1 预处理和实验设置

预处理:

  1. 使用 facial landmarks 对齐人脸 [Zhanget al., 2017; Niu et al., 2016]
  2. 裁剪人脸,resize 到 64*64。为了移动端部署,输入分别率更小很必要。之前的 DEX 和 ARN 都是 224*224.

好多实现直接写死为 64*64,不太好!!!

实验设置:

  • 硬件:Intel i7 CPU and an NVIDIA GTX1080Ti.
  • 框架:Keras
  • Soft stagewise 回归的自定义层由 Keras 的自动微分提供支持。
  • 训练时的随机激活常见的数据增强技巧:zooming(缩放), shifting(平移), shearing(裁剪), 和 flipping 。 感觉不太够!
  • SSR-Net 使用三个阶段,s_1 = s_2 = s_3 = 3,即 SSR-Net(3,3,3)
  • 优化方法:Adam
  • epochs: 90
  • 初始学习率: 0.002
  • 学习率衰减策略:每 30 个 epoch 乘以 0.1
  • batch size: IMDB-WIKI(128),MORPH2 和 MegaAge-Asian(50)。50 就很奇怪!!!
  • 训练时间:大约为三个小时,包括预训练。

4.2 比较方式

根据模型大小,比较方法可以粗略地分为两类,即庞大模型和小模型。

庞大模型:更大更准。 DEX 将年龄估计的回归问题转化为多类分类问题,并使用期望值作为年龄估计。 ARN 通过将多个线性回归量与 soft 分配结合到 anchor point 来解决年龄回归问题。 AP 训练了一个联合执行序数 超平面(hyperplane)分类和 posterior 分布学习的网络。 Hot 将 VGG16 特征输入支持向量回归 (SVR) 以进行年龄预测。 RankingCNN 集成了一系列二元分类网络,每个网络都使用有序年龄标签进行训练。

小模型:内存占用小更快,可能牺牲 accuracy。 ORCNN 将序数回归问题转化为一系列二元分类问题,并使用多输出 CNN 来共同解决这些子问题。 MRCNN 使用类似的网络,但用于 metric 回归。MobileNet 用深度可分离卷积代替标准卷积,以减少参数和计算成本。DenseNet 以 前馈方式 将每一层连接,并且可以用更少的参数实现良好的性能。MobileNet 和 DenseNet 都是具有可调参数的通用网络模型。作者挑选了参数,以便它们的模型大小大约为 1 MB,与 SSR-Net 进行公平比较。

4.3 IMDB-WIKI上的实验

  • 数据集说明:包含 20,284 位名人的 523,051 张人脸图像;460,723 张图片来自 IMDB,其余 62,328 张来自维基百科。
  • 数据集缺陷:包含更多的噪声,例如不准确的年龄和没有人脸或多张人脸的图像。因此,它不适合使用 MAE 进行性能评估。
  • 用处:
    1. 用于模型预训练
    2. 观察不同算法的过拟合特性
  • 训练细节:IMDB 和 WIKI 数据集分别使用 80% 的图像进行训练,其他 20% 作为验证集。由于 IMDB 数据集要大得多,我们首先在 IMDB 上训练我们的模型,然后使用训练好的模型作为在 WIKI 数据集上训练的起点。
  • 比较模型:MobileNet 和 DenseNet
  • 结论:SSR-Net 的训练误差和验证误差更接近。意味着 SSR-Net 在训练集上训练的模型可以更成功地应用于验证集。训练错误和验证错误之间的差异表明 MobileNet 和 DenseNet 更容易过拟合。

4.4 MORPH2上的实验

  • 数据集说明:大约 13,000 个人的 55,000 张人脸图像。他们的年龄从 16 岁到 77 岁不等
  • 数据集划分:随机分为独立的训练集(80%)和测试集(20%)
  • 评估指标:MAE
  • 结论:
    1. 大模型:更高分辨率的输入 (224 × 224 × 3) ,占用超过 500 MB 的内存;参数更多需要的训练数据更多;一些还使用 ImageNet 进行预训练,导致训练时间更长;Ranking-CNN 采用二进制分类网络的集合,消耗更多内存,高达 2.2 GB;无法在移动和嵌入式设备上使用。优点:可能性能好点
    2. 小模型:较低分辨率的图像作为输入(64 × 64 × 3),参数少;SSR-Net 只占用 0.32 MB 内存;MobileNet 和 DenseNet 大约需要 1 MB,MRCNN/ORCNN 消耗 1.7 MB;
    3. SSR-Net 达到 3.16 MAE,是紧凑模型中最好的。尽管它占用尺寸不到其模型的 1/1500,但它的效果甚至超过了几个笨重的模型;适合移动和嵌入式设备上使用;
    4. 与 MobileNet 和 DenseNet 相比,SSR-Net 受到过拟合的影响较小。
  • 细节:使用 IMDB-WIKI 数据集进行预训练,然后再在 MORPH2 上训练

Soft 动态范围的使用对于 SSR-Net 很重要。没有它,SSR-Net 的 MAE 为 9.29。它表明动态范围提供的灵活性对于多阶段回归至关重要。由粗到细的逐步回归方法减少了神经元的数量,分类中的每一类对应一个神经元。对于 SSR-Net ( s 1 , s 2 , s 3 ) (s_1,s_2,s_3) (s1,s2,s3),需要 s 1 + s 2 + s 3 s_1+s_2+s_3 s1+s2+s3 个神经元。对于大致相同数量的类别,单阶段方法将需要 s 1 × s 2 × s 3 s_1 × s_2 × s_3 s1×s2×s3 个神经元。图 3 比较了具有不同配置的 SSR-Net 和 ORCNN 的参数数量。多阶段设计通常比单阶段设计导致更少的参数,尤其是当 V 很大时。此外,所提出的网络结构也有助于减少参数。总体而言,与 ORCNN 相比,SSR-Net 在实现更好的 MAE 的同时拥有更少的参数。

4.5 MegaAge-Asian 实验

  • 数据集说明:包含 40,000 张 0 到 70 岁亚洲人的人脸图像
  • 测试数据大小:3,945 张
  • 评估指标:累积准确率 (cumulative accuracy (CA))
  • SSR-Net 模型初始化:IMDB-WIKI 上训练的 SSR-Net
  • 比较模型:MobileNet 和 DenseNet
  • 结论: SSR-Net 模型 更优秀

CA 定义: C A ( n ) = K n / K × 100 CA(n) = K_n/K×100 CA(n)=Kn/K×100

K 是测试图像的总数, K n K_{n} Kn 表示绝对误差小于 n 的测试图像的数量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/360445.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode】剑指 Offer(6)

目录 写在前面: 题目:剑指 Offer 12. 矩阵中的路径 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 写在前面&#xff…

Java代码加密混淆工具有哪些?

在Java中,代码加密混淆工具可以帮助开发者将源代码进行加密和混淆处理,以增加代码的安全性和保护知识产权。以下是一些流行的Java代码加密混淆工具: 第一款:ProGuard:ProGuard      ProGuard:ProGuard…

Springboot接口多个DTO入参的Postman上传方式

在Java中使用Spring Boot框架时,可以同时使用多个DTO作为方法参数。 TO(Data Transfer Object)是一个常见的设计模式,用于封装数据传输对象。它通常用于将数据从一个层传递到另一个层,例如将数据从服务层传递到控制器…

2023 年 1 月区块链操作系统的开发回顾

副标题:查看 Cartesi Machine、Cartesi Rollups 和 Noether 的更新正在寻找区块链操作系统组件的最新进展?你找对地方了!正如在我们的路线图文章中所描述的那样,我们一直在朝着定期且频繁的更新方向发展着,以便让我们的…

阅读笔记——Feature-Point Matching for Aerial and Ground Images方法

阅读笔记——Feature-Point Matching for Aerial and Ground Images 1.应用背景 在三维重建应用中,常用的是航空影像,但在城市环境中,面对大量的高层建筑物,航空影像往往不能很好的重建出完整的三维模型。因为航空影像视角约束以…

DataGear 4.5.0 发布,数据可视化分析平台

DataGear 4.5.0 发布,带来数据集计算属性新功能,具体更新内容如下: 新增:数据集属性新增计算表达式功能,可对原始数据进行二次计算处理;新增:HTTP接口数据集新增文本、XML请求体类型支持&#…

Hadoop HDFS的架构、高可用与容错机制

本次整理的学习笔记的是Hadoop HDFS的架构、高可用与容错机制,供大家参考学习,enjoy~~ 一、HDFS的架构 1,NameNode (1) 存储文件的metadata,运行时所有数据都保存到内存,整个HDFS可存储的文件数…

V4L2操作流程

打开设备–>获取设备capability–>选择视频输入–>设置视频制式及帧格式–>向驱动申请帧缓冲(不超过5个)–>申请物理地址–>开始视频采集–>出队列取得已经采集数据的帧缓冲,获得原始采集数据–>停止视频采集–>关闭视频设备。 常用数据…

轻量级SSH实现之Dropbear

轻量级SSH实现之Dropbear dropbear简介 Dropbear是一个轻量级的SSH服务器和客户端的实现。它运行在 各种 UNIX 平台。 Dropbear 是开源实现,MIT 分发 许可证。 Dropbear在嵌入式Linux(或其他Unix)系统广泛应用,例如无线路由器。…

蛋白质组学技术与常见分析培训班火热招生中!

什么是蛋白质组学? 蛋白质组学(proteomics),是以蛋白质组为研究对象,研究细胞、组织或生物体蛋白质组成及其变化规律的科学。包括蛋白质的表达水平,翻译后修饰,蛋白与蛋白相互作用等研究内容,集中于动态描述…

华为机试JavaScript 字符串按次数降序排列;次数相同,按单词长度升序;排列次数和单词长度均相同,按字典升序排列

华为机试练习: 题目要求 1. 给定一个字符串s,s包括以空格分隔的若干个单词,请对s进行如下处理后输出:单词内部调整:对每个单词字母重新按 字典序排序 2、单词间顺序调整: 1) 统计每个单词出现的次数,并按次数 降序排列 …

【Kubernetes】【十四】Pod控制器详解 DaemonSet(DS) Job CronJob(CJ)

DaemonSet类型的控制器可以保证在集群中的每一台(或指定)节点上都运行一个副本。一般适用于日志收集、节点监控等场景。也就是说,如果一个Pod提供的功能是节点级别的(每个节点都需要且只需要一个),那么这类…

05 基于STL的演讲比赛流程管理系统

文件基本上是黑马程序员的文档,部分添加自己需要的内容,仅用于自己学习!链接:黑马程序视频课程GitHub:链接 演讲比赛流程管理系统 1、 演讲比赛程序需求 1.1 比赛规则 学校举行一场演讲比赛,共有12个人参加。比赛共…

江南爱窗帘十大品牌 | 窗帘的定做有哪些技巧和注意事项?

人们的家居空间中总是会有各式各样的窗帘存在的,为了使得窗帘的品质更加的过关,人们在选购时,总是会希望可以购买到高品质的。一般情况下,会采用定制这种方法去进行制作。那么,窗帘的定做有哪些注意事项?窗帘定制技巧…

PX4之启动脚本

PX4通过rcS脚本来设定需要启动的程序,比如设备驱动、控制模块、数据通信等。rcS脚本在项目中的文件位置 ROMFS/px4fmu_common/rcS 对应硬件平台固件上的位置 /etc/init.d/rcS 启动脚本流程如下 #!/bin/sh # PX4FMU startup script. # # 一些注释 ## 设置默认参…

【HDFS】FsDatasetImpl#convertTemporaryToRbw方法

功能: 把一个temporary副本转换成RBW副本。 方法的参数: 正在被转换成Rbw状态的的Temporary状态副本。 调用场景: datanode接收一个块的数据完成时,如果stage处于BlockConstructionStage.TRANSFER_RBW,那么就需要把temporary副本转换成RBW类型副本。 注意点: TEMPORARY副…

python 打包EXE

注: 从个人博客园 移植而来 环境: Windows7 Python 2.7 参考: 使用pyinstaller打包python程序 Pyinstaller 打包发布经验总结 Using PyInstaller 简介 使用python引用第三方的各种模块编写一个工具后,如果想发给其他人&…

Python基础-环境安装

Python安装1.下载PythonPython网址:https://www.python.org/进入Python官网,点击Downloads,选择自己对应的操作系统(此处以Windows为例)在左侧的稳定发行版中,选择一个3.5版本以上的,然后点击对…

2003-Can‘t connect to MySQL server on ‘192.168.232.128(10060 “Unknown error“)

MySQL远程连接报错2003-cant connection to mysql server on ‘IP’(10061 unknown error)的解决 **首先去看有没有关闭防火墙!!!** 停止firewall服务 systemctl stop firewalld.service 禁止firewall开机启动 syste…

C++的完美讲解,还不快来看看?

目录 简介: 创建C程序: Windows编译简介: Hello,C World! 简介: C融合了3中不同的编程传统:C语言代表的过程性传统、C在C语言基础上添加的类代表的面向对象语言的传统以及C模板支持的通用编程传统。一般来说,计算机语言…