diff --git a/CHANGELOG.md b/CHANGELOG.md index 180d5eb7..acfcca8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ ## Changelog -### **HEAD -> main** 2022/09/13 mandic00@live.com +### **HEAD -> main** 2022/09/14 mandic00@live.com ### **2.10.2** 2022/09/11 mandic00@live.com diff --git a/README.md b/README.md index dcb16b7d..f2383bc5 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,7 @@ JavaScript module using TensorFlow/JS Machine Learning library - **Full** [[*Live*]](https://vladmandic.github.io/human/demo/index.html) [[*Details*]](https://github.com/vladmandic/human/tree/main/demo): Main browser demo app that showcases all Human capabilities - **Simple** [[*Live*]](https://vladmandic.github.io/human/demo/typescript/index.html) [[*Details*]](https://github.com/vladmandic/human/tree/main/demo/typescript): Simple demo in WebCam processing demo in TypeScript +- **Embedded** [[*Live*]](https://vladmandic.github.io/human/demo/video/index.html) [[*Details*]](https://github.com/vladmandic/human/tree/main/video/index.html): Even simpler demo with tiny code embedded in HTML file - **Face Match** [[*Live*]](https://vladmandic.github.io/human/demo/facematch/index.html) [[*Details*]](https://github.com/vladmandic/human/tree/main/demo/facematch): Extract faces from images, calculates face descriptors and simmilarities and matches them to known database - **Face ID** [[*Live*]](https://vladmandic.github.io/human/demo/faceid/index.html) [[*Details*]](https://github.com/vladmandic/human/tree/main/demo/faceid): Runs multiple checks to validate webcam input before performing face match to faces in IndexDB - **Multi-thread** [[*Live*]](https://vladmandic.github.io/human/demo/multithread/index.html) [[*Details*]](https://github.com/vladmandic/human/tree/main/demo/multithread): Runs each Human module in a separate web worker for highest possible performance @@ -321,7 +322,7 @@ async function detectVideo() { async function drawVideo() { if (result) { // check if result is available - const interpolated = human.next(result); // calculate next interpolated frame + const interpolated = human.next(result); // get smoothened result using last-known results human.draw.all(outputCanvas, interpolated); // draw the frame } requestAnimationFrame(drawVideo); // run draw loop @@ -331,6 +332,23 @@ detectVideo(); // start detection loop drawVideo(); // start draw loop ``` +or same, but using built-in full video processing instead of running manual frame-by-frame loop: + +```js +const human = new Human(); // create instance of Human +const inputVideo = document.getElementById('video-id'); +const outputCanvas = document.getElementById('canvas-id'); + +async function drawResults() { + const interpolated = human.next(); // get smoothened result using last-known results + human.draw.all(outputCanvas, interpolated); // draw the frame + requestAnimationFrame(drawVideo); // run draw loop +} + +human.video(inputVideo); // start detection loop which continously updates results +drawResults(); // start draw loop +``` + And for even better results, you can run detection in a separate web worker thread


diff --git a/TODO.md b/TODO.md index c5eb3606..226cffd3 100644 --- a/TODO.md +++ b/TODO.md @@ -43,5 +43,8 @@ Enable via `about:config` -> `gfx.offscreencanvas.enabled` ## Pending Release Changes -- Enable model cache when using web workers -- Improve NodeJS resolver when using ESM +- New API [`human.video()`](https://vladmandic.github.io/human/typedoc/classes/Human.html#video) + Runs continous detection of an input video instead of processing each frame manually +- New simple demo [*Live*](https://vladmandic.github.io/human/demo/video/index.html) +- Enable model cache when using web workers +- Improve NodeJS resolver when using ESM diff --git a/demo/video/index.html b/demo/video/index.html new file mode 100644 index 00000000..54744b9c --- /dev/null +++ b/demo/video/index.html @@ -0,0 +1,68 @@ + + + + + Human + + + + + + + + + + +

+      
+  
+
diff --git a/package.json b/package.json
index 5641c3e5..a97f338d 100644
--- a/package.json
+++ b/package.json
@@ -66,9 +66,9 @@
     "tensorflow"
   ],
   "devDependencies": {
-    "@html-eslint/eslint-plugin": "^0.13.2",
-    "@html-eslint/parser": "^0.13.2",
-    "@microsoft/api-extractor": "^7.31.0",
+    "@html-eslint/eslint-plugin": "^0.14.1",
+    "@html-eslint/parser": "^0.14.0",
+    "@microsoft/api-extractor": "^7.31.1",
     "@tensorflow/tfjs": "^3.20.0",
     "@tensorflow/tfjs-backend-cpu": "^3.20.0",
     "@tensorflow/tfjs-backend-wasm": "^3.20.0",
diff --git a/src/human.ts b/src/human.ts
index 0fce3fad..35ee2f18 100644
--- a/src/human.ts
+++ b/src/human.ts
@@ -551,6 +551,35 @@ export class Human {
       resolve(this.result);
     });
   }
+
+  /** Helper function
+   * @param ms - sleep time in miliseconds
+   */
+  async sleep(ms: number): Promise { // eslint-disable-line class-methods-use-this
+    return new Promise((resolve) => { setTimeout(resolve, ms); });
+  }
+
+  /** internal structure that keeps track of processed videos @hidden */
+  #loops: Record = {};
+  /** Continously detect video frames
+   * @param element - HTMLVideoElement input
+   * @param run - boolean run continously or stop if already running, default true
+   * @param delay - number delay detection between frames for number of miliseconds, default 0
+   */
+  async video(element: HTMLVideoElement, run: boolean = true, delay: number = 0) {
+    if (run) {
+      if (!this.#loops[element.id]) {
+        if (this.config.debug) log('video start', element.id);
+        this.#loops[element.id] = true;
+      }
+      if (!element.paused && this.#loops[element.id] && (element.readyState >= 2)) await this.detect(element);
+      if (delay > 0) await this.sleep(delay);
+      if (this.#loops[element.id]) requestAnimationFrame(() => this.video(element, run, delay));
+    } else {
+      if (this.config.debug) log('video stop', element.id);
+      this.#loops[element.id] = false;
+    }
+  }
 }
 
 /** Class Human as default export */
diff --git a/test/build.log b/test/build.log
index 9fc75efa..9bfeaa36 100644
--- a/test/build.log
+++ b/test/build.log
@@ -1,39 +1,39 @@
-2022-09-14 11:37:14 DATA:  Build {"name":"@vladmandic/human","version":"2.10.2"} 
-2022-09-14 11:37:14 INFO:  Application: {"name":"@vladmandic/human","version":"2.10.2"} 
-2022-09-14 11:37:14 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true} 
-2022-09-14 11:37:14 INFO:  Toolchain: {"build":"0.7.12","esbuild":"0.15.7","typescript":"4.8.3","typedoc":"0.23.14","eslint":"8.23.1"} 
-2022-09-14 11:37:14 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]} 
-2022-09-14 11:37:14 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]} 
-2022-09-14 11:37:14 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":608} 
-2022-09-14 11:37:14 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":657017,"outputBytes":308794} 
-2022-09-14 11:37:14 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":612} 
-2022-09-14 11:37:14 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":657021,"outputBytes":308798} 
-2022-09-14 11:37:14 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":664} 
-2022-09-14 11:37:14 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":657073,"outputBytes":308848} 
-2022-09-14 11:37:14 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":358} 
-2022-09-14 11:37:14 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1088,"outputBytes":583} 
-2022-09-14 11:37:14 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656992,"outputBytes":307668} 
-2022-09-14 11:37:14 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":1344,"outputBytes":2821914} 
-2022-09-14 11:37:14 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3478323,"outputBytes":1687855} 
-2022-09-14 11:37:15 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3478323,"outputBytes":3109019} 
-2022-09-14 11:37:19 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":15} 
-2022-09-14 11:37:21 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":77,"generated":true} 
-2022-09-14 11:37:21 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":3134} 
-2022-09-14 11:37:21 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":7788} 
-2022-09-14 11:37:32 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":110,"errors":0,"warnings":0} 
-2022-09-14 11:37:32 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"} 
-2022-09-14 11:37:32 STATE: Copy: {"input":"tfjs/tfjs.esm.d.ts"} 
-2022-09-14 11:37:32 INFO:  Done... 
-2022-09-14 11:37:33 STATE: API-Extractor: {"succeeeded":true,"errors":0,"warnings":193} 
-2022-09-14 11:37:33 STATE: Copy: {"input":"types/human.d.ts"} 
-2022-09-14 11:37:33 INFO:  Analyze models: {"folders":8,"result":"models/models.json"} 
-2022-09-14 11:37:33 STATE: Models {"folder":"./models","models":13} 
-2022-09-14 11:37:33 STATE: Models {"folder":"../human-models/models","models":42} 
-2022-09-14 11:37:33 STATE: Models {"folder":"../blazepose/model/","models":4} 
-2022-09-14 11:37:33 STATE: Models {"folder":"../anti-spoofing/model","models":1} 
-2022-09-14 11:37:33 STATE: Models {"folder":"../efficientpose/models","models":3} 
-2022-09-14 11:37:33 STATE: Models {"folder":"../insightface/models","models":5} 
-2022-09-14 11:37:33 STATE: Models {"folder":"../movenet/models","models":3} 
-2022-09-14 11:37:33 STATE: Models {"folder":"../nanodet/models","models":4} 
-2022-09-14 11:37:34 STATE: Models: {"count":57,"totalSize":383017442} 
-2022-09-14 11:37:34 INFO:  Human Build complete... {"logFile":"test/build.log"} 
+2022-09-17 17:17:01 DATA:  Build {"name":"@vladmandic/human","version":"2.10.2"} 
+2022-09-17 17:17:01 INFO:  Application: {"name":"@vladmandic/human","version":"2.10.2"} 
+2022-09-17 17:17:01 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true} 
+2022-09-17 17:17:01 INFO:  Toolchain: {"build":"0.7.12","esbuild":"0.15.7","typescript":"4.8.3","typedoc":"0.23.14","eslint":"8.23.1"} 
+2022-09-17 17:17:01 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]} 
+2022-09-17 17:17:01 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]} 
+2022-09-17 17:17:01 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":608} 
+2022-09-17 17:17:01 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":658253,"outputBytes":309214} 
+2022-09-17 17:17:01 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":612} 
+2022-09-17 17:17:01 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":658257,"outputBytes":309218} 
+2022-09-17 17:17:01 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":664} 
+2022-09-17 17:17:01 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":658309,"outputBytes":309268} 
+2022-09-17 17:17:01 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":358} 
+2022-09-17 17:17:01 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1088,"outputBytes":583} 
+2022-09-17 17:17:01 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":658228,"outputBytes":308088} 
+2022-09-17 17:17:02 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":1344,"outputBytes":2821914} 
+2022-09-17 17:17:02 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3479559,"outputBytes":1688279} 
+2022-09-17 17:17:02 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3479559,"outputBytes":3109891} 
+2022-09-17 17:17:06 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":15} 
+2022-09-17 17:17:09 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":77,"generated":true} 
+2022-09-17 17:17:09 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":3134} 
+2022-09-17 17:17:09 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":7788} 
+2022-09-17 17:17:20 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":110,"errors":0,"warnings":0} 
+2022-09-17 17:17:20 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"} 
+2022-09-17 17:17:20 STATE: Copy: {"input":"tfjs/tfjs.esm.d.ts"} 
+2022-09-17 17:17:20 INFO:  Done... 
+2022-09-17 17:17:21 STATE: API-Extractor: {"succeeeded":true,"errors":0,"warnings":193} 
+2022-09-17 17:17:21 STATE: Copy: {"input":"types/human.d.ts"} 
+2022-09-17 17:17:21 INFO:  Analyze models: {"folders":8,"result":"models/models.json"} 
+2022-09-17 17:17:21 STATE: Models {"folder":"./models","models":13} 
+2022-09-17 17:17:21 STATE: Models {"folder":"../human-models/models","models":42} 
+2022-09-17 17:17:21 STATE: Models {"folder":"../blazepose/model/","models":4} 
+2022-09-17 17:17:21 STATE: Models {"folder":"../anti-spoofing/model","models":1} 
+2022-09-17 17:17:21 STATE: Models {"folder":"../efficientpose/models","models":3} 
+2022-09-17 17:17:21 STATE: Models {"folder":"../insightface/models","models":5} 
+2022-09-17 17:17:21 STATE: Models {"folder":"../movenet/models","models":3} 
+2022-09-17 17:17:21 STATE: Models {"folder":"../nanodet/models","models":4} 
+2022-09-17 17:17:22 STATE: Models: {"count":57,"totalSize":383017442} 
+2022-09-17 17:17:22 INFO:  Human Build complete... {"logFile":"test/build.log"} 
diff --git a/test/test.log b/test/test.log
index 5e7a8c14..0ebba379 100644
--- a/test/test.log
+++ b/test/test.log
@@ -1,999 +1,999 @@
-2022-09-14 11:37:37 INFO:  @vladmandic/human version 2.10.2 
-2022-09-14 11:37:37 INFO:  User: vlado Platform: linux Arch: x64 Node: v18.1.0 
-2022-09-14 11:37:37 INFO:  demos: [{"cmd":"../demo/nodejs/node.js","args":[]},{"cmd":"../demo/nodejs/node-simple.js","args":[]},{"cmd":"../demo/nodejs/node-fetch.js","args":[]},{"cmd":"../demo/nodejs/node-event.js","args":["samples/in/ai-body.jpg"]},{"cmd":"../demo/nodejs/node-similarity.js","args":["samples/in/ai-face.jpg","samples/in/ai-upper.jpg"]},{"cmd":"../demo/nodejs/node-canvas.js","args":["samples/in/ai-body.jpg","samples/out/ai-body.jpg"]},{"cmd":"../demo/multithread/node-multiprocess.js","args":[]},{"cmd":"../demo/facematch/node-match.js","args":[]}] 
-2022-09-14 11:37:37 INFO:  {"cmd":"../demo/nodejs/node.js","args":[]} start 
-2022-09-14 11:37:38 INFO:  {"cmd":"../demo/nodejs/node-simple.js","args":[]} start 
-2022-09-14 11:37:39 INFO:  {"cmd":"../demo/nodejs/node-fetch.js","args":[]} start 
-2022-09-14 11:37:42 INFO:  {"cmd":"../demo/nodejs/node-event.js","args":["samples/in/ai-body.jpg"]} start 
-2022-09-14 11:37:42 INFO:  {"cmd":"../demo/nodejs/node-similarity.js","args":["samples/in/ai-face.jpg","samples/in/ai-upper.jpg"]} start 
-2022-09-14 11:37:43 INFO:  {"cmd":"../demo/nodejs/node-canvas.js","args":["samples/in/ai-body.jpg","samples/out/ai-body.jpg"]} start 
-2022-09-14 11:37:44 INFO:  {"cmd":"../demo/multithread/node-multiprocess.js","args":[]} start 
-2022-09-14 11:37:44 INFO:  {"cmd":"../demo/facematch/node-match.js","args":[]} start 
-2022-09-14 11:37:46 INFO:  tests: ["test-node-load.js","test-node-gear.js","test-backend-node.js","test-backend-node-gpu.js","test-backend-node-wasm.js"] 
-2022-09-14 11:37:46 INFO:  
-2022-09-14 11:37:46 INFO:  test-node-load.js start 
-2022-09-14 11:37:47 INFO:  test-node-load.js load start {"human":"2.10.2","tf":"3.20.0","progress":0} 
-2022-09-14 11:37:47 DATA:  test-node-load.js load interval {"elapsed":0,"progress":0} 
-2022-09-14 11:37:47 DATA:  test-node-load.js load interval {"elapsed":13,"progress":0} 
-2022-09-14 11:37:47 DATA:  test-node-load.js load interval {"elapsed":27,"progress":0.11143791531203556} 
-2022-09-14 11:37:47 DATA:  test-node-load.js load interval {"elapsed":42,"progress":0.3961518088579138} 
-2022-09-14 11:37:47 DATA:  test-node-load.js load interval {"elapsed":69,"progress":0.5125946867158943} 
-2022-09-14 11:37:47 DATA:  test-node-load.js load interval {"elapsed":90,"progress":0.7259096583739463} 
-2022-09-14 11:37:47 STATE: test-node-load.js passed {"progress":1} 
-2022-09-14 11:37:47 INFO:  test-node-load.js load final {"progress":1} 
-2022-09-14 11:37:47 DATA:  test-node-load.js load interval {"elapsed":366,"progress":1} 
-2022-09-14 11:37:47 INFO:  
-2022-09-14 11:37:47 INFO:  test-node-gear.js start 
-2022-09-14 11:37:47 DATA:  test-node-gear.js input: ["samples/in/ai-face.jpg"] 
-2022-09-14 11:37:48 STATE: test-node-gear.js passed: gear faceres samples/in/ai-face.jpg 
-2022-09-14 11:37:48 DATA:  test-node-gear.js results {"face":0,"model":"faceres","image":"samples/in/ai-face.jpg","age":23.5,"gender":"female","genderScore":0.92} 
-2022-09-14 11:37:48 STATE: test-node-gear.js passed: gear gear samples/in/ai-face.jpg 
-2022-09-14 11:37:48 DATA:  test-node-gear.js results {"face":0,"model":"gear","image":"samples/in/ai-face.jpg","age":23.3,"gender":"female","genderScore":0.51,"race":[{"score":0.93,"race":"white"}]} 
-2022-09-14 11:37:48 STATE: test-node-gear.js passed: gear ssrnet samples/in/ai-face.jpg 
-2022-09-14 11:37:48 DATA:  test-node-gear.js results {"face":0,"model":"ssrnet","image":"samples/in/ai-face.jpg","age":23.4,"gender":"female","genderScore":0.99} 
-2022-09-14 11:37:48 INFO:  
-2022-09-14 11:37:48 INFO:  test-backend-node.js start 
-2022-09-14 11:37:49 INFO:  test-backend-node.js test: configuration validation 
-2022-09-14 11:37:49 STATE: test-backend-node.js passed: configuration default validation [] 
-2022-09-14 11:37:49 STATE: test-backend-node.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] 
-2022-09-14 11:37:49 INFO:  test-backend-node.js test: model load 
-2022-09-14 11:37:49 STATE: test-backend-node.js passed: models loaded 23 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":"insightface","loaded":false,"url":null},{"name":"emotion","loaded":true,"url":"file://models/emotion.json"},{"name":"facedetect","loaded":true,"url":"file://models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"file://models/iris.json"},{"name":"facemesh","loaded":true,"url":"file://models/facemesh.json"},{"name":"faceres","loaded":true,"url":"file://models/faceres.json"},{"name":"ssrnetgender","loaded":false,"url":null},{"name":"handpose","loaded":false,"url":null},{"name":"handskeleton","loaded":true,"url":"file://models/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"file://models/handtrack.json"},{"name":"liveness","loaded":true,"url":"file://models/liveness.json"},{"name":"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-09-14 11:37:49 INFO:  test-backend-node.js memory: {"memory":{"unreliable":true,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} 
-2022-09-14 11:37:49 INFO:  test-backend-node.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} 
-2022-09-14 11:37:49 INFO:  test-backend-node.js test: warmup 
-2022-09-14 11:37:49 STATE: test-backend-node.js passed: create human 
-2022-09-14 11:37:49 INFO:  test-backend-node.js human version: 2.10.2 
-2022-09-14 11:37:49 INFO:  test-backend-node.js platform: linux x64 agent: NodeJS v18.1.0 
-2022-09-14 11:37:49 INFO:  test-backend-node.js tfjs version: 3.20.0 
-2022-09-14 11:37:49 INFO:  test-backend-node.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","tensorflow"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{"version":"2.7.3-dev20220521","gpu":false},"wasm":{"supported":true,"backend":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":169} 
-2022-09-14 11:37:49 STATE: test-backend-node.js passed: set backend: tensorflow 
-2022-09-14 11:37:49 STATE: test-backend-node.js tensors 1921 
-2022-09-14 11:37:49 STATE: test-backend-node.js passed: load models 
-2022-09-14 11:37:49 STATE: test-backend-node.js  result: defined models: 23 loaded models: 12 
-2022-09-14 11:37:49 STATE: test-backend-node.js passed: warmup: none default 
-2022-09-14 11:37:49 DATA:  test-backend-node.js  result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} 
-2022-09-14 11:37:49 DATA:  test-backend-node.js  result: performance: load: null total: null 
-2022-09-14 11:37:49 STATE: test-backend-node.js passed: warmup none result match 
-2022-09-14 11:37:49 STATE: test-backend-node.js event: image 
-2022-09-14 11:37:49 STATE: test-backend-node.js event: detect 
-2022-09-14 11:37:49 STATE: test-backend-node.js event: warmup 
-2022-09-14 11:37:49 STATE: test-backend-node.js passed: warmup: face default 
-2022-09-14 11:37:49 DATA:  test-backend-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-09-14 11:37:49 DATA:  test-backend-node.js  result: performance: load: null total: 360 
-2022-09-14 11:37:49 STATE: test-backend-node.js passed: warmup face result match 
-2022-09-14 11:37:49 STATE: test-backend-node.js event: image 
-2022-09-14 11:37:49 STATE: test-backend-node.js event: detect 
-2022-09-14 11:37:49 STATE: test-backend-node.js event: warmup 
-2022-09-14 11:37:49 STATE: test-backend-node.js passed: warmup: body default 
-2022-09-14 11:37:49 DATA:  test-backend-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-09-14 11:37:49 DATA:  test-backend-node.js  result: performance: load: null total: 259 
-2022-09-14 11:37:49 STATE: test-backend-node.js passed: warmup body result match 
-2022-09-14 11:37:49 STATE: test-backend-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-09-14 11:37:49 INFO:  test-backend-node.js test: details verification 
-2022-09-14 11:37:49 STATE: test-backend-node.js start default 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
-2022-09-14 11:37:50 STATE: test-backend-node.js event: image 
-2022-09-14 11:37:50 STATE: test-backend-node.js event: detect 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg default 
-2022-09-14 11:37:50 DATA:  test-backend-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-09-14 11:37:50 DATA:  test-backend-node.js  result: performance: load: null total: 228 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: details face length 1 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: details face score 1 0.93 1 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: details face age/gender 23.7 female 0.97 85.47 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: details face arrays 4 478 1024 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: details face anti-spoofing 0.79 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: details face liveness 0.83 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: details body length 1 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: details body 0.92 17 6 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: details hand length 1 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: details hand 0.51 0.73 point 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: details hand arrays 21 5 7 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: details gesture length 7 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: details gesture first {"face":0,"gesture":"facing right"} 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: details object length 1 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: details object 0.72 person 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} 
-2022-09-14 11:37:50 STATE: test-backend-node.js event: image 
-2022-09-14 11:37:50 STATE: test-backend-node.js event: detect 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: tensor shape: [1,1200,1200,4] dtype: float32 
-2022-09-14 11:37:50 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} 
-2022-09-14 11:37:50 STATE: test-backend-node.js event: image 
-2022-09-14 11:37:51 STATE: test-backend-node.js event: detect 
-2022-09-14 11:37:51 STATE: test-backend-node.js passed: tensor shape: [1200,1200,4] dtype: float32 
-2022-09-14 11:37:51 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
-2022-09-14 11:37:51 STATE: test-backend-node.js event: image 
-2022-09-14 11:37:51 STATE: test-backend-node.js event: detect 
-2022-09-14 11:37:51 STATE: test-backend-node.js passed: tensor shape: [1,1200,1200,3] dtype: float32 
-2022-09-14 11:37:51 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796864} 
-2022-09-14 11:37:51 STATE: test-backend-node.js event: image 
-2022-09-14 11:37:51 STATE: test-backend-node.js event: detect 
-2022-09-14 11:37:51 STATE: test-backend-node.js passed: tensor shape: [1200,1200,3] dtype: float32 
-2022-09-14 11:37:52 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} 
-2022-09-14 11:37:52 STATE: test-backend-node.js event: image 
-2022-09-14 11:37:52 STATE: test-backend-node.js event: detect 
-2022-09-14 11:37:52 STATE: test-backend-node.js passed: tensor shape: [1,1200,1200,4] dtype: int32 
-2022-09-14 11:37:52 INFO:  test-backend-node.js test default 
-2022-09-14 11:37:52 STATE: test-backend-node.js start async 
-2022-09-14 11:37:52 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
-2022-09-14 11:37:52 STATE: test-backend-node.js event: image 
-2022-09-14 11:37:52 STATE: test-backend-node.js event: detect 
-2022-09-14 11:37:52 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg async 
-2022-09-14 11:37:52 DATA:  test-backend-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-09-14 11:37:52 DATA:  test-backend-node.js  result: performance: load: null total: 229 
-2022-09-14 11:37:52 STATE: test-backend-node.js passed: default result face match 1 female 0.97 
-2022-09-14 11:37:52 INFO:  test-backend-node.js test sync 
-2022-09-14 11:37:52 STATE: test-backend-node.js start sync 
-2022-09-14 11:37:52 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
-2022-09-14 11:37:52 STATE: test-backend-node.js event: image 
-2022-09-14 11:37:53 STATE: test-backend-node.js event: detect 
-2022-09-14 11:37:53 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg sync 
-2022-09-14 11:37:53 DATA:  test-backend-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-09-14 11:37:53 DATA:  test-backend-node.js  result: performance: load: null total: 214 
-2022-09-14 11:37:53 STATE: test-backend-node.js passed: default sync 1 female 0.97 
-2022-09-14 11:37:53 INFO:  test-backend-node.js test: image process 
-2022-09-14 11:37:53 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
-2022-09-14 11:37:53 STATE: test-backend-node.js passed: image input null [1,256,256,3] 
-2022-09-14 11:37:53 INFO:  test-backend-node.js test: image null 
-2022-09-14 11:37:53 STATE: test-backend-node.js passed: invalid input could not convert input to tensor 
-2022-09-14 11:37:53 INFO:  test-backend-node.js test face similarity 
-2022-09-14 11:37:53 STATE: test-backend-node.js start face similarity 
-2022-09-14 11:37:53 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
-2022-09-14 11:37:53 STATE: test-backend-node.js event: image 
-2022-09-14 11:37:53 STATE: test-backend-node.js event: detect 
-2022-09-14 11:37:53 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face similarity 
-2022-09-14 11:37:53 DATA:  test-backend-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-09-14 11:37:53 DATA:  test-backend-node.js  result: performance: load: null total: 207 
-2022-09-14 11:37:53 STATE: test-backend-node.js start face similarity 
-2022-09-14 11:37:53 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
-2022-09-14 11:37:53 STATE: test-backend-node.js event: image 
-2022-09-14 11:37:53 STATE: test-backend-node.js event: detect 
-2022-09-14 11:37:53 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg face similarity 
-2022-09-14 11:37:53 DATA:  test-backend-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-09-14 11:37:53 DATA:  test-backend-node.js  result: performance: load: null total: 223 
-2022-09-14 11:37:53 STATE: test-backend-node.js start face similarity 
-2022-09-14 11:37:53 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} 
-2022-09-14 11:37:53 STATE: test-backend-node.js event: image 
-2022-09-14 11:37:53 STATE: test-backend-node.js event: detect 
-2022-09-14 11:37:53 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg face similarity 
-2022-09-14 11:37:53 DATA:  test-backend-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-09-14 11:37:53 DATA:  test-backend-node.js  result: performance: load: null total: 193 
-2022-09-14 11:37:53 STATE: test-backend-node.js passed: face descriptor 
-2022-09-14 11:37:53 STATE: test-backend-node.js passed: face similarity {"similarity":[1,0.44727452329649126,0.5567935850640406],"descriptors":[1024,1024,1024]} 
-2022-09-14 11:37:53 INFO:  test-backend-node.js test object 
-2022-09-14 11:37:53 STATE: test-backend-node.js start object 
-2022-09-14 11:37:54 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
-2022-09-14 11:37:54 STATE: test-backend-node.js event: image 
-2022-09-14 11:37:54 STATE: test-backend-node.js event: detect 
-2022-09-14 11:37:54 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg object 
-2022-09-14 11:37:54 DATA:  test-backend-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-09-14 11:37:54 DATA:  test-backend-node.js  result: performance: load: null total: 211 
-2022-09-14 11:37:54 STATE: test-backend-node.js passed: centernet 
-2022-09-14 11:37:54 STATE: test-backend-node.js start object 
-2022-09-14 11:37:55 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
-2022-09-14 11:37:55 STATE: test-backend-node.js event: image 
-2022-09-14 11:37:55 STATE: test-backend-node.js event: detect 
-2022-09-14 11:37:55 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg object 
-2022-09-14 11:37:55 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 3 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17} 
-2022-09-14 11:37:55 DATA:  test-backend-node.js  result: performance: load: null total: 221 
-2022-09-14 11:37:55 STATE: test-backend-node.js passed: nanodet 
-2022-09-14 11:37:55 INFO:  test-backend-node.js test sensitive 
-2022-09-14 11:37:55 STATE: test-backend-node.js start sensitive 
-2022-09-14 11:37:55 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
-2022-09-14 11:37:55 STATE: test-backend-node.js event: image 
-2022-09-14 11:37:55 STATE: test-backend-node.js event: detect 
-2022-09-14 11:37:55 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg sensitive 
-2022-09-14 11:37:55 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:37:55 DATA:  test-backend-node.js  result: performance: load: null total: 175 
-2022-09-14 11:37:55 STATE: test-backend-node.js passed: sensitive result match 
-2022-09-14 11:37:55 STATE: test-backend-node.js passed: sensitive face result match 
-2022-09-14 11:37:55 STATE: test-backend-node.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] 
-2022-09-14 11:37:55 STATE: test-backend-node.js passed: sensitive body result match 
-2022-09-14 11:37:55 STATE: test-backend-node.js passed: sensitive hand result match 
-2022-09-14 11:37:55 INFO:  test-backend-node.js test body 
-2022-09-14 11:37:55 STATE: test-backend-node.js start blazepose 
-2022-09-14 11:37:58 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
-2022-09-14 11:37:58 STATE: test-backend-node.js event: image 
-2022-09-14 11:37:58 STATE: test-backend-node.js event: detect 
-2022-09-14 11:37:58 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg blazepose 
-2022-09-14 11:37:58 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.99,"keypoints":39} 
-2022-09-14 11:37:58 DATA:  test-backend-node.js  result: performance: load: null total: 233 
-2022-09-14 11:37:58 STATE: test-backend-node.js passed: blazepose 
-2022-09-14 11:37:58 STATE: test-backend-node.js start efficientpose 
-2022-09-14 11:37:59 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
-2022-09-14 11:37:59 STATE: test-backend-node.js event: image 
-2022-09-14 11:37:59 STATE: test-backend-node.js event: detect 
-2022-09-14 11:37:59 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg efficientpose 
-2022-09-14 11:37:59 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.75,"keypoints":13} 
-2022-09-14 11:37:59 DATA:  test-backend-node.js  result: performance: load: null total: 251 
-2022-09-14 11:37:59 STATE: test-backend-node.js passed: efficientpose 
-2022-09-14 11:37:59 STATE: test-backend-node.js start posenet 
-2022-09-14 11:38:00 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
-2022-09-14 11:38:00 STATE: test-backend-node.js event: image 
-2022-09-14 11:38:00 STATE: test-backend-node.js event: detect 
-2022-09-14 11:38:00 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg posenet 
-2022-09-14 11:38:00 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.96,"keypoints":16} 
-2022-09-14 11:38:00 DATA:  test-backend-node.js  result: performance: load: null total: 186 
-2022-09-14 11:38:00 STATE: test-backend-node.js passed: posenet 
-2022-09-14 11:38:00 STATE: test-backend-node.js start movenet 
-2022-09-14 11:38:00 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
-2022-09-14 11:38:00 STATE: test-backend-node.js event: image 
-2022-09-14 11:38:00 STATE: test-backend-node.js event: detect 
-2022-09-14 11:38:00 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg movenet 
-2022-09-14 11:38:00 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:00 DATA:  test-backend-node.js  result: performance: load: null total: 194 
-2022-09-14 11:38:00 STATE: test-backend-node.js passed: movenet 
-2022-09-14 11:38:00 INFO:  test-backend-node.js test face matching 
-2022-09-14 11:38:00 STATE: test-backend-node.js passed: face database 40 
-2022-09-14 11:38:00 STATE: test-backend-node.js passed: face match {"first":{"index":4,"similarity":0.7827852615252829}} {"second":{"index":4,"similarity":0.5002052633015844}} {"third":{"index":4,"similarity":0.5401587887998899}} 
-2022-09-14 11:38:00 INFO:  test-backend-node.js test face similarity alternative 
-2022-09-14 11:38:00 STATE: test-backend-node.js start face embeddings 
-2022-09-14 11:38:01 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
-2022-09-14 11:38:01 STATE: test-backend-node.js event: image 
-2022-09-14 11:38:01 STATE: test-backend-node.js event: detect 
-2022-09-14 11:38:01 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face embeddings 
-2022-09-14 11:38:01 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:01 DATA:  test-backend-node.js  result: performance: load: null total: 203 
-2022-09-14 11:38:01 STATE: test-backend-node.js passed: mobilefacenet {"embedding":192} 
-2022-09-14 11:38:01 STATE: test-backend-node.js start face embeddings 
-2022-09-14 11:38:02 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
-2022-09-14 11:38:02 STATE: test-backend-node.js event: image 
-2022-09-14 11:38:02 STATE: test-backend-node.js event: detect 
-2022-09-14 11:38:02 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face embeddings 
-2022-09-14 11:38:02 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:02 DATA:  test-backend-node.js  result: performance: load: null total: 202 
-2022-09-14 11:38:02 STATE: test-backend-node.js passed: insightface {"embedding":512} 
-2022-09-14 11:38:02 INFO:  test-backend-node.js test face attention 
-2022-09-14 11:38:02 STATE: test-backend-node.js start face attention 
-2022-09-14 11:38:02 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
-2022-09-14 11:38:02 STATE: test-backend-node.js event: image 
-2022-09-14 11:38:03 STATE: test-backend-node.js event: detect 
-2022-09-14 11:38:03 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face attention 
-2022-09-14 11:38:03 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:03 DATA:  test-backend-node.js  result: performance: load: null total: 183 
-2022-09-14 11:38:03 STATE: test-backend-node.js passed: face attention 
-2022-09-14 11:38:03 INFO:  test-backend-node.js test detectors 
-2022-09-14 11:38:03 STATE: test-backend-node.js start detectors 
-2022-09-14 11:38:03 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
-2022-09-14 11:38:03 STATE: test-backend-node.js event: image 
-2022-09-14 11:38:03 STATE: test-backend-node.js event: detect 
-2022-09-14 11:38:03 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg detectors 
-2022-09-14 11:38:03 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:03 DATA:  test-backend-node.js  result: performance: load: null total: 135 
-2022-09-14 11:38:03 STATE: test-backend-node.js passed: detector result face match 
-2022-09-14 11:38:03 STATE: test-backend-node.js passed: detector result hand match 
-2022-09-14 11:38:03 INFO:  test-backend-node.js test: multi-instance 
-2022-09-14 11:38:03 STATE: test-backend-node.js start multi instance 
-2022-09-14 11:38:03 STATE: test-backend-node.js event: image 
-2022-09-14 11:38:03 STATE: test-backend-node.js event: detect 
-2022-09-14 11:38:03 STATE: test-backend-node.js passed: detect: random multi instance 
-2022-09-14 11:38:03 DATA:  test-backend-node.js  result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} 
-2022-09-14 11:38:03 DATA:  test-backend-node.js  result: performance: load: null total: 86 
-2022-09-14 11:38:03 INFO:  test-backend-node.js test: first instance 
-2022-09-14 11:38:03 STATE: test-backend-node.js start multi instance 
-2022-09-14 11:38:03 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} 
-2022-09-14 11:38:03 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg multi instance 
-2022-09-14 11:38:03 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
-2022-09-14 11:38:03 DATA:  test-backend-node.js  result: performance: load: null total: 116 
-2022-09-14 11:38:03 INFO:  test-backend-node.js test: second instance 
-2022-09-14 11:38:03 STATE: test-backend-node.js start multi instance 
-2022-09-14 11:38:03 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} 
-2022-09-14 11:38:03 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg multi instance 
-2022-09-14 11:38:03 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
-2022-09-14 11:38:03 DATA:  test-backend-node.js  result: performance: load: null total: 106 
-2022-09-14 11:38:03 INFO:  test-backend-node.js test: concurrent 
-2022-09-14 11:38:03 STATE: test-backend-node.js start concurrent 
-2022-09-14 11:38:03 STATE: test-backend-node.js start concurrent 
-2022-09-14 11:38:03 STATE: test-backend-node.js start concurrent 
-2022-09-14 11:38:03 STATE: test-backend-node.js start concurrent 
-2022-09-14 11:38:03 STATE: test-backend-node.js start concurrent 
-2022-09-14 11:38:03 STATE: test-backend-node.js start concurrent 
-2022-09-14 11:38:03 STATE: test-backend-node.js start concurrent 
-2022-09-14 11:38:03 STATE: test-backend-node.js start concurrent 
-2022-09-14 11:38:03 STATE: test-backend-node.js start concurrent 
-2022-09-14 11:38:03 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
-2022-09-14 11:38:03 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
-2022-09-14 11:38:04 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
-2022-09-14 11:38:04 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
-2022-09-14 11:38:04 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} 
-2022-09-14 11:38:04 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} 
-2022-09-14 11:38:04 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
-2022-09-14 11:38:04 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
-2022-09-14 11:38:04 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} 
-2022-09-14 11:38:04 STATE: test-backend-node.js event: image 
-2022-09-14 11:38:04 STATE: test-backend-node.js event: image 
-2022-09-14 11:38:04 STATE: test-backend-node.js event: image 
-2022-09-14 11:38:05 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg concurrent 
-2022-09-14 11:38:05 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
-2022-09-14 11:38:05 DATA:  test-backend-node.js  result: performance: load: null total: 1137 
-2022-09-14 11:38:05 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg concurrent 
-2022-09-14 11:38:05 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
-2022-09-14 11:38:05 DATA:  test-backend-node.js  result: performance: load: null total: 1138 
-2022-09-14 11:38:05 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg concurrent 
-2022-09-14 11:38:05 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:05 DATA:  test-backend-node.js  result: performance: load: null total: 1138 
-2022-09-14 11:38:05 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg concurrent 
-2022-09-14 11:38:05 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:05 DATA:  test-backend-node.js  result: performance: load: null total: 1138 
-2022-09-14 11:38:05 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg concurrent 
-2022-09-14 11:38:05 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:05 DATA:  test-backend-node.js  result: performance: load: null total: 1138 
-2022-09-14 11:38:05 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg concurrent 
-2022-09-14 11:38:05 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:05 DATA:  test-backend-node.js  result: performance: load: null total: 1138 
-2022-09-14 11:38:05 STATE: test-backend-node.js event: detect 
-2022-09-14 11:38:05 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg concurrent 
-2022-09-14 11:38:05 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
-2022-09-14 11:38:05 DATA:  test-backend-node.js  result: performance: load: null total: 874 
-2022-09-14 11:38:05 STATE: test-backend-node.js event: detect 
-2022-09-14 11:38:05 STATE: test-backend-node.js event: detect 
-2022-09-14 11:38:05 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg concurrent 
-2022-09-14 11:38:05 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:05 DATA:  test-backend-node.js  result: performance: load: null total: 874 
-2022-09-14 11:38:05 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg concurrent 
-2022-09-14 11:38:05 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:05 DATA:  test-backend-node.js  result: performance: load: null total: 874 
-2022-09-14 11:38:05 INFO:  test-backend-node.js test: monkey-patch 
-2022-09-14 11:38:05 STATE: test-backend-node.js event: image 
-2022-09-14 11:38:05 STATE: test-backend-node.js event: detect 
-2022-09-14 11:38:05 STATE: test-backend-node.js passed: monkey patch 
-2022-09-14 11:38:05 STATE: test-backend-node.js passed: segmentation [65536] 
-2022-09-14 11:38:05 STATE: test-backend-node.js passeed: equal usage 
-2022-09-14 11:38:05 INFO:  test-backend-node.js test: input compare 
-2022-09-14 11:38:05 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
-2022-09-14 11:38:05 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
-2022-09-14 11:38:05 STATE: test-backend-node.js passed: image compare 0 23.275441687091504 
-2022-09-14 11:38:05 INFO:  test-backend-node.js events: {"image":29,"detect":29,"warmup":2} 
-2022-09-14 11:38:05 INFO:  test-backend-node.js tensors 4147 
-2022-09-14 11:38:05 INFO:  test-backend-node.js test complete: 16654 ms 
-2022-09-14 11:38:05 INFO:  
-2022-09-14 11:38:05 INFO:  test-backend-node-gpu.js start 
-2022-09-14 11:38:07 INFO:  test-backend-node-gpu.js test: configuration validation 
-2022-09-14 11:38:07 STATE: test-backend-node-gpu.js passed: configuration default validation [] 
-2022-09-14 11:38:07 STATE: test-backend-node-gpu.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] 
-2022-09-14 11:38:07 INFO:  test-backend-node-gpu.js test: model load 
-2022-09-14 11:38:07 STATE: test-backend-node-gpu.js passed: models loaded 23 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":"insightface","loaded":false,"url":null},{"name":"emotion","loaded":true,"url":"file://models/emotion.json"},{"name":"facedetect","loaded":true,"url":"file://models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"file://models/iris.json"},{"name":"facemesh","loaded":true,"url":"file://models/facemesh.json"},{"name":"faceres","loaded":true,"url":"file://models/faceres.json"},{"name":"ssrnetgender","loaded":false,"url":null},{"name":"handpose","loaded":false,"url":null},{"name":"handskeleton","loaded":true,"url":"file://models/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"file://models/handtrack.json"},{"name":"liveness","loaded":true,"url":"file://models/liveness.json"},{"name":"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-09-14 11:38:07 INFO:  test-backend-node-gpu.js memory: {"memory":{"unreliable":true,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} 
-2022-09-14 11:38:07 INFO:  test-backend-node-gpu.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} 
-2022-09-14 11:38:07 INFO:  test-backend-node-gpu.js test: warmup 
-2022-09-14 11:38:07 STATE: test-backend-node-gpu.js passed: create human 
-2022-09-14 11:38:07 INFO:  test-backend-node-gpu.js human version: 2.10.2 
-2022-09-14 11:38:07 INFO:  test-backend-node-gpu.js platform: linux x64 agent: NodeJS v18.1.0 
-2022-09-14 11:38:07 INFO:  test-backend-node-gpu.js tfjs version: 3.20.0 
-2022-09-14 11:38:07 INFO:  test-backend-node-gpu.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","tensorflow"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{"version":"2.7.3-dev20220521","gpu":true},"wasm":{"supported":true,"backend":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":169} 
-2022-09-14 11:38:07 STATE: test-backend-node-gpu.js passed: set backend: tensorflow 
-2022-09-14 11:38:07 STATE: test-backend-node-gpu.js tensors 1921 
-2022-09-14 11:38:07 STATE: test-backend-node-gpu.js passed: load models 
-2022-09-14 11:38:07 STATE: test-backend-node-gpu.js  result: defined models: 23 loaded models: 12 
-2022-09-14 11:38:07 STATE: test-backend-node-gpu.js passed: warmup: none default 
-2022-09-14 11:38:07 DATA:  test-backend-node-gpu.js  result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} 
-2022-09-14 11:38:07 DATA:  test-backend-node-gpu.js  result: performance: load: null total: null 
-2022-09-14 11:38:07 STATE: test-backend-node-gpu.js passed: warmup none result match 
-2022-09-14 11:38:07 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:12 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:12 STATE: test-backend-node-gpu.js event: warmup 
-2022-09-14 11:38:12 STATE: test-backend-node-gpu.js passed: warmup: face default 
-2022-09-14 11:38:12 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4} 
-2022-09-14 11:38:12 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 4892 
-2022-09-14 11:38:12 STATE: test-backend-node-gpu.js passed: warmup face result match 
-2022-09-14 11:38:12 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:12 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:12 STATE: test-backend-node-gpu.js event: warmup 
-2022-09-14 11:38:12 STATE: test-backend-node-gpu.js passed: warmup: body default 
-2022-09-14 11:38:12 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:12 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 170 
-2022-09-14 11:38:12 STATE: test-backend-node-gpu.js passed: warmup body result match 
-2022-09-14 11:38:12 STATE: test-backend-node-gpu.js details: {"face":{"boxScore":0.92,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.63,"emotion":"angry"},{"score":0.22,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.52,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 10% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} 
-2022-09-14 11:38:12 INFO:  test-backend-node-gpu.js test: details verification 
-2022-09-14 11:38:12 STATE: test-backend-node-gpu.js start default 
-2022-09-14 11:38:12 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
-2022-09-14 11:38:12 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg default 
-2022-09-14 11:38:13 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:13 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 154 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: details face length 1 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: details face score 1 0.93 1 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: details face age/gender 23.7 female 0.97 85.47 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: details face arrays 4 478 1024 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: details face anti-spoofing 0.79 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: details face liveness 0.83 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: details body length 1 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: details body 0.92 17 6 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: details hand length 1 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: details hand 0.51 0.73 point 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: details hand arrays 21 5 7 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: details gesture length 7 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: details gesture first {"face":0,"gesture":"facing right"} 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: details object length 1 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: details object 0.72 person 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: float32 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: tensor shape: [1200,1200,4] dtype: float32 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
-2022-09-14 11:38:13 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:14 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:14 STATE: test-backend-node-gpu.js passed: tensor shape: [1,1200,1200,3] dtype: float32 
-2022-09-14 11:38:14 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796928} 
-2022-09-14 11:38:14 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:14 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:14 STATE: test-backend-node-gpu.js passed: tensor shape: [1200,1200,3] dtype: float32 
-2022-09-14 11:38:14 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} 
-2022-09-14 11:38:14 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:14 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:14 STATE: test-backend-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: int32 
-2022-09-14 11:38:14 INFO:  test-backend-node-gpu.js test default 
-2022-09-14 11:38:14 STATE: test-backend-node-gpu.js start async 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg async 
-2022-09-14 11:38:15 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:15 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 168 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js passed: default result face match 1 female 0.97 
-2022-09-14 11:38:15 INFO:  test-backend-node-gpu.js test sync 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js start sync 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg sync 
-2022-09-14 11:38:15 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:15 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 156 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js passed: default sync 1 female 0.97 
-2022-09-14 11:38:15 INFO:  test-backend-node-gpu.js test: image process 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js passed: image input null [1,256,256,3] 
-2022-09-14 11:38:15 INFO:  test-backend-node-gpu.js test: image null 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js passed: invalid input could not convert input to tensor 
-2022-09-14 11:38:15 INFO:  test-backend-node-gpu.js test face similarity 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js start face similarity 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face similarity 
-2022-09-14 11:38:15 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:15 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 146 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js start face similarity 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
-2022-09-14 11:38:15 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:16 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:16 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg face similarity 
-2022-09-14 11:38:16 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:16 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 160 
-2022-09-14 11:38:16 STATE: test-backend-node-gpu.js start face similarity 
-2022-09-14 11:38:16 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} 
-2022-09-14 11:38:16 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:16 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:16 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg face similarity 
-2022-09-14 11:38:16 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} 
-2022-09-14 11:38:16 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 145 
-2022-09-14 11:38:16 STATE: test-backend-node-gpu.js passed: face descriptor 
-2022-09-14 11:38:16 STATE: test-backend-node-gpu.js passed: face similarity {"similarity":[1,0.447238756461232,0.556914029877052],"descriptors":[1024,1024,1024]} 
-2022-09-14 11:38:16 INFO:  test-backend-node-gpu.js test object 
-2022-09-14 11:38:16 STATE: test-backend-node-gpu.js start object 
-2022-09-14 11:38:16 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
-2022-09-14 11:38:16 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:16 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:16 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg object 
-2022-09-14 11:38:16 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:16 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 155 
-2022-09-14 11:38:16 STATE: test-backend-node-gpu.js passed: centernet 
-2022-09-14 11:38:16 STATE: test-backend-node-gpu.js start object 
-2022-09-14 11:38:17 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
-2022-09-14 11:38:17 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:18 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:18 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg object 
-2022-09-14 11:38:18 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 3 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:18 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 638 
-2022-09-14 11:38:18 STATE: test-backend-node-gpu.js passed: nanodet 
-2022-09-14 11:38:18 INFO:  test-backend-node-gpu.js test sensitive 
-2022-09-14 11:38:18 STATE: test-backend-node-gpu.js start sensitive 
-2022-09-14 11:38:18 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
-2022-09-14 11:38:18 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:18 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:18 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg sensitive 
-2022-09-14 11:38:18 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:18 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 112 
-2022-09-14 11:38:18 STATE: test-backend-node-gpu.js passed: sensitive result match 
-2022-09-14 11:38:18 STATE: test-backend-node-gpu.js passed: sensitive face result match 
-2022-09-14 11:38:18 STATE: test-backend-node-gpu.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] 
-2022-09-14 11:38:18 STATE: test-backend-node-gpu.js passed: sensitive body result match 
-2022-09-14 11:38:18 STATE: test-backend-node-gpu.js passed: sensitive hand result match 
-2022-09-14 11:38:18 INFO:  test-backend-node-gpu.js test body 
-2022-09-14 11:38:18 STATE: test-backend-node-gpu.js start blazepose 
-2022-09-14 11:38:20 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
-2022-09-14 11:38:20 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:21 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:21 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg blazepose 
-2022-09-14 11:38:21 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.99,"keypoints":39} 
-2022-09-14 11:38:21 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 269 
-2022-09-14 11:38:21 STATE: test-backend-node-gpu.js passed: blazepose 
-2022-09-14 11:38:21 STATE: test-backend-node-gpu.js start efficientpose 
-2022-09-14 11:38:21 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
-2022-09-14 11:38:21 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:22 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:22 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg efficientpose 
-2022-09-14 11:38:22 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.75,"keypoints":13} 
-2022-09-14 11:38:22 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 824 
-2022-09-14 11:38:22 STATE: test-backend-node-gpu.js passed: efficientpose 
-2022-09-14 11:38:22 STATE: test-backend-node-gpu.js start posenet 
-2022-09-14 11:38:23 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
-2022-09-14 11:38:23 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:23 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:23 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg posenet 
-2022-09-14 11:38:23 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.96,"keypoints":16} 
-2022-09-14 11:38:23 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 129 
-2022-09-14 11:38:23 STATE: test-backend-node-gpu.js passed: posenet 
-2022-09-14 11:38:23 STATE: test-backend-node-gpu.js start movenet 
-2022-09-14 11:38:23 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
-2022-09-14 11:38:23 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:23 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:23 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg movenet 
-2022-09-14 11:38:23 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:23 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 110 
-2022-09-14 11:38:23 STATE: test-backend-node-gpu.js passed: movenet 
-2022-09-14 11:38:23 INFO:  test-backend-node-gpu.js test face matching 
-2022-09-14 11:38:23 STATE: test-backend-node-gpu.js passed: face database 40 
-2022-09-14 11:38:23 STATE: test-backend-node-gpu.js passed: face match {"first":{"index":4,"similarity":0.7828184453007331}} {"second":{"index":4,"similarity":0.5001334216773398}} {"third":{"index":4,"similarity":0.5403054967489764}} 
-2022-09-14 11:38:23 INFO:  test-backend-node-gpu.js test face similarity alternative 
-2022-09-14 11:38:23 STATE: test-backend-node-gpu.js start face embeddings 
-2022-09-14 11:38:24 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
-2022-09-14 11:38:24 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:24 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:24 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings 
-2022-09-14 11:38:24 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:24 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 168 
-2022-09-14 11:38:24 STATE: test-backend-node-gpu.js passed: mobilefacenet {"embedding":192} 
-2022-09-14 11:38:24 STATE: test-backend-node-gpu.js start face embeddings 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings 
-2022-09-14 11:38:25 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:25 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 152 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js passed: insightface {"embedding":512} 
-2022-09-14 11:38:25 INFO:  test-backend-node-gpu.js test face attention 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js start face attention 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face attention 
-2022-09-14 11:38:25 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:25 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 219 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js passed: face attention 
-2022-09-14 11:38:25 INFO:  test-backend-node-gpu.js test detectors 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js start detectors 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg detectors 
-2022-09-14 11:38:25 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:25 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 99 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js passed: detector result face match 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js passed: detector result hand match 
-2022-09-14 11:38:25 INFO:  test-backend-node-gpu.js test: multi-instance 
-2022-09-14 11:38:25 STATE: test-backend-node-gpu.js start multi instance 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js passed: detect: random multi instance 
-2022-09-14 11:38:26 DATA:  test-backend-node-gpu.js  result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} 
-2022-09-14 11:38:26 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 59 
-2022-09-14 11:38:26 INFO:  test-backend-node-gpu.js test: first instance 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js start multi instance 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg multi instance 
-2022-09-14 11:38:26 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
-2022-09-14 11:38:26 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 72 
-2022-09-14 11:38:26 INFO:  test-backend-node-gpu.js test: second instance 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js start multi instance 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg multi instance 
-2022-09-14 11:38:26 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
-2022-09-14 11:38:26 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 65 
-2022-09-14 11:38:26 INFO:  test-backend-node-gpu.js test: concurrent 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js start concurrent 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js start concurrent 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js start concurrent 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js start concurrent 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js start concurrent 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js start concurrent 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js start concurrent 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js start concurrent 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js start concurrent 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} 
-2022-09-14 11:38:26 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent 
-2022-09-14 11:38:27 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
-2022-09-14 11:38:27 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 995 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent 
-2022-09-14 11:38:27 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
-2022-09-14 11:38:27 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 995 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent 
-2022-09-14 11:38:27 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:27 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 996 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent 
-2022-09-14 11:38:27 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:27 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 996 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent 
-2022-09-14 11:38:27 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:27 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 996 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent 
-2022-09-14 11:38:27 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:27 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 996 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent 
-2022-09-14 11:38:27 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
-2022-09-14 11:38:27 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 670 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent 
-2022-09-14 11:38:27 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:27 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 670 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent 
-2022-09-14 11:38:27 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:27 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 670 
-2022-09-14 11:38:27 INFO:  test-backend-node-gpu.js test: monkey-patch 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js event: image 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js event: detect 
-2022-09-14 11:38:27 STATE: test-backend-node-gpu.js passed: monkey patch 
-2022-09-14 11:38:28 STATE: test-backend-node-gpu.js passed: segmentation [65536] 
-2022-09-14 11:38:28 STATE: test-backend-node-gpu.js passeed: equal usage 
-2022-09-14 11:38:28 INFO:  test-backend-node-gpu.js test: input compare 
-2022-09-14 11:38:28 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
-2022-09-14 11:38:28 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
-2022-09-14 11:38:28 STATE: test-backend-node-gpu.js passed: image compare 0 23.275441687091504 
-2022-09-14 11:38:28 INFO:  test-backend-node-gpu.js events: {"image":29,"detect":29,"warmup":2} 
-2022-09-14 11:38:28 INFO:  test-backend-node-gpu.js tensors 4147 
-2022-09-14 11:38:28 INFO:  test-backend-node-gpu.js test complete: 21201 ms 
-2022-09-14 11:38:29 INFO:  
-2022-09-14 11:38:29 INFO:  test-backend-node-wasm.js start 
-2022-09-14 11:38:29 DATA:  test-backend-node-wasm.js stdout: 2022-09-14 11:38:29 INFO:  { supported: true, backend: true, simd: true, multithread: false } 
-2022-09-14 11:38:29 STATE: test-backend-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/ 
-2022-09-14 11:38:29 INFO:  test-backend-node-wasm.js test: configuration validation 
-2022-09-14 11:38:29 STATE: test-backend-node-wasm.js passed: configuration default validation [] 
-2022-09-14 11:38:29 STATE: test-backend-node-wasm.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] 
-2022-09-14 11:38:29 INFO:  test-backend-node-wasm.js test: model load 
-2022-09-14 11:38:32 STATE: test-backend-node-wasm.js passed: models loaded 23 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":"insightface","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-09-14 11:38:32 INFO:  test-backend-node-wasm.js memory: {"memory":{"unreliable":false,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} 
-2022-09-14 11:38:32 INFO:  test-backend-node-wasm.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} 
-2022-09-14 11:38:32 INFO:  test-backend-node-wasm.js test: warmup 
-2022-09-14 11:38:32 STATE: test-backend-node-wasm.js passed: create human 
-2022-09-14 11:38:32 INFO:  test-backend-node-wasm.js human version: 2.10.2 
-2022-09-14 11:38:32 INFO:  test-backend-node-wasm.js platform: linux x64 agent: NodeJS v18.1.0 
-2022-09-14 11:38:32 INFO:  test-backend-node-wasm.js tfjs version: 3.20.0 
-2022-09-14 11:38:32 INFO:  test-backend-node-wasm.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","wasm"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{},"wasm":{"supported":true,"backend":true,"simd":true,"multithread":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":126} 
-2022-09-14 11:38:32 STATE: test-backend-node-wasm.js passed: set backend: wasm 
-2022-09-14 11:38:32 STATE: test-backend-node-wasm.js tensors 1921 
-2022-09-14 11:38:32 STATE: test-backend-node-wasm.js passed: load models 
-2022-09-14 11:38:32 STATE: test-backend-node-wasm.js  result: defined models: 23 loaded models: 12 
-2022-09-14 11:38:32 STATE: test-backend-node-wasm.js passed: warmup: none default 
-2022-09-14 11:38:32 DATA:  test-backend-node-wasm.js  result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} 
-2022-09-14 11:38:32 DATA:  test-backend-node-wasm.js  result: performance: load: null total: null 
-2022-09-14 11:38:32 STATE: test-backend-node-wasm.js passed: warmup none result match 
-2022-09-14 11:38:32 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:33 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:33 STATE: test-backend-node-wasm.js event: warmup 
-2022-09-14 11:38:33 STATE: test-backend-node-wasm.js passed: warmup: face default 
-2022-09-14 11:38:33 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:33 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 494 
-2022-09-14 11:38:33 STATE: test-backend-node-wasm.js passed: warmup face result match 
-2022-09-14 11:38:33 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:33 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:33 STATE: test-backend-node-wasm.js event: warmup 
-2022-09-14 11:38:33 STATE: test-backend-node-wasm.js passed: warmup: body default 
-2022-09-14 11:38:33 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:33 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 361 
-2022-09-14 11:38:33 STATE: test-backend-node-wasm.js passed: warmup body result match 
-2022-09-14 11:38:33 STATE: test-backend-node-wasm.js details: {"face":{"boxScore":0.93,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.51,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 21% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} 
-2022-09-14 11:38:33 INFO:  test-backend-node-wasm.js test: details verification 
-2022-09-14 11:38:33 STATE: test-backend-node-wasm.js start default 
-2022-09-14 11:38:33 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
-2022-09-14 11:38:33 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg default 
-2022-09-14 11:38:34 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:34 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 327 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: details face length 1 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: details face score 1 0.93 1 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: details face age/gender 23.7 female 0.97 85.47 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: details face arrays 4 478 1024 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: details face anti-spoofing 0.79 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: details face liveness 0.83 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: details body length 1 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: details body 0.92 17 6 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: details hand length 1 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: details hand 0.51 0.73 point 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: details hand arrays 21 5 7 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: details gesture length 7 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: details gesture first {"face":0,"gesture":"facing right"} 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: details object length 1 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: details object 0.72 person 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1413675264} 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: float32 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1413675264} 
-2022-09-14 11:38:34 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:35 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:35 STATE: test-backend-node-wasm.js passed: tensor shape: [1200,1200,4] dtype: float32 
-2022-09-14 11:38:35 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
-2022-09-14 11:38:35 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:35 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:35 STATE: test-backend-node-wasm.js passed: tensor shape: [1,1200,1200,3] dtype: float32 
-2022-09-14 11:38:35 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1038921856} 
-2022-09-14 11:38:35 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:36 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:36 STATE: test-backend-node-wasm.js passed: tensor shape: [1200,1200,3] dtype: float32 
-2022-09-14 11:38:36 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} 
-2022-09-14 11:38:36 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:36 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:36 STATE: test-backend-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: int32 
-2022-09-14 11:38:36 INFO:  test-backend-node-wasm.js test default 
-2022-09-14 11:38:36 STATE: test-backend-node-wasm.js start async 
-2022-09-14 11:38:36 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
-2022-09-14 11:38:36 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:37 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:37 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg async 
-2022-09-14 11:38:37 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:37 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 332 
-2022-09-14 11:38:37 STATE: test-backend-node-wasm.js passed: default result face match 1 female 0.97 
-2022-09-14 11:38:37 INFO:  test-backend-node-wasm.js test sync 
-2022-09-14 11:38:37 STATE: test-backend-node-wasm.js start sync 
-2022-09-14 11:38:37 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
-2022-09-14 11:38:37 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:37 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:37 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg sync 
-2022-09-14 11:38:37 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:37 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 321 
-2022-09-14 11:38:37 STATE: test-backend-node-wasm.js passed: default sync 1 female 0.97 
-2022-09-14 11:38:37 INFO:  test-backend-node-wasm.js test: image process 
-2022-09-14 11:38:37 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} 
-2022-09-14 11:38:37 STATE: test-backend-node-wasm.js passed: image input null [1,256,256,3] 
-2022-09-14 11:38:37 INFO:  test-backend-node-wasm.js test: image null 
-2022-09-14 11:38:37 STATE: test-backend-node-wasm.js passed: invalid input could not convert input to tensor 
-2022-09-14 11:38:37 INFO:  test-backend-node-wasm.js test face similarity 
-2022-09-14 11:38:37 STATE: test-backend-node-wasm.js start face similarity 
-2022-09-14 11:38:37 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} 
-2022-09-14 11:38:37 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:38 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:38 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face similarity 
-2022-09-14 11:38:38 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:38 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 303 
-2022-09-14 11:38:38 STATE: test-backend-node-wasm.js start face similarity 
-2022-09-14 11:38:38 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
-2022-09-14 11:38:38 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:38 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:38 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg face similarity 
-2022-09-14 11:38:38 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:38 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 309 
-2022-09-14 11:38:38 STATE: test-backend-node-wasm.js start face similarity 
-2022-09-14 11:38:38 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} 
-2022-09-14 11:38:38 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:39 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:39 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg face similarity 
-2022-09-14 11:38:39 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} 
-2022-09-14 11:38:39 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 294 
-2022-09-14 11:38:39 STATE: test-backend-node-wasm.js passed: face descriptor 
-2022-09-14 11:38:39 STATE: test-backend-node-wasm.js passed: face similarity {"similarity":[1,0.5266119940661309,0.4858842904087851],"descriptors":[1024,1024,1024]} 
-2022-09-14 11:38:39 INFO:  test-backend-node-wasm.js test object 
-2022-09-14 11:38:39 STATE: test-backend-node-wasm.js start object 
-2022-09-14 11:38:39 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
-2022-09-14 11:38:39 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:39 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:39 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg object 
-2022-09-14 11:38:39 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:39 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 308 
-2022-09-14 11:38:39 STATE: test-backend-node-wasm.js passed: centernet 
-2022-09-14 11:38:39 STATE: test-backend-node-wasm.js start object 
-2022-09-14 11:38:40 WARN:  test-backend-node-wasm.js missing kernel ops {"title":"object","model":"nanodet","url":"https://vladmandic.github.io/human-models/models/nanodet.json","missing":["sparsetodense"],"backkend":"wasm"} 
-2022-09-14 11:38:40 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
-2022-09-14 11:38:40 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:40 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:40 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg object 
-2022-09-14 11:38:40 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 8 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:40 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 210 
-2022-09-14 11:38:40 ERROR: test-backend-node-wasm.js failed: nanodet [] 
-2022-09-14 11:38:40 INFO:  test-backend-node-wasm.js test sensitive 
-2022-09-14 11:38:40 STATE: test-backend-node-wasm.js start sensitive 
-2022-09-14 11:38:41 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
-2022-09-14 11:38:41 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:41 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:41 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg sensitive 
-2022-09-14 11:38:41 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:41 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 241 
-2022-09-14 11:38:41 STATE: test-backend-node-wasm.js passed: sensitive result match 
-2022-09-14 11:38:41 STATE: test-backend-node-wasm.js passed: sensitive face result match 
-2022-09-14 11:38:41 STATE: test-backend-node-wasm.js passed: sensitive face emotion result [{"score":0.46,"emotion":"neutral"},{"score":0.24,"emotion":"fear"},{"score":0.17,"emotion":"sad"}] 
-2022-09-14 11:38:41 STATE: test-backend-node-wasm.js passed: sensitive body result match 
-2022-09-14 11:38:41 STATE: test-backend-node-wasm.js passed: sensitive hand result match 
-2022-09-14 11:38:41 INFO:  test-backend-node-wasm.js test body 
-2022-09-14 11:38:41 STATE: test-backend-node-wasm.js start blazepose 
-2022-09-14 11:38:43 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
-2022-09-14 11:38:43 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:43 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:43 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg blazepose 
-2022-09-14 11:38:43 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.99,"keypoints":39} 
-2022-09-14 11:38:43 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 403 
-2022-09-14 11:38:43 STATE: test-backend-node-wasm.js passed: blazepose 
-2022-09-14 11:38:43 STATE: test-backend-node-wasm.js start efficientpose 
-2022-09-14 11:38:44 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
-2022-09-14 11:38:44 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:45 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:45 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg efficientpose 
-2022-09-14 11:38:45 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.75,"keypoints":13} 
-2022-09-14 11:38:45 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 693 
-2022-09-14 11:38:45 STATE: test-backend-node-wasm.js passed: efficientpose 
-2022-09-14 11:38:45 STATE: test-backend-node-wasm.js start posenet 
-2022-09-14 11:38:45 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
-2022-09-14 11:38:45 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:46 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:46 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg posenet 
-2022-09-14 11:38:46 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.96,"keypoints":16} 
-2022-09-14 11:38:46 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 309 
-2022-09-14 11:38:46 STATE: test-backend-node-wasm.js passed: posenet 
-2022-09-14 11:38:46 STATE: test-backend-node-wasm.js start movenet 
-2022-09-14 11:38:46 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
-2022-09-14 11:38:46 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:46 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:46 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg movenet 
-2022-09-14 11:38:46 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:46 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 275 
-2022-09-14 11:38:46 STATE: test-backend-node-wasm.js passed: movenet 
-2022-09-14 11:38:46 INFO:  test-backend-node-wasm.js test face matching 
-2022-09-14 11:38:46 STATE: test-backend-node-wasm.js passed: face database 40 
-2022-09-14 11:38:46 STATE: test-backend-node-wasm.js passed: face match {"first":{"index":4,"similarity":0.7827852754786533}} {"second":{"index":4,"similarity":0.5660821189104794}} {"third":{"index":4,"similarity":0.45074189882665594}} 
-2022-09-14 11:38:46 INFO:  test-backend-node-wasm.js test face similarity alternative 
-2022-09-14 11:38:46 STATE: test-backend-node-wasm.js start face embeddings 
-2022-09-14 11:38:47 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} 
-2022-09-14 11:38:47 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:47 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:47 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings 
-2022-09-14 11:38:47 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:47 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 232 
-2022-09-14 11:38:47 STATE: test-backend-node-wasm.js passed: mobilefacenet {"embedding":192} 
-2022-09-14 11:38:47 STATE: test-backend-node-wasm.js start face embeddings 
-2022-09-14 11:38:48 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} 
-2022-09-14 11:38:48 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:48 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:48 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings 
-2022-09-14 11:38:48 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:48 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 278 
-2022-09-14 11:38:48 STATE: test-backend-node-wasm.js passed: insightface {"embedding":512} 
-2022-09-14 11:38:48 INFO:  test-backend-node-wasm.js test face attention 
-2022-09-14 11:38:48 STATE: test-backend-node-wasm.js start face attention 
-2022-09-14 11:38:48 WARN:  test-backend-node-wasm.js missing kernel ops {"title":"face attention","model":"facemesh","url":"https://vladmandic.github.io/human-models/models/facemesh-attention.json","missing":["atan2"],"backkend":"wasm"} 
-2022-09-14 11:38:48 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} 
-2022-09-14 11:38:48 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:48 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:48 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face attention 
-2022-09-14 11:38:48 DATA:  test-backend-node-wasm.js  result: face: 0 body: 1 hand: 1 gesture: 2 object: 0 person: 0 {} {} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:48 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 117 
-2022-09-14 11:38:48 ERROR: test-backend-node-wasm.js failed: face attention {"annotations":0} 
-2022-09-14 11:38:48 INFO:  test-backend-node-wasm.js test detectors 
-2022-09-14 11:38:48 STATE: test-backend-node-wasm.js start detectors 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg detectors 
-2022-09-14 11:38:49 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:49 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 150 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js passed: detector result face match 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js passed: detector result hand match 
-2022-09-14 11:38:49 INFO:  test-backend-node-wasm.js test: multi-instance 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js start multi instance 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js passed: detect: random multi instance 
-2022-09-14 11:38:49 DATA:  test-backend-node-wasm.js  result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} 
-2022-09-14 11:38:49 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 97 
-2022-09-14 11:38:49 INFO:  test-backend-node-wasm.js test: first instance 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js start multi instance 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance 
-2022-09-14 11:38:49 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
-2022-09-14 11:38:49 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 112 
-2022-09-14 11:38:49 INFO:  test-backend-node-wasm.js test: second instance 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js start multi instance 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance 
-2022-09-14 11:38:49 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
-2022-09-14 11:38:49 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 115 
-2022-09-14 11:38:49 INFO:  test-backend-node-wasm.js test: concurrent 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js start concurrent 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js start concurrent 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js start concurrent 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js start concurrent 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js start concurrent 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js start concurrent 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js start concurrent 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js start concurrent 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js start concurrent 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} 
-2022-09-14 11:38:49 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} 
-2022-09-14 11:38:50 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
-2022-09-14 11:38:50 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
-2022-09-14 11:38:50 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} 
-2022-09-14 11:38:50 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} 
-2022-09-14 11:38:50 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} 
-2022-09-14 11:38:50 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
-2022-09-14 11:38:50 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} 
-2022-09-14 11:38:50 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:50 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:50 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:51 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent 
-2022-09-14 11:38:51 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
-2022-09-14 11:38:51 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 1274 
-2022-09-14 11:38:51 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent 
-2022-09-14 11:38:51 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
-2022-09-14 11:38:51 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 1274 
-2022-09-14 11:38:51 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent 
-2022-09-14 11:38:51 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:51 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 1275 
-2022-09-14 11:38:51 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent 
-2022-09-14 11:38:51 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:51 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 1275 
-2022-09-14 11:38:51 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent 
-2022-09-14 11:38:51 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:51 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 1275 
-2022-09-14 11:38:51 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent 
-2022-09-14 11:38:51 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:51 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 1275 
-2022-09-14 11:38:51 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:51 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent 
-2022-09-14 11:38:51 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
-2022-09-14 11:38:51 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 947 
-2022-09-14 11:38:51 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:51 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:51 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent 
-2022-09-14 11:38:51 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} 
-2022-09-14 11:38:51 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 948 
-2022-09-14 11:38:51 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent 
-2022-09-14 11:38:51 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
-2022-09-14 11:38:51 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 948 
-2022-09-14 11:38:51 INFO:  test-backend-node-wasm.js test: monkey-patch 
-2022-09-14 11:38:51 STATE: test-backend-node-wasm.js event: image 
-2022-09-14 11:38:51 STATE: test-backend-node-wasm.js event: detect 
-2022-09-14 11:38:51 STATE: test-backend-node-wasm.js passed: monkey patch 
-2022-09-14 11:38:51 STATE: test-backend-node-wasm.js passed: segmentation [65536] 
-2022-09-14 11:38:51 STATE: test-backend-node-wasm.js passeed: equal usage 
-2022-09-14 11:38:51 INFO:  test-backend-node-wasm.js test: input compare 
-2022-09-14 11:38:51 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} 
-2022-09-14 11:38:52 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
-2022-09-14 11:38:52 STATE: test-backend-node-wasm.js passed: image compare 0 23.280073018790848 
-2022-09-14 11:38:52 INFO:  test-backend-node-wasm.js events: {"image":29,"detect":29,"warmup":2} 
-2022-09-14 11:38:52 INFO:  test-backend-node-wasm.js tensors 4149 
-2022-09-14 11:38:52 INFO:  test-backend-node-wasm.js test complete: 22178 ms 
-2022-09-14 11:38:52 STATE: all tests complete 
-2022-09-14 11:38:52 INFO:    status {"test":"../demo/nodejs/node.js","passed":1,"failed":0} 
-2022-09-14 11:38:52 INFO:    status {"test":"../demo/nodejs/node-simple.js","passed":1,"failed":0} 
-2022-09-14 11:38:52 INFO:    status {"test":"../demo/nodejs/node-fetch.js","passed":1,"failed":0} 
-2022-09-14 11:38:52 INFO:    status {"test":"../demo/nodejs/node-event.js","passed":1,"failed":0} 
-2022-09-14 11:38:52 INFO:    status {"test":"../demo/nodejs/node-similarity.js","passed":1,"failed":0} 
-2022-09-14 11:38:52 INFO:    status {"test":"../demo/nodejs/node-canvas.js","passed":1,"failed":0} 
-2022-09-14 11:38:52 INFO:    status {"test":"../demo/multithread/node-multiprocess.js","passed":1,"failed":0} 
-2022-09-14 11:38:52 INFO:    status {"test":"../demo/facematch/node-match.js","passed":1,"failed":0} 
-2022-09-14 11:38:52 INFO:    status {"test":"test-node-load.js","passed":1,"failed":0} 
-2022-09-14 11:38:52 INFO:    status {"test":"test-node-gear.js","passed":3,"failed":0} 
-2022-09-14 11:38:52 INFO:    status {"test":"test-backend-node.js","passed":125,"failed":0} 
-2022-09-14 11:38:52 INFO:    status {"test":"test-backend-node-gpu.js","passed":125,"failed":0} 
-2022-09-14 11:38:52 INFO:    status {"test":"test-backend-node-wasm.js","passed":124,"failed":2} 
-2022-09-14 11:38:52 INFO:  failures {"count":2} 
-2022-09-14 11:38:52 WARN:    failed {"test":"test-backend-node-wasm.js","message":["error",["failed: nanodet",[]]]} 
-2022-09-14 11:38:52 WARN:    failed {"test":"test-backend-node-wasm.js","message":["error",["failed: face attention",{"annotations":0}]]} 
+2022-09-17 17:17:28 INFO:  @vladmandic/human version 2.10.2 
+2022-09-17 17:17:28 INFO:  User: vlado Platform: linux Arch: x64 Node: v18.1.0 
+2022-09-17 17:17:28 INFO:  demos: [{"cmd":"../demo/nodejs/node.js","args":[]},{"cmd":"../demo/nodejs/node-simple.js","args":[]},{"cmd":"../demo/nodejs/node-fetch.js","args":[]},{"cmd":"../demo/nodejs/node-event.js","args":["samples/in/ai-body.jpg"]},{"cmd":"../demo/nodejs/node-similarity.js","args":["samples/in/ai-face.jpg","samples/in/ai-upper.jpg"]},{"cmd":"../demo/nodejs/node-canvas.js","args":["samples/in/ai-body.jpg","samples/out/ai-body.jpg"]},{"cmd":"../demo/multithread/node-multiprocess.js","args":[]},{"cmd":"../demo/facematch/node-match.js","args":[]}] 
+2022-09-17 17:17:28 INFO:  {"cmd":"../demo/nodejs/node.js","args":[]} start 
+2022-09-17 17:17:29 INFO:  {"cmd":"../demo/nodejs/node-simple.js","args":[]} start 
+2022-09-17 17:17:29 INFO:  {"cmd":"../demo/nodejs/node-fetch.js","args":[]} start 
+2022-09-17 17:17:32 INFO:  {"cmd":"../demo/nodejs/node-event.js","args":["samples/in/ai-body.jpg"]} start 
+2022-09-17 17:17:33 INFO:  {"cmd":"../demo/nodejs/node-similarity.js","args":["samples/in/ai-face.jpg","samples/in/ai-upper.jpg"]} start 
+2022-09-17 17:17:33 INFO:  {"cmd":"../demo/nodejs/node-canvas.js","args":["samples/in/ai-body.jpg","samples/out/ai-body.jpg"]} start 
+2022-09-17 17:17:34 INFO:  {"cmd":"../demo/multithread/node-multiprocess.js","args":[]} start 
+2022-09-17 17:17:35 INFO:  {"cmd":"../demo/facematch/node-match.js","args":[]} start 
+2022-09-17 17:17:37 INFO:  tests: ["test-node-load.js","test-node-gear.js","test-backend-node.js","test-backend-node-gpu.js","test-backend-node-wasm.js"] 
+2022-09-17 17:17:37 INFO:  
+2022-09-17 17:17:37 INFO:  test-node-load.js start 
+2022-09-17 17:17:37 INFO:  test-node-load.js load start {"human":"2.10.2","tf":"3.20.0","progress":0} 
+2022-09-17 17:17:37 DATA:  test-node-load.js load interval {"elapsed":0,"progress":0} 
+2022-09-17 17:17:37 DATA:  test-node-load.js load interval {"elapsed":10,"progress":0} 
+2022-09-17 17:17:37 DATA:  test-node-load.js load interval {"elapsed":30,"progress":0.11143791531203556} 
+2022-09-17 17:17:37 DATA:  test-node-load.js load interval {"elapsed":67,"progress":0.3299591712723044} 
+2022-09-17 17:17:37 DATA:  test-node-load.js load interval {"elapsed":107,"progress":0.5125946867158943} 
+2022-09-17 17:17:37 DATA:  test-node-load.js load interval {"elapsed":136,"progress":0.7259096583739463} 
+2022-09-17 17:17:37 STATE: test-node-load.js passed {"progress":1} 
+2022-09-17 17:17:37 INFO:  test-node-load.js load final {"progress":1} 
+2022-09-17 17:17:37 DATA:  test-node-load.js load interval {"elapsed":464,"progress":1} 
+2022-09-17 17:17:37 INFO:  
+2022-09-17 17:17:37 INFO:  test-node-gear.js start 
+2022-09-17 17:17:38 DATA:  test-node-gear.js input: ["samples/in/ai-face.jpg"] 
+2022-09-17 17:17:39 STATE: test-node-gear.js passed: gear faceres samples/in/ai-face.jpg 
+2022-09-17 17:17:39 DATA:  test-node-gear.js results {"face":0,"model":"faceres","image":"samples/in/ai-face.jpg","age":23.5,"gender":"female","genderScore":0.92} 
+2022-09-17 17:17:39 STATE: test-node-gear.js passed: gear gear samples/in/ai-face.jpg 
+2022-09-17 17:17:39 DATA:  test-node-gear.js results {"face":0,"model":"gear","image":"samples/in/ai-face.jpg","age":23.3,"gender":"female","genderScore":0.51,"race":[{"score":0.93,"race":"white"}]} 
+2022-09-17 17:17:39 STATE: test-node-gear.js passed: gear ssrnet samples/in/ai-face.jpg 
+2022-09-17 17:17:39 DATA:  test-node-gear.js results {"face":0,"model":"ssrnet","image":"samples/in/ai-face.jpg","age":23.4,"gender":"female","genderScore":0.99} 
+2022-09-17 17:17:39 INFO:  
+2022-09-17 17:17:39 INFO:  test-backend-node.js start 
+2022-09-17 17:17:39 INFO:  test-backend-node.js test: configuration validation 
+2022-09-17 17:17:39 STATE: test-backend-node.js passed: configuration default validation [] 
+2022-09-17 17:17:39 STATE: test-backend-node.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] 
+2022-09-17 17:17:39 INFO:  test-backend-node.js test: model load 
+2022-09-17 17:17:39 STATE: test-backend-node.js passed: models loaded 23 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":"insightface","loaded":false,"url":null},{"name":"emotion","loaded":true,"url":"file://models/emotion.json"},{"name":"facedetect","loaded":true,"url":"file://models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"file://models/iris.json"},{"name":"facemesh","loaded":true,"url":"file://models/facemesh.json"},{"name":"faceres","loaded":true,"url":"file://models/faceres.json"},{"name":"ssrnetgender","loaded":false,"url":null},{"name":"handpose","loaded":false,"url":null},{"name":"handskeleton","loaded":true,"url":"file://models/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"file://models/handtrack.json"},{"name":"liveness","loaded":true,"url":"file://models/liveness.json"},{"name":"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-09-17 17:17:39 INFO:  test-backend-node.js memory: {"memory":{"unreliable":true,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} 
+2022-09-17 17:17:39 INFO:  test-backend-node.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} 
+2022-09-17 17:17:39 INFO:  test-backend-node.js test: warmup 
+2022-09-17 17:17:39 STATE: test-backend-node.js passed: create human 
+2022-09-17 17:17:39 INFO:  test-backend-node.js human version: 2.10.2 
+2022-09-17 17:17:39 INFO:  test-backend-node.js platform: linux x64 agent: NodeJS v18.1.0 
+2022-09-17 17:17:39 INFO:  test-backend-node.js tfjs version: 3.20.0 
+2022-09-17 17:17:39 INFO:  test-backend-node.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","tensorflow"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{"version":"2.7.3-dev20220521","gpu":false},"wasm":{"supported":true,"backend":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":169} 
+2022-09-17 17:17:39 STATE: test-backend-node.js passed: set backend: tensorflow 
+2022-09-17 17:17:39 STATE: test-backend-node.js tensors 1921 
+2022-09-17 17:17:39 STATE: test-backend-node.js passed: load models 
+2022-09-17 17:17:39 STATE: test-backend-node.js  result: defined models: 23 loaded models: 12 
+2022-09-17 17:17:39 STATE: test-backend-node.js passed: warmup: none default 
+2022-09-17 17:17:39 DATA:  test-backend-node.js  result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} 
+2022-09-17 17:17:39 DATA:  test-backend-node.js  result: performance: load: null total: null 
+2022-09-17 17:17:39 STATE: test-backend-node.js passed: warmup none result match 
+2022-09-17 17:17:39 STATE: test-backend-node.js event: image 
+2022-09-17 17:17:40 STATE: test-backend-node.js event: detect 
+2022-09-17 17:17:40 STATE: test-backend-node.js event: warmup 
+2022-09-17 17:17:40 STATE: test-backend-node.js passed: warmup: face default 
+2022-09-17 17:17:40 DATA:  test-backend-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-09-17 17:17:40 DATA:  test-backend-node.js  result: performance: load: null total: 384 
+2022-09-17 17:17:40 STATE: test-backend-node.js passed: warmup face result match 
+2022-09-17 17:17:40 STATE: test-backend-node.js event: image 
+2022-09-17 17:17:40 STATE: test-backend-node.js event: detect 
+2022-09-17 17:17:40 STATE: test-backend-node.js event: warmup 
+2022-09-17 17:17:40 STATE: test-backend-node.js passed: warmup: body default 
+2022-09-17 17:17:40 DATA:  test-backend-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-09-17 17:17:40 DATA:  test-backend-node.js  result: performance: load: null total: 290 
+2022-09-17 17:17:40 STATE: test-backend-node.js passed: warmup body result match 
+2022-09-17 17:17:40 STATE: test-backend-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-09-17 17:17:40 INFO:  test-backend-node.js test: details verification 
+2022-09-17 17:17:40 STATE: test-backend-node.js start default 
+2022-09-17 17:17:40 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
+2022-09-17 17:17:40 STATE: test-backend-node.js event: image 
+2022-09-17 17:17:41 STATE: test-backend-node.js event: detect 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg default 
+2022-09-17 17:17:41 DATA:  test-backend-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-09-17 17:17:41 DATA:  test-backend-node.js  result: performance: load: null total: 247 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: details face length 1 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: details face score 1 0.93 1 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: details face age/gender 23.7 female 0.97 85.47 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: details face arrays 4 478 1024 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: details face anti-spoofing 0.79 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: details face liveness 0.83 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: details body length 1 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: details body 0.92 17 6 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: details hand length 1 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: details hand 0.51 0.73 point 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: details hand arrays 21 5 7 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: details gesture length 7 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: details gesture first {"face":0,"gesture":"facing right"} 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: details object length 1 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: details object 0.72 person 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} 
+2022-09-17 17:17:41 STATE: test-backend-node.js event: image 
+2022-09-17 17:17:41 STATE: test-backend-node.js event: detect 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: tensor shape: [1,1200,1200,4] dtype: float32 
+2022-09-17 17:17:41 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} 
+2022-09-17 17:17:41 STATE: test-backend-node.js event: image 
+2022-09-17 17:17:42 STATE: test-backend-node.js event: detect 
+2022-09-17 17:17:42 STATE: test-backend-node.js passed: tensor shape: [1200,1200,4] dtype: float32 
+2022-09-17 17:17:42 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
+2022-09-17 17:17:42 STATE: test-backend-node.js event: image 
+2022-09-17 17:17:42 STATE: test-backend-node.js event: detect 
+2022-09-17 17:17:42 STATE: test-backend-node.js passed: tensor shape: [1,1200,1200,3] dtype: float32 
+2022-09-17 17:17:42 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796864} 
+2022-09-17 17:17:42 STATE: test-backend-node.js event: image 
+2022-09-17 17:17:42 STATE: test-backend-node.js event: detect 
+2022-09-17 17:17:42 STATE: test-backend-node.js passed: tensor shape: [1200,1200,3] dtype: float32 
+2022-09-17 17:17:43 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} 
+2022-09-17 17:17:43 STATE: test-backend-node.js event: image 
+2022-09-17 17:17:43 STATE: test-backend-node.js event: detect 
+2022-09-17 17:17:43 STATE: test-backend-node.js passed: tensor shape: [1,1200,1200,4] dtype: int32 
+2022-09-17 17:17:43 INFO:  test-backend-node.js test default 
+2022-09-17 17:17:43 STATE: test-backend-node.js start async 
+2022-09-17 17:17:43 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
+2022-09-17 17:17:43 STATE: test-backend-node.js event: image 
+2022-09-17 17:17:43 STATE: test-backend-node.js event: detect 
+2022-09-17 17:17:43 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg async 
+2022-09-17 17:17:43 DATA:  test-backend-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-09-17 17:17:43 DATA:  test-backend-node.js  result: performance: load: null total: 249 
+2022-09-17 17:17:43 STATE: test-backend-node.js passed: default result face match 1 female 0.97 
+2022-09-17 17:17:43 INFO:  test-backend-node.js test sync 
+2022-09-17 17:17:43 STATE: test-backend-node.js start sync 
+2022-09-17 17:17:43 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
+2022-09-17 17:17:43 STATE: test-backend-node.js event: image 
+2022-09-17 17:17:44 STATE: test-backend-node.js event: detect 
+2022-09-17 17:17:44 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg sync 
+2022-09-17 17:17:44 DATA:  test-backend-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-09-17 17:17:44 DATA:  test-backend-node.js  result: performance: load: null total: 239 
+2022-09-17 17:17:44 STATE: test-backend-node.js passed: default sync 1 female 0.97 
+2022-09-17 17:17:44 INFO:  test-backend-node.js test: image process 
+2022-09-17 17:17:44 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
+2022-09-17 17:17:44 STATE: test-backend-node.js passed: image input null [1,256,256,3] 
+2022-09-17 17:17:44 INFO:  test-backend-node.js test: image null 
+2022-09-17 17:17:44 STATE: test-backend-node.js passed: invalid input could not convert input to tensor 
+2022-09-17 17:17:44 INFO:  test-backend-node.js test face similarity 
+2022-09-17 17:17:44 STATE: test-backend-node.js start face similarity 
+2022-09-17 17:17:44 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
+2022-09-17 17:17:44 STATE: test-backend-node.js event: image 
+2022-09-17 17:17:44 STATE: test-backend-node.js event: detect 
+2022-09-17 17:17:44 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face similarity 
+2022-09-17 17:17:44 DATA:  test-backend-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-09-17 17:17:44 DATA:  test-backend-node.js  result: performance: load: null total: 254 
+2022-09-17 17:17:44 STATE: test-backend-node.js start face similarity 
+2022-09-17 17:17:44 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
+2022-09-17 17:17:44 STATE: test-backend-node.js event: image 
+2022-09-17 17:17:44 STATE: test-backend-node.js event: detect 
+2022-09-17 17:17:44 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg face similarity 
+2022-09-17 17:17:44 DATA:  test-backend-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-09-17 17:17:44 DATA:  test-backend-node.js  result: performance: load: null total: 241 
+2022-09-17 17:17:44 STATE: test-backend-node.js start face similarity 
+2022-09-17 17:17:44 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} 
+2022-09-17 17:17:44 STATE: test-backend-node.js event: image 
+2022-09-17 17:17:45 STATE: test-backend-node.js event: detect 
+2022-09-17 17:17:45 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg face similarity 
+2022-09-17 17:17:45 DATA:  test-backend-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-09-17 17:17:45 DATA:  test-backend-node.js  result: performance: load: null total: 213 
+2022-09-17 17:17:45 STATE: test-backend-node.js passed: face descriptor 
+2022-09-17 17:17:45 STATE: test-backend-node.js passed: face similarity {"similarity":[1,0.44727452329649126,0.5567935850640406],"descriptors":[1024,1024,1024]} 
+2022-09-17 17:17:45 INFO:  test-backend-node.js test object 
+2022-09-17 17:17:45 STATE: test-backend-node.js start object 
+2022-09-17 17:17:45 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
+2022-09-17 17:17:45 STATE: test-backend-node.js event: image 
+2022-09-17 17:17:45 STATE: test-backend-node.js event: detect 
+2022-09-17 17:17:45 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg object 
+2022-09-17 17:17:45 DATA:  test-backend-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-09-17 17:17:45 DATA:  test-backend-node.js  result: performance: load: null total: 235 
+2022-09-17 17:17:45 STATE: test-backend-node.js passed: centernet 
+2022-09-17 17:17:45 STATE: test-backend-node.js start object 
+2022-09-17 17:17:46 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
+2022-09-17 17:17:46 STATE: test-backend-node.js event: image 
+2022-09-17 17:17:46 STATE: test-backend-node.js event: detect 
+2022-09-17 17:17:46 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg object 
+2022-09-17 17:17:46 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 3 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17} 
+2022-09-17 17:17:46 DATA:  test-backend-node.js  result: performance: load: null total: 254 
+2022-09-17 17:17:46 STATE: test-backend-node.js passed: nanodet 
+2022-09-17 17:17:46 INFO:  test-backend-node.js test sensitive 
+2022-09-17 17:17:46 STATE: test-backend-node.js start sensitive 
+2022-09-17 17:17:47 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
+2022-09-17 17:17:47 STATE: test-backend-node.js event: image 
+2022-09-17 17:17:47 STATE: test-backend-node.js event: detect 
+2022-09-17 17:17:47 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg sensitive 
+2022-09-17 17:17:47 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:17:47 DATA:  test-backend-node.js  result: performance: load: null total: 190 
+2022-09-17 17:17:47 STATE: test-backend-node.js passed: sensitive result match 
+2022-09-17 17:17:47 STATE: test-backend-node.js passed: sensitive face result match 
+2022-09-17 17:17:47 STATE: test-backend-node.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] 
+2022-09-17 17:17:47 STATE: test-backend-node.js passed: sensitive body result match 
+2022-09-17 17:17:47 STATE: test-backend-node.js passed: sensitive hand result match 
+2022-09-17 17:17:47 INFO:  test-backend-node.js test body 
+2022-09-17 17:17:47 STATE: test-backend-node.js start blazepose 
+2022-09-17 17:17:49 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
+2022-09-17 17:17:49 STATE: test-backend-node.js event: image 
+2022-09-17 17:17:49 STATE: test-backend-node.js event: detect 
+2022-09-17 17:17:49 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg blazepose 
+2022-09-17 17:17:49 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.99,"keypoints":39} 
+2022-09-17 17:17:49 DATA:  test-backend-node.js  result: performance: load: null total: 258 
+2022-09-17 17:17:49 STATE: test-backend-node.js passed: blazepose 
+2022-09-17 17:17:49 STATE: test-backend-node.js start efficientpose 
+2022-09-17 17:17:50 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
+2022-09-17 17:17:50 STATE: test-backend-node.js event: image 
+2022-09-17 17:17:50 STATE: test-backend-node.js event: detect 
+2022-09-17 17:17:50 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg efficientpose 
+2022-09-17 17:17:50 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.75,"keypoints":13} 
+2022-09-17 17:17:50 DATA:  test-backend-node.js  result: performance: load: null total: 274 
+2022-09-17 17:17:50 STATE: test-backend-node.js passed: efficientpose 
+2022-09-17 17:17:50 STATE: test-backend-node.js start posenet 
+2022-09-17 17:18:02 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
+2022-09-17 17:18:02 STATE: test-backend-node.js event: image 
+2022-09-17 17:18:02 STATE: test-backend-node.js event: detect 
+2022-09-17 17:18:02 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg posenet 
+2022-09-17 17:18:02 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.96,"keypoints":16} 
+2022-09-17 17:18:02 DATA:  test-backend-node.js  result: performance: load: null total: 225 
+2022-09-17 17:18:02 STATE: test-backend-node.js passed: posenet 
+2022-09-17 17:18:02 STATE: test-backend-node.js start movenet 
+2022-09-17 17:18:02 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
+2022-09-17 17:18:02 STATE: test-backend-node.js event: image 
+2022-09-17 17:18:02 STATE: test-backend-node.js event: detect 
+2022-09-17 17:18:02 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg movenet 
+2022-09-17 17:18:02 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:18:02 DATA:  test-backend-node.js  result: performance: load: null total: 198 
+2022-09-17 17:18:02 STATE: test-backend-node.js passed: movenet 
+2022-09-17 17:18:02 INFO:  test-backend-node.js test face matching 
+2022-09-17 17:18:02 STATE: test-backend-node.js passed: face database 40 
+2022-09-17 17:18:02 STATE: test-backend-node.js passed: face match {"first":{"index":4,"similarity":0.7827852615252829}} {"second":{"index":4,"similarity":0.5002052633015844}} {"third":{"index":4,"similarity":0.5401587887998899}} 
+2022-09-17 17:18:02 INFO:  test-backend-node.js test face similarity alternative 
+2022-09-17 17:18:02 STATE: test-backend-node.js start face embeddings 
+2022-09-17 17:18:03 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
+2022-09-17 17:18:03 STATE: test-backend-node.js event: image 
+2022-09-17 17:18:03 STATE: test-backend-node.js event: detect 
+2022-09-17 17:18:03 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face embeddings 
+2022-09-17 17:18:03 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} 
+2022-09-17 17:18:03 DATA:  test-backend-node.js  result: performance: load: null total: 214 
+2022-09-17 17:18:03 STATE: test-backend-node.js passed: mobilefacenet {"embedding":192} 
+2022-09-17 17:18:03 STATE: test-backend-node.js start face embeddings 
+2022-09-17 17:18:34 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
+2022-09-17 17:18:34 STATE: test-backend-node.js event: image 
+2022-09-17 17:18:34 STATE: test-backend-node.js event: detect 
+2022-09-17 17:18:34 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face embeddings 
+2022-09-17 17:18:34 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} 
+2022-09-17 17:18:34 DATA:  test-backend-node.js  result: performance: load: null total: 268 
+2022-09-17 17:18:34 STATE: test-backend-node.js passed: insightface {"embedding":512} 
+2022-09-17 17:18:34 INFO:  test-backend-node.js test face attention 
+2022-09-17 17:18:34 STATE: test-backend-node.js start face attention 
+2022-09-17 17:18:34 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
+2022-09-17 17:18:34 STATE: test-backend-node.js event: image 
+2022-09-17 17:18:35 STATE: test-backend-node.js event: detect 
+2022-09-17 17:18:35 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face attention 
+2022-09-17 17:18:35 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} 
+2022-09-17 17:18:35 DATA:  test-backend-node.js  result: performance: load: null total: 215 
+2022-09-17 17:18:35 STATE: test-backend-node.js passed: face attention 
+2022-09-17 17:18:35 INFO:  test-backend-node.js test detectors 
+2022-09-17 17:18:35 STATE: test-backend-node.js start detectors 
+2022-09-17 17:18:35 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
+2022-09-17 17:18:35 STATE: test-backend-node.js event: image 
+2022-09-17 17:18:35 STATE: test-backend-node.js event: detect 
+2022-09-17 17:18:35 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg detectors 
+2022-09-17 17:18:35 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:18:35 DATA:  test-backend-node.js  result: performance: load: null total: 163 
+2022-09-17 17:18:35 STATE: test-backend-node.js passed: detector result face match 
+2022-09-17 17:18:35 STATE: test-backend-node.js passed: detector result hand match 
+2022-09-17 17:18:35 INFO:  test-backend-node.js test: multi-instance 
+2022-09-17 17:18:35 STATE: test-backend-node.js start multi instance 
+2022-09-17 17:18:35 STATE: test-backend-node.js event: image 
+2022-09-17 17:18:35 STATE: test-backend-node.js event: detect 
+2022-09-17 17:18:35 STATE: test-backend-node.js passed: detect: random multi instance 
+2022-09-17 17:18:35 DATA:  test-backend-node.js  result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} 
+2022-09-17 17:18:35 DATA:  test-backend-node.js  result: performance: load: null total: 109 
+2022-09-17 17:18:35 INFO:  test-backend-node.js test: first instance 
+2022-09-17 17:18:35 STATE: test-backend-node.js start multi instance 
+2022-09-17 17:18:35 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} 
+2022-09-17 17:18:35 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg multi instance 
+2022-09-17 17:18:35 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
+2022-09-17 17:18:35 DATA:  test-backend-node.js  result: performance: load: null total: 133 
+2022-09-17 17:18:35 INFO:  test-backend-node.js test: second instance 
+2022-09-17 17:18:35 STATE: test-backend-node.js start multi instance 
+2022-09-17 17:18:35 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} 
+2022-09-17 17:18:36 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg multi instance 
+2022-09-17 17:18:36 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
+2022-09-17 17:18:36 DATA:  test-backend-node.js  result: performance: load: null total: 120 
+2022-09-17 17:18:36 INFO:  test-backend-node.js test: concurrent 
+2022-09-17 17:18:36 STATE: test-backend-node.js start concurrent 
+2022-09-17 17:18:36 STATE: test-backend-node.js start concurrent 
+2022-09-17 17:18:36 STATE: test-backend-node.js start concurrent 
+2022-09-17 17:18:36 STATE: test-backend-node.js start concurrent 
+2022-09-17 17:18:36 STATE: test-backend-node.js start concurrent 
+2022-09-17 17:18:36 STATE: test-backend-node.js start concurrent 
+2022-09-17 17:18:36 STATE: test-backend-node.js start concurrent 
+2022-09-17 17:18:36 STATE: test-backend-node.js start concurrent 
+2022-09-17 17:18:36 STATE: test-backend-node.js start concurrent 
+2022-09-17 17:18:36 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
+2022-09-17 17:18:36 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
+2022-09-17 17:18:36 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
+2022-09-17 17:18:36 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
+2022-09-17 17:18:36 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} 
+2022-09-17 17:18:36 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} 
+2022-09-17 17:18:36 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
+2022-09-17 17:18:36 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
+2022-09-17 17:18:36 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} 
+2022-09-17 17:18:36 STATE: test-backend-node.js event: image 
+2022-09-17 17:18:36 STATE: test-backend-node.js event: image 
+2022-09-17 17:18:36 STATE: test-backend-node.js event: image 
+2022-09-17 17:18:37 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg concurrent 
+2022-09-17 17:18:37 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
+2022-09-17 17:18:37 DATA:  test-backend-node.js  result: performance: load: null total: 1257 
+2022-09-17 17:18:37 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg concurrent 
+2022-09-17 17:18:37 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
+2022-09-17 17:18:37 DATA:  test-backend-node.js  result: performance: load: null total: 1257 
+2022-09-17 17:18:37 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg concurrent 
+2022-09-17 17:18:37 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} 
+2022-09-17 17:18:37 DATA:  test-backend-node.js  result: performance: load: null total: 1257 
+2022-09-17 17:18:37 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg concurrent 
+2022-09-17 17:18:37 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} 
+2022-09-17 17:18:37 DATA:  test-backend-node.js  result: performance: load: null total: 1257 
+2022-09-17 17:18:37 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg concurrent 
+2022-09-17 17:18:37 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:18:37 DATA:  test-backend-node.js  result: performance: load: null total: 1257 
+2022-09-17 17:18:37 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg concurrent 
+2022-09-17 17:18:37 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:18:37 DATA:  test-backend-node.js  result: performance: load: null total: 1257 
+2022-09-17 17:18:37 STATE: test-backend-node.js event: detect 
+2022-09-17 17:18:37 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg concurrent 
+2022-09-17 17:18:37 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
+2022-09-17 17:18:37 DATA:  test-backend-node.js  result: performance: load: null total: 1002 
+2022-09-17 17:18:37 STATE: test-backend-node.js event: detect 
+2022-09-17 17:18:37 STATE: test-backend-node.js event: detect 
+2022-09-17 17:18:37 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg concurrent 
+2022-09-17 17:18:37 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} 
+2022-09-17 17:18:37 DATA:  test-backend-node.js  result: performance: load: null total: 1002 
+2022-09-17 17:18:37 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg concurrent 
+2022-09-17 17:18:37 DATA:  test-backend-node.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:18:37 DATA:  test-backend-node.js  result: performance: load: null total: 1002 
+2022-09-17 17:18:37 INFO:  test-backend-node.js test: monkey-patch 
+2022-09-17 17:18:37 STATE: test-backend-node.js event: image 
+2022-09-17 17:18:37 STATE: test-backend-node.js event: detect 
+2022-09-17 17:18:37 STATE: test-backend-node.js passed: monkey patch 
+2022-09-17 17:18:37 STATE: test-backend-node.js passed: segmentation [65536] 
+2022-09-17 17:18:37 STATE: test-backend-node.js passeed: equal usage 
+2022-09-17 17:18:37 INFO:  test-backend-node.js test: input compare 
+2022-09-17 17:18:37 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
+2022-09-17 17:18:38 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} 
+2022-09-17 17:18:38 STATE: test-backend-node.js passed: image compare 0 23.275441687091504 
+2022-09-17 17:18:38 INFO:  test-backend-node.js events: {"image":29,"detect":29,"warmup":2} 
+2022-09-17 17:18:38 INFO:  test-backend-node.js tensors 4147 
+2022-09-17 17:18:38 INFO:  test-backend-node.js test complete: 58329 ms 
+2022-09-17 17:18:38 INFO:  
+2022-09-17 17:18:38 INFO:  test-backend-node-gpu.js start 
+2022-09-17 17:18:39 INFO:  test-backend-node-gpu.js test: configuration validation 
+2022-09-17 17:18:39 STATE: test-backend-node-gpu.js passed: configuration default validation [] 
+2022-09-17 17:18:39 STATE: test-backend-node-gpu.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] 
+2022-09-17 17:18:39 INFO:  test-backend-node-gpu.js test: model load 
+2022-09-17 17:18:39 STATE: test-backend-node-gpu.js passed: models loaded 23 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":"insightface","loaded":false,"url":null},{"name":"emotion","loaded":true,"url":"file://models/emotion.json"},{"name":"facedetect","loaded":true,"url":"file://models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"file://models/iris.json"},{"name":"facemesh","loaded":true,"url":"file://models/facemesh.json"},{"name":"faceres","loaded":true,"url":"file://models/faceres.json"},{"name":"ssrnetgender","loaded":false,"url":null},{"name":"handpose","loaded":false,"url":null},{"name":"handskeleton","loaded":true,"url":"file://models/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"file://models/handtrack.json"},{"name":"liveness","loaded":true,"url":"file://models/liveness.json"},{"name":"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-09-17 17:18:39 INFO:  test-backend-node-gpu.js memory: {"memory":{"unreliable":true,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} 
+2022-09-17 17:18:39 INFO:  test-backend-node-gpu.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} 
+2022-09-17 17:18:39 INFO:  test-backend-node-gpu.js test: warmup 
+2022-09-17 17:18:39 STATE: test-backend-node-gpu.js passed: create human 
+2022-09-17 17:18:39 INFO:  test-backend-node-gpu.js human version: 2.10.2 
+2022-09-17 17:18:39 INFO:  test-backend-node-gpu.js platform: linux x64 agent: NodeJS v18.1.0 
+2022-09-17 17:18:39 INFO:  test-backend-node-gpu.js tfjs version: 3.20.0 
+2022-09-17 17:18:39 INFO:  test-backend-node-gpu.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","tensorflow"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{"version":"2.7.3-dev20220521","gpu":true},"wasm":{"supported":true,"backend":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":169} 
+2022-09-17 17:18:39 STATE: test-backend-node-gpu.js passed: set backend: tensorflow 
+2022-09-17 17:18:39 STATE: test-backend-node-gpu.js tensors 1921 
+2022-09-17 17:18:39 STATE: test-backend-node-gpu.js passed: load models 
+2022-09-17 17:18:39 STATE: test-backend-node-gpu.js  result: defined models: 23 loaded models: 12 
+2022-09-17 17:18:39 STATE: test-backend-node-gpu.js passed: warmup: none default 
+2022-09-17 17:18:39 DATA:  test-backend-node-gpu.js  result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} 
+2022-09-17 17:18:39 DATA:  test-backend-node-gpu.js  result: performance: load: null total: null 
+2022-09-17 17:18:39 STATE: test-backend-node-gpu.js passed: warmup none result match 
+2022-09-17 17:18:40 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:18:44 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:18:44 STATE: test-backend-node-gpu.js event: warmup 
+2022-09-17 17:18:44 STATE: test-backend-node-gpu.js passed: warmup: face default 
+2022-09-17 17:18:44 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4} 
+2022-09-17 17:18:44 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 4852 
+2022-09-17 17:18:44 STATE: test-backend-node-gpu.js passed: warmup face result match 
+2022-09-17 17:18:44 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js event: warmup 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: warmup: body default 
+2022-09-17 17:18:45 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
+2022-09-17 17:18:45 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 160 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: warmup body result match 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js details: {"face":{"boxScore":0.92,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.63,"emotion":"angry"},{"score":0.22,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.52,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 10% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} 
+2022-09-17 17:18:45 INFO:  test-backend-node-gpu.js test: details verification 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js start default 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg default 
+2022-09-17 17:18:45 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
+2022-09-17 17:18:45 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 158 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: details face length 1 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: details face score 1 0.93 1 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: details face age/gender 23.7 female 0.97 85.47 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: details face arrays 4 478 1024 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: details face anti-spoofing 0.79 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: details face liveness 0.83 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: details body length 1 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: details body 0.92 17 6 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: details hand length 1 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: details hand 0.51 0.73 point 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: details hand arrays 21 5 7 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: details gesture length 7 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: details gesture first {"face":0,"gesture":"facing right"} 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: details object length 1 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: details object 0.72 person 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:18:45 STATE: test-backend-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: float32 
+2022-09-17 17:18:46 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} 
+2022-09-17 17:18:46 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:18:46 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:18:46 STATE: test-backend-node-gpu.js passed: tensor shape: [1200,1200,4] dtype: float32 
+2022-09-17 17:18:46 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
+2022-09-17 17:18:46 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:18:46 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:18:46 STATE: test-backend-node-gpu.js passed: tensor shape: [1,1200,1200,3] dtype: float32 
+2022-09-17 17:18:46 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796928} 
+2022-09-17 17:18:46 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:18:46 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:18:46 STATE: test-backend-node-gpu.js passed: tensor shape: [1200,1200,3] dtype: float32 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: int32 
+2022-09-17 17:18:47 INFO:  test-backend-node-gpu.js test default 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js start async 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg async 
+2022-09-17 17:18:47 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
+2022-09-17 17:18:47 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 149 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js passed: default result face match 1 female 0.97 
+2022-09-17 17:18:47 INFO:  test-backend-node-gpu.js test sync 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js start sync 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg sync 
+2022-09-17 17:18:47 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
+2022-09-17 17:18:47 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 146 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js passed: default sync 1 female 0.97 
+2022-09-17 17:18:47 INFO:  test-backend-node-gpu.js test: image process 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js passed: image input null [1,256,256,3] 
+2022-09-17 17:18:47 INFO:  test-backend-node-gpu.js test: image null 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js passed: invalid input could not convert input to tensor 
+2022-09-17 17:18:47 INFO:  test-backend-node-gpu.js test face similarity 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js start face similarity 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
+2022-09-17 17:18:47 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face similarity 
+2022-09-17 17:18:48 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} 
+2022-09-17 17:18:48 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 174 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js start face similarity 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg face similarity 
+2022-09-17 17:18:48 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
+2022-09-17 17:18:48 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 154 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js start face similarity 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg face similarity 
+2022-09-17 17:18:48 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} 
+2022-09-17 17:18:48 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 149 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js passed: face descriptor 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js passed: face similarity {"similarity":[1,0.447238756461232,0.556914029877052],"descriptors":[1024,1024,1024]} 
+2022-09-17 17:18:48 INFO:  test-backend-node-gpu.js test object 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js start object 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg object 
+2022-09-17 17:18:48 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
+2022-09-17 17:18:48 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 155 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js passed: centernet 
+2022-09-17 17:18:48 STATE: test-backend-node-gpu.js start object 
+2022-09-17 17:18:51 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
+2022-09-17 17:18:51 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:18:52 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:18:52 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg object 
+2022-09-17 17:18:52 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 3 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17} 
+2022-09-17 17:18:52 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 607 
+2022-09-17 17:18:52 STATE: test-backend-node-gpu.js passed: nanodet 
+2022-09-17 17:18:52 INFO:  test-backend-node-gpu.js test sensitive 
+2022-09-17 17:18:52 STATE: test-backend-node-gpu.js start sensitive 
+2022-09-17 17:18:52 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
+2022-09-17 17:18:52 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:18:52 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:18:52 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg sensitive 
+2022-09-17 17:18:52 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:18:52 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 129 
+2022-09-17 17:18:52 STATE: test-backend-node-gpu.js passed: sensitive result match 
+2022-09-17 17:18:52 STATE: test-backend-node-gpu.js passed: sensitive face result match 
+2022-09-17 17:18:52 STATE: test-backend-node-gpu.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] 
+2022-09-17 17:18:52 STATE: test-backend-node-gpu.js passed: sensitive body result match 
+2022-09-17 17:18:52 STATE: test-backend-node-gpu.js passed: sensitive hand result match 
+2022-09-17 17:18:52 INFO:  test-backend-node-gpu.js test body 
+2022-09-17 17:18:52 STATE: test-backend-node-gpu.js start blazepose 
+2022-09-17 17:18:57 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
+2022-09-17 17:18:57 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:18:57 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:18:57 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg blazepose 
+2022-09-17 17:18:57 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.99,"keypoints":39} 
+2022-09-17 17:18:57 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 437 
+2022-09-17 17:18:57 STATE: test-backend-node-gpu.js passed: blazepose 
+2022-09-17 17:18:57 STATE: test-backend-node-gpu.js start efficientpose 
+2022-09-17 17:19:01 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
+2022-09-17 17:19:01 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:19:01 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:19:01 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg efficientpose 
+2022-09-17 17:19:01 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.75,"keypoints":13} 
+2022-09-17 17:19:01 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 812 
+2022-09-17 17:19:01 STATE: test-backend-node-gpu.js passed: efficientpose 
+2022-09-17 17:19:01 STATE: test-backend-node-gpu.js start posenet 
+2022-09-17 17:19:05 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
+2022-09-17 17:19:05 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:19:05 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:19:05 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg posenet 
+2022-09-17 17:19:05 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.96,"keypoints":16} 
+2022-09-17 17:19:05 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 240 
+2022-09-17 17:19:05 STATE: test-backend-node-gpu.js passed: posenet 
+2022-09-17 17:19:05 STATE: test-backend-node-gpu.js start movenet 
+2022-09-17 17:19:05 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
+2022-09-17 17:19:05 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:19:06 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:19:06 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg movenet 
+2022-09-17 17:19:06 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:19:06 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 196 
+2022-09-17 17:19:06 STATE: test-backend-node-gpu.js passed: movenet 
+2022-09-17 17:19:06 INFO:  test-backend-node-gpu.js test face matching 
+2022-09-17 17:19:06 STATE: test-backend-node-gpu.js passed: face database 40 
+2022-09-17 17:19:06 STATE: test-backend-node-gpu.js passed: face match {"first":{"index":4,"similarity":0.7828184453007331}} {"second":{"index":4,"similarity":0.5001334216773398}} {"third":{"index":4,"similarity":0.5403054967489764}} 
+2022-09-17 17:19:06 INFO:  test-backend-node-gpu.js test face similarity alternative 
+2022-09-17 17:19:06 STATE: test-backend-node-gpu.js start face embeddings 
+2022-09-17 17:19:09 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
+2022-09-17 17:19:09 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:19:09 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:19:09 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings 
+2022-09-17 17:19:09 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} 
+2022-09-17 17:19:09 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 212 
+2022-09-17 17:19:09 STATE: test-backend-node-gpu.js passed: mobilefacenet {"embedding":192} 
+2022-09-17 17:19:09 STATE: test-backend-node-gpu.js start face embeddings 
+2022-09-17 17:19:12 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
+2022-09-17 17:19:12 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:19:12 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:19:12 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings 
+2022-09-17 17:19:12 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} 
+2022-09-17 17:19:12 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 256 
+2022-09-17 17:19:12 STATE: test-backend-node-gpu.js passed: insightface {"embedding":512} 
+2022-09-17 17:19:12 INFO:  test-backend-node-gpu.js test face attention 
+2022-09-17 17:19:12 STATE: test-backend-node-gpu.js start face attention 
+2022-09-17 17:19:14 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
+2022-09-17 17:19:14 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face attention 
+2022-09-17 17:19:15 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} 
+2022-09-17 17:19:15 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 420 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js passed: face attention 
+2022-09-17 17:19:15 INFO:  test-backend-node-gpu.js test detectors 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js start detectors 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg detectors 
+2022-09-17 17:19:15 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:19:15 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 118 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js passed: detector result face match 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js passed: detector result hand match 
+2022-09-17 17:19:15 INFO:  test-backend-node-gpu.js test: multi-instance 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js start multi instance 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js passed: detect: random multi instance 
+2022-09-17 17:19:15 DATA:  test-backend-node-gpu.js  result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} 
+2022-09-17 17:19:15 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 79 
+2022-09-17 17:19:15 INFO:  test-backend-node-gpu.js test: first instance 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js start multi instance 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg multi instance 
+2022-09-17 17:19:15 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
+2022-09-17 17:19:15 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 95 
+2022-09-17 17:19:15 INFO:  test-backend-node-gpu.js test: second instance 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js start multi instance 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg multi instance 
+2022-09-17 17:19:15 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
+2022-09-17 17:19:15 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 58 
+2022-09-17 17:19:15 INFO:  test-backend-node-gpu.js test: concurrent 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js start concurrent 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js start concurrent 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js start concurrent 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js start concurrent 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js start concurrent 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js start concurrent 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js start concurrent 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js start concurrent 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js start concurrent 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
+2022-09-17 17:19:15 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
+2022-09-17 17:19:16 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
+2022-09-17 17:19:16 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
+2022-09-17 17:19:16 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} 
+2022-09-17 17:19:16 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} 
+2022-09-17 17:19:16 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
+2022-09-17 17:19:16 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
+2022-09-17 17:19:16 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} 
+2022-09-17 17:19:16 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:19:16 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:19:16 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent 
+2022-09-17 17:19:17 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
+2022-09-17 17:19:17 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 801 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent 
+2022-09-17 17:19:17 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
+2022-09-17 17:19:17 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 802 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent 
+2022-09-17 17:19:17 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} 
+2022-09-17 17:19:17 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 802 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent 
+2022-09-17 17:19:17 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} 
+2022-09-17 17:19:17 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 802 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent 
+2022-09-17 17:19:17 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:19:17 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 802 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent 
+2022-09-17 17:19:17 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:19:17 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 802 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent 
+2022-09-17 17:19:17 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
+2022-09-17 17:19:17 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 550 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent 
+2022-09-17 17:19:17 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} 
+2022-09-17 17:19:17 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 550 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent 
+2022-09-17 17:19:17 DATA:  test-backend-node-gpu.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:19:17 DATA:  test-backend-node-gpu.js  result: performance: load: null total: 550 
+2022-09-17 17:19:17 INFO:  test-backend-node-gpu.js test: monkey-patch 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js event: image 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js event: detect 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js passed: monkey patch 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js passed: segmentation [65536] 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js passeed: equal usage 
+2022-09-17 17:19:17 INFO:  test-backend-node-gpu.js test: input compare 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} 
+2022-09-17 17:19:17 STATE: test-backend-node-gpu.js passed: image compare 0 23.275441687091504 
+2022-09-17 17:19:17 INFO:  test-backend-node-gpu.js events: {"image":29,"detect":29,"warmup":2} 
+2022-09-17 17:19:17 INFO:  test-backend-node-gpu.js tensors 4147 
+2022-09-17 17:19:17 INFO:  test-backend-node-gpu.js test complete: 38121 ms 
+2022-09-17 17:19:19 INFO:  
+2022-09-17 17:19:19 INFO:  test-backend-node-wasm.js start 
+2022-09-17 17:19:19 DATA:  test-backend-node-wasm.js stdout: 2022-09-17 17:19:19 INFO:  { supported: true, backend: true, simd: true, multithread: false } 
+2022-09-17 17:19:19 STATE: test-backend-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/ 
+2022-09-17 17:19:19 INFO:  test-backend-node-wasm.js test: configuration validation 
+2022-09-17 17:19:19 STATE: test-backend-node-wasm.js passed: configuration default validation [] 
+2022-09-17 17:19:19 STATE: test-backend-node-wasm.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] 
+2022-09-17 17:19:19 INFO:  test-backend-node-wasm.js test: model load 
+2022-09-17 17:19:22 STATE: test-backend-node-wasm.js passed: models loaded 23 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":"insightface","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-09-17 17:19:22 INFO:  test-backend-node-wasm.js memory: {"memory":{"unreliable":false,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} 
+2022-09-17 17:19:22 INFO:  test-backend-node-wasm.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} 
+2022-09-17 17:19:22 INFO:  test-backend-node-wasm.js test: warmup 
+2022-09-17 17:19:22 STATE: test-backend-node-wasm.js passed: create human 
+2022-09-17 17:19:22 INFO:  test-backend-node-wasm.js human version: 2.10.2 
+2022-09-17 17:19:22 INFO:  test-backend-node-wasm.js platform: linux x64 agent: NodeJS v18.1.0 
+2022-09-17 17:19:22 INFO:  test-backend-node-wasm.js tfjs version: 3.20.0 
+2022-09-17 17:19:22 INFO:  test-backend-node-wasm.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","wasm"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{},"wasm":{"supported":true,"backend":true,"simd":true,"multithread":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":126} 
+2022-09-17 17:19:22 STATE: test-backend-node-wasm.js passed: set backend: wasm 
+2022-09-17 17:19:22 STATE: test-backend-node-wasm.js tensors 1921 
+2022-09-17 17:19:22 STATE: test-backend-node-wasm.js passed: load models 
+2022-09-17 17:19:22 STATE: test-backend-node-wasm.js  result: defined models: 23 loaded models: 12 
+2022-09-17 17:19:22 STATE: test-backend-node-wasm.js passed: warmup: none default 
+2022-09-17 17:19:22 DATA:  test-backend-node-wasm.js  result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} 
+2022-09-17 17:19:22 DATA:  test-backend-node-wasm.js  result: performance: load: null total: null 
+2022-09-17 17:19:22 STATE: test-backend-node-wasm.js passed: warmup none result match 
+2022-09-17 17:19:22 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:22 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:22 STATE: test-backend-node-wasm.js event: warmup 
+2022-09-17 17:19:22 STATE: test-backend-node-wasm.js passed: warmup: face default 
+2022-09-17 17:19:22 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} 
+2022-09-17 17:19:22 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 514 
+2022-09-17 17:19:22 STATE: test-backend-node-wasm.js passed: warmup face result match 
+2022-09-17 17:19:22 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js event: warmup 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: warmup: body default 
+2022-09-17 17:19:23 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
+2022-09-17 17:19:23 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 375 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: warmup body result match 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js details: {"face":{"boxScore":0.93,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.51,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 21% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} 
+2022-09-17 17:19:23 INFO:  test-backend-node-wasm.js test: details verification 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js start default 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg default 
+2022-09-17 17:19:23 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
+2022-09-17 17:19:23 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 326 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: details face length 1 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: details face score 1 0.93 1 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: details face age/gender 23.7 female 0.97 85.47 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: details face arrays 4 478 1024 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: details face anti-spoofing 0.79 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: details face liveness 0.83 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: details body length 1 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: details body 0.92 17 6 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: details hand length 1 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: details hand 0.51 0.73 point 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: details hand arrays 21 5 7 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: details gesture length 7 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: details gesture first {"face":0,"gesture":"facing right"} 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: details object length 1 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: details object 0.72 person 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1413675264} 
+2022-09-17 17:19:23 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:24 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:24 STATE: test-backend-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: float32 
+2022-09-17 17:19:24 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1413675264} 
+2022-09-17 17:19:24 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:24 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:24 STATE: test-backend-node-wasm.js passed: tensor shape: [1200,1200,4] dtype: float32 
+2022-09-17 17:19:25 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
+2022-09-17 17:19:25 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:25 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:25 STATE: test-backend-node-wasm.js passed: tensor shape: [1,1200,1200,3] dtype: float32 
+2022-09-17 17:19:25 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1038921856} 
+2022-09-17 17:19:25 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:25 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:25 STATE: test-backend-node-wasm.js passed: tensor shape: [1200,1200,3] dtype: float32 
+2022-09-17 17:19:26 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} 
+2022-09-17 17:19:26 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:26 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:26 STATE: test-backend-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: int32 
+2022-09-17 17:19:26 INFO:  test-backend-node-wasm.js test default 
+2022-09-17 17:19:26 STATE: test-backend-node-wasm.js start async 
+2022-09-17 17:19:26 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
+2022-09-17 17:19:26 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:26 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:26 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg async 
+2022-09-17 17:19:26 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
+2022-09-17 17:19:26 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 330 
+2022-09-17 17:19:26 STATE: test-backend-node-wasm.js passed: default result face match 1 female 0.97 
+2022-09-17 17:19:26 INFO:  test-backend-node-wasm.js test sync 
+2022-09-17 17:19:26 STATE: test-backend-node-wasm.js start sync 
+2022-09-17 17:19:27 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
+2022-09-17 17:19:27 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:27 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:27 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg sync 
+2022-09-17 17:19:27 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
+2022-09-17 17:19:27 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 330 
+2022-09-17 17:19:27 STATE: test-backend-node-wasm.js passed: default sync 1 female 0.97 
+2022-09-17 17:19:27 INFO:  test-backend-node-wasm.js test: image process 
+2022-09-17 17:19:27 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} 
+2022-09-17 17:19:27 STATE: test-backend-node-wasm.js passed: image input null [1,256,256,3] 
+2022-09-17 17:19:27 INFO:  test-backend-node-wasm.js test: image null 
+2022-09-17 17:19:27 STATE: test-backend-node-wasm.js passed: invalid input could not convert input to tensor 
+2022-09-17 17:19:27 INFO:  test-backend-node-wasm.js test face similarity 
+2022-09-17 17:19:27 STATE: test-backend-node-wasm.js start face similarity 
+2022-09-17 17:19:27 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} 
+2022-09-17 17:19:27 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:27 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:27 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face similarity 
+2022-09-17 17:19:27 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} 
+2022-09-17 17:19:27 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 300 
+2022-09-17 17:19:27 STATE: test-backend-node-wasm.js start face similarity 
+2022-09-17 17:19:28 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
+2022-09-17 17:19:28 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:28 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:28 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg face similarity 
+2022-09-17 17:19:28 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
+2022-09-17 17:19:28 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 320 
+2022-09-17 17:19:28 STATE: test-backend-node-wasm.js start face similarity 
+2022-09-17 17:19:28 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} 
+2022-09-17 17:19:28 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:28 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:28 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg face similarity 
+2022-09-17 17:19:28 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} 
+2022-09-17 17:19:28 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 287 
+2022-09-17 17:19:28 STATE: test-backend-node-wasm.js passed: face descriptor 
+2022-09-17 17:19:28 STATE: test-backend-node-wasm.js passed: face similarity {"similarity":[1,0.5266119940661309,0.4858842904087851],"descriptors":[1024,1024,1024]} 
+2022-09-17 17:19:28 INFO:  test-backend-node-wasm.js test object 
+2022-09-17 17:19:28 STATE: test-backend-node-wasm.js start object 
+2022-09-17 17:19:29 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
+2022-09-17 17:19:29 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:29 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:29 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg object 
+2022-09-17 17:19:29 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 
+2022-09-17 17:19:29 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 330 
+2022-09-17 17:19:29 STATE: test-backend-node-wasm.js passed: centernet 
+2022-09-17 17:19:29 STATE: test-backend-node-wasm.js start object 
+2022-09-17 17:19:30 WARN:  test-backend-node-wasm.js missing kernel ops {"title":"object","model":"nanodet","url":"https://vladmandic.github.io/human-models/models/nanodet.json","missing":["sparsetodense"],"backkend":"wasm"} 
+2022-09-17 17:19:30 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
+2022-09-17 17:19:30 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:30 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:30 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg object 
+2022-09-17 17:19:30 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 8 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:19:30 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 235 
+2022-09-17 17:19:30 ERROR: test-backend-node-wasm.js failed: nanodet [] 
+2022-09-17 17:19:30 INFO:  test-backend-node-wasm.js test sensitive 
+2022-09-17 17:19:30 STATE: test-backend-node-wasm.js start sensitive 
+2022-09-17 17:19:30 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
+2022-09-17 17:19:30 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:31 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:31 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg sensitive 
+2022-09-17 17:19:31 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:19:31 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 271 
+2022-09-17 17:19:31 STATE: test-backend-node-wasm.js passed: sensitive result match 
+2022-09-17 17:19:31 STATE: test-backend-node-wasm.js passed: sensitive face result match 
+2022-09-17 17:19:31 STATE: test-backend-node-wasm.js passed: sensitive face emotion result [{"score":0.46,"emotion":"neutral"},{"score":0.24,"emotion":"fear"},{"score":0.17,"emotion":"sad"}] 
+2022-09-17 17:19:31 STATE: test-backend-node-wasm.js passed: sensitive body result match 
+2022-09-17 17:19:31 STATE: test-backend-node-wasm.js passed: sensitive hand result match 
+2022-09-17 17:19:31 INFO:  test-backend-node-wasm.js test body 
+2022-09-17 17:19:31 STATE: test-backend-node-wasm.js start blazepose 
+2022-09-17 17:19:33 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
+2022-09-17 17:19:33 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:33 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:33 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg blazepose 
+2022-09-17 17:19:33 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.99,"keypoints":39} 
+2022-09-17 17:19:33 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 434 
+2022-09-17 17:19:33 STATE: test-backend-node-wasm.js passed: blazepose 
+2022-09-17 17:19:33 STATE: test-backend-node-wasm.js start efficientpose 
+2022-09-17 17:19:34 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
+2022-09-17 17:19:34 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:35 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:35 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg efficientpose 
+2022-09-17 17:19:35 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.75,"keypoints":13} 
+2022-09-17 17:19:35 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 754 
+2022-09-17 17:19:35 STATE: test-backend-node-wasm.js passed: efficientpose 
+2022-09-17 17:19:35 STATE: test-backend-node-wasm.js start posenet 
+2022-09-17 17:19:35 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
+2022-09-17 17:19:35 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:36 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:36 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg posenet 
+2022-09-17 17:19:36 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.96,"keypoints":16} 
+2022-09-17 17:19:36 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 291 
+2022-09-17 17:19:36 STATE: test-backend-node-wasm.js passed: posenet 
+2022-09-17 17:19:36 STATE: test-backend-node-wasm.js start movenet 
+2022-09-17 17:19:36 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
+2022-09-17 17:19:36 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:36 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:36 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg movenet 
+2022-09-17 17:19:36 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:19:36 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 239 
+2022-09-17 17:19:36 STATE: test-backend-node-wasm.js passed: movenet 
+2022-09-17 17:19:36 INFO:  test-backend-node-wasm.js test face matching 
+2022-09-17 17:19:36 STATE: test-backend-node-wasm.js passed: face database 40 
+2022-09-17 17:19:36 STATE: test-backend-node-wasm.js passed: face match {"first":{"index":4,"similarity":0.7827852754786533}} {"second":{"index":4,"similarity":0.5660821189104794}} {"third":{"index":4,"similarity":0.45074189882665594}} 
+2022-09-17 17:19:36 INFO:  test-backend-node-wasm.js test face similarity alternative 
+2022-09-17 17:19:36 STATE: test-backend-node-wasm.js start face embeddings 
+2022-09-17 17:19:36 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} 
+2022-09-17 17:19:36 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:37 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:37 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings 
+2022-09-17 17:19:37 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} 
+2022-09-17 17:19:37 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 241 
+2022-09-17 17:19:37 STATE: test-backend-node-wasm.js passed: mobilefacenet {"embedding":192} 
+2022-09-17 17:19:37 STATE: test-backend-node-wasm.js start face embeddings 
+2022-09-17 17:19:37 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} 
+2022-09-17 17:19:37 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings 
+2022-09-17 17:19:38 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} 
+2022-09-17 17:19:38 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 280 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js passed: insightface {"embedding":512} 
+2022-09-17 17:19:38 INFO:  test-backend-node-wasm.js test face attention 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js start face attention 
+2022-09-17 17:19:38 WARN:  test-backend-node-wasm.js missing kernel ops {"title":"face attention","model":"facemesh","url":"https://vladmandic.github.io/human-models/models/facemesh-attention.json","missing":["atan2"],"backkend":"wasm"} 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face attention 
+2022-09-17 17:19:38 DATA:  test-backend-node-wasm.js  result: face: 0 body: 1 hand: 1 gesture: 2 object: 0 person: 0 {} {} {"score":0.47,"keypoints":3} 
+2022-09-17 17:19:38 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 118 
+2022-09-17 17:19:38 ERROR: test-backend-node-wasm.js failed: face attention {"annotations":0} 
+2022-09-17 17:19:38 INFO:  test-backend-node-wasm.js test detectors 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js start detectors 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg detectors 
+2022-09-17 17:19:38 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:19:38 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 115 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js passed: detector result face match 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js passed: detector result hand match 
+2022-09-17 17:19:38 INFO:  test-backend-node-wasm.js test: multi-instance 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js start multi instance 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js passed: detect: random multi instance 
+2022-09-17 17:19:38 DATA:  test-backend-node-wasm.js  result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} 
+2022-09-17 17:19:38 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 93 
+2022-09-17 17:19:38 INFO:  test-backend-node-wasm.js test: first instance 
+2022-09-17 17:19:38 STATE: test-backend-node-wasm.js start multi instance 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance 
+2022-09-17 17:19:39 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
+2022-09-17 17:19:39 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 117 
+2022-09-17 17:19:39 INFO:  test-backend-node-wasm.js test: second instance 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js start multi instance 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance 
+2022-09-17 17:19:39 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
+2022-09-17 17:19:39 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 110 
+2022-09-17 17:19:39 INFO:  test-backend-node-wasm.js test: concurrent 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js start concurrent 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js start concurrent 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js start concurrent 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js start concurrent 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js start concurrent 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js start concurrent 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js start concurrent 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js start concurrent 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js start concurrent 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
+2022-09-17 17:19:39 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} 
+2022-09-17 17:19:40 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} 
+2022-09-17 17:19:40 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} 
+2022-09-17 17:19:40 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
+2022-09-17 17:19:40 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} 
+2022-09-17 17:19:40 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:40 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:40 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent 
+2022-09-17 17:19:41 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
+2022-09-17 17:19:41 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 1280 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent 
+2022-09-17 17:19:41 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
+2022-09-17 17:19:41 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 1280 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent 
+2022-09-17 17:19:41 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} 
+2022-09-17 17:19:41 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 1281 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent 
+2022-09-17 17:19:41 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} 
+2022-09-17 17:19:41 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 1281 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent 
+2022-09-17 17:19:41 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:19:41 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 1281 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent 
+2022-09-17 17:19:41 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:19:41 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 1281 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent 
+2022-09-17 17:19:41 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} 
+2022-09-17 17:19:41 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 957 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent 
+2022-09-17 17:19:41 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} 
+2022-09-17 17:19:41 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 958 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent 
+2022-09-17 17:19:41 DATA:  test-backend-node-wasm.js  result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} 
+2022-09-17 17:19:41 DATA:  test-backend-node-wasm.js  result: performance: load: null total: 958 
+2022-09-17 17:19:41 INFO:  test-backend-node-wasm.js test: monkey-patch 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js event: image 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js event: detect 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js passed: monkey patch 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js passed: segmentation [65536] 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js passeed: equal usage 
+2022-09-17 17:19:41 INFO:  test-backend-node-wasm.js test: input compare 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} 
+2022-09-17 17:19:41 STATE: test-backend-node-wasm.js passed: image compare 0 23.280073018790848 
+2022-09-17 17:19:41 INFO:  test-backend-node-wasm.js events: {"image":29,"detect":29,"warmup":2} 
+2022-09-17 17:19:41 INFO:  test-backend-node-wasm.js tensors 4149 
+2022-09-17 17:19:41 INFO:  test-backend-node-wasm.js test complete: 21846 ms 
+2022-09-17 17:19:41 STATE: all tests complete 
+2022-09-17 17:19:41 INFO:    status {"test":"../demo/nodejs/node.js","passed":1,"failed":0} 
+2022-09-17 17:19:41 INFO:    status {"test":"../demo/nodejs/node-simple.js","passed":1,"failed":0} 
+2022-09-17 17:19:41 INFO:    status {"test":"../demo/nodejs/node-fetch.js","passed":1,"failed":0} 
+2022-09-17 17:19:41 INFO:    status {"test":"../demo/nodejs/node-event.js","passed":1,"failed":0} 
+2022-09-17 17:19:41 INFO:    status {"test":"../demo/nodejs/node-similarity.js","passed":1,"failed":0} 
+2022-09-17 17:19:41 INFO:    status {"test":"../demo/nodejs/node-canvas.js","passed":1,"failed":0} 
+2022-09-17 17:19:41 INFO:    status {"test":"../demo/multithread/node-multiprocess.js","passed":1,"failed":0} 
+2022-09-17 17:19:41 INFO:    status {"test":"../demo/facematch/node-match.js","passed":1,"failed":0} 
+2022-09-17 17:19:41 INFO:    status {"test":"test-node-load.js","passed":1,"failed":0} 
+2022-09-17 17:19:41 INFO:    status {"test":"test-node-gear.js","passed":3,"failed":0} 
+2022-09-17 17:19:41 INFO:    status {"test":"test-backend-node.js","passed":125,"failed":0} 
+2022-09-17 17:19:41 INFO:    status {"test":"test-backend-node-gpu.js","passed":125,"failed":0} 
+2022-09-17 17:19:41 INFO:    status {"test":"test-backend-node-wasm.js","passed":124,"failed":2} 
+2022-09-17 17:19:41 INFO:  failures {"count":2} 
+2022-09-17 17:19:41 WARN:    failed {"test":"test-backend-node-wasm.js","message":["error",["failed: nanodet",[]]]} 
+2022-09-17 17:19:41 WARN:    failed {"test":"test-backend-node-wasm.js","message":["error",["failed: face attention",{"annotations":0}]]} 
diff --git a/wiki b/wiki
index 9785618d..7a9a68dc 160000
--- a/wiki
+++ b/wiki
@@ -1 +1 @@
-Subproject commit 9785618d94c8eb325fefbf8ca1212359b5c913d6
+Subproject commit 7a9a68dc4dbbc06c82324266c9a31d9fe037cf3b