Skip to content

Human Release v3.0

Compare
Choose a tag to compare
@vladmandic vladmandic released this 22 Nov 15:58
· 73 commits to main since this release

Optimizations:

  • Enabled high-resolution optimizations
    Internal limits are increased from 2k to 4k
  • Enhanced device capabilities detection
    See human.env.[agent, wasm, webgl, webgpu] for details
  • If config.backend is not set, Human will auto-select best backend
    based on device capabilities
  • Enhanced support for webgpu
  • Reduce build dependencies
    Human is now 30% smaller :)
    As usual, Human has zero runtime dependencies,
    all devDependencies are only to rebuild Human itself
  • Default hand skeleton model changed from handlandmark-full to handlandmark-lite
    Both models are still supported, this reduces default size and increases performance

Features:

  • Add draw label templates
    Allows easy customization of results labels drawn on canvas
  • Add config.filter.autoBrightness (enabled by default)
    Per-frame video on-the-fly brightness adjustments
    Which significantly increases performance and precision in poorly lit scenes
  • Add new demo face detect
  • Improved config.filter.equalization (disabled by default)
    Image and video on-demand histogram equalization
  • Support selecting specific video source when multiple cameras are present
    See human.webcam.enumerate()
  • Updated algorithm to determine distance from camera based on iris size
    See human.result.face[n].distance

Architecture:

  • Upgrade to TFJS 4.1 with strong typing
    see notes on how to use
  • TypeDef refactoring
  • Re-architect human.models namespace for better dynamic model handling
    Added additional methods load, list, loaded, reset
  • Repack external typedefs
    Removes all external typedef dependencies
  • Refactor namespace exports
    Better TypeDoc specs
  • Add named export for improved bundler support when using non-default imports
  • Cleanup Git history for dist/typedef/types
  • Cleanup @vladmandic/human-models
  • Support for NodeJS v19
  • Upgrade to TypeScript 4.9
  • Support for dynamic module load in NodeJS
    See https://vladmandic.github.io/human/demo/nodejs/node-bench

Breaking changes:

  • Replaced result.face[n].iris with result.face[n].distance
  • Replaced human.getModelStats() with human.models.stats()
  • Moved human.similarity, human.distance and human.match to namespace human.match.*
  • Obsolete human.enhance()
  • Obsolete human.gl
  • Renamed model mb3-centernet to centernet