FaceJsonObject Type
Point Type
Kind: global class
Promise.<void>Promise.<void>Promise.<Array.<Face>>Promise.<FaceEmbedding>Array.<number>Facenet is designed for bring the state-of-art neural network with bleeding-edge technology to full stack developers Neural Network && pre-trained model && easy to use APIs
Promise.<void>Init facenet
Kind: instance method of Facenet
Promise.<void>Quit facenet
Kind: instance method of Facenet
Promise.<Array.<Face>>Do face alignment for the image, return a list of faces.
Kind: instance method of Facenet
Returns: Promise.<Array.<Face>> - - a list of faces
| Param | Type | 
|---|---|
| imageData | ImageData|string | 
Example
const imageFile = `${__dirname}/../tests/fixtures/two-faces.jpg`
const faceList = await facenet.align(imageFile)
console.info(faceList)
// Output
// [ Face {
//     id: 0,
//     imageData: ImageData { data: [Object] },
//     confidence: 0.9999634027481079,
//     landmark:
//      { leftEye: [Object],
//        rightEye: [Object],
//        nose: [Object],
//        leftMouthCorner: [Object],
//        rightMouthCorner: [Object] },
//      location: { x: 360, y: 94, w: 230, h: 230 },
//      md5: '003c926dd9d2368a86e41a2938aacc98' },
//   Face {
//     id: 1,
//     imageData: ImageData { data: [Object] },
//     confidence: 0.9998626708984375,
//     landmark:
//      { leftEye: [Object],
//        rightEye: [Object],
//        nose: [Object],
//        leftMouthCorner: [Object],
//        rightMouthCorner: [Object] },
//     location: { x: 141, y: 87, w: 253, h: 253 },
//     md5: '0451a0737dd9e4315a21594c38bce485' } ]
// leftEye: [Object],rightEye: [Object],nose: [Object],leftMouthCorner: [Object],rightMouthCorner: [Object] -- Object is Point, something like { x: 441, y: 181 }
// imageData: ImageData { data: [Object] } -- Object is Uint8ClampedArray
Promise.<FaceEmbedding>Calculate Face Embedding, get the 128 dims embeding from image(s)
Kind: instance method of Facenet
Returns: Promise.<FaceEmbedding> - - return feature vector
| Param | Type | 
|---|---|
| face | Face | 
Example
const imageFile = `${__dirname}/../tests/fixtures/two-faces.jpg`
const faceList = await facenet.align(imageFile)
for (const face of faceList) {
  face.embedding = await facenet.embedding(face)
}
// Output, there are two faces in the picture, so return two 128 dims array
// array([ 0.03132, 0.05678, 0.06192, ..., 0.08909, 0.16793,-0.05703])
// array([ 0.03422,-0.08358, 0.03549, ..., 0.07108, 0.14013,-0.01417])
Array.<number>Get distance between a face an each face in the faceList.
Kind: instance method of Facenet
| Param | Type | 
|---|---|
| face | Face | 
| faceList | Array.<Face> | 
Example
const imageFile = `${__dirname}/../tests/fixtures/two-faces.jpg`
const faceList = await facenet.align(imageFile)
for (const face of faceList) {
face.embedding = await facenet.embedding(face)
}
const faceInFaceList = faceList[0]
const distance = facenet.distance(faceInFaceList, faceList)
console.info('distance:', distance)
// Output:
// distance: [ 0, 1.2971515811057608 ]
// The first face comes from the imageFile, the exactly same face, so the first result is 0.
Kind: global class
FaceEmbedding | undefinedPointnumbernumbernumberPromise.<this>FaceJsonObjectnumberPromise.<void>Creates an instance of Face.
| Param | Type | 
|---|---|
| [imageData] | ImageData | 
FaceEmbedding | undefinedEmbedding the face, FaceEmbedding is 128 dim
Kind: instance property of Face
Set embedding for a face
Kind: instance property of Face
PointGet center point for the location
Kind: instance property of Face
Example
const imageFile = `${__dirname}/../tests/fixtures/two-faces.jpg`
const faceList = await facenet.align(imageFile)
console.info('face center : ', faceList[0].center)
// Output: center:  { x: 475, y: 209 }
numberGet width for the imageData
Kind: instance property of Face
Example
const imageFile = `${__dirname}/../tests/fixtures/two-faces.jpg`
const faceList = await facenet.align(imageFile)
console.info('face width : ', faceList[0].width)
// Output: width:  230
numberGet height for the imageData
Kind: instance property of Face
Example
const imageFile = `${__dirname}/../tests/fixtures/two-faces.jpg`
const faceList = await facenet.align(imageFile)
console.info('face height : ', faceList[0].height)
// Output: height:  230
numberGet depth for the imageData: length/width/height
Kind: instance property of Face
Promise.<this>Init a face
Kind: instance method of Face
| Param | Type | Default | 
|---|---|---|
| [options] | FaceOptions | {} | 
FaceJsonObjectGet Face Json format data
Kind: instance method of Face
numberGet the two face’s distance, the smaller the number is, the similar of the two face
Kind: instance method of Face
| Param | Type | 
|---|---|
| face | Face | 
Example
const imageFile = `${__dirname}/../tests/fixtures/two-faces.jpg`
const faceList = await facenet.align(imageFile)
faceList[0].embedding = await facenet.embedding(faceList[0])
faceList[1].embedding = await facenet.embedding(faceList[1])
console.info('distance between the different face: ', faceList[0].distance(faceList[1]))
console.info('distance between the same face:      ', faceList[0].distance(faceList[0]))
// Output
// distance between the different face:  1.2971515811057608
// distance between the same face:       0
// faceList[0] is totally the same with faceList[0], so the number is 0
// faceList[1] is different with faceList[1], so the number is big.
// If the number is smaller than 0.75, maybe they are the same person.
Promise.<void>Save the face to the file
Kind: instance method of Face
| Param | Type | 
|---|---|
| file | string | 
Example
const imageFile = `${__dirname}/../tests/fixtures/two-faces.jpg`
const faceList = await facenet.align(imageFile)
faceList[0].save('womenFace.jpg')
// You can see it save the women face from `two-faces` pic to `womenFace.jpg`
FaceKind: static method of Face
| Param | Type | 
|---|---|
| obj | FaceJsonObject|string | 
FaceJsonObject Type
Kind: global typedef
Properties
| Name | Type | Description | 
|---|---|---|
| confidence | number | The confidence to confirm is face | 
| embedding | Array.<number> | |
| imageData | string | Base64 of Buffer | 
| landmark | FacialLandmark | Face landmark | 
| location | Rectangle | Face location | 
| md5 | string | Face md5 | 
Point Type
Kind: global typedef
Properties
| Name | Type | 
|---|---|
| x | number | 
| y | number |