All Projects → KaleidoZhouYN → Sphereface-Ms-celeb-1M

KaleidoZhouYN / Sphereface-Ms-celeb-1M

Licence: other
Face Recognition Using A-Softmax_loss on light cleaned Ms_celeb-1M dataset

Projects that are alternatives of or similar to Sphereface-Ms-celeb-1M

FaceIDLight
A lightweight face-recognition toolbox and pipeline based on tensorflow-lite
Stars: ✭ 17 (-90.61%)
Mutual labels:  facerecognition
facescore
人脸打分服务,通过tensorflow通过人脸识别,测年龄,最终返回打分的json
Stars: ✭ 31 (-82.87%)
Mutual labels:  facerecognition
faceanalysis
Pipeline for face detection and matching
Stars: ✭ 21 (-88.4%)
Mutual labels:  facerecognition
STUDENT-ATTENDANCE-USING-FACIAL-RECOGNITION-SYSTEM-OPENCV
No description or website provided.
Stars: ✭ 46 (-74.59%)
Mutual labels:  facerecognition
FaceRecoginition
利用opencv+keras+python实现人脸识别系统
Stars: ✭ 26 (-85.64%)
Mutual labels:  facerecognition

About Face Alignment

we use MTCNN to align Face to the size of [96,112],MTCNN is a good Face detector but still there are something you should pay attention:

low confidence

while MTCNN will return a confidence of the deteced face,make sure to use this face image while the confidence is pretty high,like larger than 0.9 or 0.95

there are two example of low confidence face aligment:

landmark shift

landmark will be different while detect the same person,which will make confusion to CNN learning:

occlusion

also bad for occlusion:

alignment criterion

we use the alignment offered by @happynear and the repository is here:

happynear/FaceVerification

at https://github.com/happynear/FaceVerification/dataset/CK/align_CK.py

About noise

MS_Celeb_1M dataset is pretty dirty.A pre-cleaning list will be find here:

Light CNN for Deep Face Recognition

whilch use a pre-trained center_loss model to do cluster.

there are two types of noise:inter_class & intra_class

intra-class

we have done the intra_class by ourselves,which contains two lists:

outlier:images that do not belong to the label class

same:images that repeated in the same class

inter-class

we also do inter_class cleanning but at this stage we can't offer the cleansed list.

map list

the map list of class_id(in the cleaned list) and corresponding person id(Ms_celeb_1M) is here:

Baidu Drive

About training

loss function & CNN construction

we use A-softmax to train our model,with a 28-Layers ResFace CNN construction.

trick to help converging

we also use FN(described in this paper:DeepVisage: Making face recognition simple yet with powerful generalization skills) method to help the trainning convergeing faster.If you want to train a 64 Layers CNN model,this method really helps a lot.

prototxt

the deploy.txt at 'example' folder.You may need to add the classification layer and the softmax_loss layer by youself If you want to train model on your dataset.

We do not offer slover.prototxt & log.txt but you can know the parament in solver.txt

Update at 2017/11/15

something interesting

new alignment method

alignment by MTCNN:

alignment by Ours:

Result

we reach 99.76% on LFW by our own dataset and 99.6% on MS-Celeb-1M

Citation

If you find SphereFace or FN useful,please cite the link above in your paper.

Contributor

@KaleidoZhouYN @TuringKi @Dickachu Yang

follow up

If you want to know more about Face recognition,please see:

More-Details-On-FaceRecognition-1

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].