updated dependencies

pull/50/head
Vladimir Mandic 2020-10-29 00:09:29 -04:00
parent ce4a7d80f5
commit 39779325f7
14 changed files with 11425 additions and 8154 deletions

View File

@ -465,19 +465,7 @@ For example, it can perform multiple face detections at 60+ FPS, but drops to ~1
- Hand: 40 FPS (standalone)
- Body: 10 FPS (standalone)
For performance details, see output of `result.performance` object during runtime
<hr>
## Limitations
`Human` library can be used in any modern Browser or NodeJS environment, but there are several items to be aware of:
- **NodeJS**: Due to a missing feature in `tfjs-node`, only some models are available
For unsupported models, error is: `TypeError: forwardFunc is not a function`
<https://github.com/tensorflow/tfjs/issues/4066>
- **Browser**: Module `filters` cannot be used when using web workers
<https://github.com/phoboslab/WebGLImageFilter/issues/27>
For performance details, see output of `result.performance` object during after running inference
<hr>

View File

@ -5777,7 +5777,7 @@ var require_config = __commonJS((exports) => {
var require_package = __commonJS((exports, module) => {
module.exports = {
name: "@vladmandic/human",
version: "0.4.7",
version: "0.4.8",
description: "human: 3D Face Detection, Iris Tracking and Age & Gender Prediction",
sideEffects: false,
main: "dist/human.node.js",
@ -5803,7 +5803,7 @@ var require_package = __commonJS((exports, module) => {
"@tensorflow/tfjs-node": "^2.7.0",
"@vladmandic/pilogger": "^0.2.6",
dayjs: "^1.9.4",
esbuild: "^0.7.21",
esbuild: "^0.7.22",
eslint: "^7.12.1",
"eslint-config-airbnb-base": "^14.2.0",
"eslint-plugin-import": "^2.22.1",
@ -5816,13 +5816,13 @@ var require_package = __commonJS((exports, module) => {
scripts: {
start: "node --trace-warnings --unhandled-rejections=strict --trace-uncaught --no-deprecation src/node.js",
lint: "eslint src/*.js demo/*.js",
"build-iife": "esbuild --bundle --platform=browser --sourcemap --target=esnext --format=iife --external:fs --global-name=Human --metafile=dist/human.json --outfile=dist/human.js src/human.js",
"build-esm-bundle": "esbuild --bundle --platform=browser --sourcemap --target=esnext --format=esm --external:fs --metafile=dist/human.esm.json --outfile=dist/human.esm.js src/human.js",
"build-esm-nobundle": "esbuild --bundle --platform=browser --sourcemap --target=esnext --format=esm --external:@tensorflow --external:fs --metafile=dist/human.esm-nobundle.json --outfile=dist/human.esm-nobundle.js src/human.js",
"build-node": "esbuild --bundle --platform=node --sourcemap --target=esnext --format=cjs --metafile=dist/human.node.json --outfile=dist/human.node.js src/human.js",
"build-node-nobundle": "esbuild --bundle --platform=node --sourcemap --target=esnext --format=cjs --external:@tensorflow --metafile=dist/human.node.json --outfile=dist/human.node-nobundle.js src/human.js",
"build-iife": "esbuild --bundle --platform=browser --sourcemap --target=esnext --format=iife --external:fs --external:seedrandom --global-name=Human --metafile=dist/human.json --outfile=dist/human.js src/human.js",
"build-esm-bundle": "esbuild --bundle --platform=browser --sourcemap --target=esnext --format=esm --external:fs --external:seedrandom --metafile=dist/human.esm.json --outfile=dist/human.esm.js src/human.js",
"build-esm-nobundle": "esbuild --bundle --platform=browser --sourcemap --target=esnext --format=esm --external:@tensorflow --external:fs --external:seedrandom --metafile=dist/human.esm-nobundle.json --outfile=dist/human.esm-nobundle.js src/human.js",
"build-node": "esbuild --bundle --platform=node --sourcemap --target=esnext --format=cjs --metafile=dist/human.node.json --external:seedrandom --outfile=dist/human.node.js src/human.js",
"build-node-nobundle": "esbuild --bundle --platform=node --sourcemap --target=esnext --format=cjs --external:@tensorflow --external:seedrandom --metafile=dist/human.node.json --outfile=dist/human.node-nobundle.js src/human.js",
build: "rimraf dist/* && npm run build-iife && npm run build-esm-bundle && npm run build-esm-nobundle && npm run build-node && npm run build-node-nobundle && ls -l dist/",
update: "npm update --depth 20 && npm dedupe && npm prune && npm audit",
update: "npm update --depth 20 --force && npm dedupe && npm prune && npm audit",
changelog: "node changelog.js"
},
keywords: [

View File

@ -5,7 +5,7 @@
"imports": []
},
"package.json": {
"bytes": 2834,
"bytes": 2952,
"imports": []
},
"src/emotion/emotion.js": {
@ -353,7 +353,7 @@
"bytesInOutput": 2230
},
"package.json": {
"bytesInOutput": 2976
"bytesInOutput": 3094
},
"src/human.js": {
"bytesInOutput": 10775
@ -362,7 +362,7 @@
"bytesInOutput": 0
}
},
"bytes": 155202
"bytes": 155320
}
}
}

6421
dist/human.esm.js vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

113
dist/human.esm.json vendored
View File

@ -5,18 +5,15 @@
"imports": []
},
"node_modules/@tensorflow/tfjs-backend-cpu/dist/tf-backend-cpu.node.js": {
"bytes": 272720,
"bytes": 297728,
"imports": [
{
"path": "node_modules/@tensorflow/tfjs-core/dist/tf-core.node.js"
},
{
"path": "node_modules/seedrandom/index.js"
}
]
},
"node_modules/@tensorflow/tfjs-backend-webgl/dist/tf-backend-webgl.node.js": {
"bytes": 571410,
"bytes": 607535,
"imports": [
{
"path": "node_modules/@tensorflow/tfjs-core/dist/tf-core.node.js"
@ -24,7 +21,7 @@
]
},
"node_modules/@tensorflow/tfjs-converter/dist/tf-converter.node.js": {
"bytes": 294510,
"bytes": 312103,
"imports": [
{
"path": "node_modules/@tensorflow/tfjs-core/dist/tf-core.node.js"
@ -32,7 +29,7 @@
]
},
"node_modules/@tensorflow/tfjs-core/dist/tf-core.node.js": {
"bytes": 1305668,
"bytes": 1313261,
"imports": [
{
"path": "empty:/home/vlado/dev/human/node_modules/node-fetch/browser.js"
@ -46,7 +43,7 @@
]
},
"node_modules/@tensorflow/tfjs-data/dist/tf-data.node.js": {
"bytes": 217016,
"bytes": 217014,
"imports": [
{
"path": "node_modules/@tensorflow/tfjs-core/dist/tf-core.node.js"
@ -90,66 +87,8 @@
}
]
},
"node_modules/seedrandom/index.js": {
"bytes": 2110,
"imports": [
{
"path": "node_modules/seedrandom/lib/alea.js"
},
{
"path": "node_modules/seedrandom/lib/xor128.js"
},
{
"path": "node_modules/seedrandom/lib/xorwow.js"
},
{
"path": "node_modules/seedrandom/lib/xorshift7.js"
},
{
"path": "node_modules/seedrandom/lib/xor4096.js"
},
{
"path": "node_modules/seedrandom/lib/tychei.js"
},
{
"path": "node_modules/seedrandom/seedrandom.js"
}
]
},
"node_modules/seedrandom/lib/alea.js": {
"bytes": 3243,
"imports": []
},
"node_modules/seedrandom/lib/tychei.js": {
"bytes": 2525,
"imports": []
},
"node_modules/seedrandom/lib/xor128.js": {
"bytes": 1748,
"imports": []
},
"node_modules/seedrandom/lib/xor4096.js": {
"bytes": 4559,
"imports": []
},
"node_modules/seedrandom/lib/xorshift7.js": {
"bytes": 2418,
"imports": []
},
"node_modules/seedrandom/lib/xorwow.js": {
"bytes": 1919,
"imports": []
},
"node_modules/seedrandom/seedrandom.js": {
"bytes": 8358,
"imports": [
{
"path": "empty:crypto"
}
]
},
"package.json": {
"bytes": 2834,
"bytes": 2952,
"imports": []
},
"src/emotion/emotion.js": {
@ -468,7 +407,7 @@
"dist/human.esm.js.map": {
"imports": [],
"inputs": {},
"bytes": 4993459
"bytes": 5083151
},
"dist/human.esm.js": {
"imports": [],
@ -483,49 +422,25 @@
"bytesInOutput": 44
},
"node_modules/@tensorflow/tfjs-core/dist/tf-core.node.js": {
"bytesInOutput": 1004764
"bytesInOutput": 1010313
},
"node_modules/@tensorflow/tfjs-layers/dist/tf-layers.node.js": {
"bytesInOutput": 514491
},
"node_modules/@tensorflow/tfjs-converter/dist/tf-converter.node.js": {
"bytesInOutput": 246275
"bytesInOutput": 258960
},
"empty:/home/vlado/dev/human/node_modules/string_decoder/lib/string_decoder.js": {
"bytesInOutput": 52
},
"node_modules/@tensorflow/tfjs-data/dist/tf-data.node.js": {
"bytesInOutput": 129586
},
"node_modules/seedrandom/lib/alea.js": {
"bytesInOutput": 2112
},
"node_modules/seedrandom/lib/xor128.js": {
"bytesInOutput": 1699
},
"node_modules/seedrandom/lib/xorwow.js": {
"bytesInOutput": 1897
},
"node_modules/seedrandom/lib/xorshift7.js": {
"bytesInOutput": 2307
},
"node_modules/seedrandom/lib/xor4096.js": {
"bytesInOutput": 2742
},
"node_modules/seedrandom/lib/tychei.js": {
"bytesInOutput": 1940
},
"node_modules/seedrandom/seedrandom.js": {
"bytesInOutput": 4019
},
"node_modules/seedrandom/index.js": {
"bytesInOutput": 458
"bytesInOutput": 129561
},
"node_modules/@tensorflow/tfjs-backend-cpu/dist/tf-backend-cpu.node.js": {
"bytesInOutput": 246000
"bytesInOutput": 272394
},
"node_modules/@tensorflow/tfjs-backend-webgl/dist/tf-backend-webgl.node.js": {
"bytesInOutput": 527935
"bytesInOutput": 561656
},
"node_modules/@tensorflow/tfjs/dist/tf.node.js": {
"bytesInOutput": 3025
@ -618,7 +533,7 @@
"bytesInOutput": 2230
},
"package.json": {
"bytesInOutput": 2976
"bytesInOutput": 3094
},
"src/human.js": {
"bytesInOutput": 10765
@ -627,7 +542,7 @@
"bytesInOutput": 0
}
},
"bytes": 2845458
"bytes": 2906393
}
}
}

6421
dist/human.js vendored

File diff suppressed because it is too large Load Diff

6
dist/human.js.map vendored

File diff suppressed because one or more lines are too long

113
dist/human.json vendored
View File

@ -5,18 +5,15 @@
"imports": []
},
"node_modules/@tensorflow/tfjs-backend-cpu/dist/tf-backend-cpu.node.js": {
"bytes": 272720,
"bytes": 297728,
"imports": [
{
"path": "node_modules/@tensorflow/tfjs-core/dist/tf-core.node.js"
},
{
"path": "node_modules/seedrandom/index.js"
}
]
},
"node_modules/@tensorflow/tfjs-backend-webgl/dist/tf-backend-webgl.node.js": {
"bytes": 571410,
"bytes": 607535,
"imports": [
{
"path": "node_modules/@tensorflow/tfjs-core/dist/tf-core.node.js"
@ -24,7 +21,7 @@
]
},
"node_modules/@tensorflow/tfjs-converter/dist/tf-converter.node.js": {
"bytes": 294510,
"bytes": 312103,
"imports": [
{
"path": "node_modules/@tensorflow/tfjs-core/dist/tf-core.node.js"
@ -32,7 +29,7 @@
]
},
"node_modules/@tensorflow/tfjs-core/dist/tf-core.node.js": {
"bytes": 1305668,
"bytes": 1313261,
"imports": [
{
"path": "empty:/home/vlado/dev/human/node_modules/node-fetch/browser.js"
@ -46,7 +43,7 @@
]
},
"node_modules/@tensorflow/tfjs-data/dist/tf-data.node.js": {
"bytes": 217016,
"bytes": 217014,
"imports": [
{
"path": "node_modules/@tensorflow/tfjs-core/dist/tf-core.node.js"
@ -90,66 +87,8 @@
}
]
},
"node_modules/seedrandom/index.js": {
"bytes": 2110,
"imports": [
{
"path": "node_modules/seedrandom/lib/alea.js"
},
{
"path": "node_modules/seedrandom/lib/xor128.js"
},
{
"path": "node_modules/seedrandom/lib/xorwow.js"
},
{
"path": "node_modules/seedrandom/lib/xorshift7.js"
},
{
"path": "node_modules/seedrandom/lib/xor4096.js"
},
{
"path": "node_modules/seedrandom/lib/tychei.js"
},
{
"path": "node_modules/seedrandom/seedrandom.js"
}
]
},
"node_modules/seedrandom/lib/alea.js": {
"bytes": 3243,
"imports": []
},
"node_modules/seedrandom/lib/tychei.js": {
"bytes": 2525,
"imports": []
},
"node_modules/seedrandom/lib/xor128.js": {
"bytes": 1748,
"imports": []
},
"node_modules/seedrandom/lib/xor4096.js": {
"bytes": 4559,
"imports": []
},
"node_modules/seedrandom/lib/xorshift7.js": {
"bytes": 2418,
"imports": []
},
"node_modules/seedrandom/lib/xorwow.js": {
"bytes": 1919,
"imports": []
},
"node_modules/seedrandom/seedrandom.js": {
"bytes": 8358,
"imports": [
{
"path": "empty:crypto"
}
]
},
"package.json": {
"bytes": 2834,
"bytes": 2952,
"imports": []
},
"src/emotion/emotion.js": {
@ -468,7 +407,7 @@
"dist/human.js.map": {
"imports": [],
"inputs": {},
"bytes": 4997269
"bytes": 5086901
},
"dist/human.js": {
"imports": [],
@ -483,49 +422,25 @@
"bytesInOutput": 48
},
"node_modules/@tensorflow/tfjs-core/dist/tf-core.node.js": {
"bytesInOutput": 1055423
"bytesInOutput": 1061222
},
"node_modules/@tensorflow/tfjs-layers/dist/tf-layers.node.js": {
"bytesInOutput": 541660
},
"node_modules/@tensorflow/tfjs-converter/dist/tf-converter.node.js": {
"bytesInOutput": 259681
"bytesInOutput": 273096
},
"empty:/home/vlado/dev/human/node_modules/string_decoder/lib/string_decoder.js": {
"bytesInOutput": 56
},
"node_modules/@tensorflow/tfjs-data/dist/tf-data.node.js": {
"bytesInOutput": 136974
},
"node_modules/seedrandom/lib/alea.js": {
"bytesInOutput": 2276
},
"node_modules/seedrandom/lib/xor128.js": {
"bytesInOutput": 1827
},
"node_modules/seedrandom/lib/xorwow.js": {
"bytesInOutput": 2039
},
"node_modules/seedrandom/lib/xorshift7.js": {
"bytesInOutput": 2481
},
"node_modules/seedrandom/lib/xor4096.js": {
"bytesInOutput": 2946
},
"node_modules/seedrandom/lib/tychei.js": {
"bytesInOutput": 2080
},
"node_modules/seedrandom/seedrandom.js": {
"bytesInOutput": 4275
},
"node_modules/seedrandom/index.js": {
"bytesInOutput": 490
"bytesInOutput": 136948
},
"node_modules/@tensorflow/tfjs-backend-cpu/dist/tf-backend-cpu.node.js": {
"bytesInOutput": 256749
"bytesInOutput": 284249
},
"node_modules/@tensorflow/tfjs-backend-webgl/dist/tf-backend-webgl.node.js": {
"bytesInOutput": 546737
"bytesInOutput": 581862
},
"node_modules/@tensorflow/tfjs/dist/tf.node.js": {
"bytesInOutput": 3189
@ -618,13 +533,13 @@
"bytesInOutput": 2424
},
"package.json": {
"bytesInOutput": 3106
"bytesInOutput": 3224
},
"src/human.js": {
"bytesInOutput": 11994
}
},
"bytes": 2987844
"bytes": 3051012
}
}
}

View File

@ -5777,7 +5777,7 @@ var require_config = __commonJS((exports2) => {
var require_package = __commonJS((exports2, module2) => {
module2.exports = {
name: "@vladmandic/human",
version: "0.4.7",
version: "0.4.8",
description: "human: 3D Face Detection, Iris Tracking and Age & Gender Prediction",
sideEffects: false,
main: "dist/human.node.js",
@ -5803,7 +5803,7 @@ var require_package = __commonJS((exports2, module2) => {
"@tensorflow/tfjs-node": "^2.7.0",
"@vladmandic/pilogger": "^0.2.6",
dayjs: "^1.9.4",
esbuild: "^0.7.21",
esbuild: "^0.7.22",
eslint: "^7.12.1",
"eslint-config-airbnb-base": "^14.2.0",
"eslint-plugin-import": "^2.22.1",
@ -5816,13 +5816,13 @@ var require_package = __commonJS((exports2, module2) => {
scripts: {
start: "node --trace-warnings --unhandled-rejections=strict --trace-uncaught --no-deprecation src/node.js",
lint: "eslint src/*.js demo/*.js",
"build-iife": "esbuild --bundle --platform=browser --sourcemap --target=esnext --format=iife --external:fs --global-name=Human --metafile=dist/human.json --outfile=dist/human.js src/human.js",
"build-esm-bundle": "esbuild --bundle --platform=browser --sourcemap --target=esnext --format=esm --external:fs --metafile=dist/human.esm.json --outfile=dist/human.esm.js src/human.js",
"build-esm-nobundle": "esbuild --bundle --platform=browser --sourcemap --target=esnext --format=esm --external:@tensorflow --external:fs --metafile=dist/human.esm-nobundle.json --outfile=dist/human.esm-nobundle.js src/human.js",
"build-node": "esbuild --bundle --platform=node --sourcemap --target=esnext --format=cjs --metafile=dist/human.node.json --outfile=dist/human.node.js src/human.js",
"build-node-nobundle": "esbuild --bundle --platform=node --sourcemap --target=esnext --format=cjs --external:@tensorflow --metafile=dist/human.node.json --outfile=dist/human.node-nobundle.js src/human.js",
"build-iife": "esbuild --bundle --platform=browser --sourcemap --target=esnext --format=iife --external:fs --external:seedrandom --global-name=Human --metafile=dist/human.json --outfile=dist/human.js src/human.js",
"build-esm-bundle": "esbuild --bundle --platform=browser --sourcemap --target=esnext --format=esm --external:fs --external:seedrandom --metafile=dist/human.esm.json --outfile=dist/human.esm.js src/human.js",
"build-esm-nobundle": "esbuild --bundle --platform=browser --sourcemap --target=esnext --format=esm --external:@tensorflow --external:fs --external:seedrandom --metafile=dist/human.esm-nobundle.json --outfile=dist/human.esm-nobundle.js src/human.js",
"build-node": "esbuild --bundle --platform=node --sourcemap --target=esnext --format=cjs --metafile=dist/human.node.json --external:seedrandom --outfile=dist/human.node.js src/human.js",
"build-node-nobundle": "esbuild --bundle --platform=node --sourcemap --target=esnext --format=cjs --external:@tensorflow --external:seedrandom --metafile=dist/human.node.json --outfile=dist/human.node-nobundle.js src/human.js",
build: "rimraf dist/* && npm run build-iife && npm run build-esm-bundle && npm run build-esm-nobundle && npm run build-node && npm run build-node-nobundle && ls -l dist/",
update: "npm update --depth 20 && npm dedupe && npm prune && npm audit",
update: "npm update --depth 20 --force && npm dedupe && npm prune && npm audit",
changelog: "node changelog.js"
},
keywords: [

6425
dist/human.node.js vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -5,7 +5,7 @@
"imports": []
},
"package.json": {
"bytes": 2834,
"bytes": 2952,
"imports": []
},
"src/emotion/emotion.js": {
@ -353,7 +353,7 @@
"bytesInOutput": 2232
},
"package.json": {
"bytesInOutput": 2979
"bytesInOutput": 3097
},
"src/human.js": {
"bytesInOutput": 47
@ -362,7 +362,7 @@
"bytesInOutput": 10775
}
},
"bytes": 155356
"bytes": 155474
}
}
}

View File

@ -39,11 +39,11 @@
"scripts": {
"start": "node --trace-warnings --unhandled-rejections=strict --trace-uncaught --no-deprecation src/node.js",
"lint": "eslint src/*.js demo/*.js",
"build-iife": "esbuild --bundle --platform=browser --sourcemap --target=esnext --format=iife --external:fs --global-name=Human --metafile=dist/human.json --outfile=dist/human.js src/human.js",
"build-esm-bundle": "esbuild --bundle --platform=browser --sourcemap --target=esnext --format=esm --external:fs --metafile=dist/human.esm.json --outfile=dist/human.esm.js src/human.js",
"build-esm-nobundle": "esbuild --bundle --platform=browser --sourcemap --target=esnext --format=esm --external:@tensorflow --external:fs --metafile=dist/human.esm-nobundle.json --outfile=dist/human.esm-nobundle.js src/human.js",
"build-node": "esbuild --bundle --platform=node --sourcemap --target=esnext --format=cjs --metafile=dist/human.node.json --outfile=dist/human.node.js src/human.js",
"build-node-nobundle": "esbuild --bundle --platform=node --sourcemap --target=esnext --format=cjs --external:@tensorflow --metafile=dist/human.node.json --outfile=dist/human.node-nobundle.js src/human.js",
"build-iife": "esbuild --bundle --platform=browser --sourcemap --target=esnext --format=iife --external:fs --external:seedrandom --global-name=Human --metafile=dist/human.json --outfile=dist/human.js src/human.js",
"build-esm-bundle": "esbuild --bundle --platform=browser --sourcemap --target=esnext --format=esm --external:fs --external:seedrandom --metafile=dist/human.esm.json --outfile=dist/human.esm.js src/human.js",
"build-esm-nobundle": "esbuild --bundle --platform=browser --sourcemap --target=esnext --format=esm --external:@tensorflow --external:fs --external:seedrandom --metafile=dist/human.esm-nobundle.json --outfile=dist/human.esm-nobundle.js src/human.js",
"build-node": "esbuild --bundle --platform=node --sourcemap --target=esnext --format=cjs --metafile=dist/human.node.json --external:seedrandom --outfile=dist/human.node.js src/human.js",
"build-node-nobundle": "esbuild --bundle --platform=node --sourcemap --target=esnext --format=cjs --external:@tensorflow --external:seedrandom --metafile=dist/human.node.json --outfile=dist/human.node-nobundle.js src/human.js",
"build": "rimraf dist/* && npm run build-iife && npm run build-esm-bundle && npm run build-esm-nobundle && npm run build-node && npm run build-node-nobundle && ls -l dist/",
"update": "npm update --depth 20 --force && npm dedupe && npm prune && npm audit",
"changelog": "node changelog.js"