3.0.1
nari-labs/dia3.0.1Nov 22, 2022by vladmandic
AI Summary
Human v3.0.1 introduces high-resolution optimizations (up to 4k), WebGPU support, and a major architectural refactoring including TFJS 4.1 upgrade and namespace changes.
Key Highlights
- Enabled high-resolution optimizations (internal limits increased from 2k to 4k)
- Enhanced device capabilities detection and auto-selection of best backend
- Enhanced support for `webgpu` and reduced build dependencies (30% smaller)
- Default hand skeleton model changed to `handlandmark-lite` for better performance
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()` and `human.gl`
- Renamed model `mb3-centernet` to `centernet`
New Features
- Add draw label templates for easy customization
- Add `config.filter.autoBrightness` for per-frame video brightness adjustments
- Add new demo for face detect
- Improved `config.filter.equalization` for histogram equalization
- Support selecting specific video source when multiple cameras are present
Full Release Notes
## 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](https://github.com/vladmandic/human/wiki/Draw) 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]((https://vladmandic.github.io/human/demo/facedetect/index.html)) - 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](https://github.com/vladmandic/human#typedefs) 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](https://vladmandic.github.io/human/typedoc/index.html) - 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`