人脸方向学习(八):Face Recognition-MobileFaceNets解读

整理的人脸系列学习经验:包括人脸检测、人脸关键点检测、人脸优选、人脸对齐、人脸特征提取等过程总结,有需要的可以参考,仅供学习,请勿盗用。https://blog.csdn.net/TheDayIn_CSDN/article/details/93199307

MobileFaceNets解读

论文地址:https://arxiv.org/ftp/arxiv/papers/1804/1804.07573.pdf

github mobilefacenet-caffe:https://github.com/KaleidoZhouYN/mobilefacenet-caffe

思路

最近在思考在移动端的人脸特征提取模型以及方案,查阅了人脸识别相关论文,现阶段针对移动设备的网络结构主要有MobileFaceNets,这个网络结构主要在Mobilenetv2的基础上进行改进,下面给出论文简介,后续给出实验流程。

一、论文介绍

创新点

mobilefacenet其实是mobilenetV2的改进版本,主要改进之处有以下几个地方:

1、针对平均池化层,许多研究表明,使用平均池化层会使得网络表现下降。在最后一个7*7特征图中,虽然中心点的感知域和边角点的感知域是一样的,但是中心点的感知域包括了完整的图片,边角点的感知域却只有部分的图片,因此每个点的权重应该不一样,但是平均池化层却把他们当作一样的权重去考虑了,因此网络表现会下降。因此,作者在此处使用了可分离卷积代替平均池化层,即使用一个7*7*512(512表示输入特征图通道数目)的可分离卷积层代替了全局平均池化,这样可以让网络自己不同点的学习权重。

人脸方向学习(八):Face Recognition-MobileFaceNets解读_第1张图片

2、采用Insightface的损失函数进行训练。 
3、通道扩张倍数变小,使用Prelu代替relu,使用batch Normalization。 

 

网络整体结构

1)采用类似MobileNetV2的网络结构

2)residual bottlenecks (MobileNetV2)

3)expansion factors for bottlenecks are much smaller than MobileNetV2

4)使用PReLU激活层

5)fast downsampling

6)在Global Depthwise Conv层后添加1x1的线性变换层

人脸方向学习(八):Face Recognition-MobileFaceNets解读_第2张图片

实验结果

1)删除GDConv后线性变换层后,准确率有所下降,但部署时间没有减少,因而实际应用可以保留线性变换层。

2)将PReLU换成ReLU后,其实际的部署时间少1ms,准确率有所下降,在推理框架支持PReLU的情况下,可以考虑优先使用PReLU。

3)expansion factor 变大后,准确率没用提升反而下降,说明在此网络结构下,并不是filter越多,效果越好。

4)MobileNetV2使用GDConv相比于不使用GDConv准确率提升明显,说明GDConv有作用,是不是GDConv对所有具有Global Average Pooling的网络结构都作用。

人脸方向学习(八):Face Recognition-MobileFaceNets解读_第3张图片



 

你可能感兴趣的:(计算机视觉,人脸系列学习)