You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+95-8Lines changed: 95 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -3,9 +3,14 @@
3
3
**JavaScript API for face detection and face recognition in the browser implemented on top of the tensorflow.js core API ([tensorflow/tfjs-core](https://github.com/tensorflow/tfjs-core))**
4
4
5
5
***[Running the Examples](#running-the-examples)**
6
-
***[About Face Detection](#about-face-detection)**
7
-
***[About Face Recognition](#about-face-recognition)**
For face recognition, this project implements a SSD (Single Shot Multibox Detector) based on MobileNetV1. The neural net will compute the locations of each face in an image and will return the bounding boxes together with it's probability for each face.
65
+
For face detection, this project implements a SSD (Single Shot Multibox Detector) based on MobileNetV1. The neural net will compute the locations of each face in an image and will return the bounding boxes together with it's probability for each face.
51
66
52
67
The face detection model has been trained on the [WIDERFACE dataset](http://mmlab.ie.cuhk.edu.hk/projects/WIDERFace/) and the weights are provided by [yeephycho](https://github.com/yeephycho) in [this](https://github.com/yeephycho/tensorflow-face-detection) repo.
53
68
54
69
<aname="about-face-recognition"></a>
55
70
56
-
##About Face Recognition
71
+
###Face Recognition
57
72
58
73
For face recognition, a ResNet-34 like architecture is implemented to compute a face descriptor (a feature vector with 128 values) from any given face image, which is used to describe the characteristics of a persons face. The model is **not** limited to the set of faces used for training, meaning you can use it for face recognition of any person, for example yourself. You can determine the similarity of two arbitrary faces by comparing their face descriptors, for example by computing the euclidean distance or using any other classifier of your choice.
59
74
60
75
The neural net is equivalent to the **FaceRecognizerNet** used in [face-recognition.js](https://github.com/justadudewhohacks/face-recognition.js) and the net used in the [dlib](https://github.com/davisking/dlib/blob/master/examples/dnn_face_recognition_ex.cpp) face recognition example. The weights have been trained by [davisking](https://github.com/davisking) and the model achieves a prediction accuracy of 99.38% on the LFW (Labeled Faces in the Wild) benchmark for face recognition.
61
76
77
+
<aname="about-face-landmark-detection"></a>
78
+
79
+
### Face Landmark Detection
80
+
81
+
This package implements a CNN to detect the 68 point face landmarks for a given face image.
82
+
83
+
The model has been trained on a variety of public datasets and the model weights are provided by [yinguobing](https://github.com/yinguobing) in [this](https://github.com/yinguobing/head-pose-estimation) repo.
84
+
62
85
<aname="usage"></a>
63
86
64
87
## Usage
@@ -75,6 +98,8 @@ Or install the package:
75
98
npm i face-api.js
76
99
```
77
100
101
+
<aname="usage-face-detection"></a>
102
+
78
103
### Face Detection
79
104
80
105
Download the weights file from your server and initialize the net (note, that your server has to host the *face_detection_model.weights* file).
0 commit comments