mirror of https://github.com/vladmandic/human
update
parent
7665ca0fac
commit
21e9236648
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
@ -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
File diff suppressed because one or more lines are too long
|
@ -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()));
|
||||
|
|
|
@ -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()));
|
||||
|
|
|
@ -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()));
|
||||
|
|
14
package.json
14
package.json
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
2021-12-15 09:26:43 [36mINFO: [39m Application: {"name":"@vladmandic/human","version":"2.5.6"}
|
||||
2021-12-15 09:26:43 [36mINFO: [39m Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
|
||||
2021-12-15 09:26:43 [36mINFO: [39m 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 [36mINFO: [39m Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
|
||||
2021-12-15 09:26:43 [35mSTATE:[39m Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]}
|
||||
2021-12-15 09:26:43 [35mSTATE:[39m 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 [35mSTATE:[39m 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 [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":110,"outputBytes":1283}
|
||||
2021-12-15 09:26:44 [35mSTATE:[39m 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 [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":149,"outputBytes":1350}
|
||||
2021-12-15 09:26:44 [35mSTATE:[39m 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 [35mSTATE:[39m 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 [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":2326,"outputBytes":912}
|
||||
2021-12-15 09:26:44 [35mSTATE:[39m 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 [35mSTATE:[39m 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 [35mSTATE:[39m 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 [35mSTATE:[39m 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 [35mSTATE:[39m Typings: {"input":"src/human.ts","output":"types/lib","files":110}
|
||||
2021-12-15 09:26:59 [35mSTATE:[39m TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":69,"generated":true}
|
||||
2021-12-15 09:26:59 [35mSTATE:[39m 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 [35mSTATE:[39m 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 [35mSTATE:[39m Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":93,"errors":0,"warnings":0}
|
||||
2021-12-15 09:27:20 [35mSTATE:[39m ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
|
||||
2021-12-15 09:27:20 [36mINFO: [39m Done...
|
||||
2021-12-22 09:46:25 [36mINFO: [39m Application: {"name":"@vladmandic/human","version":"2.5.6"}
|
||||
2021-12-22 09:46:25 [36mINFO: [39m Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
|
||||
2021-12-22 09:46:25 [36mINFO: [39m 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 [36mINFO: [39m Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
|
||||
2021-12-22 09:46:25 [35mSTATE:[39m Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]}
|
||||
2021-12-22 09:46:25 [35mSTATE:[39m 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 [35mSTATE:[39m 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 [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":110,"outputBytes":1283}
|
||||
2021-12-22 09:46:25 [35mSTATE:[39m 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 [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":149,"outputBytes":1350}
|
||||
2021-12-22 09:46:25 [35mSTATE:[39m 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 [35mSTATE:[39m 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 [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":2326,"outputBytes":912}
|
||||
2021-12-22 09:46:25 [35mSTATE:[39m 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 [35mSTATE:[39m 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 [35mSTATE:[39m 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 [35mSTATE:[39m 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 [35mSTATE:[39m Typings: {"input":"src/human.ts","output":"types/lib","files":110}
|
||||
2021-12-22 09:46:39 [35mSTATE:[39m TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":69,"generated":true}
|
||||
2021-12-22 09:46:39 [35mSTATE:[39m 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 [35mSTATE:[39m 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 [35mSTATE:[39m Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":93,"errors":0,"warnings":0}
|
||||
2021-12-22 09:47:02 [35mSTATE:[39m ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
|
||||
2021-12-22 09:47:02 [36mINFO: [39m Done...
|
||||
|
|
1368
test/test.log
1368
test/test.log
File diff suppressed because it is too large
Load Diff
2
wiki
2
wiki
|
@ -1 +1 @@
|
|||
Subproject commit 1063f46c22cc8209e1895f86e00e31b29583664f
|
||||
Subproject commit 56347efa606cddca796539b31e5374857dbb008f
|
Loading…
Reference in New Issue