From d23e82461074bcf6458513e2fc392f2ca331964f Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Thu, 7 Jul 2022 12:11:05 +0200 Subject: [PATCH] npm default install should be prod only --- .npmrc | 1 + CHANGELOG.md | 41 +- package.json | 2 +- src/face/facemesh.ts | 9 +- test/build.log | 48 +- test/test.log | 1368 +++++++++++++++++++++--------------------- 6 files changed, 736 insertions(+), 733 deletions(-) diff --git a/.npmrc b/.npmrc index 3f4a983e..a2c741ce 100644 --- a/.npmrc +++ b/.npmrc @@ -1,2 +1,3 @@ force=true legacy-peer-deps=true +production=true diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d44c29a..e5061b07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,8 +9,9 @@ ## Changelog -### **HEAD -> main** 2022/07/02 mandic00@live.com +### **HEAD -> main** 2022/07/05 mandic00@live.com +- add getmodelstats method - rebuild ### **release: 2.8.1** 2022/06/08 mandic00@live.com @@ -437,7 +438,7 @@ - remove efficientpose - major version rebuild -### **1.6.1** 2021/04/22 mandic00@live.com +### **1.6.1** 2021/04/23 mandic00@live.com - add npmrc - added filter.flip feature @@ -576,7 +577,7 @@ - add typedocs and types - strong typings -### **1.1.2** 2021/03/12 mandic00@live.com +### **1.1.2** 2021/03/13 mandic00@live.com - distance based on minkowski space and limited euclidean space - guard against invalid input images @@ -585,7 +586,7 @@ - switched face embedding to mobileface -### **1.0.4** 2021/03/11 mandic00@live.com +### **1.0.4** 2021/03/12 mandic00@live.com - add face return tensor - add test for face descriptors @@ -600,7 +601,7 @@ - enhanced age, gender, emotion detection - full rebuild -### **1.0.2** 2021/03/09 mandic00@live.com +### **1.0.2** 2021/03/10 mandic00@live.com - remove blazeface-front, blazepose-upper, faceboxes - remove blazeface-front and faceboxes @@ -710,7 +711,7 @@ - variable name changes, setting .rawcoords only if necessary - option to return raw data (mesh, box) for facemesh / "preserve aspect ratio" fix from facemesh upstream -### **0.9.18** 2020/12/16 mandic00@live.com +### **0.9.18** 2020/12/17 mandic00@live.com - add z axis scaling - major work on body module @@ -744,7 +745,7 @@ - minor compatibility fixes -### **0.9.11** 2020/11/23 mandic00@live.com +### **0.9.11** 2020/11/24 mandic00@live.com - implement multi-person gestures - modularize pipeline models @@ -781,7 +782,7 @@ - swtich to tfjs source import -### **0.9.3** 2020/11/16 mandic00@live.com +### **0.9.3** 2020/11/17 mandic00@live.com - switched to minified build - web worker fixes @@ -811,7 +812,7 @@ - fix bug in async ops and change imports - fix wiki links -### **0.8.6** 2020/11/09 mandic00@live.com +### **0.8.6** 2020/11/10 mandic00@live.com - add wasm bundle @@ -851,7 +852,7 @@ - cache invalidation improvements - full async operations -### **0.7.5** 2020/11/05 mandic00@live.com +### **0.7.5** 2020/11/06 mandic00@live.com - implemented dev-server @@ -896,12 +897,12 @@ - complete model refactoring - fixed typo -### **0.6.2** 2020/11/02 mandic00@live.com +### **0.6.2** 2020/11/03 mandic00@live.com - optimized demo - package update -### **0.6.1** 2020/11/02 mandic00@live.com +### **0.6.1** 2020/11/03 mandic00@live.com - major performance improvements for all models - revert "optimized canvas handling" @@ -955,7 +956,7 @@ - implelented input resizing -### **0.4.3** 2020/10/22 mandic00@live.com +### **0.4.3** 2020/10/23 mandic00@live.com ### **0.4.2** 2020/10/20 mandic00@live.com @@ -973,7 +974,7 @@ - pure tensor pipeline without image converts - autodetect skipframes -### **0.3.8** 2020/10/17 mandic00@live.com +### **0.3.8** 2020/10/18 mandic00@live.com - new menu layout @@ -1000,28 +1001,28 @@ - optimized blazeface anchors - added error handling -### **0.3.3** 2020/10/15 mandic00@live.com +### **0.3.3** 2020/10/16 mandic00@live.com - added blazeface back and front models -### **0.3.2** 2020/10/15 mandic00@live.com +### **0.3.2** 2020/10/16 mandic00@live.com - reduced web worker latency - added debugging and versioning - optimized demos and added scoped runs - added multi backend support -### **0.3.1** 2020/10/14 mandic00@live.com +### **0.3.1** 2020/10/15 mandic00@live.com -### **0.2.10** 2020/10/14 mandic00@live.com +### **0.2.10** 2020/10/15 mandic00@live.com - added emotion backend - module parametrization and performance monitoring - implemented multi-hand support - fixed documentation typos -### **0.2.9** 2020/10/13 mandic00@live.com +### **0.2.9** 2020/10/14 mandic00@live.com - added node build and demo @@ -1036,7 +1037,7 @@ - enable all models by default -### **0.2.5** 2020/10/12 mandic00@live.com +### **0.2.5** 2020/10/13 mandic00@live.com - fixed memory leak diff --git a/package.json b/package.json index 4ac7e149..daec9a90 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "@tensorflow/tfjs-layers": "^3.18.0", "@tensorflow/tfjs-node": "^3.18.0", "@tensorflow/tfjs-node-gpu": "^3.18.0", - "@types/node": "^18.0.1", + "@types/node": "^18.0.3", "@types/offscreencanvas": "^2019.7.0", "@typescript-eslint/eslint-plugin": "^5.30.5", "@typescript-eslint/parser": "^5.30.5", diff --git a/src/face/facemesh.ts b/src/face/facemesh.ts index 7b525900..d64cd7d3 100644 --- a/src/face/facemesh.ts +++ b/src/face/facemesh.ts @@ -87,11 +87,8 @@ export async function predict(input: Tensor, config: Config): Promise; const confidenceT = results.find((t) => t.shape[t.shape.length - 1] === 1) as Tensor; - const meshT = results.find((t) => t.shape[t.shape.length - 1] === 1404) as Tensor; const faceConfidence = await confidenceT.data(); face.faceScore = Math.round(100 * faceConfidence[0]) / 100; - const coordsReshaped = tf.reshape(meshT, [-1, 3]); - let rawCoords = await coordsReshaped.array(); if (face.faceScore < (config.face.detector?.minConfidence || 1)) { // low confidence in detected mesh box.confidence = face.faceScore; // reset confidence of cached box if (config.face.mesh?.keepInvalid) { @@ -108,6 +105,10 @@ export async function predict(input: Tensor, config: Config): Promise t.shape[t.shape.length - 1] === 1404) as Tensor; + const coordsReshaped = tf.reshape(meshT, [-1, 3]); + let rawCoords = await coordsReshaped.array(); + tf.dispose(coordsReshaped); if (config.face.attention?.enabled) { rawCoords = await attention.augment(rawCoords, results); // augment iris results using attention model results } else if (config.face.iris?.enabled) { @@ -122,7 +123,7 @@ export async function predict(input: Tensor, config: Config): Promise (config.face.detector?.minConfidence || 1)) faces.push(face); else tf.dispose(face.tensor); diff --git a/test/build.log b/test/build.log index 9b4836a0..af6d59be 100644 --- a/test/build.log +++ b/test/build.log @@ -1,24 +1,24 @@ -2022-07-05 05:01:38 INFO:  Application: {"name":"@vladmandic/human","version":"2.8.1"} -2022-07-05 05:01:38 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true} -2022-07-05 05:01:38 INFO:  Toolchain: {"build":"0.7.3","esbuild":"0.14.48","typescript":"4.7.4","typedoc":"0.22.17","eslint":"8.19.0"} -2022-07-05 05:01:38 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]} -2022-07-05 05:01:38 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]} -2022-07-05 05:01:38 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":608} -2022-07-05 05:01:38 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":73,"inputBytes":643890,"outputBytes":301229} -2022-07-05 05:01:38 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":612} -2022-07-05 05:01:38 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":73,"inputBytes":643894,"outputBytes":301233} -2022-07-05 05:01:38 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":664} -2022-07-05 05:01:38 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":73,"inputBytes":643946,"outputBytes":301283} -2022-07-05 05:01:39 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":358} -2022-07-05 05:01:39 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1032,"outputBytes":583} -2022-07-05 05:01:39 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":73,"inputBytes":643865,"outputBytes":300113} -2022-07-05 05:01:39 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":1353528} -2022-07-05 05:01:39 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":73,"inputBytes":1996810,"outputBytes":1652733} -2022-07-05 05:01:39 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":73,"inputBytes":1996810,"outputBytes":2140087} -2022-07-05 05:01:53 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":116} -2022-07-05 05:01:57 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":73,"generated":true} -2022-07-05 05:01:57 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6324,"outputBytes":3057} -2022-07-05 05:01:57 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":7820} -2022-07-05 05:02:16 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":106,"errors":0,"warnings":0} -2022-07-05 05:02:16 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"} -2022-07-05 05:02:16 INFO:  Done... +2022-07-07 12:07:40 INFO:  Application: {"name":"@vladmandic/human","version":"2.8.1"} +2022-07-07 12:07:40 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true} +2022-07-07 12:07:40 INFO:  Toolchain: {"build":"0.7.3","esbuild":"0.14.48","typescript":"4.7.4","typedoc":"0.22.18","eslint":"8.19.0"} +2022-07-07 12:07:40 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]} +2022-07-07 12:07:40 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]} +2022-07-07 12:07:40 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":608} +2022-07-07 12:07:40 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":73,"inputBytes":643911,"outputBytes":301226} +2022-07-07 12:07:40 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":612} +2022-07-07 12:07:40 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":73,"inputBytes":643915,"outputBytes":301230} +2022-07-07 12:07:40 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":664} +2022-07-07 12:07:40 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":73,"inputBytes":643967,"outputBytes":301280} +2022-07-07 12:07:40 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":358} +2022-07-07 12:07:40 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1032,"outputBytes":583} +2022-07-07 12:07:40 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":73,"inputBytes":643886,"outputBytes":300114} +2022-07-07 12:07:41 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":1353528} +2022-07-07 12:07:41 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":73,"inputBytes":1996831,"outputBytes":1652728} +2022-07-07 12:07:42 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":73,"inputBytes":1996831,"outputBytes":2140100} +2022-07-07 12:07:57 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":116} +2022-07-07 12:08:04 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":73,"generated":true} +2022-07-07 12:08:04 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6324,"outputBytes":3057} +2022-07-07 12:08:04 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":7820} +2022-07-07 12:08:29 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":106,"errors":0,"warnings":0} +2022-07-07 12:08:30 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"} +2022-07-07 12:08:30 INFO:  Done... diff --git a/test/test.log b/test/test.log index e10b88d2..a53791e5 100644 --- a/test/test.log +++ b/test/test.log @@ -1,684 +1,684 @@ -2022-06-21 13:25:03 INFO:  @vladmandic/human version 2.8.1 -2022-06-21 13:25:03 INFO:  User: vlado Platform: linux Arch: x64 Node: v17.2.0 -2022-06-21 13:25:03 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"] -2022-06-21 13:25:03 INFO:  demos: ["../demo/nodejs/node.js","../demo/nodejs/node-canvas.js","../demo/nodejs/node-env.js","../demo/nodejs/node-event.js","../demo/nodejs/node-multiprocess.js"] -2022-06-21 13:25:03 INFO:  -2022-06-21 13:25:03 INFO:  test-node.js start -2022-06-21 13:25:03 INFO:  test-node.js test: configuration validation -2022-06-21 13:25:03 STATE: test-node.js passed: configuration default validation [] -2022-06-21 13:25:03 STATE: test-node.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2022-06-21 13:25:03 INFO:  test-node.js test: model load -2022-06-21 13:25:04 STATE: test-node.js passed: models loaded 22 12 [{"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":"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":"movenet","loaded":true,"url":"file://models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"segmentation","loaded":true,"url":"file://models/selfie.json"},{"name":"antispoof","loaded":true,"url":"file://models/antispoof.json"}] -2022-06-21 13:25:04 INFO:  test-node.js test: warmup -2022-06-21 13:25:04 STATE: test-node.js passed: create human -2022-06-21 13:25:04 INFO:  test-node.js human version: 2.8.1 -2022-06-21 13:25:04 INFO:  test-node.js platform: linux x64 agent: NodeJS v17.2.0 -2022-06-21 13:25:04 INFO:  test-node.js tfjs version: 3.18.0 -2022-06-21 13:25:04 INFO:  test-node.js tensorflow binding version: 2.7.0-dev20211101 -2022-06-21 13:25:04 STATE: test-node.js passed: set backend: tensorflow -2022-06-21 13:25:04 STATE: test-node.js tensors 1921 -2022-06-21 13:25:04 STATE: test-node.js passed: load models -2022-06-21 13:25:04 STATE: test-node.js result: defined models: 22 loaded models: 12 -2022-06-21 13:25:04 STATE: test-node.js passed: warmup: none default -2022-06-21 13:25:04 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2022-06-21 13:25:04 DATA:  test-node.js result: performance: load: null total: null -2022-06-21 13:25:04 STATE: test-node.js passed: warmup none result match -2022-06-21 13:25:04 STATE: test-node.js event: image -2022-06-21 13:25:05 STATE: test-node.js event: detect -2022-06-21 13:25:05 STATE: test-node.js event: warmup -2022-06-21 13:25:05 STATE: test-node.js passed: warmup: face default -2022-06-21 13:25:05 DATA:  test-node.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-06-21 13:25:05 DATA:  test-node.js result: performance: load: null total: 1139 -2022-06-21 13:25:05 STATE: test-node.js passed: warmup face result match -2022-06-21 13:25:05 STATE: test-node.js event: image -2022-06-21 13:25:06 STATE: test-node.js event: detect -2022-06-21 13:25:06 STATE: test-node.js event: warmup -2022-06-21 13:25:06 STATE: test-node.js passed: warmup: body default -2022-06-21 13:25:06 DATA:  test-node.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-06-21 13:25:06 DATA:  test-node.js result: performance: load: null total: 807 -2022-06-21 13:25:06 STATE: test-node.js passed: warmup body result match -2022-06-21 13:25:06 STATE: test-node.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-06-21 13:25:06 INFO:  test-node.js test: details verification -2022-06-21 13:25:06 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-06-21 13:25:06 STATE: test-node.js event: image -2022-06-21 13:25:07 STATE: test-node.js event: detect -2022-06-21 13:25:07 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:25:07 DATA:  test-node.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-06-21 13:25:07 DATA:  test-node.js result: performance: load: null total: 807 -2022-06-21 13:25:07 STATE: test-node.js passed: details face length 1 -2022-06-21 13:25:07 STATE: test-node.js passed: details face score 1 0.93 1 -2022-06-21 13:25:07 STATE: test-node.js passed: details face age/gender 23.7 female 0.97 85.47 -2022-06-21 13:25:07 STATE: test-node.js passed: details face arrays 4 478 1024 -2022-06-21 13:25:07 STATE: test-node.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} -2022-06-21 13:25:07 STATE: test-node.js passed: details face anti-spoofing 0.79 -2022-06-21 13:25:07 STATE: test-node.js passed: details face liveness 0.83 -2022-06-21 13:25:07 STATE: test-node.js passed: details body length 1 -2022-06-21 13:25:07 STATE: test-node.js passed: details body 0.92 17 6 -2022-06-21 13:25:07 STATE: test-node.js passed: details hand length 1 -2022-06-21 13:25:07 STATE: test-node.js passed: details hand 0.51 0.73 point -2022-06-21 13:25:07 STATE: test-node.js passed: details hand arrays 21 5 7 -2022-06-21 13:25:07 STATE: test-node.js passed: details gesture length 7 -2022-06-21 13:25:07 STATE: test-node.js passed: details gesture first {"face":0,"gesture":"facing right"} -2022-06-21 13:25:07 STATE: test-node.js passed: details object length 1 -2022-06-21 13:25:07 STATE: test-node.js passed: details object 0.72 person -2022-06-21 13:25:08 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996800} -2022-06-21 13:25:08 STATE: test-node.js event: image -2022-06-21 13:25:08 STATE: test-node.js event: detect -2022-06-21 13:25:08 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2022-06-21 13:25:09 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996800} -2022-06-21 13:25:09 STATE: test-node.js event: image -2022-06-21 13:25:10 STATE: test-node.js event: detect -2022-06-21 13:25:10 STATE: test-node.js passed: tensor shape: [1200,1200,4] dtype: float32 -2022-06-21 13:25:10 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-06-21 13:25:10 STATE: test-node.js event: image -2022-06-21 13:25:11 STATE: test-node.js event: detect -2022-06-21 13:25:11 STATE: test-node.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2022-06-21 13:25:11 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796864} -2022-06-21 13:25:11 STATE: test-node.js event: image -2022-06-21 13:25:12 STATE: test-node.js event: detect -2022-06-21 13:25:12 STATE: test-node.js passed: tensor shape: [1200,1200,3] dtype: float32 -2022-06-21 13:25:12 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2022-06-21 13:25:12 STATE: test-node.js event: image -2022-06-21 13:25:13 STATE: test-node.js event: detect -2022-06-21 13:25:13 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2022-06-21 13:25:13 INFO:  test-node.js test default -2022-06-21 13:25:14 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-06-21 13:25:14 STATE: test-node.js event: image -2022-06-21 13:25:14 STATE: test-node.js event: detect -2022-06-21 13:25:14 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:25:14 DATA:  test-node.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-06-21 13:25:14 DATA:  test-node.js result: performance: load: null total: 775 -2022-06-21 13:25:14 STATE: test-node.js passed: default result face match 1 female 0.97 -2022-06-21 13:25:14 INFO:  test-node.js test sync -2022-06-21 13:25:15 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-06-21 13:25:15 STATE: test-node.js event: image -2022-06-21 13:25:16 STATE: test-node.js event: detect -2022-06-21 13:25:16 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:25:16 DATA:  test-node.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-06-21 13:25:16 DATA:  test-node.js result: performance: load: null total: 698 -2022-06-21 13:25:16 STATE: test-node.js passed: default sync 1 female 0.97 -2022-06-21 13:25:16 INFO:  test-node.js test: image process -2022-06-21 13:25:16 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-06-21 13:25:16 STATE: test-node.js passed: image input null [1,256,256,3] -2022-06-21 13:25:16 INFO:  test-node.js test: image null -2022-06-21 13:25:16 STATE: test-node.js passed: invalid input could not convert input to tensor -2022-06-21 13:25:16 INFO:  test-node.js test face similarity -2022-06-21 13:25:16 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-06-21 13:25:16 STATE: test-node.js event: image -2022-06-21 13:25:16 STATE: test-node.js event: detect -2022-06-21 13:25:16 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default -2022-06-21 13:25:16 DATA:  test-node.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-06-21 13:25:16 DATA:  test-node.js result: performance: load: null total: 660 -2022-06-21 13:25:17 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-06-21 13:25:17 STATE: test-node.js event: image -2022-06-21 13:25:17 STATE: test-node.js event: detect -2022-06-21 13:25:17 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:25:17 DATA:  test-node.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-06-21 13:25:17 DATA:  test-node.js result: performance: load: null total: 774 -2022-06-21 13:25:18 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-06-21 13:25:18 STATE: test-node.js event: image -2022-06-21 13:25:18 STATE: test-node.js event: detect -2022-06-21 13:25:18 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default -2022-06-21 13:25:18 DATA:  test-node.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-06-21 13:25:18 DATA:  test-node.js result: performance: load: null total: 664 -2022-06-21 13:25:18 STATE: test-node.js passed: face descriptor -2022-06-21 13:25:18 STATE: test-node.js passed: face similarity {"similarity":[1,0.4472745247000152,0.5567936245749119],"descriptors":[1024,1024,1024]} -2022-06-21 13:25:18 INFO:  test-node.js test face matching -2022-06-21 13:25:18 STATE: test-node.js passed: face database 40 -2022-06-21 13:25:18 STATE: test-node.js passed: face match {"first":{"index":4,"similarity":0.7827852558898505}} {"second":{"index":4,"similarity":0.5002052739762872}} {"third":{"index":4,"similarity":0.540158816589795}} -2022-06-21 13:25:18 INFO:  test-node.js test object -2022-06-21 13:25:19 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-06-21 13:25:19 STATE: test-node.js event: image -2022-06-21 13:25:20 STATE: test-node.js event: detect -2022-06-21 13:25:20 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:25:20 DATA:  test-node.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-06-21 13:25:20 DATA:  test-node.js result: performance: load: null total: 706 -2022-06-21 13:25:20 STATE: test-node.js passed: object result match -2022-06-21 13:25:20 INFO:  test-node.js test sensitive -2022-06-21 13:25:20 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-06-21 13:25:20 STATE: test-node.js event: image -2022-06-21 13:25:21 STATE: test-node.js event: detect -2022-06-21 13:25:21 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:25:21 DATA:  test-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-06-21 13:25:21 DATA:  test-node.js result: performance: load: null total: 824 -2022-06-21 13:25:21 STATE: test-node.js passed: sensitive result match -2022-06-21 13:25:21 STATE: test-node.js passed: sensitive face result match -2022-06-21 13:25:21 STATE: test-node.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] -2022-06-21 13:25:21 STATE: test-node.js passed: sensitive body result match -2022-06-21 13:25:21 STATE: test-node.js passed: sensitive hand result match -2022-06-21 13:25:21 INFO:  test-node.js test detectors -2022-06-21 13:25:22 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-06-21 13:25:22 STATE: test-node.js event: image -2022-06-21 13:25:22 STATE: test-node.js event: detect -2022-06-21 13:25:22 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:25:22 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-06-21 13:25:22 DATA:  test-node.js result: performance: load: null total: 536 -2022-06-21 13:25:22 STATE: test-node.js passed: detector result face match -2022-06-21 13:25:22 STATE: test-node.js passed: detector result hand match -2022-06-21 13:25:22 INFO:  test-node.js test: multi-instance -2022-06-21 13:25:22 STATE: test-node.js event: image -2022-06-21 13:25:23 STATE: test-node.js event: detect -2022-06-21 13:25:23 STATE: test-node.js passed: detect: random default -2022-06-21 13:25:23 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0.07,"keypoints":15} -2022-06-21 13:25:23 DATA:  test-node.js result: performance: load: null total: 459 -2022-06-21 13:25:23 INFO:  test-node.js test: first instance -2022-06-21 13:25:23 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-06-21 13:25:23 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default -2022-06-21 13:25:23 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2022-06-21 13:25:23 DATA:  test-node.js result: performance: load: null total: 448 -2022-06-21 13:25:23 INFO:  test-node.js test: second instance -2022-06-21 13:25:23 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-06-21 13:25:24 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default -2022-06-21 13:25:24 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2022-06-21 13:25:24 DATA:  test-node.js result: performance: load: null total: 487 -2022-06-21 13:25:24 INFO:  test-node.js test: concurrent -2022-06-21 13:25:24 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-06-21 13:25:24 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-06-21 13:25:24 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-06-21 13:25:25 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-06-21 13:25:25 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-06-21 13:25:25 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-06-21 13:25:25 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-06-21 13:25:26 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-06-21 13:25:26 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-06-21 13:25:26 STATE: test-node.js event: image -2022-06-21 13:25:26 STATE: test-node.js event: image -2022-06-21 13:25:26 STATE: test-node.js event: image -2022-06-21 13:25:30 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default -2022-06-21 13:25:30 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2022-06-21 13:25:30 DATA:  test-node.js result: performance: load: null total: 4313 -2022-06-21 13:25:30 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default -2022-06-21 13:25:30 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2022-06-21 13:25:30 DATA:  test-node.js result: performance: load: null total: 4313 -2022-06-21 13:25:30 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default -2022-06-21 13:25:30 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} -2022-06-21 13:25:30 DATA:  test-node.js result: performance: load: null total: 4726 -2022-06-21 13:25:30 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default -2022-06-21 13:25:30 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} -2022-06-21 13:25:30 DATA:  test-node.js result: performance: load: null total: 4726 -2022-06-21 13:25:30 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:25:30 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-06-21 13:25:30 DATA:  test-node.js result: performance: load: null total: 4726 -2022-06-21 13:25:30 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:25:30 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-06-21 13:25:30 DATA:  test-node.js result: performance: load: null total: 4726 -2022-06-21 13:25:30 STATE: test-node.js event: detect -2022-06-21 13:25:30 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default -2022-06-21 13:25:30 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2022-06-21 13:25:30 DATA:  test-node.js result: performance: load: null total: 4083 -2022-06-21 13:25:30 STATE: test-node.js event: detect -2022-06-21 13:25:30 STATE: test-node.js event: detect -2022-06-21 13:25:30 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default -2022-06-21 13:25:30 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} -2022-06-21 13:25:30 DATA:  test-node.js result: performance: load: null total: 4083 -2022-06-21 13:25:30 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:25:30 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-06-21 13:25:30 DATA:  test-node.js result: performance: load: null total: 4083 -2022-06-21 13:25:30 INFO:  test-node.js test: monkey-patch -2022-06-21 13:25:30 STATE: test-node.js event: image -2022-06-21 13:25:30 STATE: test-node.js event: detect -2022-06-21 13:25:30 STATE: test-node.js passed: monkey patch -2022-06-21 13:25:30 STATE: test-node.js passed: segmentation [65536] -2022-06-21 13:25:30 STATE: test-node.js passeed: equal usage -2022-06-21 13:25:30 INFO:  test-node.js test: input compare -2022-06-21 13:25:31 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-06-21 13:25:31 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-06-21 13:25:31 STATE: test-node.js passed: image compare 0 23.275441687091504 -2022-06-21 13:25:31 INFO:  test-node.js events: {"image":21,"detect":21,"warmup":2} -2022-06-21 13:25:31 INFO:  test-node.js tensors 1927 -2022-06-21 13:25:31 INFO:  test-node.js test complete: 27590 ms -2022-06-21 13:25:31 INFO:  -2022-06-21 13:25:31 INFO:  test-node-gpu.js start -2022-06-21 13:25:35 INFO:  test-node-gpu.js test: configuration validation -2022-06-21 13:25:35 STATE: test-node-gpu.js passed: configuration default validation [] -2022-06-21 13:25:35 STATE: test-node-gpu.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2022-06-21 13:25:35 INFO:  test-node-gpu.js test: model load -2022-06-21 13:25:35 STATE: test-node-gpu.js passed: models loaded 22 12 [{"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":"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":"movenet","loaded":true,"url":"file://models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"segmentation","loaded":true,"url":"file://models/selfie.json"},{"name":"antispoof","loaded":true,"url":"file://models/antispoof.json"}] -2022-06-21 13:25:35 INFO:  test-node-gpu.js test: warmup -2022-06-21 13:25:35 STATE: test-node-gpu.js passed: create human -2022-06-21 13:25:35 INFO:  test-node-gpu.js human version: 2.8.1 -2022-06-21 13:25:35 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v17.2.0 -2022-06-21 13:25:35 INFO:  test-node-gpu.js tfjs version: 3.18.0 -2022-06-21 13:25:35 INFO:  test-node-gpu.js tensorflow binding version: 2.7.0-dev20211101 -2022-06-21 13:25:35 STATE: test-node-gpu.js passed: set backend: tensorflow -2022-06-21 13:25:35 STATE: test-node-gpu.js tensors 1921 -2022-06-21 13:25:35 STATE: test-node-gpu.js passed: load models -2022-06-21 13:25:35 STATE: test-node-gpu.js result: defined models: 22 loaded models: 12 -2022-06-21 13:25:35 STATE: test-node-gpu.js passed: warmup: none default -2022-06-21 13:25:35 DATA:  test-node-gpu.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2022-06-21 13:25:35 DATA:  test-node-gpu.js result: performance: load: null total: null -2022-06-21 13:25:35 STATE: test-node-gpu.js passed: warmup none result match -2022-06-21 13:25:36 STATE: test-node-gpu.js event: image -2022-06-21 13:25:43 STATE: test-node-gpu.js event: detect -2022-06-21 13:25:43 STATE: test-node-gpu.js event: warmup -2022-06-21 13:25:43 STATE: test-node-gpu.js passed: warmup: face default -2022-06-21 13:25:43 DATA:  test-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-06-21 13:25:43 DATA:  test-node-gpu.js result: performance: load: null total: 7725 -2022-06-21 13:25:43 STATE: test-node-gpu.js passed: warmup face result match -2022-06-21 13:25:43 STATE: test-node-gpu.js event: image -2022-06-21 13:25:44 STATE: test-node-gpu.js event: detect -2022-06-21 13:25:44 STATE: test-node-gpu.js event: warmup -2022-06-21 13:25:44 STATE: test-node-gpu.js passed: warmup: body default -2022-06-21 13:25:44 DATA:  test-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-06-21 13:25:44 DATA:  test-node-gpu.js result: performance: load: null total: 491 -2022-06-21 13:25:44 STATE: test-node-gpu.js passed: warmup body result match -2022-06-21 13:25:44 STATE: test-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-06-21 13:25:44 INFO:  test-node-gpu.js test: details verification -2022-06-21 13:25:44 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-06-21 13:25:44 STATE: test-node-gpu.js event: image -2022-06-21 13:25:45 STATE: test-node-gpu.js event: detect -2022-06-21 13:25:45 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:25:45 DATA:  test-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-06-21 13:25:45 DATA:  test-node-gpu.js result: performance: load: null total: 475 -2022-06-21 13:25:45 STATE: test-node-gpu.js passed: details face length 1 -2022-06-21 13:25:45 STATE: test-node-gpu.js passed: details face score 1 0.93 1 -2022-06-21 13:25:45 STATE: test-node-gpu.js passed: details face age/gender 23.7 female 0.97 85.47 -2022-06-21 13:25:45 STATE: test-node-gpu.js passed: details face arrays 4 478 1024 -2022-06-21 13:25:45 STATE: test-node-gpu.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} -2022-06-21 13:25:45 STATE: test-node-gpu.js passed: details face anti-spoofing 0.79 -2022-06-21 13:25:45 STATE: test-node-gpu.js passed: details face liveness 0.83 -2022-06-21 13:25:45 STATE: test-node-gpu.js passed: details body length 1 -2022-06-21 13:25:45 STATE: test-node-gpu.js passed: details body 0.92 17 6 -2022-06-21 13:25:45 STATE: test-node-gpu.js passed: details hand length 1 -2022-06-21 13:25:45 STATE: test-node-gpu.js passed: details hand 0.51 0.73 point -2022-06-21 13:25:45 STATE: test-node-gpu.js passed: details hand arrays 21 5 7 -2022-06-21 13:25:45 STATE: test-node-gpu.js passed: details gesture length 7 -2022-06-21 13:25:45 STATE: test-node-gpu.js passed: details gesture first {"face":0,"gesture":"facing right"} -2022-06-21 13:25:45 STATE: test-node-gpu.js passed: details object length 1 -2022-06-21 13:25:45 STATE: test-node-gpu.js passed: details object 0.72 person -2022-06-21 13:25:45 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} -2022-06-21 13:25:45 STATE: test-node-gpu.js event: image -2022-06-21 13:25:46 STATE: test-node-gpu.js event: detect -2022-06-21 13:25:46 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2022-06-21 13:25:46 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} -2022-06-21 13:25:46 STATE: test-node-gpu.js event: image -2022-06-21 13:25:47 STATE: test-node-gpu.js event: detect -2022-06-21 13:25:47 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,4] dtype: float32 -2022-06-21 13:25:47 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-06-21 13:25:47 STATE: test-node-gpu.js event: image -2022-06-21 13:25:48 STATE: test-node-gpu.js event: detect -2022-06-21 13:25:48 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2022-06-21 13:25:48 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796928} -2022-06-21 13:25:48 STATE: test-node-gpu.js event: image -2022-06-21 13:25:49 STATE: test-node-gpu.js event: detect -2022-06-21 13:25:49 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,3] dtype: float32 -2022-06-21 13:25:49 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2022-06-21 13:25:49 STATE: test-node-gpu.js event: image -2022-06-21 13:25:50 STATE: test-node-gpu.js event: detect -2022-06-21 13:25:50 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2022-06-21 13:25:50 INFO:  test-node-gpu.js test default -2022-06-21 13:25:50 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-06-21 13:25:50 STATE: test-node-gpu.js event: image -2022-06-21 13:25:50 STATE: test-node-gpu.js event: detect -2022-06-21 13:25:50 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:25:50 DATA:  test-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-06-21 13:25:50 DATA:  test-node-gpu.js result: performance: load: null total: 382 -2022-06-21 13:25:50 STATE: test-node-gpu.js passed: default result face match 1 female 0.97 -2022-06-21 13:25:50 INFO:  test-node-gpu.js test sync -2022-06-21 13:25:51 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-06-21 13:25:51 STATE: test-node-gpu.js event: image -2022-06-21 13:25:51 STATE: test-node-gpu.js event: detect -2022-06-21 13:25:51 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:25:51 DATA:  test-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-06-21 13:25:51 DATA:  test-node-gpu.js result: performance: load: null total: 358 -2022-06-21 13:25:51 STATE: test-node-gpu.js passed: default sync 1 female 0.97 -2022-06-21 13:25:51 INFO:  test-node-gpu.js test: image process -2022-06-21 13:25:51 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-06-21 13:25:51 STATE: test-node-gpu.js passed: image input null [1,256,256,3] -2022-06-21 13:25:51 INFO:  test-node-gpu.js test: image null -2022-06-21 13:25:51 STATE: test-node-gpu.js passed: invalid input could not convert input to tensor -2022-06-21 13:25:51 INFO:  test-node-gpu.js test face similarity -2022-06-21 13:25:51 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-06-21 13:25:51 STATE: test-node-gpu.js event: image -2022-06-21 13:25:52 STATE: test-node-gpu.js event: detect -2022-06-21 13:25:52 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default -2022-06-21 13:25:52 DATA:  test-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-06-21 13:25:52 DATA:  test-node-gpu.js result: performance: load: null total: 456 -2022-06-21 13:25:52 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-06-21 13:25:52 STATE: test-node-gpu.js event: image -2022-06-21 13:25:53 STATE: test-node-gpu.js event: detect -2022-06-21 13:25:53 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:25:53 DATA:  test-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-06-21 13:25:53 DATA:  test-node-gpu.js result: performance: load: null total: 419 -2022-06-21 13:25:53 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} -2022-06-21 13:25:53 STATE: test-node-gpu.js event: image -2022-06-21 13:25:53 STATE: test-node-gpu.js event: detect -2022-06-21 13:25:53 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default -2022-06-21 13:25:53 DATA:  test-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-06-21 13:25:53 DATA:  test-node-gpu.js result: performance: load: null total: 373 -2022-06-21 13:25:53 STATE: test-node-gpu.js passed: face descriptor -2022-06-21 13:25:53 STATE: test-node-gpu.js passed: face similarity {"similarity":[1,0.4472730624823651,0.5567935642722007],"descriptors":[1024,1024,1024]} -2022-06-21 13:25:53 INFO:  test-node-gpu.js test face matching -2022-06-21 13:25:53 STATE: test-node-gpu.js passed: face database 40 -2022-06-21 13:25:53 STATE: test-node-gpu.js passed: face match {"first":{"index":4,"similarity":0.7827852707971928}} {"second":{"index":4,"similarity":0.5002048297115949}} {"third":{"index":4,"similarity":0.540158590980338}} -2022-06-21 13:25:53 INFO:  test-node-gpu.js test object -2022-06-21 13:25:54 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-06-21 13:25:54 STATE: test-node-gpu.js event: image -2022-06-21 13:25:54 STATE: test-node-gpu.js event: detect -2022-06-21 13:25:54 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:25:54 DATA:  test-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-06-21 13:25:54 DATA:  test-node-gpu.js result: performance: load: null total: 495 -2022-06-21 13:25:54 STATE: test-node-gpu.js passed: object result match -2022-06-21 13:25:54 INFO:  test-node-gpu.js test sensitive -2022-06-21 13:25:55 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-06-21 13:25:55 STATE: test-node-gpu.js event: image -2022-06-21 13:25:55 STATE: test-node-gpu.js event: detect -2022-06-21 13:25:55 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:25:55 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-06-21 13:25:55 DATA:  test-node-gpu.js result: performance: load: null total: 432 -2022-06-21 13:25:55 STATE: test-node-gpu.js passed: sensitive result match -2022-06-21 13:25:55 STATE: test-node-gpu.js passed: sensitive face result match -2022-06-21 13:25:55 STATE: test-node-gpu.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] -2022-06-21 13:25:55 STATE: test-node-gpu.js passed: sensitive body result match -2022-06-21 13:25:55 STATE: test-node-gpu.js passed: sensitive hand result match -2022-06-21 13:25:55 INFO:  test-node-gpu.js test detectors -2022-06-21 13:25:55 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-06-21 13:25:55 STATE: test-node-gpu.js event: image -2022-06-21 13:25:56 STATE: test-node-gpu.js event: detect -2022-06-21 13:25:56 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:25:56 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-06-21 13:25:56 DATA:  test-node-gpu.js result: performance: load: null total: 280 -2022-06-21 13:25:56 STATE: test-node-gpu.js passed: detector result face match -2022-06-21 13:25:56 STATE: test-node-gpu.js passed: detector result hand match -2022-06-21 13:25:56 INFO:  test-node-gpu.js test: multi-instance -2022-06-21 13:25:56 STATE: test-node-gpu.js event: image -2022-06-21 13:25:56 STATE: test-node-gpu.js event: detect -2022-06-21 13:25:56 STATE: test-node-gpu.js passed: detect: random default -2022-06-21 13:25:56 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0.07,"keypoints":15} -2022-06-21 13:25:56 DATA:  test-node-gpu.js result: performance: load: null total: 212 -2022-06-21 13:25:56 INFO:  test-node-gpu.js test: first instance -2022-06-21 13:25:56 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} -2022-06-21 13:25:56 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default -2022-06-21 13:25:56 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2022-06-21 13:25:56 DATA:  test-node-gpu.js result: performance: load: null total: 193 -2022-06-21 13:25:56 INFO:  test-node-gpu.js test: second instance -2022-06-21 13:25:57 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} -2022-06-21 13:25:57 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default -2022-06-21 13:25:57 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2022-06-21 13:25:57 DATA:  test-node-gpu.js result: performance: load: null total: 208 -2022-06-21 13:25:57 INFO:  test-node-gpu.js test: concurrent -2022-06-21 13:25:57 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-06-21 13:25:57 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-06-21 13:25:57 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-06-21 13:25:58 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-06-21 13:25:58 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} -2022-06-21 13:25:58 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} -2022-06-21 13:25:58 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-06-21 13:25:59 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-06-21 13:25:59 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} -2022-06-21 13:25:59 STATE: test-node-gpu.js event: image -2022-06-21 13:25:59 STATE: test-node-gpu.js event: image -2022-06-21 13:25:59 STATE: test-node-gpu.js event: image -2022-06-21 13:26:01 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default -2022-06-21 13:26:01 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2022-06-21 13:26:01 DATA:  test-node-gpu.js result: performance: load: null total: 2412 -2022-06-21 13:26:01 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default -2022-06-21 13:26:01 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2022-06-21 13:26:01 DATA:  test-node-gpu.js result: performance: load: null total: 2412 -2022-06-21 13:26:01 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default -2022-06-21 13:26:01 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} -2022-06-21 13:26:01 DATA:  test-node-gpu.js result: performance: load: null total: 2551 -2022-06-21 13:26:01 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default -2022-06-21 13:26:01 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} -2022-06-21 13:26:01 DATA:  test-node-gpu.js result: performance: load: null total: 2551 -2022-06-21 13:26:01 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:26:01 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-06-21 13:26:01 DATA:  test-node-gpu.js result: performance: load: null total: 2551 -2022-06-21 13:26:01 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:26:01 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-06-21 13:26:01 DATA:  test-node-gpu.js result: performance: load: null total: 2551 -2022-06-21 13:26:01 STATE: test-node-gpu.js event: detect -2022-06-21 13:26:01 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default -2022-06-21 13:26:01 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2022-06-21 13:26:01 DATA:  test-node-gpu.js result: performance: load: null total: 1869 -2022-06-21 13:26:01 STATE: test-node-gpu.js event: detect -2022-06-21 13:26:01 STATE: test-node-gpu.js event: detect -2022-06-21 13:26:01 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default -2022-06-21 13:26:01 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} -2022-06-21 13:26:01 DATA:  test-node-gpu.js result: performance: load: null total: 1869 -2022-06-21 13:26:01 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:26:01 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-06-21 13:26:01 DATA:  test-node-gpu.js result: performance: load: null total: 1869 -2022-06-21 13:26:01 INFO:  test-node-gpu.js test: monkey-patch -2022-06-21 13:26:01 STATE: test-node-gpu.js event: image -2022-06-21 13:26:01 STATE: test-node-gpu.js event: detect -2022-06-21 13:26:01 STATE: test-node-gpu.js passed: monkey patch -2022-06-21 13:26:01 STATE: test-node-gpu.js passed: segmentation [65536] -2022-06-21 13:26:01 STATE: test-node-gpu.js passeed: equal usage -2022-06-21 13:26:01 INFO:  test-node-gpu.js test: input compare -2022-06-21 13:26:01 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-06-21 13:26:02 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-06-21 13:26:02 STATE: test-node-gpu.js passed: image compare 0 23.275441687091504 -2022-06-21 13:26:02 INFO:  test-node-gpu.js events: {"image":21,"detect":21,"warmup":2} -2022-06-21 13:26:02 INFO:  test-node-gpu.js tensors 1927 -2022-06-21 13:26:02 INFO:  test-node-gpu.js test complete: 26951 ms -2022-06-21 13:26:03 INFO:  -2022-06-21 13:26:03 INFO:  test-node-wasm.js start -2022-06-21 13:26:04 STATE: test-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/ -2022-06-21 13:26:04 INFO:  test-node-wasm.js test: configuration validation -2022-06-21 13:26:04 STATE: test-node-wasm.js passed: configuration default validation [] -2022-06-21 13:26:04 STATE: test-node-wasm.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2022-06-21 13:26:04 INFO:  test-node-wasm.js test: model load -2022-06-21 13:26:13 STATE: test-node-wasm.js passed: models loaded 22 12 [{"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/mb3-centernet.json"},{"name":"efficientpose","loaded":false,"url":null},{"name":"mobilefacenet","loaded":false,"url":null},{"name":"emotion","loaded":true,"url":"https://vladmandic.github.io/human/models/emotion.json"},{"name":"facedetect","loaded":true,"url":"https://vladmandic.github.io/human/models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"https://vladmandic.github.io/human/models/iris.json"},{"name":"facemesh","loaded":true,"url":"https://vladmandic.github.io/human/models/facemesh.json"},{"name":"faceres","loaded":true,"url":"https://vladmandic.github.io/human/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/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"https://vladmandic.github.io/human/models/handtrack.json"},{"name":"liveness","loaded":true,"url":"https://vladmandic.github.io/human/models/liveness.json"},{"name":"movenet","loaded":true,"url":"https://vladmandic.github.io/human/models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"segmentation","loaded":true,"url":"https://vladmandic.github.io/human/models/selfie.json"},{"name":"antispoof","loaded":true,"url":"https://vladmandic.github.io/human/models/antispoof.json"}] -2022-06-21 13:26:13 INFO:  test-node-wasm.js test: warmup -2022-06-21 13:26:13 STATE: test-node-wasm.js passed: create human -2022-06-21 13:26:13 INFO:  test-node-wasm.js human version: 2.8.1 -2022-06-21 13:26:13 INFO:  test-node-wasm.js platform: linux x64 agent: NodeJS v17.2.0 -2022-06-21 13:26:13 INFO:  test-node-wasm.js tfjs version: 3.18.0 -2022-06-21 13:26:13 STATE: test-node-wasm.js passed: set backend: wasm -2022-06-21 13:26:13 STATE: test-node-wasm.js tensors 1921 -2022-06-21 13:26:13 STATE: test-node-wasm.js passed: load models -2022-06-21 13:26:13 STATE: test-node-wasm.js result: defined models: 22 loaded models: 12 -2022-06-21 13:26:13 STATE: test-node-wasm.js passed: warmup: none default -2022-06-21 13:26:13 DATA:  test-node-wasm.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2022-06-21 13:26:13 DATA:  test-node-wasm.js result: performance: load: null total: null -2022-06-21 13:26:13 STATE: test-node-wasm.js passed: warmup none result match -2022-06-21 13:26:13 STATE: test-node-wasm.js event: image -2022-06-21 13:26:14 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:14 STATE: test-node-wasm.js event: warmup -2022-06-21 13:26:14 STATE: test-node-wasm.js passed: warmup: face default -2022-06-21 13:26:14 DATA:  test-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-06-21 13:26:14 DATA:  test-node-wasm.js result: performance: load: null total: 1219 -2022-06-21 13:26:14 STATE: test-node-wasm.js passed: warmup face result match -2022-06-21 13:26:14 STATE: test-node-wasm.js event: image -2022-06-21 13:26:15 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:15 STATE: test-node-wasm.js event: warmup -2022-06-21 13:26:15 STATE: test-node-wasm.js passed: warmup: body default -2022-06-21 13:26:15 DATA:  test-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-06-21 13:26:15 DATA:  test-node-wasm.js result: performance: load: null total: 716 -2022-06-21 13:26:15 STATE: test-node-wasm.js passed: warmup body result match -2022-06-21 13:26:15 STATE: test-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-06-21 13:26:15 INFO:  test-node-wasm.js test: details verification -2022-06-21 13:26:16 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-06-21 13:26:16 STATE: test-node-wasm.js event: image -2022-06-21 13:26:17 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:17 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:26:17 DATA:  test-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-06-21 13:26:17 DATA:  test-node-wasm.js result: performance: load: null total: 722 -2022-06-21 13:26:17 STATE: test-node-wasm.js passed: details face length 1 -2022-06-21 13:26:17 STATE: test-node-wasm.js passed: details face score 1 0.93 1 -2022-06-21 13:26:17 STATE: test-node-wasm.js passed: details face age/gender 23.7 female 0.97 85.47 -2022-06-21 13:26:17 STATE: test-node-wasm.js passed: details face arrays 4 478 1024 -2022-06-21 13:26:17 STATE: test-node-wasm.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} -2022-06-21 13:26:17 STATE: test-node-wasm.js passed: details face anti-spoofing 0.79 -2022-06-21 13:26:17 STATE: test-node-wasm.js passed: details face liveness 0.83 -2022-06-21 13:26:17 STATE: test-node-wasm.js passed: details body length 1 -2022-06-21 13:26:17 STATE: test-node-wasm.js passed: details body 0.92 17 6 -2022-06-21 13:26:17 STATE: test-node-wasm.js passed: details hand length 1 -2022-06-21 13:26:17 STATE: test-node-wasm.js passed: details hand 0.51 0.73 point -2022-06-21 13:26:17 STATE: test-node-wasm.js passed: details hand arrays 21 5 7 -2022-06-21 13:26:17 STATE: test-node-wasm.js passed: details gesture length 7 -2022-06-21 13:26:17 STATE: test-node-wasm.js passed: details gesture first {"face":0,"gesture":"facing right"} -2022-06-21 13:26:17 STATE: test-node-wasm.js passed: details object length 1 -2022-06-21 13:26:17 STATE: test-node-wasm.js passed: details object 0.72 person -2022-06-21 13:26:17 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1413675264} -2022-06-21 13:26:17 STATE: test-node-wasm.js event: image -2022-06-21 13:26:18 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:18 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2022-06-21 13:26:18 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1413675264} -2022-06-21 13:26:18 STATE: test-node-wasm.js event: image -2022-06-21 13:26:19 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:19 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,4] dtype: float32 -2022-06-21 13:26:20 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-06-21 13:26:20 STATE: test-node-wasm.js event: image -2022-06-21 13:26:21 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:21 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2022-06-21 13:26:21 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1038921856} -2022-06-21 13:26:21 STATE: test-node-wasm.js event: image -2022-06-21 13:26:22 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:22 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,3] dtype: float32 -2022-06-21 13:26:22 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2022-06-21 13:26:22 STATE: test-node-wasm.js event: image -2022-06-21 13:26:23 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:23 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2022-06-21 13:26:23 INFO:  test-node-wasm.js test default -2022-06-21 13:26:24 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-06-21 13:26:24 STATE: test-node-wasm.js event: image -2022-06-21 13:26:25 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:25 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:26:25 DATA:  test-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-06-21 13:26:25 DATA:  test-node-wasm.js result: performance: load: null total: 833 -2022-06-21 13:26:25 STATE: test-node-wasm.js passed: default result face match 1 female 0.97 -2022-06-21 13:26:25 INFO:  test-node-wasm.js test sync -2022-06-21 13:26:25 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-06-21 13:26:25 STATE: test-node-wasm.js event: image -2022-06-21 13:26:26 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:26 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:26:26 DATA:  test-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-06-21 13:26:26 DATA:  test-node-wasm.js result: performance: load: null total: 723 -2022-06-21 13:26:26 STATE: test-node-wasm.js passed: default sync 1 female 0.97 -2022-06-21 13:26:26 INFO:  test-node-wasm.js test: image process -2022-06-21 13:26:26 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-06-21 13:26:26 STATE: test-node-wasm.js passed: image input null [1,256,256,3] -2022-06-21 13:26:26 INFO:  test-node-wasm.js test: image null -2022-06-21 13:26:26 STATE: test-node-wasm.js passed: invalid input could not convert input to tensor -2022-06-21 13:26:26 INFO:  test-node-wasm.js test face similarity -2022-06-21 13:26:26 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-06-21 13:26:26 STATE: test-node-wasm.js event: image -2022-06-21 13:26:27 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:27 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default -2022-06-21 13:26:27 DATA:  test-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-06-21 13:26:27 DATA:  test-node-wasm.js result: performance: load: null total: 635 -2022-06-21 13:26:27 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-06-21 13:26:27 STATE: test-node-wasm.js event: image -2022-06-21 13:26:28 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:28 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:26:28 DATA:  test-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-06-21 13:26:28 DATA:  test-node-wasm.js result: performance: load: null total: 787 -2022-06-21 13:26:28 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-06-21 13:26:28 STATE: test-node-wasm.js event: image -2022-06-21 13:26:29 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:29 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default -2022-06-21 13:26:29 DATA:  test-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-06-21 13:26:29 DATA:  test-node-wasm.js result: performance: load: null total: 592 -2022-06-21 13:26:29 STATE: test-node-wasm.js passed: face descriptor -2022-06-21 13:26:29 STATE: test-node-wasm.js passed: face similarity {"similarity":[1,0.5266119940661309,0.4858842904087851],"descriptors":[1024,1024,1024]} -2022-06-21 13:26:29 INFO:  test-node-wasm.js test face matching -2022-06-21 13:26:29 STATE: test-node-wasm.js passed: face database 40 -2022-06-21 13:26:29 STATE: test-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-06-21 13:26:29 INFO:  test-node-wasm.js test object -2022-06-21 13:26:29 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-06-21 13:26:29 STATE: test-node-wasm.js event: image -2022-06-21 13:26:30 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:30 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:26:30 DATA:  test-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-06-21 13:26:30 DATA:  test-node-wasm.js result: performance: load: null total: 707 -2022-06-21 13:26:30 STATE: test-node-wasm.js passed: object result match -2022-06-21 13:26:30 INFO:  test-node-wasm.js test sensitive -2022-06-21 13:26:31 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-06-21 13:26:31 STATE: test-node-wasm.js event: image -2022-06-21 13:26:31 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:31 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:26:31 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-06-21 13:26:31 DATA:  test-node-wasm.js result: performance: load: null total: 705 -2022-06-21 13:26:31 STATE: test-node-wasm.js passed: sensitive result match -2022-06-21 13:26:31 STATE: test-node-wasm.js passed: sensitive face result match -2022-06-21 13:26:31 STATE: test-node-wasm.js passed: sensitive face emotion result [{"score":0.46,"emotion":"neutral"},{"score":0.24,"emotion":"fear"},{"score":0.17,"emotion":"sad"}] -2022-06-21 13:26:31 STATE: test-node-wasm.js passed: sensitive body result match -2022-06-21 13:26:31 STATE: test-node-wasm.js passed: sensitive hand result match -2022-06-21 13:26:31 INFO:  test-node-wasm.js test detectors -2022-06-21 13:26:32 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-06-21 13:26:32 STATE: test-node-wasm.js event: image -2022-06-21 13:26:32 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:32 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:26:32 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-06-21 13:26:32 DATA:  test-node-wasm.js result: performance: load: null total: 460 -2022-06-21 13:26:32 STATE: test-node-wasm.js passed: detector result face match -2022-06-21 13:26:32 STATE: test-node-wasm.js passed: detector result hand match -2022-06-21 13:26:32 INFO:  test-node-wasm.js test: multi-instance -2022-06-21 13:26:32 STATE: test-node-wasm.js event: image -2022-06-21 13:26:33 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:33 STATE: test-node-wasm.js passed: detect: random default -2022-06-21 13:26:33 DATA:  test-node-wasm.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0.07,"keypoints":15} -2022-06-21 13:26:33 DATA:  test-node-wasm.js result: performance: load: null total: 453 -2022-06-21 13:26:33 INFO:  test-node-wasm.js test: first instance -2022-06-21 13:26:33 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-06-21 13:26:34 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default -2022-06-21 13:26:34 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2022-06-21 13:26:34 DATA:  test-node-wasm.js result: performance: load: null total: 452 -2022-06-21 13:26:34 INFO:  test-node-wasm.js test: second instance -2022-06-21 13:26:34 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-06-21 13:26:34 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default -2022-06-21 13:26:34 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2022-06-21 13:26:34 DATA:  test-node-wasm.js result: performance: load: null total: 499 -2022-06-21 13:26:34 INFO:  test-node-wasm.js test: concurrent -2022-06-21 13:26:34 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-06-21 13:26:34 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-06-21 13:26:35 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-06-21 13:26:35 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-06-21 13:26:36 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-06-21 13:26:36 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-06-21 13:26:36 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-06-21 13:26:36 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-06-21 13:26:37 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-06-21 13:26:37 STATE: test-node-wasm.js event: image -2022-06-21 13:26:37 STATE: test-node-wasm.js event: image -2022-06-21 13:26:37 STATE: test-node-wasm.js event: image -2022-06-21 13:26:40 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default -2022-06-21 13:26:40 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2022-06-21 13:26:40 DATA:  test-node-wasm.js result: performance: load: null total: 4335 -2022-06-21 13:26:40 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default -2022-06-21 13:26:40 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2022-06-21 13:26:40 DATA:  test-node-wasm.js result: performance: load: null total: 4335 -2022-06-21 13:26:41 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default -2022-06-21 13:26:41 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} -2022-06-21 13:26:41 DATA:  test-node-wasm.js result: performance: load: null total: 4803 -2022-06-21 13:26:41 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default -2022-06-21 13:26:41 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} -2022-06-21 13:26:41 DATA:  test-node-wasm.js result: performance: load: null total: 4803 -2022-06-21 13:26:41 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:26:41 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-06-21 13:26:41 DATA:  test-node-wasm.js result: performance: load: null total: 4803 -2022-06-21 13:26:41 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:26:41 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-06-21 13:26:41 DATA:  test-node-wasm.js result: performance: load: null total: 4803 -2022-06-21 13:26:41 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:41 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default -2022-06-21 13:26:41 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2022-06-21 13:26:41 DATA:  test-node-wasm.js result: performance: load: null total: 4040 -2022-06-21 13:26:41 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:41 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:41 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default -2022-06-21 13:26:41 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} -2022-06-21 13:26:41 DATA:  test-node-wasm.js result: performance: load: null total: 4041 -2022-06-21 13:26:41 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2022-06-21 13:26:41 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-06-21 13:26:41 DATA:  test-node-wasm.js result: performance: load: null total: 4041 -2022-06-21 13:26:41 INFO:  test-node-wasm.js test: monkey-patch -2022-06-21 13:26:41 STATE: test-node-wasm.js event: image -2022-06-21 13:26:41 STATE: test-node-wasm.js event: detect -2022-06-21 13:26:41 STATE: test-node-wasm.js passed: monkey patch -2022-06-21 13:26:41 STATE: test-node-wasm.js passed: segmentation [65536] -2022-06-21 13:26:41 STATE: test-node-wasm.js passeed: equal usage -2022-06-21 13:26:41 INFO:  test-node-wasm.js test: input compare -2022-06-21 13:26:41 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-06-21 13:26:42 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-06-21 13:26:42 STATE: test-node-wasm.js passed: image compare 0 23.280073018790848 -2022-06-21 13:26:42 INFO:  test-node-wasm.js events: {"image":21,"detect":21,"warmup":2} -2022-06-21 13:26:42 INFO:  test-node-wasm.js tensors 1929 -2022-06-21 13:26:42 INFO:  test-node-wasm.js test complete: 37886 ms -2022-06-21 13:26:42 INFO:  all tests complete -2022-06-21 13:26:42 INFO:  failed: {"count":0,"messages":[]} -2022-06-21 13:26:42 INFO:  status: {"test":"test-node.js","passed":101,"failed":0} -2022-06-21 13:26:42 INFO:  status: {"test":"test-node-gpu.js","passed":101,"failed":0} -2022-06-21 13:26:42 INFO:  status: {"test":"test-node-wasm.js","passed":102,"failed":0} +2022-07-07 12:08:36 INFO:  @vladmandic/human version 2.8.1 +2022-07-07 12:08:36 INFO:  User: vlado Platform: linux Arch: x64 Node: v17.2.0 +2022-07-07 12:08:36 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"] +2022-07-07 12:08:36 INFO:  demos: ["../demo/nodejs/node.js","../demo/nodejs/node-canvas.js","../demo/nodejs/node-env.js","../demo/nodejs/node-event.js","../demo/nodejs/node-multiprocess.js"] +2022-07-07 12:08:36 INFO:  +2022-07-07 12:08:36 INFO:  test-node.js start +2022-07-07 12:08:37 INFO:  test-node.js test: configuration validation +2022-07-07 12:08:37 STATE: test-node.js passed: configuration default validation [] +2022-07-07 12:08:37 STATE: test-node.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2022-07-07 12:08:37 INFO:  test-node.js test: model load +2022-07-07 12:08:38 STATE: test-node.js passed: models loaded 22 12 [{"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":"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":"movenet","loaded":true,"url":"file://models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"segmentation","loaded":true,"url":"file://models/selfie.json"},{"name":"antispoof","loaded":true,"url":"file://models/antispoof.json"}] +2022-07-07 12:08:38 INFO:  test-node.js test: warmup +2022-07-07 12:08:38 STATE: test-node.js passed: create human +2022-07-07 12:08:38 INFO:  test-node.js human version: 2.8.1 +2022-07-07 12:08:38 INFO:  test-node.js platform: linux x64 agent: NodeJS v17.2.0 +2022-07-07 12:08:38 INFO:  test-node.js tfjs version: 3.18.0 +2022-07-07 12:08:38 INFO:  test-node.js tensorflow binding version: 2.7.0-dev20211101 +2022-07-07 12:08:38 STATE: test-node.js passed: set backend: tensorflow +2022-07-07 12:08:38 STATE: test-node.js tensors 1921 +2022-07-07 12:08:38 STATE: test-node.js passed: load models +2022-07-07 12:08:38 STATE: test-node.js result: defined models: 22 loaded models: 12 +2022-07-07 12:08:38 STATE: test-node.js passed: warmup: none default +2022-07-07 12:08:38 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2022-07-07 12:08:38 DATA:  test-node.js result: performance: load: null total: null +2022-07-07 12:08:38 STATE: test-node.js passed: warmup none result match +2022-07-07 12:08:38 STATE: test-node.js event: image +2022-07-07 12:08:39 STATE: test-node.js event: detect +2022-07-07 12:08:39 STATE: test-node.js event: warmup +2022-07-07 12:08:39 STATE: test-node.js passed: warmup: face default +2022-07-07 12:08:39 DATA:  test-node.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-07-07 12:08:39 DATA:  test-node.js result: performance: load: null total: 1469 +2022-07-07 12:08:39 STATE: test-node.js passed: warmup face result match +2022-07-07 12:08:39 STATE: test-node.js event: image +2022-07-07 12:08:41 STATE: test-node.js event: detect +2022-07-07 12:08:41 STATE: test-node.js event: warmup +2022-07-07 12:08:41 STATE: test-node.js passed: warmup: body default +2022-07-07 12:08:41 DATA:  test-node.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-07-07 12:08:41 DATA:  test-node.js result: performance: load: null total: 1539 +2022-07-07 12:08:41 STATE: test-node.js passed: warmup body result match +2022-07-07 12:08:41 STATE: test-node.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-07-07 12:08:41 INFO:  test-node.js test: details verification +2022-07-07 12:08:41 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-07-07 12:08:41 STATE: test-node.js event: image +2022-07-07 12:08:43 STATE: test-node.js event: detect +2022-07-07 12:08:43 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:08:43 DATA:  test-node.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-07-07 12:08:43 DATA:  test-node.js result: performance: load: null total: 1845 +2022-07-07 12:08:43 STATE: test-node.js passed: details face length 1 +2022-07-07 12:08:43 STATE: test-node.js passed: details face score 1 0.93 1 +2022-07-07 12:08:43 STATE: test-node.js passed: details face age/gender 23.7 female 0.97 85.47 +2022-07-07 12:08:43 STATE: test-node.js passed: details face arrays 4 478 1024 +2022-07-07 12:08:43 STATE: test-node.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} +2022-07-07 12:08:43 STATE: test-node.js passed: details face anti-spoofing 0.79 +2022-07-07 12:08:43 STATE: test-node.js passed: details face liveness 0.83 +2022-07-07 12:08:43 STATE: test-node.js passed: details body length 1 +2022-07-07 12:08:43 STATE: test-node.js passed: details body 0.92 17 6 +2022-07-07 12:08:43 STATE: test-node.js passed: details hand length 1 +2022-07-07 12:08:43 STATE: test-node.js passed: details hand 0.51 0.73 point +2022-07-07 12:08:43 STATE: test-node.js passed: details hand arrays 21 5 7 +2022-07-07 12:08:43 STATE: test-node.js passed: details gesture length 7 +2022-07-07 12:08:43 STATE: test-node.js passed: details gesture first {"face":0,"gesture":"facing right"} +2022-07-07 12:08:43 STATE: test-node.js passed: details object length 1 +2022-07-07 12:08:43 STATE: test-node.js passed: details object 0.72 person +2022-07-07 12:08:44 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996800} +2022-07-07 12:08:44 STATE: test-node.js event: image +2022-07-07 12:08:45 STATE: test-node.js event: detect +2022-07-07 12:08:45 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2022-07-07 12:08:46 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996800} +2022-07-07 12:08:46 STATE: test-node.js event: image +2022-07-07 12:08:47 STATE: test-node.js event: detect +2022-07-07 12:08:47 STATE: test-node.js passed: tensor shape: [1200,1200,4] dtype: float32 +2022-07-07 12:08:48 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-07-07 12:08:48 STATE: test-node.js event: image +2022-07-07 12:08:49 STATE: test-node.js event: detect +2022-07-07 12:08:49 STATE: test-node.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2022-07-07 12:08:50 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796864} +2022-07-07 12:08:50 STATE: test-node.js event: image +2022-07-07 12:08:51 STATE: test-node.js event: detect +2022-07-07 12:08:51 STATE: test-node.js passed: tensor shape: [1200,1200,3] dtype: float32 +2022-07-07 12:08:52 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2022-07-07 12:08:52 STATE: test-node.js event: image +2022-07-07 12:08:53 STATE: test-node.js event: detect +2022-07-07 12:08:53 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2022-07-07 12:08:53 INFO:  test-node.js test default +2022-07-07 12:08:54 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-07-07 12:08:54 STATE: test-node.js event: image +2022-07-07 12:08:55 STATE: test-node.js event: detect +2022-07-07 12:08:55 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:08:55 DATA:  test-node.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-07-07 12:08:55 DATA:  test-node.js result: performance: load: null total: 1204 +2022-07-07 12:08:55 STATE: test-node.js passed: default result face match 1 female 0.97 +2022-07-07 12:08:55 INFO:  test-node.js test sync +2022-07-07 12:08:55 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-07-07 12:08:55 STATE: test-node.js event: image +2022-07-07 12:08:57 STATE: test-node.js event: detect +2022-07-07 12:08:57 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:08:57 DATA:  test-node.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-07-07 12:08:57 DATA:  test-node.js result: performance: load: null total: 1579 +2022-07-07 12:08:57 STATE: test-node.js passed: default sync 1 female 0.97 +2022-07-07 12:08:57 INFO:  test-node.js test: image process +2022-07-07 12:08:57 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-07-07 12:08:57 STATE: test-node.js passed: image input null [1,256,256,3] +2022-07-07 12:08:57 INFO:  test-node.js test: image null +2022-07-07 12:08:57 STATE: test-node.js passed: invalid input could not convert input to tensor +2022-07-07 12:08:57 INFO:  test-node.js test face similarity +2022-07-07 12:08:57 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-07-07 12:08:57 STATE: test-node.js event: image +2022-07-07 12:08:59 STATE: test-node.js event: detect +2022-07-07 12:08:59 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default +2022-07-07 12:08:59 DATA:  test-node.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-07-07 12:08:59 DATA:  test-node.js result: performance: load: null total: 1444 +2022-07-07 12:08:59 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-07-07 12:08:59 STATE: test-node.js event: image +2022-07-07 12:09:01 STATE: test-node.js event: detect +2022-07-07 12:09:01 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:09:01 DATA:  test-node.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-07-07 12:09:01 DATA:  test-node.js result: performance: load: null total: 1594 +2022-07-07 12:09:01 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-07-07 12:09:01 STATE: test-node.js event: image +2022-07-07 12:09:02 STATE: test-node.js event: detect +2022-07-07 12:09:02 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default +2022-07-07 12:09:02 DATA:  test-node.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-07-07 12:09:02 DATA:  test-node.js result: performance: load: null total: 897 +2022-07-07 12:09:02 STATE: test-node.js passed: face descriptor +2022-07-07 12:09:02 STATE: test-node.js passed: face similarity {"similarity":[1,0.4472745247000152,0.5567936245749119],"descriptors":[1024,1024,1024]} +2022-07-07 12:09:02 INFO:  test-node.js test face matching +2022-07-07 12:09:02 STATE: test-node.js passed: face database 40 +2022-07-07 12:09:02 STATE: test-node.js passed: face match {"first":{"index":4,"similarity":0.7827852558898505}} {"second":{"index":4,"similarity":0.5002052739762872}} {"third":{"index":4,"similarity":0.540158816589795}} +2022-07-07 12:09:02 INFO:  test-node.js test object +2022-07-07 12:09:03 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-07-07 12:09:03 STATE: test-node.js event: image +2022-07-07 12:09:05 STATE: test-node.js event: detect +2022-07-07 12:09:05 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:09:05 DATA:  test-node.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-07-07 12:09:05 DATA:  test-node.js result: performance: load: null total: 1500 +2022-07-07 12:09:05 STATE: test-node.js passed: object result match +2022-07-07 12:09:05 INFO:  test-node.js test sensitive +2022-07-07 12:09:05 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-07-07 12:09:05 STATE: test-node.js event: image +2022-07-07 12:09:07 STATE: test-node.js event: detect +2022-07-07 12:09:07 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:09:07 DATA:  test-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-07-07 12:09:07 DATA:  test-node.js result: performance: load: null total: 1641 +2022-07-07 12:09:07 STATE: test-node.js passed: sensitive result match +2022-07-07 12:09:07 STATE: test-node.js passed: sensitive face result match +2022-07-07 12:09:07 STATE: test-node.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] +2022-07-07 12:09:07 STATE: test-node.js passed: sensitive body result match +2022-07-07 12:09:07 STATE: test-node.js passed: sensitive hand result match +2022-07-07 12:09:07 INFO:  test-node.js test detectors +2022-07-07 12:09:08 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-07-07 12:09:08 STATE: test-node.js event: image +2022-07-07 12:09:08 STATE: test-node.js event: detect +2022-07-07 12:09:08 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:09:08 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-07-07 12:09:08 DATA:  test-node.js result: performance: load: null total: 688 +2022-07-07 12:09:08 STATE: test-node.js passed: detector result face match +2022-07-07 12:09:08 STATE: test-node.js passed: detector result hand match +2022-07-07 12:09:08 INFO:  test-node.js test: multi-instance +2022-07-07 12:09:09 STATE: test-node.js event: image +2022-07-07 12:09:09 STATE: test-node.js event: detect +2022-07-07 12:09:09 STATE: test-node.js passed: detect: random default +2022-07-07 12:09:09 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0.07,"keypoints":15} +2022-07-07 12:09:09 DATA:  test-node.js result: performance: load: null total: 903 +2022-07-07 12:09:09 INFO:  test-node.js test: first instance +2022-07-07 12:09:10 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-07-07 12:09:11 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default +2022-07-07 12:09:11 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-07-07 12:09:11 DATA:  test-node.js result: performance: load: null total: 896 +2022-07-07 12:09:11 INFO:  test-node.js test: second instance +2022-07-07 12:09:11 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-07-07 12:09:12 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default +2022-07-07 12:09:12 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-07-07 12:09:12 DATA:  test-node.js result: performance: load: null total: 960 +2022-07-07 12:09:12 INFO:  test-node.js test: concurrent +2022-07-07 12:09:12 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-07-07 12:09:12 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-07-07 12:09:13 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-07-07 12:09:13 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-07-07 12:09:14 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-07-07 12:09:14 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-07-07 12:09:14 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-07-07 12:09:15 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-07-07 12:09:15 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-07-07 12:09:15 STATE: test-node.js event: image +2022-07-07 12:09:15 STATE: test-node.js event: image +2022-07-07 12:09:15 STATE: test-node.js event: image +2022-07-07 12:09:24 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default +2022-07-07 12:09:24 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-07-07 12:09:24 DATA:  test-node.js result: performance: load: null total: 9849 +2022-07-07 12:09:24 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default +2022-07-07 12:09:24 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-07-07 12:09:24 DATA:  test-node.js result: performance: load: null total: 9849 +2022-07-07 12:09:25 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default +2022-07-07 12:09:25 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2022-07-07 12:09:25 DATA:  test-node.js result: performance: load: null total: 10758 +2022-07-07 12:09:25 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default +2022-07-07 12:09:25 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2022-07-07 12:09:25 DATA:  test-node.js result: performance: load: null total: 10758 +2022-07-07 12:09:25 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:09:25 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-07-07 12:09:25 DATA:  test-node.js result: performance: load: null total: 10758 +2022-07-07 12:09:25 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:09:25 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-07-07 12:09:25 DATA:  test-node.js result: performance: load: null total: 10758 +2022-07-07 12:09:25 STATE: test-node.js event: detect +2022-07-07 12:09:25 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default +2022-07-07 12:09:25 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-07-07 12:09:25 DATA:  test-node.js result: performance: load: null total: 9620 +2022-07-07 12:09:25 STATE: test-node.js event: detect +2022-07-07 12:09:25 STATE: test-node.js event: detect +2022-07-07 12:09:25 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default +2022-07-07 12:09:25 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2022-07-07 12:09:25 DATA:  test-node.js result: performance: load: null total: 9621 +2022-07-07 12:09:25 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:09:25 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-07-07 12:09:25 DATA:  test-node.js result: performance: load: null total: 9621 +2022-07-07 12:09:25 INFO:  test-node.js test: monkey-patch +2022-07-07 12:09:25 STATE: test-node.js event: image +2022-07-07 12:09:26 STATE: test-node.js event: detect +2022-07-07 12:09:26 STATE: test-node.js passed: monkey patch +2022-07-07 12:09:26 STATE: test-node.js passed: segmentation [65536] +2022-07-07 12:09:26 STATE: test-node.js passeed: equal usage +2022-07-07 12:09:26 INFO:  test-node.js test: input compare +2022-07-07 12:09:26 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-07-07 12:09:27 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-07-07 12:09:27 STATE: test-node.js passed: image compare 0 23.275441687091504 +2022-07-07 12:09:27 INFO:  test-node.js events: {"image":21,"detect":21,"warmup":2} +2022-07-07 12:09:27 INFO:  test-node.js tensors 1927 +2022-07-07 12:09:27 INFO:  test-node.js test complete: 49571 ms +2022-07-07 12:09:27 INFO:  +2022-07-07 12:09:27 INFO:  test-node-gpu.js start +2022-07-07 12:09:31 INFO:  test-node-gpu.js test: configuration validation +2022-07-07 12:09:31 STATE: test-node-gpu.js passed: configuration default validation [] +2022-07-07 12:09:31 STATE: test-node-gpu.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2022-07-07 12:09:31 INFO:  test-node-gpu.js test: model load +2022-07-07 12:09:32 STATE: test-node-gpu.js passed: models loaded 22 12 [{"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":"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":"movenet","loaded":true,"url":"file://models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"segmentation","loaded":true,"url":"file://models/selfie.json"},{"name":"antispoof","loaded":true,"url":"file://models/antispoof.json"}] +2022-07-07 12:09:32 INFO:  test-node-gpu.js test: warmup +2022-07-07 12:09:32 STATE: test-node-gpu.js passed: create human +2022-07-07 12:09:32 INFO:  test-node-gpu.js human version: 2.8.1 +2022-07-07 12:09:32 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v17.2.0 +2022-07-07 12:09:32 INFO:  test-node-gpu.js tfjs version: 3.18.0 +2022-07-07 12:09:32 INFO:  test-node-gpu.js tensorflow binding version: 2.7.0-dev20211101 +2022-07-07 12:09:32 STATE: test-node-gpu.js passed: set backend: tensorflow +2022-07-07 12:09:32 STATE: test-node-gpu.js tensors 1921 +2022-07-07 12:09:32 STATE: test-node-gpu.js passed: load models +2022-07-07 12:09:32 STATE: test-node-gpu.js result: defined models: 22 loaded models: 12 +2022-07-07 12:09:32 STATE: test-node-gpu.js passed: warmup: none default +2022-07-07 12:09:32 DATA:  test-node-gpu.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2022-07-07 12:09:32 DATA:  test-node-gpu.js result: performance: load: null total: null +2022-07-07 12:09:32 STATE: test-node-gpu.js passed: warmup none result match +2022-07-07 12:09:32 STATE: test-node-gpu.js event: image +2022-07-07 12:09:40 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:40 STATE: test-node-gpu.js event: warmup +2022-07-07 12:09:40 STATE: test-node-gpu.js passed: warmup: face default +2022-07-07 12:09:40 DATA:  test-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-07-07 12:09:40 DATA:  test-node-gpu.js result: performance: load: null total: 7700 +2022-07-07 12:09:40 STATE: test-node-gpu.js passed: warmup face result match +2022-07-07 12:09:40 STATE: test-node-gpu.js event: image +2022-07-07 12:09:40 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:40 STATE: test-node-gpu.js event: warmup +2022-07-07 12:09:40 STATE: test-node-gpu.js passed: warmup: body default +2022-07-07 12:09:40 DATA:  test-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-07-07 12:09:40 DATA:  test-node-gpu.js result: performance: load: null total: 424 +2022-07-07 12:09:40 STATE: test-node-gpu.js passed: warmup body result match +2022-07-07 12:09:40 STATE: test-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-07-07 12:09:40 INFO:  test-node-gpu.js test: details verification +2022-07-07 12:09:41 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-07-07 12:09:41 STATE: test-node-gpu.js event: image +2022-07-07 12:09:41 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:41 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:09:41 DATA:  test-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-07-07 12:09:41 DATA:  test-node-gpu.js result: performance: load: null total: 356 +2022-07-07 12:09:41 STATE: test-node-gpu.js passed: details face length 1 +2022-07-07 12:09:41 STATE: test-node-gpu.js passed: details face score 1 0.93 1 +2022-07-07 12:09:41 STATE: test-node-gpu.js passed: details face age/gender 23.7 female 0.97 85.47 +2022-07-07 12:09:41 STATE: test-node-gpu.js passed: details face arrays 4 478 1024 +2022-07-07 12:09:41 STATE: test-node-gpu.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} +2022-07-07 12:09:41 STATE: test-node-gpu.js passed: details face anti-spoofing 0.79 +2022-07-07 12:09:41 STATE: test-node-gpu.js passed: details face liveness 0.83 +2022-07-07 12:09:41 STATE: test-node-gpu.js passed: details body length 1 +2022-07-07 12:09:41 STATE: test-node-gpu.js passed: details body 0.92 17 6 +2022-07-07 12:09:41 STATE: test-node-gpu.js passed: details hand length 1 +2022-07-07 12:09:41 STATE: test-node-gpu.js passed: details hand 0.51 0.73 point +2022-07-07 12:09:41 STATE: test-node-gpu.js passed: details hand arrays 21 5 7 +2022-07-07 12:09:41 STATE: test-node-gpu.js passed: details gesture length 7 +2022-07-07 12:09:41 STATE: test-node-gpu.js passed: details gesture first {"face":0,"gesture":"facing right"} +2022-07-07 12:09:41 STATE: test-node-gpu.js passed: details object length 1 +2022-07-07 12:09:41 STATE: test-node-gpu.js passed: details object 0.72 person +2022-07-07 12:09:42 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} +2022-07-07 12:09:42 STATE: test-node-gpu.js event: image +2022-07-07 12:09:42 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:42 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2022-07-07 12:09:43 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} +2022-07-07 12:09:43 STATE: test-node-gpu.js event: image +2022-07-07 12:09:43 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:43 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,4] dtype: float32 +2022-07-07 12:09:44 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-07-07 12:09:44 STATE: test-node-gpu.js event: image +2022-07-07 12:09:44 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:44 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2022-07-07 12:09:45 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796928} +2022-07-07 12:09:45 STATE: test-node-gpu.js event: image +2022-07-07 12:09:45 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:45 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,3] dtype: float32 +2022-07-07 12:09:46 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2022-07-07 12:09:46 STATE: test-node-gpu.js event: image +2022-07-07 12:09:46 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:46 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2022-07-07 12:09:46 INFO:  test-node-gpu.js test default +2022-07-07 12:09:46 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-07-07 12:09:46 STATE: test-node-gpu.js event: image +2022-07-07 12:09:47 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:47 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:09:47 DATA:  test-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-07-07 12:09:47 DATA:  test-node-gpu.js result: performance: load: null total: 298 +2022-07-07 12:09:47 STATE: test-node-gpu.js passed: default result face match 1 female 0.97 +2022-07-07 12:09:47 INFO:  test-node-gpu.js test sync +2022-07-07 12:09:47 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-07-07 12:09:47 STATE: test-node-gpu.js event: image +2022-07-07 12:09:48 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:48 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:09:48 DATA:  test-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-07-07 12:09:48 DATA:  test-node-gpu.js result: performance: load: null total: 285 +2022-07-07 12:09:48 STATE: test-node-gpu.js passed: default sync 1 female 0.97 +2022-07-07 12:09:48 INFO:  test-node-gpu.js test: image process +2022-07-07 12:09:48 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-07-07 12:09:48 STATE: test-node-gpu.js passed: image input null [1,256,256,3] +2022-07-07 12:09:48 INFO:  test-node-gpu.js test: image null +2022-07-07 12:09:48 STATE: test-node-gpu.js passed: invalid input could not convert input to tensor +2022-07-07 12:09:48 INFO:  test-node-gpu.js test face similarity +2022-07-07 12:09:48 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-07-07 12:09:48 STATE: test-node-gpu.js event: image +2022-07-07 12:09:48 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:48 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default +2022-07-07 12:09:48 DATA:  test-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-07-07 12:09:48 DATA:  test-node-gpu.js result: performance: load: null total: 295 +2022-07-07 12:09:49 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-07-07 12:09:49 STATE: test-node-gpu.js event: image +2022-07-07 12:09:49 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:49 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:09:49 DATA:  test-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-07-07 12:09:49 DATA:  test-node-gpu.js result: performance: load: null total: 316 +2022-07-07 12:09:49 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} +2022-07-07 12:09:49 STATE: test-node-gpu.js event: image +2022-07-07 12:09:49 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:49 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default +2022-07-07 12:09:49 DATA:  test-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-07-07 12:09:49 DATA:  test-node-gpu.js result: performance: load: null total: 266 +2022-07-07 12:09:49 STATE: test-node-gpu.js passed: face descriptor +2022-07-07 12:09:49 STATE: test-node-gpu.js passed: face similarity {"similarity":[1,0.4472730624823651,0.5567935642722007],"descriptors":[1024,1024,1024]} +2022-07-07 12:09:49 INFO:  test-node-gpu.js test face matching +2022-07-07 12:09:49 STATE: test-node-gpu.js passed: face database 40 +2022-07-07 12:09:49 STATE: test-node-gpu.js passed: face match {"first":{"index":4,"similarity":0.7827852707971928}} {"second":{"index":4,"similarity":0.5002048297115949}} {"third":{"index":4,"similarity":0.540158590980338}} +2022-07-07 12:09:49 INFO:  test-node-gpu.js test object +2022-07-07 12:09:50 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-07-07 12:09:50 STATE: test-node-gpu.js event: image +2022-07-07 12:09:50 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:50 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:09:50 DATA:  test-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-07-07 12:09:50 DATA:  test-node-gpu.js result: performance: load: null total: 362 +2022-07-07 12:09:50 STATE: test-node-gpu.js passed: object result match +2022-07-07 12:09:50 INFO:  test-node-gpu.js test sensitive +2022-07-07 12:09:51 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-07-07 12:09:51 STATE: test-node-gpu.js event: image +2022-07-07 12:09:51 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:51 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:09:51 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-07-07 12:09:51 DATA:  test-node-gpu.js result: performance: load: null total: 346 +2022-07-07 12:09:51 STATE: test-node-gpu.js passed: sensitive result match +2022-07-07 12:09:51 STATE: test-node-gpu.js passed: sensitive face result match +2022-07-07 12:09:51 STATE: test-node-gpu.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] +2022-07-07 12:09:51 STATE: test-node-gpu.js passed: sensitive body result match +2022-07-07 12:09:51 STATE: test-node-gpu.js passed: sensitive hand result match +2022-07-07 12:09:51 INFO:  test-node-gpu.js test detectors +2022-07-07 12:09:52 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-07-07 12:09:52 STATE: test-node-gpu.js event: image +2022-07-07 12:09:52 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:52 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:09:52 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-07-07 12:09:52 DATA:  test-node-gpu.js result: performance: load: null total: 170 +2022-07-07 12:09:52 STATE: test-node-gpu.js passed: detector result face match +2022-07-07 12:09:52 STATE: test-node-gpu.js passed: detector result hand match +2022-07-07 12:09:52 INFO:  test-node-gpu.js test: multi-instance +2022-07-07 12:09:52 STATE: test-node-gpu.js event: image +2022-07-07 12:09:52 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:52 STATE: test-node-gpu.js passed: detect: random default +2022-07-07 12:09:52 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0.07,"keypoints":15} +2022-07-07 12:09:52 DATA:  test-node-gpu.js result: performance: load: null total: 201 +2022-07-07 12:09:52 INFO:  test-node-gpu.js test: first instance +2022-07-07 12:09:53 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} +2022-07-07 12:09:53 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default +2022-07-07 12:09:53 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-07-07 12:09:53 DATA:  test-node-gpu.js result: performance: load: null total: 189 +2022-07-07 12:09:53 INFO:  test-node-gpu.js test: second instance +2022-07-07 12:09:53 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} +2022-07-07 12:09:53 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default +2022-07-07 12:09:53 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-07-07 12:09:53 DATA:  test-node-gpu.js result: performance: load: null total: 159 +2022-07-07 12:09:53 INFO:  test-node-gpu.js test: concurrent +2022-07-07 12:09:53 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-07-07 12:09:53 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-07-07 12:09:54 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-07-07 12:09:54 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-07-07 12:09:55 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} +2022-07-07 12:09:55 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} +2022-07-07 12:09:55 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-07-07 12:09:56 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-07-07 12:09:56 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} +2022-07-07 12:09:56 STATE: test-node-gpu.js event: image +2022-07-07 12:09:56 STATE: test-node-gpu.js event: image +2022-07-07 12:09:56 STATE: test-node-gpu.js event: image +2022-07-07 12:09:57 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default +2022-07-07 12:09:57 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-07-07 12:09:57 DATA:  test-node-gpu.js result: performance: load: null total: 2191 +2022-07-07 12:09:57 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default +2022-07-07 12:09:57 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-07-07 12:09:57 DATA:  test-node-gpu.js result: performance: load: null total: 2191 +2022-07-07 12:09:57 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default +2022-07-07 12:09:57 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2022-07-07 12:09:57 DATA:  test-node-gpu.js result: performance: load: null total: 2313 +2022-07-07 12:09:57 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default +2022-07-07 12:09:57 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2022-07-07 12:09:57 DATA:  test-node-gpu.js result: performance: load: null total: 2313 +2022-07-07 12:09:57 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:09:57 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-07-07 12:09:57 DATA:  test-node-gpu.js result: performance: load: null total: 2313 +2022-07-07 12:09:57 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:09:57 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-07-07 12:09:57 DATA:  test-node-gpu.js result: performance: load: null total: 2313 +2022-07-07 12:09:57 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:57 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default +2022-07-07 12:09:57 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-07-07 12:09:57 DATA:  test-node-gpu.js result: performance: load: null total: 1402 +2022-07-07 12:09:57 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:57 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:57 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default +2022-07-07 12:09:57 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2022-07-07 12:09:57 DATA:  test-node-gpu.js result: performance: load: null total: 1402 +2022-07-07 12:09:57 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:09:57 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-07-07 12:09:57 DATA:  test-node-gpu.js result: performance: load: null total: 1402 +2022-07-07 12:09:57 INFO:  test-node-gpu.js test: monkey-patch +2022-07-07 12:09:57 STATE: test-node-gpu.js event: image +2022-07-07 12:09:57 STATE: test-node-gpu.js event: detect +2022-07-07 12:09:57 STATE: test-node-gpu.js passed: monkey patch +2022-07-07 12:09:58 STATE: test-node-gpu.js passed: segmentation [65536] +2022-07-07 12:09:58 STATE: test-node-gpu.js passeed: equal usage +2022-07-07 12:09:58 INFO:  test-node-gpu.js test: input compare +2022-07-07 12:09:58 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-07-07 12:09:59 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-07-07 12:09:59 STATE: test-node-gpu.js passed: image compare 0 23.275441687091504 +2022-07-07 12:09:59 INFO:  test-node-gpu.js events: {"image":21,"detect":21,"warmup":2} +2022-07-07 12:09:59 INFO:  test-node-gpu.js tensors 1927 +2022-07-07 12:09:59 INFO:  test-node-gpu.js test complete: 28029 ms +2022-07-07 12:10:01 INFO:  +2022-07-07 12:10:01 INFO:  test-node-wasm.js start +2022-07-07 12:10:01 STATE: test-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/ +2022-07-07 12:10:01 INFO:  test-node-wasm.js test: configuration validation +2022-07-07 12:10:01 STATE: test-node-wasm.js passed: configuration default validation [] +2022-07-07 12:10:01 STATE: test-node-wasm.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2022-07-07 12:10:01 INFO:  test-node-wasm.js test: model load +2022-07-07 12:10:11 STATE: test-node-wasm.js passed: models loaded 22 12 [{"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/mb3-centernet.json"},{"name":"efficientpose","loaded":false,"url":null},{"name":"mobilefacenet","loaded":false,"url":null},{"name":"emotion","loaded":true,"url":"https://vladmandic.github.io/human/models/emotion.json"},{"name":"facedetect","loaded":true,"url":"https://vladmandic.github.io/human/models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"https://vladmandic.github.io/human/models/iris.json"},{"name":"facemesh","loaded":true,"url":"https://vladmandic.github.io/human/models/facemesh.json"},{"name":"faceres","loaded":true,"url":"https://vladmandic.github.io/human/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/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"https://vladmandic.github.io/human/models/handtrack.json"},{"name":"liveness","loaded":true,"url":"https://vladmandic.github.io/human/models/liveness.json"},{"name":"movenet","loaded":true,"url":"https://vladmandic.github.io/human/models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"segmentation","loaded":true,"url":"https://vladmandic.github.io/human/models/selfie.json"},{"name":"antispoof","loaded":true,"url":"https://vladmandic.github.io/human/models/antispoof.json"}] +2022-07-07 12:10:11 INFO:  test-node-wasm.js test: warmup +2022-07-07 12:10:11 STATE: test-node-wasm.js passed: create human +2022-07-07 12:10:11 INFO:  test-node-wasm.js human version: 2.8.1 +2022-07-07 12:10:11 INFO:  test-node-wasm.js platform: linux x64 agent: NodeJS v17.2.0 +2022-07-07 12:10:11 INFO:  test-node-wasm.js tfjs version: 3.18.0 +2022-07-07 12:10:11 STATE: test-node-wasm.js passed: set backend: wasm +2022-07-07 12:10:11 STATE: test-node-wasm.js tensors 1921 +2022-07-07 12:10:11 STATE: test-node-wasm.js passed: load models +2022-07-07 12:10:11 STATE: test-node-wasm.js result: defined models: 22 loaded models: 12 +2022-07-07 12:10:11 STATE: test-node-wasm.js passed: warmup: none default +2022-07-07 12:10:11 DATA:  test-node-wasm.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2022-07-07 12:10:11 DATA:  test-node-wasm.js result: performance: load: null total: null +2022-07-07 12:10:11 STATE: test-node-wasm.js passed: warmup none result match +2022-07-07 12:10:11 STATE: test-node-wasm.js event: image +2022-07-07 12:10:13 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:13 STATE: test-node-wasm.js event: warmup +2022-07-07 12:10:13 STATE: test-node-wasm.js passed: warmup: face default +2022-07-07 12:10:13 DATA:  test-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-07-07 12:10:13 DATA:  test-node-wasm.js result: performance: load: null total: 1613 +2022-07-07 12:10:13 STATE: test-node-wasm.js passed: warmup face result match +2022-07-07 12:10:13 STATE: test-node-wasm.js event: image +2022-07-07 12:10:14 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:14 STATE: test-node-wasm.js event: warmup +2022-07-07 12:10:14 STATE: test-node-wasm.js passed: warmup: body default +2022-07-07 12:10:14 DATA:  test-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-07-07 12:10:14 DATA:  test-node-wasm.js result: performance: load: null total: 1185 +2022-07-07 12:10:14 STATE: test-node-wasm.js passed: warmup body result match +2022-07-07 12:10:14 STATE: test-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-07-07 12:10:14 INFO:  test-node-wasm.js test: details verification +2022-07-07 12:10:15 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-07-07 12:10:15 STATE: test-node-wasm.js event: image +2022-07-07 12:10:16 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:16 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:10:16 DATA:  test-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-07-07 12:10:16 DATA:  test-node-wasm.js result: performance: load: null total: 1026 +2022-07-07 12:10:16 STATE: test-node-wasm.js passed: details face length 1 +2022-07-07 12:10:16 STATE: test-node-wasm.js passed: details face score 1 0.93 1 +2022-07-07 12:10:16 STATE: test-node-wasm.js passed: details face age/gender 23.7 female 0.97 85.47 +2022-07-07 12:10:16 STATE: test-node-wasm.js passed: details face arrays 4 478 1024 +2022-07-07 12:10:16 STATE: test-node-wasm.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} +2022-07-07 12:10:16 STATE: test-node-wasm.js passed: details face anti-spoofing 0.79 +2022-07-07 12:10:16 STATE: test-node-wasm.js passed: details face liveness 0.83 +2022-07-07 12:10:16 STATE: test-node-wasm.js passed: details body length 1 +2022-07-07 12:10:16 STATE: test-node-wasm.js passed: details body 0.92 17 6 +2022-07-07 12:10:16 STATE: test-node-wasm.js passed: details hand length 1 +2022-07-07 12:10:16 STATE: test-node-wasm.js passed: details hand 0.51 0.73 point +2022-07-07 12:10:16 STATE: test-node-wasm.js passed: details hand arrays 21 5 7 +2022-07-07 12:10:16 STATE: test-node-wasm.js passed: details gesture length 7 +2022-07-07 12:10:16 STATE: test-node-wasm.js passed: details gesture first {"face":0,"gesture":"facing right"} +2022-07-07 12:10:16 STATE: test-node-wasm.js passed: details object length 1 +2022-07-07 12:10:16 STATE: test-node-wasm.js passed: details object 0.72 person +2022-07-07 12:10:16 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1413675264} +2022-07-07 12:10:17 STATE: test-node-wasm.js event: image +2022-07-07 12:10:18 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:18 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2022-07-07 12:10:18 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1413675264} +2022-07-07 12:10:18 STATE: test-node-wasm.js event: image +2022-07-07 12:10:19 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:19 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,4] dtype: float32 +2022-07-07 12:10:20 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-07-07 12:10:20 STATE: test-node-wasm.js event: image +2022-07-07 12:10:21 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:21 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2022-07-07 12:10:22 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1038921856} +2022-07-07 12:10:22 STATE: test-node-wasm.js event: image +2022-07-07 12:10:23 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:23 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,3] dtype: float32 +2022-07-07 12:10:23 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2022-07-07 12:10:24 STATE: test-node-wasm.js event: image +2022-07-07 12:10:25 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:25 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2022-07-07 12:10:25 INFO:  test-node-wasm.js test default +2022-07-07 12:10:26 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-07-07 12:10:26 STATE: test-node-wasm.js event: image +2022-07-07 12:10:27 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:27 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:10:27 DATA:  test-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-07-07 12:10:27 DATA:  test-node-wasm.js result: performance: load: null total: 1145 +2022-07-07 12:10:27 STATE: test-node-wasm.js passed: default result face match 1 female 0.97 +2022-07-07 12:10:27 INFO:  test-node-wasm.js test sync +2022-07-07 12:10:28 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-07-07 12:10:28 STATE: test-node-wasm.js event: image +2022-07-07 12:10:29 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:29 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:10:29 DATA:  test-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-07-07 12:10:29 DATA:  test-node-wasm.js result: performance: load: null total: 970 +2022-07-07 12:10:29 STATE: test-node-wasm.js passed: default sync 1 female 0.97 +2022-07-07 12:10:29 INFO:  test-node-wasm.js test: image process +2022-07-07 12:10:29 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-07-07 12:10:29 STATE: test-node-wasm.js passed: image input null [1,256,256,3] +2022-07-07 12:10:29 INFO:  test-node-wasm.js test: image null +2022-07-07 12:10:29 STATE: test-node-wasm.js passed: invalid input could not convert input to tensor +2022-07-07 12:10:29 INFO:  test-node-wasm.js test face similarity +2022-07-07 12:10:29 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-07-07 12:10:29 STATE: test-node-wasm.js event: image +2022-07-07 12:10:30 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:30 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default +2022-07-07 12:10:30 DATA:  test-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-07-07 12:10:30 DATA:  test-node-wasm.js result: performance: load: null total: 890 +2022-07-07 12:10:30 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-07-07 12:10:30 STATE: test-node-wasm.js event: image +2022-07-07 12:10:31 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:31 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:10:31 DATA:  test-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-07-07 12:10:31 DATA:  test-node-wasm.js result: performance: load: null total: 947 +2022-07-07 12:10:31 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-07-07 12:10:31 STATE: test-node-wasm.js event: image +2022-07-07 12:10:32 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:32 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default +2022-07-07 12:10:32 DATA:  test-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-07-07 12:10:32 DATA:  test-node-wasm.js result: performance: load: null total: 766 +2022-07-07 12:10:32 STATE: test-node-wasm.js passed: face descriptor +2022-07-07 12:10:32 STATE: test-node-wasm.js passed: face similarity {"similarity":[1,0.5266119940661309,0.4858842904087851],"descriptors":[1024,1024,1024]} +2022-07-07 12:10:32 INFO:  test-node-wasm.js test face matching +2022-07-07 12:10:32 STATE: test-node-wasm.js passed: face database 40 +2022-07-07 12:10:32 STATE: test-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-07-07 12:10:32 INFO:  test-node-wasm.js test object +2022-07-07 12:10:33 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-07-07 12:10:33 STATE: test-node-wasm.js event: image +2022-07-07 12:10:34 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:34 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:10:34 DATA:  test-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-07-07 12:10:34 DATA:  test-node-wasm.js result: performance: load: null total: 959 +2022-07-07 12:10:34 STATE: test-node-wasm.js passed: object result match +2022-07-07 12:10:34 INFO:  test-node-wasm.js test sensitive +2022-07-07 12:10:35 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-07-07 12:10:35 STATE: test-node-wasm.js event: image +2022-07-07 12:10:36 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:36 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:10:36 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-07-07 12:10:36 DATA:  test-node-wasm.js result: performance: load: null total: 994 +2022-07-07 12:10:36 STATE: test-node-wasm.js passed: sensitive result match +2022-07-07 12:10:36 STATE: test-node-wasm.js passed: sensitive face result match +2022-07-07 12:10:36 STATE: test-node-wasm.js passed: sensitive face emotion result [{"score":0.46,"emotion":"neutral"},{"score":0.24,"emotion":"fear"},{"score":0.17,"emotion":"sad"}] +2022-07-07 12:10:36 STATE: test-node-wasm.js passed: sensitive body result match +2022-07-07 12:10:36 STATE: test-node-wasm.js passed: sensitive hand result match +2022-07-07 12:10:36 INFO:  test-node-wasm.js test detectors +2022-07-07 12:10:36 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-07-07 12:10:36 STATE: test-node-wasm.js event: image +2022-07-07 12:10:37 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:37 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:10:37 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-07-07 12:10:37 DATA:  test-node-wasm.js result: performance: load: null total: 577 +2022-07-07 12:10:37 STATE: test-node-wasm.js passed: detector result face match +2022-07-07 12:10:37 STATE: test-node-wasm.js passed: detector result hand match +2022-07-07 12:10:37 INFO:  test-node-wasm.js test: multi-instance +2022-07-07 12:10:37 STATE: test-node-wasm.js event: image +2022-07-07 12:10:38 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:38 STATE: test-node-wasm.js passed: detect: random default +2022-07-07 12:10:38 DATA:  test-node-wasm.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0.08,"keypoints":15} +2022-07-07 12:10:38 DATA:  test-node-wasm.js result: performance: load: null total: 526 +2022-07-07 12:10:38 INFO:  test-node-wasm.js test: first instance +2022-07-07 12:10:38 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-07-07 12:10:39 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default +2022-07-07 12:10:39 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-07-07 12:10:39 DATA:  test-node-wasm.js result: performance: load: null total: 565 +2022-07-07 12:10:39 INFO:  test-node-wasm.js test: second instance +2022-07-07 12:10:39 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-07-07 12:10:40 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default +2022-07-07 12:10:40 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-07-07 12:10:40 DATA:  test-node-wasm.js result: performance: load: null total: 627 +2022-07-07 12:10:40 INFO:  test-node-wasm.js test: concurrent +2022-07-07 12:10:40 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-07-07 12:10:40 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-07-07 12:10:41 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-07-07 12:10:41 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-07-07 12:10:42 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-07-07 12:10:42 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-07-07 12:10:42 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-07-07 12:10:43 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-07-07 12:10:43 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-07-07 12:10:43 STATE: test-node-wasm.js event: image +2022-07-07 12:10:43 STATE: test-node-wasm.js event: image +2022-07-07 12:10:43 STATE: test-node-wasm.js event: image +2022-07-07 12:10:48 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default +2022-07-07 12:10:48 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-07-07 12:10:48 DATA:  test-node-wasm.js result: performance: load: null total: 5829 +2022-07-07 12:10:48 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default +2022-07-07 12:10:48 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-07-07 12:10:48 DATA:  test-node-wasm.js result: performance: load: null total: 5829 +2022-07-07 12:10:48 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default +2022-07-07 12:10:48 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2022-07-07 12:10:48 DATA:  test-node-wasm.js result: performance: load: null total: 6403 +2022-07-07 12:10:48 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default +2022-07-07 12:10:48 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2022-07-07 12:10:48 DATA:  test-node-wasm.js result: performance: load: null total: 6403 +2022-07-07 12:10:48 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:10:48 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-07-07 12:10:48 DATA:  test-node-wasm.js result: performance: load: null total: 6403 +2022-07-07 12:10:48 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:10:48 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-07-07 12:10:48 DATA:  test-node-wasm.js result: performance: load: null total: 6403 +2022-07-07 12:10:48 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:48 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default +2022-07-07 12:10:48 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-07-07 12:10:48 DATA:  test-node-wasm.js result: performance: load: null total: 5431 +2022-07-07 12:10:48 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:48 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:48 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default +2022-07-07 12:10:48 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2022-07-07 12:10:48 DATA:  test-node-wasm.js result: performance: load: null total: 5431 +2022-07-07 12:10:48 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-07-07 12:10:48 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-07-07 12:10:48 DATA:  test-node-wasm.js result: performance: load: null total: 5431 +2022-07-07 12:10:48 INFO:  test-node-wasm.js test: monkey-patch +2022-07-07 12:10:48 STATE: test-node-wasm.js event: image +2022-07-07 12:10:49 STATE: test-node-wasm.js event: detect +2022-07-07 12:10:49 STATE: test-node-wasm.js passed: monkey patch +2022-07-07 12:10:49 STATE: test-node-wasm.js passed: segmentation [65536] +2022-07-07 12:10:49 STATE: test-node-wasm.js passeed: equal usage +2022-07-07 12:10:49 INFO:  test-node-wasm.js test: input compare +2022-07-07 12:10:49 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-07-07 12:10:50 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-07-07 12:10:50 STATE: test-node-wasm.js passed: image compare 0 23.280073018790848 +2022-07-07 12:10:50 INFO:  test-node-wasm.js events: {"image":21,"detect":21,"warmup":2} +2022-07-07 12:10:50 INFO:  test-node-wasm.js tensors 1929 +2022-07-07 12:10:50 INFO:  test-node-wasm.js test complete: 48499 ms +2022-07-07 12:10:50 INFO:  all tests complete +2022-07-07 12:10:50 INFO:  failed: {"count":0,"messages":[]} +2022-07-07 12:10:50 INFO:  status: {"test":"test-node.js","passed":101,"failed":0} +2022-07-07 12:10:50 INFO:  status: {"test":"test-node-gpu.js","passed":101,"failed":0} +2022-07-07 12:10:50 INFO:  status: {"test":"test-node-wasm.js","passed":102,"failed":0}