基于FaceNet的人脸识别模型训练全解析
1. 输入图像与训练集
训练集由从图像中裁剪出的人脸缩略图组成。除了平移和缩放操作外,不需要对裁剪后的人脸进行其他对齐操作。
2. 深度卷积神经网络(Deep CNN)
FaceNet使用带有反向传播的随机梯度下降(SGD)和AdaGrad优化器的深度卷积神经网络进行训练。初始学习率设为0.05,并随着迭代次数的增加而降低,以最终确定模型。训练在基于CPU的集群上进行,耗时1000 - 2000小时。
FaceNet有两种不同架构的深度卷积神经网络,各有优劣:
- Zeiler和Fergus架构(NN1) :
- 由22层组成,每张图像以16亿次浮点运算(FLOPS)训练1.4亿个参数。
- 输入大小为220×220。
- 基于GoogLeNet的Inception模型 :
- 参数比NN1少20倍(约660 - 750万个),FLOPS少5倍(约5亿 - 16亿)。
- 有多种变体,具体如下表所示:
| 模型名称 | 输入大小 | 参数数量 | 每张图像FLOPS | 适用场景 |
| ---- | ---- | ---- | ---- | ---- |
| NN2 | 224×224 | 750万 | 16亿 | 一般场景 |
| NN3 | 160×160 | - | - | 较小网络规模场景 |
| NN4 | 96×96 | 大幅减少 | 2.85亿 | 移动设备 |
| NNS1 | 165×165 | 26
超级会员免费看
订阅专栏 解锁全文
6633

被折叠的 条评论
为什么被折叠?



