美文网首页
MobileFaceNets

MobileFaceNets

作者: 一点心青 | 来源:发表于2018-11-30 21:53 被阅读0次

    MobileFaceNets: Efficient CNNs for Accurate RealTime Face Verification on Mobile Devices

    背景介绍

    偏工程性论文,分析了现有轻量级网络应用于人脸识别的不足,并使用Global Depthwise Convolution改进。

    论文要点

    • Global Depthwise Convolution
    • 人脸识别最后需生成特征向量,一般由全连接或平均池化生成。
    • 全连接全产生大量的参数,会导致模型增大,不便于嵌入端的部署。
    • 平均池化没有考虑位置信息,所有位置的特征都一样。
    • 基于人脸的直观感受,最后一层特征图每个像素对应人脸区域其重要性有所差异,因而使用加权平均更合理,使用Global Depthwise Convolution可以实现加权的效果。
      [图片上传失败...(image-b946b-1543585944328)]
    • 网络结构
    • 采用类似MobileNetV2的网络结构
    • residual bottlenecks (MobileNetV2)
    • expansion factors for bottlenecks are much smaller than MobileNetV2
    • 使用PReLU激活层
    • fast downsampling
    • 在Global Depthwise Conv层后添加1x1的线性变换层


      MobileFaceNet-2

    结果分析

    • 删除GDConv后线性变换层后,准确率有所下降,但部署时间没有减少,因而实际应用可以保留线性变换层。
    • 将PReLU换成ReLU后,其实际的部署时间少1ms,准确率有所下降,在推理框架支持PReLU的情况下,可以考虑优先使用PReLU。
    • expansion factor 变大后,准确率没用提升反而下降,说明在此网络结构下,并不是filter越多,效果越好。
    • MobileNetV2使用GDConv相比于不使用GDConv准确率提升明显,说明GDConv有作用,是不是GDConv对所有具有Global Average Pooling的网络结构都作用呢?


      MobileFaceNet-3

    问题思考

    • 训练方法
    • 为什么要将GDConv后卷积层的weight decay设置得比之前的小?
    • 以MobileNetV1/MobileNetV2/ShuffleNet作对比实验时,为什么要从头训练,而不使用imagenet的预训练模型,是为了保证所有模型从头训练的同一条件。
    • 文中提MobileNetV1如果第一层卷积层stride=2时,其准确率较差,但并没有分析原因,个人觉得如果第一层卷积层stride=2,会导致中间主要提取特征的分辨率较小,不利于提取更丰富的特征,设计轻量级网络时,既要使用fast downsampling的策略,也要保证中间层时的分辨率不宜过小。
    • 测试结果
    • 没有对比MobileFaceNet使用GDConv和不使用GDConv的差异,因而无法评估整体准确率的提升是由于前面的网络结构设计,还是最后使用了GDConv带来的准确率提升。
    • Global Depthwise Convolution
    • 其想法与Face R-FCN提到position-sensitive average pooling是一致的

    相关文章

      网友评论

          本文标题:MobileFaceNets

          本文链接:https://www.haomeiwen.com/subject/haukcqtx.html