pull/233/head
Vladimir Mandic 2021-12-22 10:04:41 -05:00
parent 7665ca0fac
commit 21e9236648
14 changed files with 803 additions and 799 deletions

View File

@ -9,12 +9,15 @@
## Changelog
### **HEAD -> main** 2021/12/18 mandic00@live.com
### **release: 2.5.6** 2021/12/15 mandic00@live.com
### **2.5.6** 2021/12/15 mandic00@live.com
- strong type for string enums
### **origin/main** 2021/12/14 mandic00@live.com
- rebuild
- fix node detection in electron environment

View File

@ -50,7 +50,8 @@ JavaScript module using TensorFlow/JS Machine Learning library
- **Simple** [[*Live*]](https://vladmandic.github.io/human/demo/typescript/index.html) [[*Details*]](https://github.com/vladmandic/human/tree/main/demo/typescript): Simple demo in WebCam processing demo in TypeScript
- **Face Match** [[*Live*]](https://vladmandic.github.io/human/demo/facematch/index.html) [[*Details*]](https://github.com/vladmandic/human/tree/main/demo/facematch): Extract faces from images, calculates face descriptors and simmilarities and matches them to known database
- **Face ID** [[*Live*]](https://vladmandic.github.io/human/demo/faceid/index.html) [[*Details*]](https://github.com/vladmandic/human/tree/main/demo/faceid): Runs multiple checks to validate webcam input before performing face match to faces in IndexDB
- **Multi-thread** [[*Live*]](https://vladmandic.github.io/human/demo/multithread/index.html) [[*Details*]](https://github.com/vladmandic/human/tree/main/demo/multithread): Runs each `human` module in a separate web worker for highest possible performance
- **Multi-thread** [[*Live*]](https://vladmandic.github.io/human/demo/multithread/index.html) [[*Details*]](https://github.com/vladmandic/human/tree/main/demo/multithread): Runs each Human module in a separate web worker for highest possible performance
- **NextJS** [[*Live*]](https://vladmandic.github.io/human-next/out/index.html) [[*Details*]](https://github.com/vladmandic/human-next): Use Human with TypeScript, NextJS and ReactJS
- **3D Analysis** [[*Live*]](https://vladmandic.github.io/human-motion/src/index.html) [[*Details*]](https://github.com/vladmandic/human-motion): 3D tracking and visualization of heead, face, eye, body and hand
- **Virtual Avatar** [[*Live*]](https://vladmandic.github.io/human-vrm/src/human-vrm.html) [[*Details*]](https://github.com/vladmandic/human-vrm): VR model with head, face, eye, body and hand tracking

View File

@ -10869,7 +10869,7 @@ async function predict17(input, config3) {
const normalized = tfjs_esm_exports.sub(tfjs_esm_exports.div(tfjs_esm_exports.cast(resized, "float32"), 127.5), 1);
const results = model16.execute(normalized, poseNetOutputs);
const results3d = results.map((y) => tfjs_esm_exports.squeeze(y, [0]));
results3d[1] = results3d[1].sigmoid();
results3d[1] = tfjs_esm_exports.sigmoid(results3d[1]);
return results3d;
});
const buffers = await Promise.all(res.map((tensor3) => tensor3.buffer()));

File diff suppressed because one or more lines are too long

2
dist/human.esm.js vendored
View File

@ -81633,7 +81633,7 @@ async function predict17(input2, config3) {
const normalized = sub(div(cast(resized, "float32"), 127.5), 1);
const results = model17.execute(normalized, poseNetOutputs);
const results3d = results.map((y) => squeeze(y, [0]));
results3d[1] = results3d[1].sigmoid();
results3d[1] = sigmoid(results3d[1]);
return results3d;
});
const buffers = await Promise.all(res.map((tensor2) => tensor2.buffer()));

File diff suppressed because one or more lines are too long

140
dist/human.js vendored

File diff suppressed because one or more lines are too long

View File

@ -10940,7 +10940,7 @@ async function predict17(input, config3) {
const normalized = tf29.sub(tf29.div(tf29.cast(resized, "float32"), 127.5), 1);
const results = model16.execute(normalized, poseNetOutputs);
const results3d = results.map((y) => tf29.squeeze(y, [0]));
results3d[1] = results3d[1].sigmoid();
results3d[1] = tf29.sigmoid(results3d[1]);
return results3d;
});
const buffers = await Promise.all(res.map((tensor3) => tensor3.buffer()));

View File

@ -10941,7 +10941,7 @@ async function predict17(input, config3) {
const normalized = tf29.sub(tf29.div(tf29.cast(resized, "float32"), 127.5), 1);
const results = model16.execute(normalized, poseNetOutputs);
const results3d = results.map((y) => tf29.squeeze(y, [0]));
results3d[1] = results3d[1].sigmoid();
results3d[1] = tf29.sigmoid(results3d[1]);
return results3d;
});
const buffers = await Promise.all(res.map((tensor3) => tensor3.buffer()));

2
dist/human.node.js vendored
View File

@ -10940,7 +10940,7 @@ async function predict17(input, config3) {
const normalized = tf29.sub(tf29.div(tf29.cast(resized, "float32"), 127.5), 1);
const results = model16.execute(normalized, poseNetOutputs);
const results3d = results.map((y) => tf29.squeeze(y, [0]));
results3d[1] = results3d[1].sigmoid();
results3d[1] = tf29.sigmoid(results3d[1]);
return results3d;
});
const buffers = await Promise.all(res.map((tensor3) => tensor3.buffer()));

View File

@ -65,21 +65,21 @@
"@tensorflow/tfjs-layers": "^3.12.0",
"@tensorflow/tfjs-node": "^3.12.0",
"@tensorflow/tfjs-node-gpu": "^3.12.0",
"@types/node": "^16.11.13",
"@types/node": "^17.0.2",
"@types/offscreencanvas": "^2019.6.4",
"@typescript-eslint/eslint-plugin": "^5.7.0",
"@typescript-eslint/parser": "^5.7.0",
"@typescript-eslint/eslint-plugin": "^5.8.0",
"@typescript-eslint/parser": "^5.8.0",
"@vladmandic/tfjs": "github:vladmandic/tfjs",
"canvas": "^2.8.0",
"dayjs": "^1.10.7",
"esbuild": "^0.14.5",
"eslint": "8.4.1",
"esbuild": "^0.14.7",
"eslint": "8.5.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-html": "^6.2.0",
"eslint-plugin-import": "^2.25.3",
"eslint-plugin-json": "^3.1.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^5.2.0",
"eslint-plugin-promise": "^6.0.0",
"node-fetch": "^3.1.0",
"rimraf": "^3.0.2",
"seedrandom": "^3.0.5",
@ -89,6 +89,6 @@
},
"dependencies": {
"@vladmandic/build": "^0.6.6",
"@vladmandic/pilogger": "^0.3.5"
"@vladmandic/pilogger": "^0.4.2"
}
}

View File

@ -1,24 +1,24 @@
2021-12-15 09:26:43 INFO:  Application: {"name":"@vladmandic/human","version":"2.5.6"}
2021-12-15 09:26:43 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
2021-12-15 09:26:43 INFO:  Toolchain: {"build":"0.6.6","esbuild":"0.13.15","typescript":"4.5.4","typedoc":"0.22.10","eslint":"8.4.1"}
2021-12-15 09:26:43 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
2021-12-15 09:26:43 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]}
2021-12-15 09:26:43 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-12-15 09:26:44 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":561428,"outputBytes":464499}
2021-12-15 09:26:44 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-12-15 09:26:44 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":561436,"outputBytes":464503}
2021-12-15 09:26:44 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-12-15 09:26:44 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":561503,"outputBytes":464575}
2021-12-15 09:26:44 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-12-15 09:26:44 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-12-15 09:26:44 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":561065,"outputBytes":466261}
2021-12-15 09:26:44 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2515619}
2021-12-15 09:26:44 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3075772,"outputBytes":1631838}
2021-12-15 09:26:44 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3075772,"outputBytes":2988731}
2021-12-15 09:26:55 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":110}
2021-12-15 09:26:59 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":69,"generated":true}
2021-12-15 09:26:59 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5864,"outputBytes":4127}
2021-12-15 09:26:59 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-12-15 09:27:20 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":93,"errors":0,"warnings":0}
2021-12-15 09:27:20 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
2021-12-15 09:27:20 INFO:  Done...
2021-12-22 09:46:25 INFO:  Application: {"name":"@vladmandic/human","version":"2.5.6"}
2021-12-22 09:46:25 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
2021-12-22 09:46:25 INFO:  Toolchain: {"build":"0.6.6","esbuild":"0.13.15","typescript":"4.5.4","typedoc":"0.22.10","eslint":"8.5.0"}
2021-12-22 09:46:25 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
2021-12-22 09:46:25 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]}
2021-12-22 09:46:25 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-12-22 09:46:25 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":63,"inputBytes":561428,"outputBytes":464503}
2021-12-22 09:46:25 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-12-22 09:46:25 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":63,"inputBytes":561436,"outputBytes":464507}
2021-12-22 09:46:25 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-12-22 09:46:25 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":63,"inputBytes":561503,"outputBytes":464579}
2021-12-22 09:46:25 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-12-22 09:46:25 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-12-22 09:46:25 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":63,"inputBytes":561065,"outputBytes":466277}
2021-12-22 09:46:25 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2515619}
2021-12-22 09:46:25 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":63,"inputBytes":3075772,"outputBytes":1631832}
2021-12-22 09:46:25 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":63,"inputBytes":3075772,"outputBytes":2988730}
2021-12-22 09:46:36 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":110}
2021-12-22 09:46:39 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":69,"generated":true}
2021-12-22 09:46:39 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5864,"outputBytes":4127}
2021-12-22 09:46:39 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-12-22 09:47:02 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":93,"errors":0,"warnings":0}
2021-12-22 09:47:02 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
2021-12-22 09:47:02 INFO:  Done...

File diff suppressed because it is too large Load Diff

2
wiki

@ -1 +1 @@
Subproject commit 1063f46c22cc8209e1895f86e00e31b29583664f
Subproject commit 56347efa606cddca796539b31e5374857dbb008f