mirror of https://github.com/vladmandic/human
update readme
parent
2e5ca3b954
commit
c2bf0c43db
|
@ -11,8 +11,9 @@
|
|||
|
||||
### **HEAD -> main** 2022/09/21 mandic00@live.com
|
||||
|
||||
- fix rotation interpolation
|
||||
|
||||
### **origin/main** 2022/09/19 mandic00@live.com
|
||||
### **2.10.3** 2022/09/21 mandic00@live.com
|
||||
|
||||
- add human.video method
|
||||
|
||||
|
|
16
README.md
16
README.md
|
@ -135,7 +135,7 @@ JavaScript module using TensorFlow/JS Machine Learning library
|
|||
|
||||
<hr><br>
|
||||
|
||||
## Examples
|
||||
## App Examples
|
||||
|
||||
Visit [Examples gallery](https://vladmandic.github.io/human/samples/index.html) for more examples
|
||||
<https://vladmandic.github.io/human/samples/index.html>
|
||||
|
@ -181,8 +181,8 @@ and optionally matches detected face with database of known people to guess thei
|
|||
<br>
|
||||
|
||||
3. **VR Model Tracking:**
|
||||
> [human-three-vrm](https://github.com/vladmandic/human-three-vrm)
|
||||
> [human-bjs-vrm](https://github.com/vladmandic/human-bjs-vrm)
|
||||
> [human-three-vrm](https://github.com/vladmandic/human-three-vrm)
|
||||
> [human-bjs-vrm](https://github.com/vladmandic/human-bjs-vrm)
|
||||
|
||||

|
||||
|
||||
|
@ -225,18 +225,16 @@ Additionally, `HTMLVideoElement`, `HTMLMediaElement` can be a standard `<video>`
|
|||
|
||||
- WebCam on user's system
|
||||
- Any supported video type
|
||||
For example: `.mp4`, `.avi`, etc.
|
||||
e.g. `.mp4`, `.avi`, etc.
|
||||
- Additional video types supported via *HTML5 Media Source Extensions*
|
||||
Live streaming examples:
|
||||
- **HLS** (*HTTP Live Streaming*) using `hls.js`
|
||||
- **DASH** (Dynamic Adaptive Streaming over HTTP) using `dash.js`
|
||||
e.g.: **HLS** (*HTTP Live Streaming*) using `hls.js` or **DASH** (*Dynamic Adaptive Streaming over HTTP*) using `dash.js`
|
||||
- **WebRTC** media track using built-in support
|
||||
|
||||
<br>
|
||||
|
||||
## Example
|
||||
## Code Examples
|
||||
|
||||
Example simple app that uses Human to process video input and
|
||||
Simple app that uses Human to process video input and
|
||||
draw output on screen using internal draw helper functions
|
||||
|
||||
```js
|
||||
|
|
10
package.json
10
package.json
|
@ -68,7 +68,7 @@
|
|||
"devDependencies": {
|
||||
"@html-eslint/eslint-plugin": "^0.14.1",
|
||||
"@html-eslint/parser": "^0.14.0",
|
||||
"@microsoft/api-extractor": "^7.31.1",
|
||||
"@microsoft/api-extractor": "^7.31.2",
|
||||
"@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.18",
|
||||
"@types/node": "^18.7.20",
|
||||
"@types/offscreencanvas": "^2019.7.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.38.0",
|
||||
"@typescript-eslint/parser": "^5.38.0",
|
||||
"@vladmandic/build": "^0.7.12",
|
||||
"@vladmandic/build": "^0.7.13",
|
||||
"@vladmandic/pilogger": "^0.4.6",
|
||||
"@vladmandic/tfjs": "github:vladmandic/tfjs",
|
||||
"@webgpu/types": "^0.1.21",
|
||||
"canvas": "^2.10.1",
|
||||
"esbuild": "^0.15.8",
|
||||
"eslint": "8.23.1",
|
||||
"esbuild": "^0.15.9",
|
||||
"eslint": "8.24.0",
|
||||
"eslint-config-airbnb-base": "^15.0.0",
|
||||
"eslint-plugin-html": "^7.1.0",
|
||||
"eslint-plugin-import": "^2.26.0",
|
||||
|
|
|
@ -1,39 +1,39 @@
|
|||
2022-09-21 13:49:15 [32mDATA: [39m Build {"name":"@vladmandic/human","version":"2.10.3"}
|
||||
2022-09-21 13:49:15 [36mINFO: [39m Application: {"name":"@vladmandic/human","version":"2.10.3"}
|
||||
2022-09-21 13:49:15 [36mINFO: [39m Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
|
||||
2022-09-21 13:49:15 [36mINFO: [39m Toolchain: {"build":"0.7.12","esbuild":"0.15.8","typescript":"4.8.3","typedoc":"0.23.15","eslint":"8.23.1"}
|
||||
2022-09-21 13:49:15 [36mINFO: [39m Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
|
||||
2022-09-21 13:49:15 [35mSTATE:[39m Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]}
|
||||
2022-09-21 13:49:15 [35mSTATE:[39m 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-21 13:49:15 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":658536,"outputBytes":309564}
|
||||
2022-09-21 13:49:15 [35mSTATE:[39m 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-21 13:49:15 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":658540,"outputBytes":309568}
|
||||
2022-09-21 13:49:15 [35mSTATE:[39m 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-21 13:49:15 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":658592,"outputBytes":309618}
|
||||
2022-09-21 13:49:15 [35mSTATE:[39m 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-21 13:49:15 [35mSTATE:[39m 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-21 13:49:15 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":658511,"outputBytes":308423}
|
||||
2022-09-21 13:49:15 [35mSTATE:[39m 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-21 13:49:15 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3479842,"outputBytes":1688553}
|
||||
2022-09-21 13:49:15 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3479842,"outputBytes":3110385}
|
||||
2022-09-21 13:49:20 [35mSTATE:[39m Typings: {"input":"src/human.ts","output":"types/lib","files":15}
|
||||
2022-09-21 13:49:22 [35mSTATE:[39m TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":77,"generated":true}
|
||||
2022-09-21 13:49:22 [35mSTATE:[39m 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-21 13:49:22 [35mSTATE:[39m 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-21 13:49:33 [35mSTATE:[39m Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":110,"errors":0,"warnings":0}
|
||||
2022-09-21 13:49:33 [35mSTATE:[39m ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
|
||||
2022-09-21 13:49:33 [35mSTATE:[39m Copy: {"input":"tfjs/tfjs.esm.d.ts"}
|
||||
2022-09-21 13:49:33 [36mINFO: [39m Done...
|
||||
2022-09-21 13:49:34 [35mSTATE:[39m API-Extractor: {"succeeeded":true,"errors":0,"warnings":193}
|
||||
2022-09-21 13:49:34 [35mSTATE:[39m Copy: {"input":"types/human.d.ts"}
|
||||
2022-09-21 13:49:34 [36mINFO: [39m Analyze models: {"folders":8,"result":"models/models.json"}
|
||||
2022-09-21 13:49:34 [35mSTATE:[39m Models {"folder":"./models","models":13}
|
||||
2022-09-21 13:49:34 [35mSTATE:[39m Models {"folder":"../human-models/models","models":42}
|
||||
2022-09-21 13:49:34 [35mSTATE:[39m Models {"folder":"../blazepose/model/","models":4}
|
||||
2022-09-21 13:49:34 [35mSTATE:[39m Models {"folder":"../anti-spoofing/model","models":1}
|
||||
2022-09-21 13:49:34 [35mSTATE:[39m Models {"folder":"../efficientpose/models","models":3}
|
||||
2022-09-21 13:49:34 [35mSTATE:[39m Models {"folder":"../insightface/models","models":5}
|
||||
2022-09-21 13:49:34 [35mSTATE:[39m Models {"folder":"../movenet/models","models":3}
|
||||
2022-09-21 13:49:34 [35mSTATE:[39m Models {"folder":"../nanodet/models","models":4}
|
||||
2022-09-21 13:49:34 [35mSTATE:[39m Models: {"count":57,"totalSize":383017442}
|
||||
2022-09-21 13:49:34 [36mINFO: [39m Human Build complete... {"logFile":"test/build.log"}
|
||||
2022-09-24 11:38:12 [32mDATA: [39m Build {"name":"@vladmandic/human","version":"2.10.3"}
|
||||
2022-09-24 11:38:12 [36mINFO: [39m Application: {"name":"@vladmandic/human","version":"2.10.3"}
|
||||
2022-09-24 11:38:12 [36mINFO: [39m Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
|
||||
2022-09-24 11:38:12 [36mINFO: [39m Toolchain: {"build":"0.7.13","esbuild":"0.15.9","typescript":"4.8.3","typedoc":"0.23.15","eslint":"8.24.0"}
|
||||
2022-09-24 11:38:12 [36mINFO: [39m Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
|
||||
2022-09-24 11:38:12 [35mSTATE:[39m Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]}
|
||||
2022-09-24 11:38:12 [35mSTATE:[39m 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-24 11:38:12 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":658536,"outputBytes":309564}
|
||||
2022-09-24 11:38:12 [35mSTATE:[39m 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-24 11:38:12 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":658540,"outputBytes":309568}
|
||||
2022-09-24 11:38:12 [35mSTATE:[39m 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-24 11:38:12 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":658592,"outputBytes":309618}
|
||||
2022-09-24 11:38:12 [35mSTATE:[39m 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-24 11:38:12 [35mSTATE:[39m 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-24 11:38:12 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":658511,"outputBytes":308423}
|
||||
2022-09-24 11:38:12 [35mSTATE:[39m 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-24 11:38:12 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3479842,"outputBytes":1688553}
|
||||
2022-09-24 11:38:12 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3479842,"outputBytes":3110385}
|
||||
2022-09-24 11:38:17 [35mSTATE:[39m Typings: {"input":"src/human.ts","output":"types/lib","files":15}
|
||||
2022-09-24 11:38:19 [35mSTATE:[39m TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":77,"generated":true}
|
||||
2022-09-24 11:38:19 [35mSTATE:[39m 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-24 11:38:19 [35mSTATE:[39m 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-24 11:38:29 [35mSTATE:[39m Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":110,"errors":0,"warnings":0}
|
||||
2022-09-24 11:38:29 [35mSTATE:[39m ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
|
||||
2022-09-24 11:38:29 [35mSTATE:[39m Copy: {"input":"tfjs/tfjs.esm.d.ts"}
|
||||
2022-09-24 11:38:29 [36mINFO: [39m Done...
|
||||
2022-09-24 11:38:30 [35mSTATE:[39m API-Extractor: {"succeeeded":true,"errors":0,"warnings":193}
|
||||
2022-09-24 11:38:30 [35mSTATE:[39m Copy: {"input":"types/human.d.ts"}
|
||||
2022-09-24 11:38:30 [36mINFO: [39m Analyze models: {"folders":8,"result":"models/models.json"}
|
||||
2022-09-24 11:38:30 [35mSTATE:[39m Models {"folder":"./models","models":13}
|
||||
2022-09-24 11:38:30 [35mSTATE:[39m Models {"folder":"../human-models/models","models":42}
|
||||
2022-09-24 11:38:30 [35mSTATE:[39m Models {"folder":"../blazepose/model/","models":4}
|
||||
2022-09-24 11:38:30 [35mSTATE:[39m Models {"folder":"../anti-spoofing/model","models":1}
|
||||
2022-09-24 11:38:30 [35mSTATE:[39m Models {"folder":"../efficientpose/models","models":3}
|
||||
2022-09-24 11:38:30 [35mSTATE:[39m Models {"folder":"../insightface/models","models":5}
|
||||
2022-09-24 11:38:30 [35mSTATE:[39m Models {"folder":"../movenet/models","models":3}
|
||||
2022-09-24 11:38:30 [35mSTATE:[39m Models {"folder":"../nanodet/models","models":4}
|
||||
2022-09-24 11:38:31 [35mSTATE:[39m Models: {"count":57,"totalSize":383017442}
|
||||
2022-09-24 11:38:31 [36mINFO: [39m Human Build complete... {"logFile":"test/build.log"}
|
||||
|
|
2003
test/test.log
2003
test/test.log
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue