Face Recognition through Deep Neural Network Yang Song
FaceRecognitionthroughDeepNeuralNetwork
YangSong
FaceRecognition,IdentificationandVerification
ImplementationofVGG16
Dataaugmentation
FaceID
FaceIdentification:
Trainingset
QueryImage
FaceIdentification FaceID:TaylorSwift
FaceVerification:
TrainingsetQueryImages
FaceVerification Whethertheyarethesameperson?
FaceRecognition=FaceIdentification+FaceVerification
A facerecognitionsystem isa computerapplication capableof identifying or verifying apersonfroma digitalimage ora videoframe froma video source.Oneofthewaystodothisisbycomparingselected facialfeatures fromtheimageandaface database.
TraditionalMethod
FaceDetectionFeatureExtractionGivenImage
e.g.,Physicalfeatures:therelativeposition,size,shapeofeyes,nose,jawandetcsSkincolor;SIFTorHOGfeatures
Classifier/Model output
FaceIdentification/Verification
e.g.,SVMorabayse modele.g.,Landmarkdetection
Limitations?Intherealapplication,therearelargevariationwithfacepose,background,illuminationandocclusion.Itishardtodesignafeatureextractionmethodtoberobustanddiscriminative.
Whyourhumanbraincanfigureitout?
FaceDetection FeatureExtraction&FaceIdentification/VerificationGivenImage
output
ACNNNetwork
VGGFaceNetwork
FeatureMapSize
W
W
K
K
W=224K=3n_input =3N_output =64
Padding Stride Size Depth
SAME 1
SAME 2
VALID 1
VALID 2
FeatureMapSize
W
W
K
K
W=224K=3n_input =3N_output =64
Padding Stride Size Depth
SAME 1 224*224 64
SAME 2 112*112 64
VALID 1 222*222 64
VALID 2 111*111 64
FeatureMapSize
W
W
K
K
W=224K=5n_input =3N_output =64
Padding Stride Size Depth
SAME 1 64
SAME 2 64
VALID 1 64
VALID 2 64
FeatureMapSize
W
W
K
K
W=224K=5n_input =3N_output =64
Padding Stride Size Depth
SAME 1 224*224 64
SAME 2 112*112 64
VALID 1 220*220 64
VALID 2 110*110 64
If”VALID”,W_out =ceil((W– K+1)/S)If“SAME”,W_out =ceil(W/S)
VGG16Tensorflow Implementationhttps://www.cs.toronto.edu/~frossard/vgg16/vgg16.py
VGG16Tensorflow Implementationhttps://www.cs.toronto.edu/~frossard/vgg16/vgg16.py
Another lightweight implementation of VGG16
TF-Slim is a lightweight library for defining, training and evaluating complex models in TensorFlow.
Another lightweight implementation of VGG16
TF-Slim is a lightweight library for defining, training and evaluating complex models in TensorFlow.
Or
VGG16 byTF-Slim
DataAugmentation
Avoidoverfitting!IncreaseDatasetTranslation-robusttotinyshiftRotation-robusttoposevariationCompression-berobusttopoorresolution
Translation Flipping
Rotation RandomCropping
Compression
tf.random_croptf.image.resize_image_with_crop_or_padtf.image.random_flip_left_right