From 4b6a25f7484e12df33b7329d4695b5e7c5c82652 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 28 Oct 2022 09:26:33 -0400 Subject: [PATCH] add named exports --- CHANGELOG.md | 2 +- package.json | 14 +- samples/out/ai-body.jpg | Bin 50958 -> 60016 bytes test/build.log | 80 ++--- test/test.log | 666 +--------------------------------------- 5 files changed, 58 insertions(+), 704 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d3167014..24895fc3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ ## Changelog -### **HEAD -> main** 2022/10/18 mandic00@live.com +### **HEAD -> main** 2022/10/24 mandic00@live.com - add draw label templates - reduce dev dependencies diff --git a/package.json b/package.json index 62d2dc4f..3864bd99 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,13 @@ "import": "./dist/human.esm.js", "script": "./dist/human.js", "module": "./dist/human.esm.js", - "types": "./types/human.d.ts" + "types": "./types/human.d.ts", + "dist/human.js": "./dist/human.js", + "dist/human.esm.js": "./dist/human.esm.js", + "dist/human.esm-nobundle.js": "./dist/human.esm-nobundle.js", + "dist/human.node.js": "./dist/human.node.js", + "dist/human.node-wasm.js": "./dist/human.node-wasm.js", + "dist/human.node-gpu.js": "./dist/human.node-gpu.js" }, "author": "Vladimir Mandic ", "bugs": { @@ -68,7 +74,7 @@ "devDependencies": { "@html-eslint/eslint-plugin": "^0.15.0", "@html-eslint/parser": "^0.15.0", - "@microsoft/api-extractor": "^7.33.4", + "@microsoft/api-extractor": "^7.33.5", "@tensorflow/tfjs-backend-cpu": "^4.0.0", "@tensorflow/tfjs-backend-wasm": "^4.0.0", "@tensorflow/tfjs-backend-webgl": "^4.0.0", @@ -77,7 +83,7 @@ "@tensorflow/tfjs-core": "^4.0.0", "@tensorflow/tfjs-node": "^4.0.0", "@tensorflow/tfjs-node-gpu": "^4.0.0", - "@types/node": "^18.11.4", + "@types/node": "^18.11.7", "@types/offscreencanvas": "^2019.7.0", "@typescript-eslint/eslint-plugin": "^5.41.0", "@typescript-eslint/parser": "^5.41.0", @@ -95,7 +101,7 @@ "eslint-plugin-promise": "^6.1.1", "rimraf": "^3.0.2", "tslib": "^2.4.0", - "typedoc": "0.23.18", + "typedoc": "0.23.19", "typescript": "4.8.4" } } diff --git a/samples/out/ai-body.jpg b/samples/out/ai-body.jpg index 7de0ed2ba33092ef48831c1e4ec8627886b79857..5001f415bb7db4e20ee0407268f48ee0aa58fb3f 100644 GIT binary patch literal 60016 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"," at GraphModel.normalizeInputs (/home/vlado/dev/human/node_modules/.pnpm/@tensorflow+tfjs-converter@4.0.0_hdmpc5coifabqk2ogondqkcwg4/node_modules/@tensorflow/tfjs-converter/dist/tf-converter.node.js:30705:32)"," at GraphModel.execute (/home/vlado/dev/human/node_modules/.pnpm/@tensorflow+tfjs-converter@4.0.0_hdmpc5coifabqk2ogondqkcwg4/node_modules/@tensorflow/tfjs-converter/dist/tf-converter.node.js:30777:23)"," at /home/vlado/dev/human/dist/human.node.js:99:175358"," at new Promise ()"," at q5 (/home/vlado/dev/human/dist/human.node.js:99:175127)"," at R1 (/home/vlado/dev/human/dist/human.node.js:111:11475)"," at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"," at async /home/vlado/dev/human/dist/human.node.js:830:8854"]} -2022-10-17 10:35:43 INFO:  -2022-10-17 10:35:43 INFO:  test-backend-node-gpu.js start -2022-10-17 10:35:44 INFO:  test-backend-node-gpu.js test: configuration validation -2022-10-17 10:35:44 STATE: test-backend-node-gpu.js passed: configuration default validation [] -2022-10-17 10:35:44 STATE: test-backend-node-gpu.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2022-10-17 10:35:44 INFO:  test-backend-node-gpu.js test: model load -2022-10-17 10:35:44 STATE: test-backend-node-gpu.js passed: models loaded 25 11 [{"name":"ssrnetage","loaded":false,"url":null},{"name":"gear","loaded":false,"url":null},{"name":"blazeposedetect","loaded":false,"url":null},{"name":"blazepose","loaded":false,"url":null},{"name":"centernet","loaded":true,"url":"file://models/mb3-centernet.json"},{"name":"efficientpose","loaded":false,"url":null},{"name":"mobilefacenet","loaded":false,"url":null},{"name":"insightface","loaded":false,"url":null},{"name":"emotion","loaded":true,"url":"file://models/emotion.json"},{"name":"facedetect","loaded":true,"url":"file://models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"file://models/iris.json"},{"name":"facemesh","loaded":true,"url":"file://models/facemesh.json"},{"name":"faceres","loaded":true,"url":"file://models/faceres.json"},{"name":"ssrnetgender","loaded":false,"url":null},{"name":"handpose","loaded":false,"url":null},{"name":"handskeleton","loaded":true,"url":"file://models/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"file://models/handtrack.json"},{"name":"liveness","loaded":true,"url":"file://models/liveness.json"},{"name":"meet","loaded":false,"url":null},{"name":"movenet","loaded":true,"url":"file://models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"selfie","loaded":false,"url":null},{"name":"rvm","loaded":false,"url":null},{"name":"antispoof","loaded":true,"url":"file://models/antispoof.json"}] -2022-10-17 10:35:44 INFO:  test-backend-node-gpu.js memory: {"memory":{"unreliable":true,"numTensors":1785,"numDataBuffers":1785,"numBytes":63247332}} -2022-10-17 10:35:44 INFO:  test-backend-node-gpu.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63247332,"numTensors":1785,"numStringTensors":0,"numDataBuffers":1785,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} -2022-10-17 10:35:44 INFO:  test-backend-node-gpu.js test: warmup -2022-10-17 10:35:44 STATE: test-backend-node-gpu.js passed: create human -2022-10-17 10:35:44 INFO:  test-backend-node-gpu.js human version: 3.0.0 -2022-10-17 10:35:44 INFO:  test-backend-node-gpu.js platform: linux x64 agent: NodeJS v18.10.0 -2022-10-17 10:35:44 INFO:  test-backend-node-gpu.js tfjs version: 4.0.0 -2022-10-17 10:35:44 INFO:  test-backend-node-gpu.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.10.0","backends":["cpu","tensorflow"],"initial":false,"tfjs":{"version":"4.0.0"},"offscreen":false,"perfadd":false,"tensorflow":{"version":"2.9.1","gpu":true},"wasm":{"supported":true,"backend":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":169} -2022-10-17 10:35:44 STATE: test-backend-node-gpu.js passed: set backend: tensorflow -2022-10-17 10:35:44 STATE: test-backend-node-gpu.js tensors 1785 -2022-10-17 10:35:44 STATE: test-backend-node-gpu.js passed: load models -2022-10-17 10:35:44 STATE: test-backend-node-gpu.js result: defined models: 25 loaded models: 11 -2022-10-17 10:35:44 STATE: test-backend-node-gpu.js passed: warmup: none default -2022-10-17 10:35:44 DATA:  test-backend-node-gpu.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2022-10-17 10:35:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: null -2022-10-17 10:35:44 STATE: test-backend-node-gpu.js passed: warmup none result match -2022-10-17 10:35:44 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js event: warmup -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: warmup: face default -2022-10-17 10:35:47 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4} -2022-10-17 10:35:47 DATA:  test-backend-node-gpu.js result: performance: load: null total: 2722 -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: warmup face result match -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js event: warmup -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: warmup: body default -2022-10-17 10:35:47 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-10-17 10:35:47 DATA:  test-backend-node-gpu.js result: performance: load: null total: 141 -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: warmup body result match -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js details: {"face":{"boxScore":0.92,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.63,"emotion":"angry"},{"score":0.22,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.52,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 10% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} -2022-10-17 10:35:47 INFO:  test-backend-node-gpu.js test: details verification -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js start default -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2022-10-17 10:35:47 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-10-17 10:35:47 DATA:  test-backend-node-gpu.js result: performance: load: null total: 134 -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: details face length 1 -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: details face score 1 0.93 1 -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: details face age/gender 23.7 female 0.97 85.47 -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: details face arrays 4 478 1024 -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: details face anti-spoofing 0.79 -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: details face liveness 0.83 -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: details body length 1 -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: details body 0.92 17 6 -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: details hand length 1 -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: details hand 0.51 0.73 point -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: details hand arrays 21 5 7 -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: details gesture length 7 -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: details gesture first {"face":0,"gesture":"facing right"} -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: details object length 1 -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: details object 0.72 person -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:47 STATE: test-backend-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2022-10-17 10:35:48 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} -2022-10-17 10:35:48 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:48 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:48 STATE: test-backend-node-gpu.js passed: tensor shape: [1200,1200,4] dtype: float32 -2022-10-17 10:35:48 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-10-17 10:35:48 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:48 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:48 STATE: test-backend-node-gpu.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2022-10-17 10:35:48 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796928} -2022-10-17 10:35:48 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:48 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:48 STATE: test-backend-node-gpu.js passed: tensor shape: [1200,1200,3] dtype: float32 -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2022-10-17 10:35:49 INFO:  test-backend-node-gpu.js test default -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js start async -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg async -2022-10-17 10:35:49 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-10-17 10:35:49 DATA:  test-backend-node-gpu.js result: performance: load: null total: 119 -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js passed: default result face match 1 female 0.97 -2022-10-17 10:35:49 INFO:  test-backend-node-gpu.js test sync -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js start sync -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg sync -2022-10-17 10:35:49 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-10-17 10:35:49 DATA:  test-backend-node-gpu.js result: performance: load: null total: 124 -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js passed: default sync 1 female 0.97 -2022-10-17 10:35:49 INFO:  test-backend-node-gpu.js test: image process -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js passed: image input null [1,256,256,3] -2022-10-17 10:35:49 INFO:  test-backend-node-gpu.js test: image null -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js passed: invalid input could not convert input to tensor -2022-10-17 10:35:49 INFO:  test-backend-node-gpu.js test face similarity -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js start face similarity -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face similarity -2022-10-17 10:35:49 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} -2022-10-17 10:35:49 DATA:  test-backend-node-gpu.js result: performance: load: null total: 116 -2022-10-17 10:35:49 STATE: test-backend-node-gpu.js start face similarity -2022-10-17 10:35:50 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-10-17 10:35:50 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:50 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:50 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg face similarity -2022-10-17 10:35:50 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-10-17 10:35:50 DATA:  test-backend-node-gpu.js result: performance: load: null total: 114 -2022-10-17 10:35:50 STATE: test-backend-node-gpu.js start face similarity -2022-10-17 10:35:50 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-10-17 10:35:50 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:50 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:50 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg face similarity -2022-10-17 10:35:50 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} -2022-10-17 10:35:50 DATA:  test-backend-node-gpu.js result: performance: load: null total: 102 -2022-10-17 10:35:50 STATE: test-backend-node-gpu.js passed: face descriptor -2022-10-17 10:35:50 STATE: test-backend-node-gpu.js passed: face similarity {"similarity":[1,0.4475002983522097,0.5570879556505012],"descriptors":[1024,1024,1024]} -2022-10-17 10:35:50 INFO:  test-backend-node-gpu.js test object -2022-10-17 10:35:50 STATE: test-backend-node-gpu.js start object -2022-10-17 10:35:50 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-10-17 10:35:50 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:50 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:50 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg object -2022-10-17 10:35:50 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-10-17 10:35:50 DATA:  test-backend-node-gpu.js result: performance: load: null total: 132 -2022-10-17 10:35:50 STATE: test-backend-node-gpu.js passed: centernet -2022-10-17 10:35:50 STATE: test-backend-node-gpu.js start object -2022-10-17 10:35:51 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-10-17 10:35:51 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:51 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:51 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg object -2022-10-17 10:35:51 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 3 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17} -2022-10-17 10:35:51 DATA:  test-backend-node-gpu.js result: performance: load: null total: 547 -2022-10-17 10:35:51 STATE: test-backend-node-gpu.js passed: nanodet -2022-10-17 10:35:51 INFO:  test-backend-node-gpu.js test sensitive -2022-10-17 10:35:51 STATE: test-backend-node-gpu.js start sensitive -2022-10-17 10:35:52 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-10-17 10:35:52 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:52 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:52 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg sensitive -2022-10-17 10:35:52 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17} -2022-10-17 10:35:52 DATA:  test-backend-node-gpu.js result: performance: load: null total: 105 -2022-10-17 10:35:52 STATE: test-backend-node-gpu.js passed: sensitive result match -2022-10-17 10:35:52 STATE: test-backend-node-gpu.js passed: sensitive face result match -2022-10-17 10:35:52 STATE: test-backend-node-gpu.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] -2022-10-17 10:35:52 STATE: test-backend-node-gpu.js passed: sensitive body result match -2022-10-17 10:35:52 STATE: test-backend-node-gpu.js passed: sensitive hand result match -2022-10-17 10:35:52 INFO:  test-backend-node-gpu.js test body -2022-10-17 10:35:52 STATE: test-backend-node-gpu.js start blazepose -2022-10-17 10:35:54 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-10-17 10:35:54 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:54 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:54 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg blazepose -2022-10-17 10:35:54 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.99,"keypoints":39} -2022-10-17 10:35:54 DATA:  test-backend-node-gpu.js result: performance: load: null total: 267 -2022-10-17 10:35:54 STATE: test-backend-node-gpu.js passed: blazepose -2022-10-17 10:35:54 STATE: test-backend-node-gpu.js start efficientpose -2022-10-17 10:35:54 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-10-17 10:35:54 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:55 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:55 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg efficientpose -2022-10-17 10:35:55 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.75,"keypoints":13} -2022-10-17 10:35:55 DATA:  test-backend-node-gpu.js result: performance: load: null total: 1008 -2022-10-17 10:35:55 STATE: test-backend-node-gpu.js passed: efficientpose -2022-10-17 10:35:55 STATE: test-backend-node-gpu.js start posenet -2022-10-17 10:35:56 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-10-17 10:35:56 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:56 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:56 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg posenet -2022-10-17 10:35:56 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.96,"keypoints":16} -2022-10-17 10:35:56 DATA:  test-backend-node-gpu.js result: performance: load: null total: 182 -2022-10-17 10:35:56 STATE: test-backend-node-gpu.js passed: posenet -2022-10-17 10:35:56 STATE: test-backend-node-gpu.js start movenet -2022-10-17 10:35:56 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-10-17 10:35:56 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:57 STATE: test-backend-node-gpu.js event: detect -2022-10-17 10:35:57 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg movenet -2022-10-17 10:35:57 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17} -2022-10-17 10:35:57 DATA:  test-backend-node-gpu.js result: performance: load: null total: 119 -2022-10-17 10:35:57 STATE: test-backend-node-gpu.js passed: movenet -2022-10-17 10:35:57 INFO:  test-backend-node-gpu.js test face matching -2022-10-17 10:35:57 STATE: test-backend-node-gpu.js passed: face database 40 -2022-10-17 10:35:57 STATE: test-backend-node-gpu.js passed: face match {"first":{"index":4,"similarity":0.7829338043932047}} {"second":{"index":4,"similarity":0.5002928781584631}} {"third":{"index":4,"similarity":0.5402934771672516}} -2022-10-17 10:35:57 INFO:  test-backend-node-gpu.js test face similarity alternative -2022-10-17 10:35:57 STATE: test-backend-node-gpu.js start face embeddings -2022-10-17 10:35:57 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-10-17 10:35:57 STATE: test-backend-node-gpu.js event: image -2022-10-17 10:35:57 ERROR: test-backend-node-gpu.js failed: testDetect face embeddings -2022-10-17 10:35:57 ERROR: test-backend-node-gpu.js uncaughtException {"name":"TypeError","message":"Cannot read properties of undefined (reading 'img_inputs')","stack":["TypeError: Cannot read properties of undefined (reading 'img_inputs')"," at /home/vlado/dev/human/node_modules/.pnpm/@tensorflow+tfjs-converter@4.0.0_hdmpc5coifabqk2ogondqkcwg4/node_modules/@tensorflow/tfjs-converter/dist/tf-converter.node.js:30706:69"," at Array.reduce ()"," at GraphModel.normalizeInputs (/home/vlado/dev/human/node_modules/.pnpm/@tensorflow+tfjs-converter@4.0.0_hdmpc5coifabqk2ogondqkcwg4/node_modules/@tensorflow/tfjs-converter/dist/tf-converter.node.js:30705:32)"," at GraphModel.execute (/home/vlado/dev/human/node_modules/.pnpm/@tensorflow+tfjs-converter@4.0.0_hdmpc5coifabqk2ogondqkcwg4/node_modules/@tensorflow/tfjs-converter/dist/tf-converter.node.js:30777:23)"," at /home/vlado/dev/human/dist/human.node-gpu.js:99:175358"," at new Promise ()"," at q5 (/home/vlado/dev/human/dist/human.node-gpu.js:99:175127)"," at R1 (/home/vlado/dev/human/dist/human.node-gpu.js:111:11475)"," at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"," at async /home/vlado/dev/human/dist/human.node-gpu.js:830:8854"]} -2022-10-17 10:35:58 INFO:  -2022-10-17 10:35:58 INFO:  test-backend-node-wasm.js start -2022-10-17 10:35:58 DATA:  test-backend-node-wasm.js stdout: 2022-10-17 10:35:58 INFO:  { supported: true, backend: true, simd: true, multithread: false } https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-wasm@4.0.0/dist/ -2022-10-17 10:35:58 STATE: test-backend-node-wasm.js passed: model server: https://vladmandic.github.io/human-models/models/ -2022-10-17 10:35:58 INFO:  test-backend-node-wasm.js test: configuration validation -2022-10-17 10:35:58 STATE: test-backend-node-wasm.js passed: configuration default validation [] -2022-10-17 10:35:58 STATE: test-backend-node-wasm.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2022-10-17 10:35:58 INFO:  test-backend-node-wasm.js test: model load -2022-10-17 10:36:01 STATE: test-backend-node-wasm.js passed: models loaded 25 11 [{"name":"ssrnetage","loaded":false,"url":null},{"name":"gear","loaded":false,"url":null},{"name":"blazeposedetect","loaded":false,"url":null},{"name":"blazepose","loaded":false,"url":null},{"name":"centernet","loaded":true,"url":"https://vladmandic.github.io/human-models/models/mb3-centernet.json"},{"name":"efficientpose","loaded":false,"url":null},{"name":"mobilefacenet","loaded":false,"url":null},{"name":"insightface","loaded":false,"url":null},{"name":"emotion","loaded":true,"url":"https://vladmandic.github.io/human-models/models/emotion.json"},{"name":"facedetect","loaded":true,"url":"https://vladmandic.github.io/human-models/models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"https://vladmandic.github.io/human-models/models/iris.json"},{"name":"facemesh","loaded":true,"url":"https://vladmandic.github.io/human-models/models/facemesh.json"},{"name":"faceres","loaded":true,"url":"https://vladmandic.github.io/human-models/models/faceres.json"},{"name":"ssrnetgender","loaded":false,"url":null},{"name":"handpose","loaded":false,"url":null},{"name":"handskeleton","loaded":true,"url":"https://vladmandic.github.io/human-models/models/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"https://vladmandic.github.io/human-models/models/handtrack.json"},{"name":"liveness","loaded":true,"url":"https://vladmandic.github.io/human-models/models/liveness.json"},{"name":"meet","loaded":false,"url":null},{"name":"movenet","loaded":true,"url":"https://vladmandic.github.io/human-models/models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"selfie","loaded":false,"url":null},{"name":"rvm","loaded":false,"url":null},{"name":"antispoof","loaded":true,"url":"https://vladmandic.github.io/human-models/models/antispoof.json"}] -2022-10-17 10:36:01 INFO:  test-backend-node-wasm.js memory: {"memory":{"unreliable":false,"numTensors":1785,"numDataBuffers":1785,"numBytes":63247332}} -2022-10-17 10:36:01 INFO:  test-backend-node-wasm.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63247332,"numTensors":1785,"numStringTensors":0,"numDataBuffers":1785,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} -2022-10-17 10:36:01 INFO:  test-backend-node-wasm.js test: warmup -2022-10-17 10:36:01 STATE: test-backend-node-wasm.js passed: create human -2022-10-17 10:36:01 INFO:  test-backend-node-wasm.js human version: 3.0.0 -2022-10-17 10:36:01 INFO:  test-backend-node-wasm.js platform: linux x64 agent: NodeJS v18.10.0 -2022-10-17 10:36:01 INFO:  test-backend-node-wasm.js tfjs version: 4.0.0 -2022-10-17 10:36:01 INFO:  test-backend-node-wasm.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.10.0","backends":["wasm"],"initial":false,"tfjs":{"version":"4.0.0"},"offscreen":false,"perfadd":false,"tensorflow":{},"wasm":{"supported":true,"backend":true,"simd":true,"multithread":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":126} -2022-10-17 10:36:01 STATE: test-backend-node-wasm.js passed: set backend: wasm -2022-10-17 10:36:01 STATE: test-backend-node-wasm.js tensors 1785 -2022-10-17 10:36:01 STATE: test-backend-node-wasm.js passed: load models -2022-10-17 10:36:01 STATE: test-backend-node-wasm.js result: defined models: 25 loaded models: 11 -2022-10-17 10:36:01 STATE: test-backend-node-wasm.js passed: warmup: none default -2022-10-17 10:36:01 DATA:  test-backend-node-wasm.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2022-10-17 10:36:01 DATA:  test-backend-node-wasm.js result: performance: load: null total: null -2022-10-17 10:36:01 STATE: test-backend-node-wasm.js passed: warmup none result match -2022-10-17 10:36:01 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:01 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:01 STATE: test-backend-node-wasm.js event: warmup -2022-10-17 10:36:01 STATE: test-backend-node-wasm.js passed: warmup: face default -2022-10-17 10:36:01 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} -2022-10-17 10:36:01 DATA:  test-backend-node-wasm.js result: performance: load: null total: 532 -2022-10-17 10:36:01 STATE: test-backend-node-wasm.js passed: warmup face result match -2022-10-17 10:36:01 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js event: warmup -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: warmup: body default -2022-10-17 10:36:02 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-10-17 10:36:02 DATA:  test-backend-node-wasm.js result: performance: load: null total: 376 -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: warmup body result match -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js details: {"face":{"boxScore":0.93,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.51,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 21% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} -2022-10-17 10:36:02 INFO:  test-backend-node-wasm.js test: details verification -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js start default -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2022-10-17 10:36:02 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-10-17 10:36:02 DATA:  test-backend-node-wasm.js result: performance: load: null total: 346 -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: details face length 1 -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: details face score 1 0.93 1 -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: details face age/gender 23.7 female 0.97 85.47 -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: details face arrays 4 478 1024 -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: details face anti-spoofing 0.79 -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: details face liveness 0.83 -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: details body length 1 -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: details body 0.92 17 6 -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: details hand length 1 -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: details hand 0.51 0.73 point -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: details hand arrays 21 5 7 -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: details gesture length 7 -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: details gesture first {"face":0,"gesture":"facing right"} -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: details object length 1 -2022-10-17 10:36:02 STATE: test-backend-node-wasm.js passed: details object 0.72 person -2022-10-17 10:36:03 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1413675264} -2022-10-17 10:36:03 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:03 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:03 STATE: test-backend-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2022-10-17 10:36:03 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1413675264} -2022-10-17 10:36:03 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:03 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:03 STATE: test-backend-node-wasm.js passed: tensor shape: [1200,1200,4] dtype: float32 -2022-10-17 10:36:04 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-10-17 10:36:04 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:04 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:04 STATE: test-backend-node-wasm.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2022-10-17 10:36:04 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1038921856} -2022-10-17 10:36:04 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:05 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:05 STATE: test-backend-node-wasm.js passed: tensor shape: [1200,1200,3] dtype: float32 -2022-10-17 10:36:05 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2022-10-17 10:36:05 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:05 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:05 STATE: test-backend-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2022-10-17 10:36:05 INFO:  test-backend-node-wasm.js test default -2022-10-17 10:36:05 STATE: test-backend-node-wasm.js start async -2022-10-17 10:36:05 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-10-17 10:36:05 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:06 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:06 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg async -2022-10-17 10:36:06 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-10-17 10:36:06 DATA:  test-backend-node-wasm.js result: performance: load: null total: 326 -2022-10-17 10:36:06 STATE: test-backend-node-wasm.js passed: default result face match 1 female 0.97 -2022-10-17 10:36:06 INFO:  test-backend-node-wasm.js test sync -2022-10-17 10:36:06 STATE: test-backend-node-wasm.js start sync -2022-10-17 10:36:06 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-10-17 10:36:06 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:06 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:06 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg sync -2022-10-17 10:36:06 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-10-17 10:36:06 DATA:  test-backend-node-wasm.js result: performance: load: null total: 333 -2022-10-17 10:36:06 STATE: test-backend-node-wasm.js passed: default sync 1 female 0.97 -2022-10-17 10:36:06 INFO:  test-backend-node-wasm.js test: image process -2022-10-17 10:36:06 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-10-17 10:36:06 STATE: test-backend-node-wasm.js passed: image input null [1,256,256,3] -2022-10-17 10:36:06 INFO:  test-backend-node-wasm.js test: image null -2022-10-17 10:36:06 STATE: test-backend-node-wasm.js passed: invalid input could not convert input to tensor -2022-10-17 10:36:06 INFO:  test-backend-node-wasm.js test face similarity -2022-10-17 10:36:06 STATE: test-backend-node-wasm.js start face similarity -2022-10-17 10:36:06 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-10-17 10:36:06 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:06 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:06 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face similarity -2022-10-17 10:36:06 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} -2022-10-17 10:36:06 DATA:  test-backend-node-wasm.js result: performance: load: null total: 311 -2022-10-17 10:36:06 STATE: test-backend-node-wasm.js start face similarity -2022-10-17 10:36:07 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-10-17 10:36:07 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:07 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:07 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg face similarity -2022-10-17 10:36:07 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-10-17 10:36:07 DATA:  test-backend-node-wasm.js result: performance: load: null total: 339 -2022-10-17 10:36:07 STATE: test-backend-node-wasm.js start face similarity -2022-10-17 10:36:07 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-10-17 10:36:07 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:07 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:07 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg face similarity -2022-10-17 10:36:07 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} -2022-10-17 10:36:07 DATA:  test-backend-node-wasm.js result: performance: load: null total: 297 -2022-10-17 10:36:07 STATE: test-backend-node-wasm.js passed: face descriptor -2022-10-17 10:36:07 STATE: test-backend-node-wasm.js passed: face similarity {"similarity":[1,0.5266119940661309,0.4858842904087851],"descriptors":[1024,1024,1024]} -2022-10-17 10:36:07 INFO:  test-backend-node-wasm.js test object -2022-10-17 10:36:07 STATE: test-backend-node-wasm.js start object -2022-10-17 10:36:08 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-10-17 10:36:08 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:08 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg object -2022-10-17 10:36:08 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-10-17 10:36:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 326 -2022-10-17 10:36:08 STATE: test-backend-node-wasm.js passed: centernet -2022-10-17 10:36:08 STATE: test-backend-node-wasm.js start object -2022-10-17 10:36:09 WARN:  test-backend-node-wasm.js missing kernel ops {"title":"object","model":"nanodet","url":"https://vladmandic.github.io/human-models/models/nanodet.json","missing":["sparsetodense"],"backkend":"wasm"} -2022-10-17 10:36:09 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-10-17 10:36:09 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:09 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:09 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg object -2022-10-17 10:36:09 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} -2022-10-17 10:36:09 DATA:  test-backend-node-wasm.js result: performance: load: null total: 217 -2022-10-17 10:36:09 ERROR: test-backend-node-wasm.js failed: nanodet [] -2022-10-17 10:36:09 INFO:  test-backend-node-wasm.js test sensitive -2022-10-17 10:36:09 STATE: test-backend-node-wasm.js start sensitive -2022-10-17 10:36:09 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-10-17 10:36:09 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:09 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:09 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg sensitive -2022-10-17 10:36:09 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} -2022-10-17 10:36:09 DATA:  test-backend-node-wasm.js result: performance: load: null total: 243 -2022-10-17 10:36:09 STATE: test-backend-node-wasm.js passed: sensitive result match -2022-10-17 10:36:09 STATE: test-backend-node-wasm.js passed: sensitive face result match -2022-10-17 10:36:09 STATE: test-backend-node-wasm.js passed: sensitive face emotion result [{"score":0.46,"emotion":"neutral"},{"score":0.24,"emotion":"fear"},{"score":0.17,"emotion":"sad"}] -2022-10-17 10:36:09 STATE: test-backend-node-wasm.js passed: sensitive body result match -2022-10-17 10:36:09 STATE: test-backend-node-wasm.js passed: sensitive hand result match -2022-10-17 10:36:09 INFO:  test-backend-node-wasm.js test body -2022-10-17 10:36:09 STATE: test-backend-node-wasm.js start blazepose -2022-10-17 10:36:11 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-10-17 10:36:11 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:12 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:12 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg blazepose -2022-10-17 10:36:12 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.99,"keypoints":39} -2022-10-17 10:36:12 DATA:  test-backend-node-wasm.js result: performance: load: null total: 403 -2022-10-17 10:36:12 STATE: test-backend-node-wasm.js passed: blazepose -2022-10-17 10:36:12 STATE: test-backend-node-wasm.js start efficientpose -2022-10-17 10:36:12 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-10-17 10:36:12 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:13 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:13 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg efficientpose -2022-10-17 10:36:13 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.75,"keypoints":13} -2022-10-17 10:36:13 DATA:  test-backend-node-wasm.js result: performance: load: null total: 656 -2022-10-17 10:36:13 STATE: test-backend-node-wasm.js passed: efficientpose -2022-10-17 10:36:13 STATE: test-backend-node-wasm.js start posenet -2022-10-17 10:36:14 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-10-17 10:36:14 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:14 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:14 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg posenet -2022-10-17 10:36:14 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.96,"keypoints":16} -2022-10-17 10:36:14 DATA:  test-backend-node-wasm.js result: performance: load: null total: 290 -2022-10-17 10:36:14 STATE: test-backend-node-wasm.js passed: posenet -2022-10-17 10:36:14 STATE: test-backend-node-wasm.js start movenet -2022-10-17 10:36:14 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-10-17 10:36:14 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:14 STATE: test-backend-node-wasm.js event: detect -2022-10-17 10:36:14 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg movenet -2022-10-17 10:36:14 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} -2022-10-17 10:36:14 DATA:  test-backend-node-wasm.js result: performance: load: null total: 236 -2022-10-17 10:36:14 STATE: test-backend-node-wasm.js passed: movenet -2022-10-17 10:36:14 INFO:  test-backend-node-wasm.js test face matching -2022-10-17 10:36:14 STATE: test-backend-node-wasm.js passed: face database 40 -2022-10-17 10:36:14 STATE: test-backend-node-wasm.js passed: face match {"first":{"index":4,"similarity":0.7827852754786533}} {"second":{"index":4,"similarity":0.5660821189104794}} {"third":{"index":4,"similarity":0.45074189882665594}} -2022-10-17 10:36:14 INFO:  test-backend-node-wasm.js test face similarity alternative -2022-10-17 10:36:14 STATE: test-backend-node-wasm.js start face embeddings -2022-10-17 10:36:15 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-10-17 10:36:15 STATE: test-backend-node-wasm.js event: image -2022-10-17 10:36:15 ERROR: test-backend-node-wasm.js failed: testDetect face embeddings -2022-10-17 10:36:15 ERROR: test-backend-node-wasm.js uncaughtException {"name":"TypeError","message":"Cannot read properties of undefined (reading 'img_inputs')","stack":["TypeError: Cannot read properties of undefined (reading 'img_inputs')"," at /home/vlado/dev/human/node_modules/.pnpm/@tensorflow+tfjs-converter@4.0.0_hdmpc5coifabqk2ogondqkcwg4/node_modules/@tensorflow/tfjs-converter/dist/tf-converter.node.js:30706:69"," at Array.reduce ()"," at GraphModel.normalizeInputs (/home/vlado/dev/human/node_modules/.pnpm/@tensorflow+tfjs-converter@4.0.0_hdmpc5coifabqk2ogondqkcwg4/node_modules/@tensorflow/tfjs-converter/dist/tf-converter.node.js:30705:32)"," at GraphModel.execute (/home/vlado/dev/human/node_modules/.pnpm/@tensorflow+tfjs-converter@4.0.0_hdmpc5coifabqk2ogondqkcwg4/node_modules/@tensorflow/tfjs-converter/dist/tf-converter.node.js:30777:23)"," at /home/vlado/dev/human/dist/human.node-wasm.js:99:175358"," at new Promise ()"," at U5 (/home/vlado/dev/human/dist/human.node-wasm.js:99:175127)"," at k1 (/home/vlado/dev/human/dist/human.node-wasm.js:111:11475)"," at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"," at async /home/vlado/dev/human/dist/human.node-wasm.js:830:8854"]} -2022-10-17 10:36:15 STATE: all tests complete -2022-10-17 10:36:15 INFO:  status {"test":"../demo/nodejs/node.js","passed":1,"failed":0} -2022-10-17 10:36:15 INFO:  status {"test":"../demo/nodejs/node-simple.js","passed":1,"failed":0} -2022-10-17 10:36:15 INFO:  status {"test":"../demo/nodejs/node-event.js","passed":1,"failed":0} -2022-10-17 10:36:15 INFO:  status {"test":"../demo/nodejs/node-similarity.js","passed":1,"failed":0} -2022-10-17 10:36:15 INFO:  status {"test":"../demo/nodejs/node-canvas.js","passed":1,"failed":0} -2022-10-17 10:36:15 INFO:  status {"test":"../demo/nodejs/process-folder.js","passed":1,"failed":0} -2022-10-17 10:36:15 INFO:  status {"test":"../demo/multithread/node-multiprocess.js","passed":1,"failed":0} -2022-10-17 10:36:15 INFO:  status {"test":"../demo/facematch/node-match.js","passed":1,"failed":0} -2022-10-17 10:36:15 INFO:  status {"test":"test-node-load.js","passed":1,"failed":0} -2022-10-17 10:36:15 INFO:  status {"test":"test-node-gear.js","passed":3,"failed":0} -2022-10-17 10:36:15 INFO:  status {"test":"test-backend-node.js","passed":85,"failed":1} -2022-10-17 10:36:15 INFO:  status {"test":"test-backend-node-gpu.js","passed":85,"failed":1} -2022-10-17 10:36:15 INFO:  status {"test":"test-backend-node-wasm.js","passed":85,"failed":2} -2022-10-17 10:36:15 INFO:  failures {"count":4} -2022-10-17 10:36:15 WARN:  failed {"test":"test-backend-node.js","message":["error",["failed:","testDetect face embeddings"]]} -2022-10-17 10:36:15 WARN:  failed {"test":"test-backend-node-gpu.js","message":["error",["failed:","testDetect face embeddings"]]} -2022-10-17 10:36:15 WARN:  failed {"test":"test-backend-node-wasm.js","message":["error",["failed: nanodet",[]]]} -2022-10-17 10:36:15 WARN:  failed {"test":"test-backend-node-wasm.js","message":["error",["failed:","testDetect face embeddings"]]} +2022-10-25 17:03:39 INFO:  @vladmandic/human version 3.0.0 +2022-10-25 17:03:39 INFO:  User: vlado Platform: linux Arch: x64 Node: v18.10.0 +2022-10-25 17:03:39 INFO:  demos: [{"cmd":"../demo/nodejs/node.js","args":[]},{"cmd":"../demo/nodejs/node-simple.js","args":[]},{"cmd":"../demo/nodejs/node-event.js","args":["samples/in/ai-body.jpg"]},{"cmd":"../demo/nodejs/node-similarity.js","args":["samples/in/ai-face.jpg","samples/in/ai-upper.jpg"]},{"cmd":"../demo/nodejs/node-canvas.js","args":["samples/in/ai-body.jpg","samples/out/ai-body.jpg"]},{"cmd":"../demo/nodejs/process-folder.js","args":["samples"]},{"cmd":"../demo/multithread/node-multiprocess.js","args":[]},{"cmd":"../demo/facematch/node-match.js","args":[]}] +2022-10-25 17:03:39 INFO:  {"cmd":"../demo/nodejs/node.js","args":[]} start +2022-10-25 17:03:40 INFO:  {"cmd":"../demo/nodejs/node-simple.js","args":[]} start +2022-10-25 17:03:41 INFO:  {"cmd":"../demo/nodejs/node-event.js","args":["samples/in/ai-body.jpg"]} start +2022-10-25 17:03:41 INFO:  {"cmd":"../demo/nodejs/node-similarity.js","args":["samples/in/ai-face.jpg","samples/in/ai-upper.jpg"]} start