human/TODO.md

72 lines
3.0 KiB
Markdown
Raw Normal View History

2021-03-03 18:04:59 +01:00
# To-Do list for Human library
## Work in Progress
2021-04-25 19:16:04 +02:00
2021-09-22 22:00:43 +02:00
<br>
2021-10-22 15:48:27 +02:00
### Exploring
2021-09-26 16:09:30 +02:00
2021-10-22 15:48:27 +02:00
- Optical Flow: <https://docs.opencv.org/3.3.1/db/d7f/tutorial_js_lucas_kanade.html>
2021-11-05 20:09:54 +01:00
- Histogram Equalization: Regular, Adaptive, Contrast Limited, CLAHE
2021-10-23 15:38:52 +02:00
- TFLite Models: <https://js.tensorflow.org/api_tflite/0.0.1-alpha.4/>
- Body segmentation: `robust-video-matting`
2021-11-05 20:09:54 +01:00
- TFJS incompatibility with latest `long.js` 5.0.0 due to CJS to ESM switch
2021-09-26 16:09:30 +02:00
<br><hr><br>
2021-07-31 13:43:50 +02:00
2021-08-12 15:31:16 +02:00
## Known Issues
2021-07-31 13:43:50 +02:00
2021-10-29 21:55:20 +02:00
#### WebGPU
Experimental support only until support is officially added in Chromium
- Performance issues:
<https://github.com/tensorflow/tfjs/issues/5689>
2021-07-31 13:43:50 +02:00
### Face Detection
Enhanced rotation correction for face detection is not working in NodeJS due to missing kernel op in TFJS
Feature is automatically disabled in NodeJS without user impact
2021-08-12 15:31:16 +02:00
- Backend NodeJS missing kernel op `RotateWithOffset`
<https://github.com/tensorflow/tfjs/issues/5473>
2021-07-31 13:43:50 +02:00
2021-08-20 15:05:07 +02:00
### Body Detection
2021-09-26 16:09:30 +02:00
MoveNet MultiPose model does not work with WASM backend due to missing F32 broadcast implementation
2021-08-20 15:05:07 +02:00
2021-09-26 16:09:30 +02:00
- Backend WASM missing F32 broadcat implementation
2021-08-20 15:05:07 +02:00
<https://github.com/tensorflow/tfjs/issues/5516>
<br><hr><br>
2021-11-05 20:35:53 +01:00
### Pending release
2021-11-07 14:14:14 +01:00
New:
2021-11-07 16:03:33 +01:00
- New frame change detection algorithm used for [cache determination](https://vladmandic.github.io/human/typedoc/interfaces/Config.html#cacheSensitivity)
2021-11-06 15:21:51 +01:00
based on temporal input difference
2021-11-07 16:03:33 +01:00
- New built-in Tensorflow profiling [human.profile](https://vladmandic.github.io/human/typedoc/classes/Human.html#profile)
- New optional input histogram equalization [config.filter.equalization](https://vladmandic.github.io/human/)
auto-level input for optimal brightness/contrast
- New event-baseed interface [human.events](https://vladmandic.github.io/human/typedoc/classes/Human.html#events)
- New configuration validation [human.validate](https://vladmandic.github.io/human/typedoc/classes/Human.html#validate)
- New input compare function [human.compare](https://vladmandic.github.io/human/typedoc/classes/Human.html#compare)
this function is internally used by `human` to determine frame changes and cache validation
- New [custom built TFJS](https://github.com/vladmandic/tfjs) for bundled version
result is a pure module with reduced bundle size and include built-in support for all backends
note: **nobundle** and **node** versions link to standard `@tensorflow` packages
2021-11-07 14:14:14 +01:00
Changed:
2021-11-07 16:03:33 +01:00
- [Default configuration values](https://github.com/vladmandic/human/blob/main/src/config.ts#L262) have been tuned for precision and performance
- Supports all built-in modules on all backends
2021-11-07 14:14:14 +01:00
via custom implementation of missing kernel ops
2021-11-06 15:21:51 +01:00
- Performance and precision improvements
2021-11-07 16:03:33 +01:00
- **face**, **hand**
- **gestures** modules
- **face matching**
2021-11-06 15:21:51 +01:00
- Fix **ReactJS** compatibility
- Better precision using **WASM**
Previous issues due to math low-precision in WASM implementation
- Full **TS** type definitions for all modules and imports
- Focus on simplified demo
<https://vladmandic.github.io/human/demo/typescript/>