update readme

Vladimir Mandic 2022-09-14 11:39:12 -04:00
parent 90a5489e34
commit ed5f093ff8
6 changed files with 1064 additions and 1052 deletions

View File

@ -9,11 +9,12 @@
## Changelog
### **HEAD -> main** 2022/09/11 mandic00@live.com
### **HEAD -> main** 2022/09/13 mandic00@live.com
### **origin/main** 2022/09/08 g@bygeorgenet.me
### **2.10.2** 2022/09/11 mandic00@live.com
- add node.js esm compatibility (#292)
### **release: 2.10.1** 2022/09/07 mandic00@live.com

View File

@ -11,9 +11,20 @@
**Body Pose Tracking, 3D Hand & Finger Tracking, Iris Analysis,**
**Age & Gender & Emotion Prediction, Gaze Tracking, Gesture Recognition, Body Segmentation**
JavaScript module using TensorFlow/JS Machine Learning library
## Highlights
- Compatible with most server-side and client-side environments and frameworks
- Combines multiple machine learning models which can be switched on-demand depending on the use-case
- Related models are executed in an attention pipeline to provide details when needed
- Optimized input pre-processing that can enhance image quality of any type of inputs
- Detection of frame changes to trigger only required models for improved performance
- Intelligent temporal interpolation to provide smooth results regardless of processing performance
- Simple unified API
<br>
JavaScript module using TensorFlow/JS Machine Learning library
## Compatibility
- **Browser**:
Compatible with both desktop and mobile platforms
@ -27,6 +38,11 @@ JavaScript module using TensorFlow/JS Machine Learning library
<br>
## Releases
- [Release Notes](https://github.com/vladmandic/human/releases)
- [NPM Link](https://www.npmjs.com/package/@vladmandic/human)
## Demos
*Check out [**Simple Live Demo**](https://vladmandic.github.io/human/demo/typescript/index.html) fully annotated app as a good start starting point ([html](https://github.com/vladmandic/human/blob/main/demo/typescript/index.html))([code](https://github.com/vladmandic/human/blob/main/demo/typescript/index.ts))*
*Check out [**Main Live Demo**](https://vladmandic.github.io/human/demo/index.html) app for advanced processing of of webcam, video stream or images static images with all possible tunable options*
@ -38,10 +54,6 @@ JavaScript module using TensorFlow/JS Machine Learning library
<br>
## Releases
- [Release Notes](https://github.com/vladmandic/human/releases)
- [NPM Link](https://www.npmjs.com/package/@vladmandic/human)
## Demos
- [**List of all Demo applications**](https://github.com/vladmandic/human/wiki/Demos)
- [**Live Examples galery**](https://vladmandic.github.io/human/samples/index.html)

View File

@ -68,7 +68,7 @@
"devDependencies": {
"@html-eslint/eslint-plugin": "^0.13.2",
"@html-eslint/parser": "^0.13.2",
"@microsoft/api-extractor": "^7.30.0",
"@microsoft/api-extractor": "^7.31.0",
"@tensorflow/tfjs": "^3.20.0",
"@tensorflow/tfjs-backend-cpu": "^3.20.0",
"@tensorflow/tfjs-backend-wasm": "^3.20.0",
@ -81,17 +81,17 @@
"@tensorflow/tfjs-node": "^3.20.0",
"@tensorflow/tfjs-node-gpu": "^3.20.0",
"@tensorflow/tfjs-tflite": "0.0.1-alpha.8",
"@types/node": "^18.7.16",
"@types/node": "^18.7.18",
"@types/offscreencanvas": "^2019.7.0",
"@typescript-eslint/eslint-plugin": "^5.36.2",
"@typescript-eslint/parser": "^5.36.2",
"@typescript-eslint/eslint-plugin": "^5.37.0",
"@typescript-eslint/parser": "^5.37.0",
"@vladmandic/build": "^0.7.12",
"@vladmandic/pilogger": "^0.4.6",
"@vladmandic/tfjs": "github:vladmandic/tfjs",
"@webgpu/types": "^0.1.21",
"canvas": "^2.10.1",
"esbuild": "^0.15.7",
"eslint": "8.23.0",
"eslint": "8.23.1",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-html": "^7.1.0",
"eslint-plugin-import": "^2.26.0",

View File

@ -1,39 +1,39 @@
2022-09-11 12:22:12 DATA:  Build {"name":"@vladmandic/human","version":"2.10.2"}
2022-09-11 12:22:12 INFO:  Application: {"name":"@vladmandic/human","version":"2.10.2"}
2022-09-11 12:22:12 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
2022-09-11 12:22:12 INFO:  Toolchain: {"build":"0.7.12","esbuild":"0.15.7","typescript":"4.8.3","typedoc":"0.23.14","eslint":"8.23.0"}
2022-09-11 12:22:12 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
2022-09-11 12:22:12 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]}
2022-09-11 12:22:12 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":608}
2022-09-11 12:22:12 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":657017,"outputBytes":308794}
2022-09-11 12:22:12 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":612}
2022-09-11 12:22:12 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":657021,"outputBytes":308798}
2022-09-11 12:22:12 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":664}
2022-09-11 12:22:12 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":657073,"outputBytes":308848}
2022-09-11 12:22:12 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":358}
2022-09-11 12:22:12 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1088,"outputBytes":583}
2022-09-11 12:22:12 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656992,"outputBytes":307668}
2022-09-11 12:22:12 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":1344,"outputBytes":2821914}
2022-09-11 12:22:12 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3478323,"outputBytes":1687855}
2022-09-11 12:22:12 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3478323,"outputBytes":3109019}
2022-09-11 12:22:17 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":15}
2022-09-11 12:22:19 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":77,"generated":true}
2022-09-11 12:22:19 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":3134}
2022-09-11 12:22:19 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":7788}
2022-09-11 12:22:31 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":110,"errors":0,"warnings":0}
2022-09-11 12:22:31 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
2022-09-11 12:22:31 STATE: Copy: {"input":"tfjs/tfjs.esm.d.ts"}
2022-09-11 12:22:31 INFO:  Done...
2022-09-11 12:22:31 STATE: API-Extractor: {"succeeeded":true,"errors":0,"warnings":193}
2022-09-11 12:22:31 STATE: Copy: {"input":"types/human.d.ts"}
2022-09-11 12:22:31 INFO:  Analyze models: {"folders":8,"result":"models/models.json"}
2022-09-11 12:22:31 STATE: Models {"folder":"./models","models":13}
2022-09-11 12:22:31 STATE: Models {"folder":"../human-models/models","models":42}
2022-09-11 12:22:31 STATE: Models {"folder":"../blazepose/model/","models":4}
2022-09-11 12:22:31 STATE: Models {"folder":"../anti-spoofing/model","models":1}
2022-09-11 12:22:31 STATE: Models {"folder":"../efficientpose/models","models":3}
2022-09-11 12:22:31 STATE: Models {"folder":"../insightface/models","models":5}
2022-09-11 12:22:31 STATE: Models {"folder":"../movenet/models","models":3}
2022-09-11 12:22:31 STATE: Models {"folder":"../nanodet/models","models":4}
2022-09-11 12:22:32 STATE: Models: {"count":57,"totalSize":383017442}
2022-09-11 12:22:32 INFO:  Human Build complete... {"logFile":"test/build.log"}
2022-09-14 11:37:14 DATA:  Build {"name":"@vladmandic/human","version":"2.10.2"}
2022-09-14 11:37:14 INFO:  Application: {"name":"@vladmandic/human","version":"2.10.2"}
2022-09-14 11:37:14 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
2022-09-14 11:37:14 INFO:  Toolchain: {"build":"0.7.12","esbuild":"0.15.7","typescript":"4.8.3","typedoc":"0.23.14","eslint":"8.23.1"}
2022-09-14 11:37:14 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
2022-09-14 11:37:14 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]}
2022-09-14 11:37:14 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":608}
2022-09-14 11:37:14 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":657017,"outputBytes":308794}
2022-09-14 11:37:14 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":612}
2022-09-14 11:37:14 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":657021,"outputBytes":308798}
2022-09-14 11:37:14 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":664}
2022-09-14 11:37:14 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":657073,"outputBytes":308848}
2022-09-14 11:37:14 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":358}
2022-09-14 11:37:14 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1088,"outputBytes":583}
2022-09-14 11:37:14 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656992,"outputBytes":307668}
2022-09-14 11:37:14 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":1344,"outputBytes":2821914}
2022-09-14 11:37:14 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3478323,"outputBytes":1687855}
2022-09-14 11:37:15 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3478323,"outputBytes":3109019}
2022-09-14 11:37:19 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":15}
2022-09-14 11:37:21 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":77,"generated":true}
2022-09-14 11:37:21 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":3134}
2022-09-14 11:37:21 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":7788}
2022-09-14 11:37:32 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":110,"errors":0,"warnings":0}
2022-09-14 11:37:32 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
2022-09-14 11:37:32 STATE: Copy: {"input":"tfjs/tfjs.esm.d.ts"}
2022-09-14 11:37:32 INFO:  Done...
2022-09-14 11:37:33 STATE: API-Extractor: {"succeeeded":true,"errors":0,"warnings":193}
2022-09-14 11:37:33 STATE: Copy: {"input":"types/human.d.ts"}
2022-09-14 11:37:33 INFO:  Analyze models: {"folders":8,"result":"models/models.json"}
2022-09-14 11:37:33 STATE: Models {"folder":"./models","models":13}
2022-09-14 11:37:33 STATE: Models {"folder":"../human-models/models","models":42}
2022-09-14 11:37:33 STATE: Models {"folder":"../blazepose/model/","models":4}
2022-09-14 11:37:33 STATE: Models {"folder":"../anti-spoofing/model","models":1}
2022-09-14 11:37:33 STATE: Models {"folder":"../efficientpose/models","models":3}
2022-09-14 11:37:33 STATE: Models {"folder":"../insightface/models","models":5}
2022-09-14 11:37:33 STATE: Models {"folder":"../movenet/models","models":3}
2022-09-14 11:37:33 STATE: Models {"folder":"../nanodet/models","models":4}
2022-09-14 11:37:34 STATE: Models: {"count":57,"totalSize":383017442}
2022-09-14 11:37:34 INFO:  Human Build complete... {"logFile":"test/build.log"}

File diff suppressed because it is too large Load Diff

2
wiki

@ -1 +1 @@
Subproject commit a4cc793d5a55cb54006c8e38419fb2b5eb04725e
Subproject commit 9785618d94c8eb325fefbf8ca1212359b5c913d6