2019.07.14
Actualmente, me gradué del campus y hago otro tipo de trabajo. Por lo tanto, este proyecto no se actualiza nuevamente.
La implementación de algoritmos populares de reconocimiento facial en el marco de Pytorch, incluidos Arcface, Cosface y Sphereface, etc.
Todos los códigos se evalúan en Pytorch 0.4.0 con Python 3.6, Ubuntu 16.04.10, Cuda 9.1 y Cudnn 7.1. Parcialmente evaluado en Pytorch 1.0.
Para el entrenamiento de CNN, uso Casia-Webface y limpio MS-Celeb-1M, alineado por MTCNN con el tamaño de 112x112. Para las pruebas de rendimiento, informe los resultados en LFW, AGEDB-30, CFP-FP, MegaFace Rank1 Identificación y verificación.
Para AGEDB-30 y CFP-FP, los pares de imágenes e imágenes de evaluación alineadas se restauran desde el archivo binario MXNET proporcionado por Insightface, las herramientas están disponibles en este repositorio. Debe instalar primero un mxnet-cpu para el análisis de la imagen, solo hacer ' pip install mxnet ' está bien.
Lfw @ baidunetdisk, agedb-30 @ baidunetdisk, cfp_fp @ baidunetdisk
MobileFacenet: Struture descrito en MobileFacenet
Resnet50: estructura original de resnet
Resnet50-IR: CNN descrito en el papel Arcface
SERESNET50-IR: CNN descrito en el papel Arcface
Protocolo pequeño: Entrenado con el tamaño de la cara de datos Casia: 453580/10575
Protocolo grande: Entrenado con DeepGlint MS-Celeb-1m de tamaño de datos: 3923399/86876
| Tipo de modelo | Pérdida | LFW | Agedb-30 | CFP-FP | Tamaño del modelo | protocolo |
|---|---|---|---|---|---|---|
| MobileFacenet | Cara de arco | 99.23 | 93.26 | 94.34 | 4MB | pequeño |
| Resnet50-ir | Cara de arco | 99.42 | 94.45 | 95.34 | 170 MB | pequeño |
| Seresnet50-ir | Cara de arco | 99.43 | 94.50 | 95.43 | 171 MB | pequeño |
| MobileFacenet | Cara de arco | 99.58 | 96.57 | 92.90 | 4MB | grande |
| Resnet50-ir | Cara de arco | 99.82 | 98.07 | 95.34 | 170 MB | grande |
| Seresnet50-ir | Cara de arco | 99.80 | 98.13 | 95.60 | 171 MB | grande |
| Resnet100-ir | Cara de arco | 99.83 | 98.28 | 96.41 | 256 MB | grande |
Existe un hecho de resultado extraño de que al entrenar bajo un pequeño protocolo, las actuaciones de CFP-FP mejor que AGEDB-30, mientras que cuando se entrenan con conjunto de datos a gran escala, las actuaciones de CFP-FP peores que AGEDB-30.
| Tipo de modelo | Pérdida | MF Ac. | MF ver. | MF acc.@R | MF Ver.@R | TAMAÑO | protocolo |
|---|---|---|---|---|---|---|---|
| MobileFacenet | Cara de arco | 69.10 | 84.23 | 81.15 | 85.86 | 4MB | pequeño |
| Resnet50-ir | Cara de arco | 74.31 | 88.23 | 87.44 | 89.56 | 170 MB | pequeño |
| Seresnet50-ir | Cara de arco | 74.37 | 88.32 | 88.30 | 89.65 | 171 MB | pequeño |
| MobileFacenet | Cara de arco | 74.95 | 88.77 | 89.47 | 91.03 | 4MB | grande |
| Resnet50-ir | Cara de arco | 79.61 | 96.02 | 96.58 | 96.78 | 170 MB | grande |
| Seresnet50-ir | Cara de arco | 79.91 | 96.10 | 97.01 | 97.60 | 171 MB | grande |
| Resnet100-ir | Cara de arco | 80.40 | 96.94 | 97.60 | 98.05 | 256 MB | grande |
Soporte de Visdom para la pérdida y precisión durante el proceso de capacitación. 
Pérdida Softmax vs Pérdida Softmax_Center. Izquierda: set de entrenamiento Softmax. Derecha: Softmax + Center Loss Training Set.


Mugglewang/cosface_pytorch
Xiaoccer/mobilefacenet_pytorch
Treb1en/Insightface_pytorch
Deepinsight/Insightface
Kaiyangzhou/pytorch-centro-pérdida
Tengshaofeng/ResidualAtentionNetwork-Pytorch