2019.07.14
Atualmente, me formei no campus e fazendo outro tipo de trabalho. Portanto, este projeto não pode ser atualizado novamente.
A implementação de algoritmos populares de reconhecimento de rosto na estrutura de Pytorch, incluindo Arcface, Cosface e Sphereface e assim por diante.
Todos os códigos são avaliados no Pytorch 0.4.0 com Python 3.6, Ubuntu 16.04.10, CUDA 9.1 e CUDNN 7.1. Parcialmente avaliado no Pytorch 1.0.
Para o treinamento da CNN, uso Casia-Webface e MS-CELEB-1M limpo, alinhado por MTCNN com o tamanho de 112x112. Para testes de desempenho, relato os resultados no LFW, AGEDB-30, CFP-FP, MEGAFACE RANK1 Identification and Verification.
Para AGEDB-30 e CFP-FP, os pares de imagens e imagens de avaliação alinhados são restaurados do arquivo binário MXNET fornecido pelo Insightface, as ferramentas estão disponíveis neste repositório. Você deve instalar um MXNET-CPU primeiro para a análise de imagem, basta fazer ' Pip Install mxnet ' está ok.
LFW @ BaidunetDisk, AGEDB-30 @ BaidunetDisk, CFP_FP @ BaidunetDisk
MobileFaceNet: Struture descrito no MobileFaceNet
Resnet50: estrutura de resnet original
Resnet50-IR: CNN descrito em papel Arcface
Seresnet50-IR: CNN descrito em papel Arcface
Pequeno protocolo: treinado com Casia-webface do tamanho dos dados: 453580/10575
Grande protocolo: treinado com Deepglint MS-CELEB-1M de tamanho de dados: 3923399/86876
| Tipo de modelo | Perda | LFW | AGEDB-30 | CFP-FP | Tamanho do modelo | protocolo |
|---|---|---|---|---|---|---|
| MobileFaceNet | Arcface | 99.23 | 93.26 | 94.34 | 4 MB | pequeno |
| Resnet50-IR | Arcface | 99.42 | 94.45 | 95.34 | 170 MB | pequeno |
| Seresnet50-IR | Arcface | 99.43 | 94.50 | 95.43 | 171 MB | pequeno |
| MobileFaceNet | Arcface | 99.58 | 96.57 | 92.90 | 4 MB | grande |
| Resnet50-IR | Arcface | 99.82 | 98.07 | 95.34 | 170 MB | grande |
| Seresnet50-IR | Arcface | 99.80 | 98.13 | 95.60 | 171 MB | grande |
| Resnet100-IR | Arcface | 99.83 | 98.28 | 96.41 | 256 MB | grande |
Existe um fato estranho de resultado que, ao treinar sob pequenos protocolos, o desempenho do CFP-FP é melhor do que o AGEDB-30, enquanto treinava com conjunto de dados em larga escala, o desempenho do CFP-FP pior que o AGEDB-30.
| Tipo de modelo | Perda | Mf acc. | Mf ver. | Mf acc.@R | Mf ver.@R | TAMANHO | protocolo |
|---|---|---|---|---|---|---|---|
| MobileFaceNet | Arcface | 69.10 | 84.23 | 81.15 | 85.86 | 4 MB | pequeno |
| Resnet50-IR | Arcface | 74.31 | 88.23 | 87.44 | 89.56 | 170 MB | pequeno |
| Seresnet50-IR | Arcface | 74.37 | 88.32 | 88.30 | 89.65 | 171 MB | pequeno |
| MobileFaceNet | Arcface | 74.95 | 88.77 | 89.47 | 91.03 | 4 MB | grande |
| Resnet50-IR | Arcface | 79.61 | 96.02 | 96.58 | 96.78 | 170 MB | grande |
| Seresnet50-IR | Arcface | 79.91 | 96.10 | 97.01 | 97.60 | 171 MB | grande |
| Resnet100-IR | Arcface | 80,40 | 96.94 | 97.60 | 98.05 | 256 MB | grande |
Suporte à Visdom à perda e precisão durante o processo de treinamento. 
Softmax Loss vs Softmax_Center Perda. Esquerda: Conjunto de treinamento Softmax. Direita: Conjunto de treinamento de perda de perdas Softmax + Center.


Mougelwang/cosface_pytorch
Xiaoccer/MobileFACENET_PYTORCH
Treb1en/Insightface_pytorch
DeepInsight/Insightface
Kaiyangzhou/Pytorch-Center-Loss
Tengshaofeng/ResidualattionNetwork-Pytorch