Skip to content

Releases: justadudewhohacks/face-api.js

0.22.2

22 Mar 14:01
Compare
Choose a tag to compare
  • bumped tfjs-core to version 1.7.0

0.22.1

07 Feb 12:28
Compare
Choose a tag to compare
  • bumped tfjs-core to version 1.5.2

0.22.0

15 Dec 11:44
Compare
Choose a tag to compare
  • bumped tfjs-core to version 1.4.0
  • merged tfjs-image-recognition-base into face-api.js

deprecations:

  • added deprecation warnigs for
    • allFaces*
    • mtcnn

breaking changes:

  • moved utils to faceapi.utils

0.21.0

15 Sep 19:06
Compare
Choose a tag to compare
  • bumped tfjs-core to version 1.2.9
  • added missing exports for WithAge/WithGender #339
  • JSON de/serialization for FaceMatcher and LabeledFaceDescriptors #397

0.20.1

28 Jun 17:50
Compare
Choose a tag to compare
  • bumped tfjs-core to version 1.2.2

0.20.0

07 May 19:58
Compare
Choose a tag to compare

features:

  • age and gender recognition (AgeGenderNet)
  • improved and more flexible drawing api accessible via faceapi.draw (see examples)
  • allow alignment via withFaceLandmarks before face classification (expression, age and gender prediction) for better accuracy
  • faceapi.matchDimensions helper function to resize media elements

breaking API changes:

  1. FaceExpressionNet.predictExpressions returns FaceExpressions instance instead of array now

  2. withFaceLandmarks() has to come first after detectAllFaces, detectSingleFace now, since its
    possible now to use face alignment for face classifcation to achieve more stable prediction results
    for face classification (expression, age and gender prediction):

await faceapi.detectAllFaces(input).withFaceExpressions().withFaceLandmarks()
-> await faceapi.detectAllFaces(input).withFaceLandmarks().withFaceExpressions()

await faceapi.detectAllFaces(input).withFaceLandmarks().withFaceExpressions().withFaceDescriptors()
-> await faceapi.detectAllFaces(input).withFaceLandmarks().withFaceExpressions().withFaceDescriptors()

await faceapi.detectSingleFace(input).withFaceExpressions().withFaceLandmarks()
-> await faceapi.detectSingleFace(input).withFaceLandmarks().withFaceExpressions()

await faceapi.detectSingleFace(input).withFaceExpressions().withFaceLandmarks().withFaceDescriptor()
-> await faceapi.detectSingleFace(input).withFaceLandmarks().withFaceExpressions().withFaceDescriptor()
  1. removed internals and old drawing api that have been exported:
  • BoxWithText
  • getDefaultDrawOptions
  • drawBox (use faceapi.draw.DrawBox(box).draw(canvas) instead)
  • drawDetection (use faceapi.draw.drawDetections instead)
  • drawFaceLandmarks (use faceapi.draw.drawFaceLandmarks instead)
  • drawFaceExpressions (use faceapi.draw.drawFaceExpressions instead)
  • drawText (use faceapi.draw.DrawTextField(text).draw(canvas) instead)

0.19.0

27 Mar 14:04
Compare
Choose a tag to compare
  • updated tfjs-core to 1.0.3

0.18.0

28 Jan 17:08
Compare
Choose a tag to compare
  • recompiled package with typescript 3.2.4
  • removed dependency to tfjs-tiny-yolov2

0.17.1

04 Jan 13:02
Compare
Choose a tag to compare

fixes:

  • removed absolute import, which has been causing build errors

0.17.0

02 Jan 21:35
Compare
Choose a tag to compare

Features:

  • face expression recognition

Breaking Changes:

The following two utility classes have been replaced: FaceDetectionWithLandmarks, FullFaceDescription. Now, plain objects are returned from the corresponding function calls instead of instances of abovementioned classes, which have to be resized by faceapi.resizeResults(results, { width: <width>, height: <height> }) instead of results.map(res => res.forSize(width, height)):

export function resizeResults<T>(results: T, { width, height }: IDimensions): T