这篇文章是提出新的浅层网络来做人脸年龄估计的任务。

文章主要是利用小的浅层网络来处理低分辨率的图片,创新的点到不是很大,但是值得引人思考的是,对于一些低分辨率的图片是否可以不去用重量级的网络以及一些经典的连接就可以取得很好的效果。

文章分为三点去展开
第一是研究了一下mobilenet和shufflenet中的depth-wise卷积和标准的卷积在低分辨率图像任务中,是否真正能够减小网络参数。
第二是提出使用类似于one-hot的,两点表示人类年龄的方法。
第三是尽可能更多的采用图片的信息对年龄进行估计。

下面依次说明

一、重新审视标准的卷积在低分辨率图片中的压缩效果

这部分主要解释为什么本文采用标准卷积,而不是mobilenet和shufflenet里面提出的通道分离卷积,如群卷积和depth-wise卷积。
这里是从参数的量和对应的效果考虑。
首先考虑一个卷积层,输入维度为DF×DF×MD_{F}\times D_{F}\times MDF​×DF​×M,输出维度为DF×DF×ND_{F}\times D_{F}\times NDF​×DF​×N,其中DFD_{F}DF​表示特征图的大小,M和N表示输入和输出卷积的通道数。对于mobilenet里面提出的depth-wise的分离卷积来说计算量为DK2⋅M⋅DF2+M⋅N⋅DF2D^2_{K}\cdot M \cdot D^2_{F}+M\cdot N \cdot D^2_{F}DK2​⋅M⋅DF2​+M⋅N⋅DF2​。对于一个标准的卷积来说计算量为DK2⋅M^⋅N^⋅DF2D^2_{K}\cdot \hat M\cdot \hat N \cdot D^2_{F}DK2​⋅M^⋅N^⋅DF2​。上面DKD_{K}DK​为卷积核的大小。那么通过上面两式相除就能得到计算量的比较了,如下式所示:
DK2⋅M⋅DF2+M⋅N⋅DF2DK2⋅M^⋅N^⋅DF2=MM^⋅N^+M⋅NM^⋅N^⋅DK2\frac{D^2_{K}\cdot M \cdot D^2_{F}+M\cdot N \cdot D^2_{F}}{D^2_{K}\cdot \hat M\cdot \hat N \cdot D^2_{F}}=\frac{M}{\hat M\cdot \hat N }+\frac{M\cdot N}{\hat M\cdot \hat N\cdot D^2_{K}}DK2​⋅M^⋅N^⋅DF2​DK2​⋅M⋅DF2​+M⋅N⋅DF2​​=M^⋅N^M​+M^⋅N^⋅DK2​M⋅N​

上式中如果假设普通的卷积和depth-wise卷积的输入通道和输出通道是对应相等的,即M=M^M=\hat MM=M^和N=N^N=\hat NN=N^,上式可以简化为1N+1DK2&lt;1\frac{1}{N}+\frac{1}{D^2_{K}}&lt;1N1​+DK2​1​<1,可以看出这种情况下确实是depth-wise计算量更小。但是为了在低分辨率图片上使depth-wise卷积能和普通的卷积有相应的特征表达能力,常常会增加depth-wise卷积的通道数,即一般会有M&gt;M^M&gt;\hat MM>M^和N&gt;N^N&gt;\hat NN>N^。
举个例子来说明,假设使用32通道大小的普通卷积提取图像特征,在MobileNet-V2中会使用144甚至更大的通道数来提取图像特征。在这种情况,上式结果MM^⋅N^+M⋅NM^⋅N^⋅DK2=1443^2⋅3^2+144⋅1443^2⋅3^2⋅32=2.39&gt;1\frac{M}{\hat M\cdot \hat N }+\frac{M\cdot N}{\hat M\cdot \hat N\cdot D^2_{K}}=\frac{144}{\hat 32\cdot \hat 32 }+\frac{144\cdot 144}{\hat 32\cdot \hat 32\cdot 3^2}=2.39&gt;1M^⋅N^M​+M^⋅N^⋅DK2​M⋅N​=3^2⋅3^2144​+3^2⋅3^2⋅32144⋅144​=2.39>1。

所以从对图片特征提取效果和计算量综合考虑,本文采用了标准的卷积。

二、使用类似one-hot向量的两点表示法来表示年龄

对于给定的数据库,用符号(In,yn)n=1,2,…,N{(I_{n},y_{n})}_{n=1,2,…,N}(In​,yn​)n=1,2,…,N​表示,其中InI_{n}In​表示图片,yny_{n}yn​表示年龄的标签。对于深度学习模型可以用一个映射关系来表示,F:I→Y\mathcal{F}: \mathcal{I} \rightarrow \mathcal{Y}F:I→Y。对于任何年龄标签yny_{n}yn​都能使用zn1,zn2,(zn1≠zn2)z^1_{n},z^2_{n},(z^1_{n}\neq z^2_{n})zn1​,zn2​,(zn1​̸​=zn2​)表示:
yn=λ1zn1+λ2zn2y_n=\lambda_1 z^1_{n} + \lambda_2 z^2_{n}yn​=λ1​zn1​+λ2​zn2​
其中λ1,λ2\lambda_1,\lambda_2λ1​,λ2​为权重,且λ1+λ2=1\lambda_1+\lambda_2=1λ1​+λ2​=1

对于一个给定的年龄区间[a,b],yn∈[a,b]y_n\in [a,b]yn​∈[a,b]。将年龄区间均匀划分为K个小区间,那么yny_nyn​就能用zn1=⌊ynK⌋⋅Kz^1_{n}=\lfloor \frac{y_n}{K}\rfloor \cdot Kzn1​=⌊Kyn​​⌋⋅K和zn2=⌈ynK⌉⋅Kz^2_{n}=\lceil \frac{y_n}{K} \rceil \cdot Kzn2​=⌈Kyn​​⌉⋅K表示,其中⌊⋅⌋\lfloor \cdot \rfloor⌊⋅⌋和⌈⋅⌉\lceil \cdot \rceil⌈⋅⌉分别表示向下和向上取整符。λ1\lambda_1λ1​和λ2\lambda_2λ2​因子计算如下:
λ1=1−yn−z1K\lambda_1=1-\frac{y_n-z^1}{K}λ1​=1−Kyn​−z1​
λ2=1−z2−ynK\lambda_2=1-\frac{z^2-y_n}{K}λ2​=1−Kz2−yn​​

下面举例说明,如下图所示,给定年龄区间为[10,80],下图第二行是K=10的情况,第三行是K=20的情况。下图分别使用不同的划分来对年龄68和74进行两点表示。比如68,在K=10区间为[10,80]的情况下,可以表示为yn=[0,0,0,0,0,0.2,0.8,0]y_n=[0, 0, 0, 0, 0, 0.2, 0.8, 0]yn​=[0,0,0,0,0,0.2,0.8,0]。

其实扩展一下思考,年龄还可以用多点表示,例如50可以表示为50=0.5×0+0.5×100=0.2×10+0.2×40+0.2×60+0.2×9050 = 0.5\times 0+0.5\times 100 = 0.2\times 10+0.2\times 40+0.2\times 60+0.2\times 9050=0.5×0+0.5×100=0.2×10+0.2×40+0.2×60+0.2×90,但是这种表示方式意义不大,对模型的训练没有什么指导意义。

三、级联训练(Cascade Training)

先给出一个形象的网络结构图,如下图所示

从上图看出,流程用符号表示是这样的f:In⟶ConvX⟶W1yn⟶W2ynf: I_{n}\stackrel{Conv}{\longrightarrow} X \stackrel{W_1}{\longrightarrow} \textbf{y}_\textbf{n} \stackrel{W_2}{\longrightarrow} y_nf:In​⟶Conv​X⟶W1​​yn​⟶W2​​yn​

这步说白了就是将年龄的两点表示和真实的年龄用来同时指导网络模型的训练。
对于两点表示的loss计算采用KL-Divergence,如下所示
Lkl(yn,y^n)=∑nDKL(yn∣y^n)+λ∣∣W1∣∣1=∑n∑kynklogynky^nk+λ∣∣W1∣∣1L_{kl}(y_n, \hat y_{n})=\sum_n D_{KL}(y_n| \hat y_{n})+\lambda ||W_1||_1=\sum_{n} \sum_{k}y^k_{n} log\frac{y^k_n}{\hat y^k_n}+\lambda ||W_1||_1Lkl​(yn​,y^​n​)=∑n​DKL​(yn​∣y^​n​)+λ∣∣W1​∣∣1​=∑n​∑k​ynk​logy^​nk​ynk​​+λ∣∣W1​∣∣1​

对于最终的年龄预估阶段采用的loss是L1距离,如下所示
Lreg(yn,y^n)=∑n∣∣yn−y^n∣∣L_{reg}(y_n, \hat y_{n})=\sum_{n}||y_n-\hat y_{n}||Lreg​(yn​,y^​n​)=∑n​∣∣yn​−y^​n​∣∣

最终采用的loss函数如下所示
Ltotal=αLkl+LregL_{total}=\alpha L_{kl}+L_{reg}Ltotal​=αLkl​+Lreg​
上式中α\alphaα是个超参数

四、基于上下文的回归模型

为了更好的利用图片的信息,对于网络的输入文章将输入图片截取三次,如上图中的三种颜色的框,提取好三种输入后对特征进行concat操作,然后用于年龄的预估。

这里是怎么截取的,文章没有说的很明白

最后看看文章使用的网络结构如下表所示

文章没有很大的创新,主要是给人一种启发。人工设计的网络有可能存在冗余部分,对于一些任务没必要用很复杂的网络,比如本文的低分辨率图片的年龄预估,没必要使用很深的网络也能达到好的效果,文章还做了很多实验,详情可以查看原文。

C3AE: Exploring the Limits of Compact Model for Age Estimation相关推荐

  1. 【论文翻译】年龄估计 SSR-Net: A Compact Soft Stagewise Regression Network for Age Estimation

    原文:SSR-Net: A Compact Soft Stagewise Regression Network for Age Estimation 链接:https://www.csie.ntu.e ...

  2. 文献阅读笔记:Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer(T5)

    文章目录 0. 背景 0.1 摘要 1. 介绍 2. 模型 2.1 输入和输出格式 3. 实验 3.1 baseline 3.2 对比的框架 3.3 无监督目标函数 3.4 预训练数据集 3.5 训练 ...

  3. Partial-DNet: A Novel Blind Denoising Model WithNoise Intensity Estimation for HSI 2022

    摘要: 由于高光谱图像中不可避免的噪声干扰,严重制约了对高光谱图像的认识和应用.为了解决这一问题,基于数据驱动的神经网络去噪方法的研究成为近年来的研究热点.然而,对于具有不一致和混合噪声的HSIs,传 ...

  4. CVPR 2019 | 旷视研究院提出极轻量级年龄估计模型C3AE

    全球计算机视觉三大顶级会议之一 CVPR 2019 将于当地时间 6 月 16-20 日在美国洛杉矶举办.届时,旷视研究院将带领团队远赴盛会,助力计算机视觉技术的交流与落地.在此之前,旷视每周会介绍一 ...

  5. 首发 | 旷视14篇CVPR 2019论文,都有哪些亮点?

    译者 | Linstancy 责编 | Jane 出品 | AI科技大本营(公众号id:rgznai100) 回顾 CVPR 2018 ,旷视科技有 8 篇论文被收录,如高效的移动端卷积神经网络 Sh ...

  6. 【CVPR2019】完整论文列表二

    CVPR 2019 Paper list No.1001-1294 ?CVPR2019 完整列表一 论文题目与链接 Semantic Component Decomposition for Face ...

  7. 盘点旷视14篇CVPR 2019论文,都有哪些亮点?

    译者 | Linstancy 责编 | Jane 出品 | AI科技大本营(公众号id:rgznai100) 回顾 CVPR 2018 ,旷视科技有 8 篇论文被收录,如高效的移动端卷积神经网络 Sh ...

  8. CVPR学习(三):CVPR2019-各个方向

    一.各个方向 视频人体骨架跟踪 [1]Learning Regularity in Skeleton Trajectories for Anomaly Detection in Videos 论文地址 ...

  9. CVPR2019|最新更新论文~持续更新|CVPR2019百度云下载

    CVPR论文下载百度云链接:链接:https://pan.baidu.com/s/100OAXTIOTPoMjbi-dwOcxA  提取码:请关注[计算机视觉联盟]微信公众号,回复:CVPR2019 ...

最新文章

  1. 计算机word做课程表实验报告,word制作课程表.doc
  2. PLSQL Developer使用技巧整理
  3. string[x]:size 属性具有无效大小值0
  4. 用java编写奖金税率_企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%_java企业利润提成计算代码...
  5. 2016年第12本:成功就靠专注一件事
  6. 爬虫实践---电影排行榜和图片批量下载
  7. 5万能搞定百平家装主材、家具、家电吗?
  8. Kali Linux 秘籍 第七章 权限提升
  9. 50道编程小题目之【水仙花数】
  10. Servlet笔记10--Session
  11. 行为型模式:模板方法 1
  12. mui ajax方法
  13. CentOS4.4下邮件服务器架设笔记之windows AD整合功能实现
  14. java7-3 继承
  15. lua-获取当前时间
  16. MDI Jade6.5安装教程-附安装包
  17. JavaWeb - 国家语言代码表
  18. ARM 发布新一代 CPU 和 GPU,实现 20% 性能提升!
  19. Axure RP 8的介绍
  20. 研发人员提高自身水平促进网络棋牌游戏发展

热门文章

  1. Extracting Multiple-Relations in One-Pass with Pre-Trained Transformers [论文研读]
  2. Unirech腾讯云国际版-使用腾讯云服务器手动建立WordPress 个人站点Linux系统教程
  3. 邮储银行计算机岗位笔试题,中国邮政储蓄银行各类岗位笔试经验汇总
  4. 打开html文件是文字模式,为什么我打开的有些网页成了全文字格式的?
  5. dhtml、html、html5、xml、xhtml的区别
  6. CentOS7下安装和开启远程连接reids
  7. Python:根据itchat编了一个3岁智商的机器人
  8. 采样定理与奈奎斯特极限
  9. 人工智能在材料科学的应用
  10. Hoeffding's lemma证明