diff --git a/CHANGELOG.md b/CHANGELOG.md index bbc1126a..f053628f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,10 @@ ## Changelog -### **HEAD -> main** 2022/08/10 mandic00@live.com +### **HEAD -> main** 2022/08/12 mandic00@live.com + + +### **origin/main** 2022/08/10 mandic00@live.com ### **2.9.3** 2022/08/10 mandic00@live.com diff --git a/TODO.md b/TODO.md index 35328b74..7df2a177 100644 --- a/TODO.md +++ b/TODO.md @@ -22,13 +22,9 @@ N/A ## Known Issues ### Face with Attention -`FaceMesh-Landmarks` model is supported only with `CPU` and `WebGL` backends due to `TFJS` issues -### WASM - -Support for **WASM SIMD** and **WASM MultiThreading** is still disabled by default in **Chromium** based browsers -Suggestion is to enable it manually for major performance boost -Enable via +`FaceMesh-Attention` is not supported in `Node` or in browser using `WASM` backend due to missing kernel op in **TFJS** +Model is supported using `WebGL` backend in browser ### WebGPU @@ -40,30 +36,43 @@ Enable via Running in **web workers** requires `OffscreenCanvas` which is still disabled by default in **Firefox** Enable via `about:config` -> `gfx.offscreencanvas.enabled` -### Face Detection +### Face Detection & Hand Detection -Enhanced rotation correction for face detection is not working in **NodeJS** due to missing kernel op in **TFJS** +Enhanced rotation correction for face detection and hand detection is not working in **NodeJS** due to missing kernel op in **TFJS** Feature is automatically disabled in **NodeJS** without user impact +### Object Detection + +`NanoDet` model is not supported in `Node` or in browser using `WASM` backend due to missing kernel op in **TFJS** +Model is supported using `WebGL` backend in browser +

## Pending Release Changes - Add **InsightFace** model as alternative for face embedding/descriptor detection - compatible with multiple variations of **InsightFace** models - configurable using `config.face.insightface` config section - see `demo/faceid/index.ts` for usage - models can be downloaded from -- Add `human.check()` which validates all kernel ops for currently loaded models with currently selected backend - Example: `console.error(human.check());` + Compatible with multiple variations of **InsightFace** models + Configurable using `config.face.insightface` config section + See `demo/faceid/index.ts` for usage + Models can be downloaded from +- Add `human.check()` which validates all kernel ops for currently loaded models with currently selected backend + Example: `console.error(human.check());` +- Host models in + Models can be directly used without downloading to local storage + Example: `modelPath: 'https://vladmandic.github.io/human-models/models/facemesh.json'` +- Host models in **Google Cloud Bucket** + Models can be directly used without downloading to local storage + Example: `modelPath: 'https://storage.googleapis.com/human-models/facemesh.json'` - Fix **MobileFaceNet** model as alternative for face embedding/descriptor detection - configurable using `config.face.mobilefacenet` config section + Configurable using `config.face.mobilefacenet` config section - Fix **EfficientPose** module as alternative body detection - Fix **NanoDet** module as alternative object detection - Fix `demo/multithread/node-multiprocess.js` demo - Fix `human.match` when using mixed descriptor lengths - Increased test coverage - run using `npm run test` + Run using `npm run test` +- Increase availability of alternative models + See `models/model.json` for full list - Update **NMS** methods resulting in some performance improvements - Update profiling methods in `human.profile()` - Update project dependencies diff --git a/build.js b/build.js index 1e9ab460..19ab01f4 100644 --- a/build.js +++ b/build.js @@ -6,6 +6,7 @@ const APIExtractor = require('@microsoft/api-extractor'); const tf = require('@tensorflow/tfjs-node'); const package = require('./package.json'); +const logFile = 'test/build.log'; const modelsOut = 'models/models.json'; const modelsFolders = [ './models', @@ -71,9 +72,8 @@ async function analyzeModels() { } async function main() { + log.logFile(logFile); log.data('Build', { name: package.name, version: package.version }); - // generate model signature - await analyzeModels(); // run production build const build = new Build(); await build.run('production'); @@ -102,7 +102,9 @@ async function main() { copy('types/human.d.ts', 'dist/human.node-gpu.d.ts'); copy('types/human.d.ts', 'dist/human.node.d.ts'); copy('types/human.d.ts', 'dist/human.node-wasm.d.ts'); - log.info('Human Build complete...'); + // generate model signature + await analyzeModels(); + log.info('Human Build complete...', { logFile }); } main(); diff --git a/test/build.log b/test/build.log index 02e92c62..46c49449 100644 --- a/test/build.log +++ b/test/build.log @@ -1,24 +1,39 @@ -2022-08-12 09:12:16 INFO:  Application: {"name":"@vladmandic/human","version":"2.9.3"} -2022-08-12 09:12:16 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true} -2022-08-12 09:12:16 INFO:  Toolchain: {"build":"0.7.9","esbuild":"0.15.1","typescript":"4.7.4","typedoc":"0.23.10","eslint":"8.21.0"} -2022-08-12 09:12:16 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]} -2022-08-12 09:12:16 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]} -2022-08-12 09:12:16 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":608} -2022-08-12 09:12:16 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654779,"outputBytes":307161} -2022-08-12 09:12:16 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":612} -2022-08-12 09:12:16 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654783,"outputBytes":307165} -2022-08-12 09:12:16 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":664} -2022-08-12 09:12:16 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654835,"outputBytes":307215} -2022-08-12 09:12:16 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":358} -2022-08-12 09:12:16 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1032,"outputBytes":583} -2022-08-12 09:12:16 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654754,"outputBytes":306014} -2022-08-12 09:12:17 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":1271,"outputBytes":2787569} -2022-08-12 09:12:17 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3441740,"outputBytes":1668900} -2022-08-12 09:12:17 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3441740,"outputBytes":3072630} -2022-08-12 09:12:23 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":30} -2022-08-12 09:12:25 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":77,"generated":true} -2022-08-12 09:12:25 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":3141} -2022-08-12 09:12:25 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":7798} -2022-08-12 09:12:35 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":109,"errors":0,"warnings":0} -2022-08-12 09:12:35 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"} -2022-08-12 09:12:35 INFO:  Done... +2022-08-12 09:50:24 DATA:  Build {"name":"@vladmandic/human","version":"2.9.3"} +2022-08-12 09:50:24 INFO:  Application: {"name":"@vladmandic/human","version":"2.9.3"} +2022-08-12 09:50:24 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true} +2022-08-12 09:50:24 INFO:  Toolchain: {"build":"0.7.9","esbuild":"0.15.1","typescript":"4.7.4","typedoc":"0.23.10","eslint":"8.21.0"} +2022-08-12 09:50:24 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]} +2022-08-12 09:50:24 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]} +2022-08-12 09:50:24 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":608} +2022-08-12 09:50:24 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654779,"outputBytes":307161} +2022-08-12 09:50:24 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":612} +2022-08-12 09:50:24 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654783,"outputBytes":307165} +2022-08-12 09:50:24 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":664} +2022-08-12 09:50:24 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654835,"outputBytes":307215} +2022-08-12 09:50:24 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":358} +2022-08-12 09:50:24 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1032,"outputBytes":583} +2022-08-12 09:50:24 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654754,"outputBytes":306014} +2022-08-12 09:50:24 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":1271,"outputBytes":2787569} +2022-08-12 09:50:24 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3441740,"outputBytes":1668900} +2022-08-12 09:50:24 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3441740,"outputBytes":3072630} +2022-08-12 09:50:31 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":30} +2022-08-12 09:50:33 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":77,"generated":true} +2022-08-12 09:50:33 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":3141} +2022-08-12 09:50:33 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":7798} +2022-08-12 09:50:42 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":109,"errors":0,"warnings":0} +2022-08-12 09:50:42 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"} +2022-08-12 09:50:42 STATE: Copy: {"input":"tfjs/tfjs.esm.d.ts"} +2022-08-12 09:50:42 INFO:  Done... +2022-08-12 09:50:42 STATE: API-Extractor: {"succeeeded":true,"errors":0,"warnings":198} +2022-08-12 09:50:42 STATE: Copy: {"input":"types/human.d.ts"} +2022-08-12 09:50:42 INFO:  Analyze models: {"folders":8,"result":"models/models.json"} +2022-08-12 09:50:42 STATE: Models {"folder":"./models","models":13} +2022-08-12 09:50:42 STATE: Models {"folder":"../human-models/models","models":42} +2022-08-12 09:50:42 STATE: Models {"folder":"../blazepose/model/","models":4} +2022-08-12 09:50:42 STATE: Models {"folder":"../anti-spoofing/model","models":1} +2022-08-12 09:50:42 STATE: Models {"folder":"../efficientpose/models","models":3} +2022-08-12 09:50:42 STATE: Models {"folder":"../insightface/models","models":5} +2022-08-12 09:50:42 STATE: Models {"folder":"../movenet/models","models":3} +2022-08-12 09:50:42 STATE: Models {"folder":"../nanodet/models","models":4} +2022-08-12 09:50:43 STATE: Models: {"count":57,"totalSize":383017442} +2022-08-12 09:50:43 INFO:  Human Build complete... {"logFile":"test/build.log"} diff --git a/test/test.log b/test/test.log index 96159782..1950e610 100644 --- a/test/test.log +++ b/test/test.log @@ -1,973 +1,777 @@ -2022-08-10 13:49:03 INFO:  @vladmandic/human version 2.9.3 -2022-08-10 13:49:03 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.15.0 -2022-08-10 13:49:03 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":[]}] -2022-08-10 13:49:03 INFO:  -2022-08-10 13:49:03 INFO:  {"cmd":"../demo/nodejs/node.js","args":[]} start -2022-08-10 13:49:04 INFO:  -2022-08-10 13:49:04 INFO:  {"cmd":"../demo/nodejs/node-simple.js","args":[]} start -2022-08-10 13:49:05 INFO:  -2022-08-10 13:49:05 INFO:  {"cmd":"../demo/nodejs/node-fetch.js","args":[]} start -2022-08-10 13:49:06 INFO:  -2022-08-10 13:49:06 INFO:  {"cmd":"../demo/nodejs/node-event.js","args":["samples/in/ai-body.jpg"]} start -2022-08-10 13:49:07 INFO:  -2022-08-10 13:49:07 INFO:  {"cmd":"../demo/nodejs/node-similarity.js","args":["samples/in/ai-face.jpg","samples/in/ai-upper.jpg"]} start -2022-08-10 13:49:08 INFO:  -2022-08-10 13:49:08 INFO:  {"cmd":"../demo/nodejs/node-canvas.js","args":["samples/in/ai-body.jpg","samples/out/ai-body.jpg"]} start -2022-08-10 13:49:08 INFO:  -2022-08-10 13:49:08 INFO:  {"cmd":"../demo/multithread/node-multiprocess.js","args":[]} start -2022-08-10 13:49:09 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"] -2022-08-10 13:49:09 INFO:  -2022-08-10 13:49:09 INFO:  test-node.js start -2022-08-10 13:49:10 INFO:  test-node.js test: configuration validation -2022-08-10 13:49:10 STATE: test-node.js passed: configuration default validation [] -2022-08-10 13:49:10 STATE: test-node.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2022-08-10 13:49:10 INFO:  test-node.js test: model load -2022-08-10 13:49:10 STATE: test-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-08-10 13:49:10 INFO:  test-node.js test: warmup -2022-08-10 13:49:10 STATE: test-node.js passed: create human -2022-08-10 13:49:10 INFO:  test-node.js human version: 2.9.3 -2022-08-10 13:49:10 INFO:  test-node.js platform: linux x64 agent: NodeJS v16.15.0 -2022-08-10 13:49:10 INFO:  test-node.js tfjs version: 3.19.0 -2022-08-10 13:49:10 INFO:  test-node.js tensorflow binding version: 2.7.3-dev20220521 -2022-08-10 13:49:10 STATE: test-node.js passed: set backend: tensorflow -2022-08-10 13:49:10 STATE: test-node.js tensors 1921 -2022-08-10 13:49:10 STATE: test-node.js passed: load models -2022-08-10 13:49:10 STATE: test-node.js result: defined models: 23 loaded models: 12 -2022-08-10 13:49:10 STATE: test-node.js passed: warmup: none default -2022-08-10 13:49:10 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2022-08-10 13:49:10 DATA:  test-node.js result: performance: load: null total: null -2022-08-10 13:49:10 STATE: test-node.js passed: warmup none result match -2022-08-10 13:49:10 STATE: test-node.js event: image -2022-08-10 13:49:10 STATE: test-node.js event: detect -2022-08-10 13:49:10 STATE: test-node.js event: warmup -2022-08-10 13:49:10 STATE: test-node.js passed: warmup: face default -2022-08-10 13:49:10 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4} -2022-08-10 13:49:10 DATA:  test-node.js result: performance: load: null total: 344 -2022-08-10 13:49:10 STATE: test-node.js passed: warmup face result match -2022-08-10 13:49:10 STATE: test-node.js event: image -2022-08-10 13:49:10 STATE: test-node.js event: detect -2022-08-10 13:49:10 STATE: test-node.js event: warmup -2022-08-10 13:49:10 STATE: test-node.js passed: warmup: body default -2022-08-10 13:49:10 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:10 DATA:  test-node.js result: performance: load: null total: 272 -2022-08-10 13:49:10 STATE: test-node.js passed: warmup body result match -2022-08-10 13:49:10 STATE: test-node.js details: {"face":{"boxScore":0.92,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.63,"emotion":"angry"},{"score":0.22,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.52,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 10% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} -2022-08-10 13:49:10 INFO:  test-node.js test: details verification -2022-08-10 13:49:10 STATE: test-node.js start default -2022-08-10 13:49:11 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-10 13:49:11 STATE: test-node.js event: image -2022-08-10 13:49:11 STATE: test-node.js event: detect -2022-08-10 13:49:11 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2022-08-10 13:49:11 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:11 DATA:  test-node.js result: performance: load: null total: 252 -2022-08-10 13:49:11 STATE: test-node.js passed: details face length 1 -2022-08-10 13:49:11 STATE: test-node.js passed: details face score 1 0.93 1 -2022-08-10 13:49:11 STATE: test-node.js passed: details face age/gender 23.7 female 0.97 85.47 -2022-08-10 13:49:11 STATE: test-node.js passed: details face arrays 4 478 1024 -2022-08-10 13:49:11 STATE: test-node.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} -2022-08-10 13:49:11 STATE: test-node.js passed: details face anti-spoofing 0.79 -2022-08-10 13:49:11 STATE: test-node.js passed: details face liveness 0.83 -2022-08-10 13:49:11 STATE: test-node.js passed: details body length 1 -2022-08-10 13:49:11 STATE: test-node.js passed: details body 0.92 17 6 -2022-08-10 13:49:11 STATE: test-node.js passed: details hand length 1 -2022-08-10 13:49:11 STATE: test-node.js passed: details hand 0.51 0.73 point -2022-08-10 13:49:11 STATE: test-node.js passed: details hand arrays 21 5 7 -2022-08-10 13:49:11 STATE: test-node.js passed: details gesture length 7 -2022-08-10 13:49:11 STATE: test-node.js passed: details gesture first {"face":0,"gesture":"facing right"} -2022-08-10 13:49:11 STATE: test-node.js passed: details object length 1 -2022-08-10 13:49:11 STATE: test-node.js passed: details object 0.72 person -2022-08-10 13:49:11 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} -2022-08-10 13:49:11 STATE: test-node.js event: image -2022-08-10 13:49:11 STATE: test-node.js event: detect -2022-08-10 13:49:11 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2022-08-10 13:49:11 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} -2022-08-10 13:49:11 STATE: test-node.js event: image -2022-08-10 13:49:12 STATE: test-node.js event: detect -2022-08-10 13:49:12 STATE: test-node.js passed: tensor shape: [1200,1200,4] dtype: float32 -2022-08-10 13:49:12 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-10 13:49:12 STATE: test-node.js event: image -2022-08-10 13:49:12 STATE: test-node.js event: detect -2022-08-10 13:49:12 STATE: test-node.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2022-08-10 13:49:12 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796864} -2022-08-10 13:49:12 STATE: test-node.js event: image -2022-08-10 13:49:12 STATE: test-node.js event: detect -2022-08-10 13:49:12 STATE: test-node.js passed: tensor shape: [1200,1200,3] dtype: float32 -2022-08-10 13:49:13 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2022-08-10 13:49:13 STATE: test-node.js event: image -2022-08-10 13:49:13 STATE: test-node.js event: detect -2022-08-10 13:49:13 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2022-08-10 13:49:13 INFO:  test-node.js test default -2022-08-10 13:49:13 STATE: test-node.js start async -2022-08-10 13:49:13 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-10 13:49:13 STATE: test-node.js event: image -2022-08-10 13:49:13 STATE: test-node.js event: detect -2022-08-10 13:49:13 STATE: test-node.js passed: detect: samples/in/ai-body.jpg async -2022-08-10 13:49:13 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:13 DATA:  test-node.js result: performance: load: null total: 217 -2022-08-10 13:49:13 STATE: test-node.js passed: default result face match 1 female 0.97 -2022-08-10 13:49:13 INFO:  test-node.js test sync -2022-08-10 13:49:13 STATE: test-node.js start sync -2022-08-10 13:49:13 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-10 13:49:13 STATE: test-node.js event: image -2022-08-10 13:49:14 STATE: test-node.js event: detect -2022-08-10 13:49:14 STATE: test-node.js passed: detect: samples/in/ai-body.jpg sync -2022-08-10 13:49:14 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:14 DATA:  test-node.js result: performance: load: null total: 220 -2022-08-10 13:49:14 STATE: test-node.js passed: default sync 1 female 0.97 -2022-08-10 13:49:14 INFO:  test-node.js test: image process -2022-08-10 13:49:14 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-10 13:49:14 STATE: test-node.js passed: image input null [1,256,256,3] -2022-08-10 13:49:14 INFO:  test-node.js test: image null -2022-08-10 13:49:14 STATE: test-node.js passed: invalid input could not convert input to tensor -2022-08-10 13:49:14 INFO:  test-node.js test face similarity -2022-08-10 13:49:14 STATE: test-node.js start face similarity -2022-08-10 13:49:14 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-10 13:49:14 STATE: test-node.js event: image -2022-08-10 13:49:14 STATE: test-node.js event: detect -2022-08-10 13:49:14 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face similarity -2022-08-10 13:49:14 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} -2022-08-10 13:49:14 DATA:  test-node.js result: performance: load: null total: 217 -2022-08-10 13:49:14 STATE: test-node.js start face similarity -2022-08-10 13:49:14 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-10 13:49:14 STATE: test-node.js event: image -2022-08-10 13:49:14 STATE: test-node.js event: detect -2022-08-10 13:49:14 STATE: test-node.js passed: detect: samples/in/ai-body.jpg face similarity -2022-08-10 13:49:14 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:14 DATA:  test-node.js result: performance: load: null total: 214 -2022-08-10 13:49:14 STATE: test-node.js start face similarity -2022-08-10 13:49:14 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-10 13:49:14 STATE: test-node.js event: image -2022-08-10 13:49:15 STATE: test-node.js event: detect -2022-08-10 13:49:15 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg face similarity -2022-08-10 13:49:15 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} -2022-08-10 13:49:15 DATA:  test-node.js result: performance: load: null total: 198 -2022-08-10 13:49:15 STATE: test-node.js passed: face descriptor -2022-08-10 13:49:15 STATE: test-node.js passed: face similarity {"similarity":[1,0.44727452329649126,0.5567935850640406],"descriptors":[1024,1024,1024]} -2022-08-10 13:49:15 INFO:  test-node.js test object -2022-08-10 13:49:15 STATE: test-node.js start object -2022-08-10 13:49:15 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-10 13:49:15 STATE: test-node.js event: image -2022-08-10 13:49:15 STATE: test-node.js event: detect -2022-08-10 13:49:15 STATE: test-node.js passed: detect: samples/in/ai-body.jpg object -2022-08-10 13:49:15 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:15 DATA:  test-node.js result: performance: load: null total: 213 -2022-08-10 13:49:15 STATE: test-node.js passed: centernet -2022-08-10 13:49:15 STATE: test-node.js start object -2022-08-10 13:49:16 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-10 13:49:16 STATE: test-node.js event: image -2022-08-10 13:49:16 STATE: test-node.js event: detect -2022-08-10 13:49:16 STATE: test-node.js passed: detect: samples/in/ai-body.jpg object -2022-08-10 13:49:16 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 2 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:16 DATA:  test-node.js result: performance: load: null total: 221 -2022-08-10 13:49:16 STATE: test-node.js passed: nanodet -2022-08-10 13:49:16 INFO:  test-node.js test sensitive -2022-08-10 13:49:16 STATE: test-node.js start sensitive -2022-08-10 13:49:16 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-10 13:49:16 STATE: test-node.js event: image -2022-08-10 13:49:16 STATE: test-node.js event: detect -2022-08-10 13:49:16 STATE: test-node.js passed: detect: samples/in/ai-body.jpg sensitive -2022-08-10 13:49:16 DATA:  test-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-08-10 13:49:16 DATA:  test-node.js result: performance: load: null total: 189 -2022-08-10 13:49:16 STATE: test-node.js passed: sensitive result match -2022-08-10 13:49:16 STATE: test-node.js passed: sensitive face result match -2022-08-10 13:49:16 STATE: test-node.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] -2022-08-10 13:49:16 STATE: test-node.js passed: sensitive body result match -2022-08-10 13:49:16 STATE: test-node.js passed: sensitive hand result match -2022-08-10 13:49:16 INFO:  test-node.js test body -2022-08-10 13:49:16 STATE: test-node.js start blazepose -2022-08-10 13:49:18 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-10 13:49:18 STATE: test-node.js event: image -2022-08-10 13:49:18 STATE: test-node.js event: detect -2022-08-10 13:49:18 STATE: test-node.js passed: detect: samples/in/ai-body.jpg blazepose -2022-08-10 13:49:18 DATA:  test-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-08-10 13:49:18 DATA:  test-node.js result: performance: load: null total: 257 -2022-08-10 13:49:18 STATE: test-node.js passed: blazepose -2022-08-10 13:49:18 STATE: test-node.js start efficientpose -2022-08-10 13:49:19 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-10 13:49:19 STATE: test-node.js event: image -2022-08-10 13:49:19 STATE: test-node.js event: detect -2022-08-10 13:49:19 STATE: test-node.js passed: detect: samples/in/ai-body.jpg efficientpose -2022-08-10 13:49:19 DATA:  test-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-08-10 13:49:19 DATA:  test-node.js result: performance: load: null total: 268 -2022-08-10 13:49:19 STATE: test-node.js passed: efficientpose -2022-08-10 13:49:19 STATE: test-node.js start posenet -2022-08-10 13:49:20 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-10 13:49:20 STATE: test-node.js event: image -2022-08-10 13:49:20 STATE: test-node.js event: detect -2022-08-10 13:49:20 STATE: test-node.js passed: detect: samples/in/ai-body.jpg posenet -2022-08-10 13:49:20 DATA:  test-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-08-10 13:49:20 DATA:  test-node.js result: performance: load: null total: 172 -2022-08-10 13:49:20 STATE: test-node.js passed: posenet -2022-08-10 13:49:20 STATE: test-node.js start movenet -2022-08-10 13:49:20 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-10 13:49:20 STATE: test-node.js event: image -2022-08-10 13:49:21 STATE: test-node.js event: detect -2022-08-10 13:49:21 STATE: test-node.js passed: detect: samples/in/ai-body.jpg movenet -2022-08-10 13:49:21 DATA:  test-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-08-10 13:49:21 DATA:  test-node.js result: performance: load: null total: 188 -2022-08-10 13:49:21 STATE: test-node.js passed: movenet -2022-08-10 13:49:21 INFO:  test-node.js test face matching -2022-08-10 13:49:21 STATE: test-node.js passed: face database 40 -2022-08-10 13:49:21 STATE: test-node.js passed: face match {"first":{"index":4,"similarity":0.7827852615252829}} {"second":{"index":4,"similarity":0.5002052633015844}} {"third":{"index":4,"similarity":0.5401587887998899}} -2022-08-10 13:49:21 INFO:  test-node.js test face similarity alternative -2022-08-10 13:49:21 STATE: test-node.js start face embeddings -2022-08-10 13:49:21 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-10 13:49:21 STATE: test-node.js event: image -2022-08-10 13:49:21 STATE: test-node.js event: detect -2022-08-10 13:49:21 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-10 13:49:21 DATA:  test-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-08-10 13:49:21 DATA:  test-node.js result: performance: load: null total: 201 -2022-08-10 13:49:21 STATE: test-node.js passed: mobilefacenet {"embedding":192} -2022-08-10 13:49:21 STATE: test-node.js start face embeddings -2022-08-10 13:49:22 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-10 13:49:22 STATE: test-node.js event: image -2022-08-10 13:49:22 STATE: test-node.js event: detect -2022-08-10 13:49:22 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-10 13:49:22 DATA:  test-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-08-10 13:49:22 DATA:  test-node.js result: performance: load: null total: 209 -2022-08-10 13:49:22 STATE: test-node.js passed: insightface {"embedding":512} -2022-08-10 13:49:22 INFO:  test-node.js test face attention -2022-08-10 13:49:22 STATE: test-node.js start face attention -2022-08-10 13:49:22 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-10 13:49:22 STATE: test-node.js event: image -2022-08-10 13:49:22 STATE: test-node.js event: detect -2022-08-10 13:49:22 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face attention -2022-08-10 13:49:22 DATA:  test-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-08-10 13:49:22 DATA:  test-node.js result: performance: load: null total: 194 -2022-08-10 13:49:22 STATE: test-node.js passed: face attention -2022-08-10 13:49:22 INFO:  test-node.js test detectors -2022-08-10 13:49:22 STATE: test-node.js start detectors -2022-08-10 13:49:23 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-10 13:49:23 STATE: test-node.js event: image -2022-08-10 13:49:23 STATE: test-node.js event: detect -2022-08-10 13:49:23 STATE: test-node.js passed: detect: samples/in/ai-body.jpg detectors -2022-08-10 13:49:23 DATA:  test-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-08-10 13:49:23 DATA:  test-node.js result: performance: load: null total: 90 -2022-08-10 13:49:23 STATE: test-node.js passed: detector result face match -2022-08-10 13:49:23 STATE: test-node.js passed: detector result hand match -2022-08-10 13:49:23 INFO:  test-node.js test: multi-instance -2022-08-10 13:49:23 STATE: test-node.js start multi instance -2022-08-10 13:49:23 STATE: test-node.js event: image -2022-08-10 13:49:23 STATE: test-node.js event: detect -2022-08-10 13:49:23 STATE: test-node.js passed: detect: random multi instance -2022-08-10 13:49:23 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} -2022-08-10 13:49:23 DATA:  test-node.js result: performance: load: null total: 94 -2022-08-10 13:49:23 INFO:  test-node.js test: first instance -2022-08-10 13:49:23 STATE: test-node.js start multi instance -2022-08-10 13:49:23 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-10 13:49:23 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-10 13:49:23 DATA:  test-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-08-10 13:49:23 DATA:  test-node.js result: performance: load: null total: 86 -2022-08-10 13:49:23 INFO:  test-node.js test: second instance -2022-08-10 13:49:23 STATE: test-node.js start multi instance -2022-08-10 13:49:23 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-10 13:49:23 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-10 13:49:23 DATA:  test-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-08-10 13:49:23 DATA:  test-node.js result: performance: load: null total: 89 -2022-08-10 13:49:23 INFO:  test-node.js test: concurrent -2022-08-10 13:49:23 STATE: test-node.js start concurrent -2022-08-10 13:49:23 STATE: test-node.js start concurrent -2022-08-10 13:49:23 STATE: test-node.js start concurrent -2022-08-10 13:49:23 STATE: test-node.js start concurrent -2022-08-10 13:49:23 STATE: test-node.js start concurrent -2022-08-10 13:49:23 STATE: test-node.js start concurrent -2022-08-10 13:49:23 STATE: test-node.js start concurrent -2022-08-10 13:49:23 STATE: test-node.js start concurrent -2022-08-10 13:49:23 STATE: test-node.js start concurrent -2022-08-10 13:49:23 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-10 13:49:23 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-10 13:49:23 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-10 13:49:24 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-10 13:49:24 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-10 13:49:24 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-10 13:49:24 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-10 13:49:24 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-10 13:49:24 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-10 13:49:24 STATE: test-node.js event: image -2022-08-10 13:49:24 STATE: test-node.js event: image -2022-08-10 13:49:24 STATE: test-node.js event: image -2022-08-10 13:49:25 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-10 13:49:25 DATA:  test-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-08-10 13:49:25 DATA:  test-node.js result: performance: load: null total: 1032 -2022-08-10 13:49:25 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-10 13:49:25 DATA:  test-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-08-10 13:49:25 DATA:  test-node.js result: performance: load: null total: 1032 -2022-08-10 13:49:25 STATE: test-node.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-10 13:49:25 DATA:  test-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-08-10 13:49:25 DATA:  test-node.js result: performance: load: null total: 1033 -2022-08-10 13:49:25 STATE: test-node.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-10 13:49:25 DATA:  test-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-08-10 13:49:25 DATA:  test-node.js result: performance: load: null total: 1033 -2022-08-10 13:49:25 STATE: test-node.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-10 13:49:25 DATA:  test-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-08-10 13:49:25 DATA:  test-node.js result: performance: load: null total: 1033 -2022-08-10 13:49:25 STATE: test-node.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-10 13:49:25 DATA:  test-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-08-10 13:49:25 DATA:  test-node.js result: performance: load: null total: 1033 -2022-08-10 13:49:25 STATE: test-node.js event: detect -2022-08-10 13:49:25 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-10 13:49:25 DATA:  test-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-08-10 13:49:25 DATA:  test-node.js result: performance: load: null total: 761 -2022-08-10 13:49:25 STATE: test-node.js event: detect -2022-08-10 13:49:25 STATE: test-node.js event: detect -2022-08-10 13:49:25 STATE: test-node.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-10 13:49:25 DATA:  test-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-08-10 13:49:25 DATA:  test-node.js result: performance: load: null total: 761 -2022-08-10 13:49:25 STATE: test-node.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-10 13:49:25 DATA:  test-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-08-10 13:49:25 DATA:  test-node.js result: performance: load: null total: 761 -2022-08-10 13:49:25 INFO:  test-node.js test: monkey-patch -2022-08-10 13:49:25 STATE: test-node.js event: image -2022-08-10 13:49:25 STATE: test-node.js event: detect -2022-08-10 13:49:25 STATE: test-node.js passed: monkey patch -2022-08-10 13:49:25 STATE: test-node.js passed: segmentation [65536] -2022-08-10 13:49:25 STATE: test-node.js passeed: equal usage -2022-08-10 13:49:25 INFO:  test-node.js test: input compare -2022-08-10 13:49:25 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-10 13:49:25 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-10 13:49:25 STATE: test-node.js passed: image compare 0 23.275441687091504 -2022-08-10 13:49:25 INFO:  test-node.js events: {"image":29,"detect":29,"warmup":2} -2022-08-10 13:49:25 INFO:  test-node.js tensors 4105 -2022-08-10 13:49:25 INFO:  test-node.js test complete: 15525 ms -2022-08-10 13:49:25 INFO:  -2022-08-10 13:49:25 INFO:  test-node-gpu.js start -2022-08-10 13:49:26 INFO:  test-node-gpu.js test: configuration validation -2022-08-10 13:49:26 STATE: test-node-gpu.js passed: configuration default validation [] -2022-08-10 13:49:26 STATE: test-node-gpu.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2022-08-10 13:49:26 INFO:  test-node-gpu.js test: model load -2022-08-10 13:49:26 STATE: test-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-08-10 13:49:26 INFO:  test-node-gpu.js test: warmup -2022-08-10 13:49:26 STATE: test-node-gpu.js passed: create human -2022-08-10 13:49:26 INFO:  test-node-gpu.js human version: 2.9.3 -2022-08-10 13:49:26 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v16.15.0 -2022-08-10 13:49:26 INFO:  test-node-gpu.js tfjs version: 3.19.0 -2022-08-10 13:49:26 INFO:  test-node-gpu.js tensorflow binding version: 2.7.3-dev20220521 -2022-08-10 13:49:26 STATE: test-node-gpu.js passed: set backend: tensorflow -2022-08-10 13:49:26 STATE: test-node-gpu.js tensors 1921 -2022-08-10 13:49:26 STATE: test-node-gpu.js passed: load models -2022-08-10 13:49:26 STATE: test-node-gpu.js result: defined models: 23 loaded models: 12 -2022-08-10 13:49:26 STATE: test-node-gpu.js passed: warmup: none default -2022-08-10 13:49:26 DATA:  test-node-gpu.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2022-08-10 13:49:26 DATA:  test-node-gpu.js result: performance: load: null total: null -2022-08-10 13:49:26 STATE: test-node-gpu.js passed: warmup none result match -2022-08-10 13:49:26 STATE: test-node-gpu.js event: image -2022-08-10 13:49:29 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:29 STATE: test-node-gpu.js event: warmup -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: warmup: face default -2022-08-10 13:49:29 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4} -2022-08-10 13:49:29 DATA:  test-node-gpu.js result: performance: load: null total: 2096 -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: warmup face result match -2022-08-10 13:49:29 STATE: test-node-gpu.js event: image -2022-08-10 13:49:29 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:29 STATE: test-node-gpu.js event: warmup -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: warmup: body default -2022-08-10 13:49:29 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:29 DATA:  test-node-gpu.js result: performance: load: null total: 206 -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: warmup body result match -2022-08-10 13:49:29 STATE: test-node-gpu.js details: {"face":{"boxScore":0.92,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.63,"emotion":"angry"},{"score":0.22,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.52,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 10% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} -2022-08-10 13:49:29 INFO:  test-node-gpu.js test: details verification -2022-08-10 13:49:29 STATE: test-node-gpu.js start default -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-10 13:49:29 STATE: test-node-gpu.js event: image -2022-08-10 13:49:29 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2022-08-10 13:49:29 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:29 DATA:  test-node-gpu.js result: performance: load: null total: 194 -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: details face length 1 -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: details face score 1 0.93 1 -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: details face age/gender 23.7 female 0.97 85.47 -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: details face arrays 4 478 1024 -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: details face anti-spoofing 0.79 -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: details face liveness 0.83 -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: details body length 1 -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: details body 0.92 17 6 -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: details hand length 1 -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: details hand 0.51 0.73 point -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: details hand arrays 21 5 7 -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: details gesture length 7 -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: details gesture first {"face":0,"gesture":"facing right"} -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: details object length 1 -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: details object 0.72 person -2022-08-10 13:49:29 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} -2022-08-10 13:49:29 STATE: test-node-gpu.js event: image -2022-08-10 13:49:30 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:30 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2022-08-10 13:49:30 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} -2022-08-10 13:49:30 STATE: test-node-gpu.js event: image -2022-08-10 13:49:30 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:30 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,4] dtype: float32 -2022-08-10 13:49:30 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-10 13:49:30 STATE: test-node-gpu.js event: image -2022-08-10 13:49:30 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:30 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2022-08-10 13:49:30 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796928} -2022-08-10 13:49:30 STATE: test-node-gpu.js event: image -2022-08-10 13:49:31 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:31 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,3] dtype: float32 -2022-08-10 13:49:31 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2022-08-10 13:49:31 STATE: test-node-gpu.js event: image -2022-08-10 13:49:31 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:31 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2022-08-10 13:49:31 INFO:  test-node-gpu.js test default -2022-08-10 13:49:31 STATE: test-node-gpu.js start async -2022-08-10 13:49:31 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-10 13:49:31 STATE: test-node-gpu.js event: image -2022-08-10 13:49:31 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:31 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg async -2022-08-10 13:49:31 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:31 DATA:  test-node-gpu.js result: performance: load: null total: 156 -2022-08-10 13:49:31 STATE: test-node-gpu.js passed: default result face match 1 female 0.97 -2022-08-10 13:49:31 INFO:  test-node-gpu.js test sync -2022-08-10 13:49:31 STATE: test-node-gpu.js start sync -2022-08-10 13:49:31 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-10 13:49:31 STATE: test-node-gpu.js event: image -2022-08-10 13:49:32 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:32 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg sync -2022-08-10 13:49:32 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:32 DATA:  test-node-gpu.js result: performance: load: null total: 165 -2022-08-10 13:49:32 STATE: test-node-gpu.js passed: default sync 1 female 0.97 -2022-08-10 13:49:32 INFO:  test-node-gpu.js test: image process -2022-08-10 13:49:32 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-10 13:49:32 STATE: test-node-gpu.js passed: image input null [1,256,256,3] -2022-08-10 13:49:32 INFO:  test-node-gpu.js test: image null -2022-08-10 13:49:32 STATE: test-node-gpu.js passed: invalid input could not convert input to tensor -2022-08-10 13:49:32 INFO:  test-node-gpu.js test face similarity -2022-08-10 13:49:32 STATE: test-node-gpu.js start face similarity -2022-08-10 13:49:32 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-10 13:49:32 STATE: test-node-gpu.js event: image -2022-08-10 13:49:32 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:32 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face similarity -2022-08-10 13:49:32 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} -2022-08-10 13:49:32 DATA:  test-node-gpu.js result: performance: load: null total: 132 -2022-08-10 13:49:32 STATE: test-node-gpu.js start face similarity -2022-08-10 13:49:32 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-10 13:49:32 STATE: test-node-gpu.js event: image -2022-08-10 13:49:32 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:32 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg face similarity -2022-08-10 13:49:32 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:32 DATA:  test-node-gpu.js result: performance: load: null total: 181 -2022-08-10 13:49:32 STATE: test-node-gpu.js start face similarity -2022-08-10 13:49:32 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-10 13:49:32 STATE: test-node-gpu.js event: image -2022-08-10 13:49:32 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:32 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg face similarity -2022-08-10 13:49:32 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} -2022-08-10 13:49:32 DATA:  test-node-gpu.js result: performance: load: null total: 172 -2022-08-10 13:49:32 STATE: test-node-gpu.js passed: face descriptor -2022-08-10 13:49:32 STATE: test-node-gpu.js passed: face similarity {"similarity":[1,0.447238756461232,0.556914029877052],"descriptors":[1024,1024,1024]} -2022-08-10 13:49:32 INFO:  test-node-gpu.js test object -2022-08-10 13:49:32 STATE: test-node-gpu.js start object -2022-08-10 13:49:32 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-10 13:49:32 STATE: test-node-gpu.js event: image -2022-08-10 13:49:33 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:33 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg object -2022-08-10 13:49:33 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:33 DATA:  test-node-gpu.js result: performance: load: null total: 151 -2022-08-10 13:49:33 STATE: test-node-gpu.js passed: centernet -2022-08-10 13:49:33 STATE: test-node-gpu.js start object -2022-08-10 13:49:34 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-10 13:49:34 STATE: test-node-gpu.js event: image -2022-08-10 13:49:34 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:34 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg object -2022-08-10 13:49:34 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 2 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:34 DATA:  test-node-gpu.js result: performance: load: null total: 562 -2022-08-10 13:49:34 STATE: test-node-gpu.js passed: nanodet -2022-08-10 13:49:34 INFO:  test-node-gpu.js test sensitive -2022-08-10 13:49:34 STATE: test-node-gpu.js start sensitive -2022-08-10 13:49:34 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-10 13:49:34 STATE: test-node-gpu.js event: image -2022-08-10 13:49:34 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:34 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg sensitive -2022-08-10 13:49:34 DATA:  test-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-08-10 13:49:34 DATA:  test-node-gpu.js result: performance: load: null total: 144 -2022-08-10 13:49:34 STATE: test-node-gpu.js passed: sensitive result match -2022-08-10 13:49:34 STATE: test-node-gpu.js passed: sensitive face result match -2022-08-10 13:49:34 STATE: test-node-gpu.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] -2022-08-10 13:49:34 STATE: test-node-gpu.js passed: sensitive body result match -2022-08-10 13:49:34 STATE: test-node-gpu.js passed: sensitive hand result match -2022-08-10 13:49:34 INFO:  test-node-gpu.js test body -2022-08-10 13:49:34 STATE: test-node-gpu.js start blazepose -2022-08-10 13:49:36 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-10 13:49:36 STATE: test-node-gpu.js event: image -2022-08-10 13:49:36 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:36 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg blazepose -2022-08-10 13:49:36 DATA:  test-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-08-10 13:49:36 DATA:  test-node-gpu.js result: performance: load: null total: 234 -2022-08-10 13:49:36 STATE: test-node-gpu.js passed: blazepose -2022-08-10 13:49:36 STATE: test-node-gpu.js start efficientpose -2022-08-10 13:49:36 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-10 13:49:36 STATE: test-node-gpu.js event: image -2022-08-10 13:49:37 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:37 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg efficientpose -2022-08-10 13:49:37 DATA:  test-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-08-10 13:49:37 DATA:  test-node-gpu.js result: performance: load: null total: 549 -2022-08-10 13:49:37 STATE: test-node-gpu.js passed: efficientpose -2022-08-10 13:49:37 STATE: test-node-gpu.js start posenet -2022-08-10 13:49:38 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-10 13:49:38 STATE: test-node-gpu.js event: image -2022-08-10 13:49:38 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:38 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg posenet -2022-08-10 13:49:38 DATA:  test-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-08-10 13:49:38 DATA:  test-node-gpu.js result: performance: load: null total: 174 -2022-08-10 13:49:38 STATE: test-node-gpu.js passed: posenet -2022-08-10 13:49:38 STATE: test-node-gpu.js start movenet -2022-08-10 13:49:38 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-10 13:49:38 STATE: test-node-gpu.js event: image -2022-08-10 13:49:38 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:38 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg movenet -2022-08-10 13:49:38 DATA:  test-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-08-10 13:49:38 DATA:  test-node-gpu.js result: performance: load: null total: 156 -2022-08-10 13:49:38 STATE: test-node-gpu.js passed: movenet -2022-08-10 13:49:38 INFO:  test-node-gpu.js test face matching -2022-08-10 13:49:38 STATE: test-node-gpu.js passed: face database 40 -2022-08-10 13:49:38 STATE: test-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-08-10 13:49:38 INFO:  test-node-gpu.js test face similarity alternative -2022-08-10 13:49:38 STATE: test-node-gpu.js start face embeddings -2022-08-10 13:49:39 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-10 13:49:39 STATE: test-node-gpu.js event: image -2022-08-10 13:49:39 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:39 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-10 13:49:39 DATA:  test-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-08-10 13:49:39 DATA:  test-node-gpu.js result: performance: load: null total: 221 -2022-08-10 13:49:39 STATE: test-node-gpu.js passed: mobilefacenet {"embedding":192} -2022-08-10 13:49:39 STATE: test-node-gpu.js start face embeddings -2022-08-10 13:49:40 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-10 13:49:40 STATE: test-node-gpu.js event: image -2022-08-10 13:49:40 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:40 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-10 13:49:40 DATA:  test-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-08-10 13:49:40 DATA:  test-node-gpu.js result: performance: load: null total: 249 -2022-08-10 13:49:40 STATE: test-node-gpu.js passed: insightface {"embedding":512} -2022-08-10 13:49:40 INFO:  test-node-gpu.js test face attention -2022-08-10 13:49:40 STATE: test-node-gpu.js start face attention -2022-08-10 13:49:40 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-10 13:49:40 STATE: test-node-gpu.js event: image -2022-08-10 13:49:40 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:40 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face attention -2022-08-10 13:49:40 DATA:  test-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-08-10 13:49:40 DATA:  test-node-gpu.js result: performance: load: null total: 344 -2022-08-10 13:49:40 STATE: test-node-gpu.js passed: face attention -2022-08-10 13:49:40 INFO:  test-node-gpu.js test detectors -2022-08-10 13:49:40 STATE: test-node-gpu.js start detectors -2022-08-10 13:49:40 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-10 13:49:40 STATE: test-node-gpu.js event: image -2022-08-10 13:49:41 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:41 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg detectors -2022-08-10 13:49:41 DATA:  test-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-08-10 13:49:41 DATA:  test-node-gpu.js result: performance: load: null total: 72 -2022-08-10 13:49:41 STATE: test-node-gpu.js passed: detector result face match -2022-08-10 13:49:41 STATE: test-node-gpu.js passed: detector result hand match -2022-08-10 13:49:41 INFO:  test-node-gpu.js test: multi-instance -2022-08-10 13:49:41 STATE: test-node-gpu.js start multi instance -2022-08-10 13:49:41 STATE: test-node-gpu.js event: image -2022-08-10 13:49:41 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:41 STATE: test-node-gpu.js passed: detect: random multi instance -2022-08-10 13:49:41 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} -2022-08-10 13:49:41 DATA:  test-node-gpu.js result: performance: load: null total: 67 -2022-08-10 13:49:41 INFO:  test-node-gpu.js test: first instance -2022-08-10 13:49:41 STATE: test-node-gpu.js start multi instance -2022-08-10 13:49:41 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-10 13:49:41 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-10 13:49:41 DATA:  test-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-08-10 13:49:41 DATA:  test-node-gpu.js result: performance: load: null total: 71 -2022-08-10 13:49:41 INFO:  test-node-gpu.js test: second instance -2022-08-10 13:49:41 STATE: test-node-gpu.js start multi instance -2022-08-10 13:49:41 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-10 13:49:41 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-10 13:49:41 DATA:  test-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-08-10 13:49:41 DATA:  test-node-gpu.js result: performance: load: null total: 64 -2022-08-10 13:49:41 INFO:  test-node-gpu.js test: concurrent -2022-08-10 13:49:41 STATE: test-node-gpu.js start concurrent -2022-08-10 13:49:41 STATE: test-node-gpu.js start concurrent -2022-08-10 13:49:41 STATE: test-node-gpu.js start concurrent -2022-08-10 13:49:41 STATE: test-node-gpu.js start concurrent -2022-08-10 13:49:41 STATE: test-node-gpu.js start concurrent -2022-08-10 13:49:41 STATE: test-node-gpu.js start concurrent -2022-08-10 13:49:41 STATE: test-node-gpu.js start concurrent -2022-08-10 13:49:41 STATE: test-node-gpu.js start concurrent -2022-08-10 13:49:41 STATE: test-node-gpu.js start concurrent -2022-08-10 13:49:41 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-10 13:49:41 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-10 13:49:41 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-10 13:49:41 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-10 13:49:41 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-10 13:49:42 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-10 13:49:42 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-10 13:49:42 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-10 13:49:42 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-10 13:49:42 STATE: test-node-gpu.js event: image -2022-08-10 13:49:42 STATE: test-node-gpu.js event: image -2022-08-10 13:49:42 STATE: test-node-gpu.js event: image -2022-08-10 13:49:42 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-10 13:49:42 DATA:  test-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-08-10 13:49:42 DATA:  test-node-gpu.js result: performance: load: null total: 857 -2022-08-10 13:49:42 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-10 13:49:42 DATA:  test-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-08-10 13:49:42 DATA:  test-node-gpu.js result: performance: load: null total: 857 -2022-08-10 13:49:42 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-10 13:49:42 DATA:  test-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-08-10 13:49:42 DATA:  test-node-gpu.js result: performance: load: null total: 860 -2022-08-10 13:49:42 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-10 13:49:42 DATA:  test-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-08-10 13:49:42 DATA:  test-node-gpu.js result: performance: load: null total: 860 -2022-08-10 13:49:42 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-10 13:49:42 DATA:  test-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-08-10 13:49:42 DATA:  test-node-gpu.js result: performance: load: null total: 860 -2022-08-10 13:49:42 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-10 13:49:42 DATA:  test-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-08-10 13:49:42 DATA:  test-node-gpu.js result: performance: load: null total: 860 -2022-08-10 13:49:42 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:42 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-10 13:49:42 DATA:  test-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-08-10 13:49:42 DATA:  test-node-gpu.js result: performance: load: null total: 592 -2022-08-10 13:49:42 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:42 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:42 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-10 13:49:42 DATA:  test-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-08-10 13:49:42 DATA:  test-node-gpu.js result: performance: load: null total: 592 -2022-08-10 13:49:42 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-10 13:49:42 DATA:  test-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-08-10 13:49:42 DATA:  test-node-gpu.js result: performance: load: null total: 592 -2022-08-10 13:49:42 INFO:  test-node-gpu.js test: monkey-patch -2022-08-10 13:49:42 STATE: test-node-gpu.js event: image -2022-08-10 13:49:42 STATE: test-node-gpu.js event: detect -2022-08-10 13:49:42 STATE: test-node-gpu.js passed: monkey patch -2022-08-10 13:49:43 STATE: test-node-gpu.js passed: segmentation [65536] -2022-08-10 13:49:43 STATE: test-node-gpu.js passeed: equal usage -2022-08-10 13:49:43 INFO:  test-node-gpu.js test: input compare -2022-08-10 13:49:43 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-10 13:49:43 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-10 13:49:43 STATE: test-node-gpu.js passed: image compare 0 23.275441687091504 -2022-08-10 13:49:43 INFO:  test-node-gpu.js events: {"image":29,"detect":29,"warmup":2} -2022-08-10 13:49:43 INFO:  test-node-gpu.js tensors 4105 -2022-08-10 13:49:43 INFO:  test-node-gpu.js test complete: 16819 ms -2022-08-10 13:49:43 INFO:  -2022-08-10 13:49:43 INFO:  test-node-wasm.js start -2022-08-10 13:49:44 STATE: test-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/ -2022-08-10 13:49:44 INFO:  test-node-wasm.js test: configuration validation -2022-08-10 13:49:44 STATE: test-node-wasm.js passed: configuration default validation [] -2022-08-10 13:49:44 STATE: test-node-wasm.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2022-08-10 13:49:44 INFO:  test-node-wasm.js test: model load -2022-08-10 13:49:45 STATE: test-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-08-10 13:49:45 INFO:  test-node-wasm.js test: warmup -2022-08-10 13:49:45 STATE: test-node-wasm.js passed: create human -2022-08-10 13:49:45 INFO:  test-node-wasm.js human version: 2.9.3 -2022-08-10 13:49:45 INFO:  test-node-wasm.js platform: linux x64 agent: NodeJS v16.15.0 -2022-08-10 13:49:45 INFO:  test-node-wasm.js tfjs version: 3.19.0 -2022-08-10 13:49:45 STATE: test-node-wasm.js passed: set backend: wasm -2022-08-10 13:49:45 STATE: test-node-wasm.js tensors 1921 -2022-08-10 13:49:45 STATE: test-node-wasm.js passed: load models -2022-08-10 13:49:45 STATE: test-node-wasm.js result: defined models: 23 loaded models: 12 -2022-08-10 13:49:45 STATE: test-node-wasm.js passed: warmup: none default -2022-08-10 13:49:45 DATA:  test-node-wasm.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2022-08-10 13:49:45 DATA:  test-node-wasm.js result: performance: load: null total: null -2022-08-10 13:49:45 STATE: test-node-wasm.js passed: warmup none result match -2022-08-10 13:49:45 STATE: test-node-wasm.js event: image -2022-08-10 13:49:46 STATE: test-node-wasm.js event: detect -2022-08-10 13:49:46 STATE: test-node-wasm.js event: warmup -2022-08-10 13:49:46 STATE: test-node-wasm.js passed: warmup: face default -2022-08-10 13:49:46 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} -2022-08-10 13:49:46 DATA:  test-node-wasm.js result: performance: load: null total: 571 -2022-08-10 13:49:46 STATE: test-node-wasm.js passed: warmup face result match -2022-08-10 13:49:46 STATE: test-node-wasm.js event: image -2022-08-10 13:49:46 STATE: test-node-wasm.js event: detect -2022-08-10 13:49:46 STATE: test-node-wasm.js event: warmup -2022-08-10 13:49:46 STATE: test-node-wasm.js passed: warmup: body default -2022-08-10 13:49:46 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:46 DATA:  test-node-wasm.js result: performance: load: null total: 394 -2022-08-10 13:49:46 STATE: test-node-wasm.js passed: warmup body result match -2022-08-10 13:49:46 STATE: test-node-wasm.js details: {"face":{"boxScore":0.93,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.51,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 21% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} -2022-08-10 13:49:46 INFO:  test-node-wasm.js test: details verification -2022-08-10 13:49:46 STATE: test-node-wasm.js start default -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-10 13:49:47 STATE: test-node-wasm.js event: image -2022-08-10 13:49:47 STATE: test-node-wasm.js event: detect -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2022-08-10 13:49:47 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:47 DATA:  test-node-wasm.js result: performance: load: null total: 390 -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: details face length 1 -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: details face score 1 0.93 1 -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: details face age/gender 23.7 female 0.97 85.47 -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: details face arrays 4 478 1024 -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: details face anti-spoofing 0.79 -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: details face liveness 0.83 -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: details body length 1 -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: details body 0.92 17 6 -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: details hand length 1 -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: details hand 0.51 0.73 point -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: details hand arrays 21 5 7 -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: details gesture length 7 -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: details gesture first {"face":0,"gesture":"facing right"} -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: details object length 1 -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: details object 0.72 person -2022-08-10 13:49:47 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1413675264} -2022-08-10 13:49:47 STATE: test-node-wasm.js event: image -2022-08-10 13:49:48 STATE: test-node-wasm.js event: detect -2022-08-10 13:49:48 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2022-08-10 13:49:48 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1413675264} -2022-08-10 13:49:48 STATE: test-node-wasm.js event: image -2022-08-10 13:49:48 STATE: test-node-wasm.js event: detect -2022-08-10 13:49:48 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,4] dtype: float32 -2022-08-10 13:49:48 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-10 13:49:48 STATE: test-node-wasm.js event: image -2022-08-10 13:49:49 STATE: test-node-wasm.js event: detect -2022-08-10 13:49:49 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2022-08-10 13:49:49 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1038921856} -2022-08-10 13:49:49 STATE: test-node-wasm.js event: image -2022-08-10 13:49:49 STATE: test-node-wasm.js event: detect -2022-08-10 13:49:49 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,3] dtype: float32 -2022-08-10 13:49:49 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2022-08-10 13:49:49 STATE: test-node-wasm.js event: image -2022-08-10 13:49:50 STATE: test-node-wasm.js event: detect -2022-08-10 13:49:50 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2022-08-10 13:49:50 INFO:  test-node-wasm.js test default -2022-08-10 13:49:50 STATE: test-node-wasm.js start async -2022-08-10 13:49:50 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-10 13:49:50 STATE: test-node-wasm.js event: image -2022-08-10 13:49:50 STATE: test-node-wasm.js event: detect -2022-08-10 13:49:50 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg async -2022-08-10 13:49:50 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:50 DATA:  test-node-wasm.js result: performance: load: null total: 365 -2022-08-10 13:49:50 STATE: test-node-wasm.js passed: default result face match 1 female 0.97 -2022-08-10 13:49:50 INFO:  test-node-wasm.js test sync -2022-08-10 13:49:50 STATE: test-node-wasm.js start sync -2022-08-10 13:49:51 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-10 13:49:51 STATE: test-node-wasm.js event: image -2022-08-10 13:49:51 STATE: test-node-wasm.js event: detect -2022-08-10 13:49:51 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg sync -2022-08-10 13:49:51 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:51 DATA:  test-node-wasm.js result: performance: load: null total: 359 -2022-08-10 13:49:51 STATE: test-node-wasm.js passed: default sync 1 female 0.97 -2022-08-10 13:49:51 INFO:  test-node-wasm.js test: image process -2022-08-10 13:49:51 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-10 13:49:51 STATE: test-node-wasm.js passed: image input null [1,256,256,3] -2022-08-10 13:49:51 INFO:  test-node-wasm.js test: image null -2022-08-10 13:49:51 STATE: test-node-wasm.js passed: invalid input could not convert input to tensor -2022-08-10 13:49:51 INFO:  test-node-wasm.js test face similarity -2022-08-10 13:49:51 STATE: test-node-wasm.js start face similarity -2022-08-10 13:49:51 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-10 13:49:51 STATE: test-node-wasm.js event: image -2022-08-10 13:49:51 STATE: test-node-wasm.js event: detect -2022-08-10 13:49:51 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face similarity -2022-08-10 13:49:51 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} -2022-08-10 13:49:51 DATA:  test-node-wasm.js result: performance: load: null total: 336 -2022-08-10 13:49:51 STATE: test-node-wasm.js start face similarity -2022-08-10 13:49:52 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-10 13:49:52 STATE: test-node-wasm.js event: image -2022-08-10 13:49:52 STATE: test-node-wasm.js event: detect -2022-08-10 13:49:52 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg face similarity -2022-08-10 13:49:52 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:52 DATA:  test-node-wasm.js result: performance: load: null total: 334 -2022-08-10 13:49:52 STATE: test-node-wasm.js start face similarity -2022-08-10 13:49:52 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-10 13:49:52 STATE: test-node-wasm.js event: image -2022-08-10 13:49:52 STATE: test-node-wasm.js event: detect -2022-08-10 13:49:52 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg face similarity -2022-08-10 13:49:52 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} -2022-08-10 13:49:52 DATA:  test-node-wasm.js result: performance: load: null total: 310 -2022-08-10 13:49:52 STATE: test-node-wasm.js passed: face descriptor -2022-08-10 13:49:52 STATE: test-node-wasm.js passed: face similarity {"similarity":[1,0.5266119940661309,0.4858842904087851],"descriptors":[1024,1024,1024]} -2022-08-10 13:49:52 INFO:  test-node-wasm.js test object -2022-08-10 13:49:52 STATE: test-node-wasm.js start object -2022-08-10 13:49:53 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-10 13:49:53 STATE: test-node-wasm.js event: image -2022-08-10 13:49:53 STATE: test-node-wasm.js event: detect -2022-08-10 13:49:53 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg object -2022-08-10 13:49:53 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-10 13:49:53 DATA:  test-node-wasm.js result: performance: load: null total: 317 -2022-08-10 13:49:53 STATE: test-node-wasm.js passed: centernet -2022-08-10 13:49:53 STATE: test-node-wasm.js start object -2022-08-10 13:49:54 WARN:  test-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-08-10 13:49:54 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-10 13:49:54 STATE: test-node-wasm.js event: image -2022-08-10 13:49:54 STATE: test-node-wasm.js event: detect -2022-08-10 13:49:54 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg object -2022-08-10 13:49:54 DATA:  test-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-08-10 13:49:54 DATA:  test-node-wasm.js result: performance: load: null total: 226 -2022-08-10 13:49:54 ERROR: test-node-wasm.js failed: nanodet [] -2022-08-10 13:49:54 INFO:  test-node-wasm.js test sensitive -2022-08-10 13:49:54 STATE: test-node-wasm.js start sensitive -2022-08-10 13:49:54 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-10 13:49:54 STATE: test-node-wasm.js event: image -2022-08-10 13:49:54 STATE: test-node-wasm.js event: detect -2022-08-10 13:49:54 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg sensitive -2022-08-10 13:49:54 DATA:  test-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-08-10 13:49:54 DATA:  test-node-wasm.js result: performance: load: null total: 259 -2022-08-10 13:49:54 STATE: test-node-wasm.js passed: sensitive result match -2022-08-10 13:49:54 STATE: test-node-wasm.js passed: sensitive face result match -2022-08-10 13:49:54 STATE: test-node-wasm.js passed: sensitive face emotion result [{"score":0.46,"emotion":"neutral"},{"score":0.24,"emotion":"fear"},{"score":0.17,"emotion":"sad"}] -2022-08-10 13:49:54 STATE: test-node-wasm.js passed: sensitive body result match -2022-08-10 13:49:54 STATE: test-node-wasm.js passed: sensitive hand result match -2022-08-10 13:49:54 INFO:  test-node-wasm.js test body -2022-08-10 13:49:54 STATE: test-node-wasm.js start blazepose -2022-08-10 13:50:01 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-10 13:50:01 STATE: test-node-wasm.js event: image -2022-08-10 13:50:01 STATE: test-node-wasm.js event: detect -2022-08-10 13:50:01 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg blazepose -2022-08-10 13:50:01 DATA:  test-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-08-10 13:50:01 DATA:  test-node-wasm.js result: performance: load: null total: 415 -2022-08-10 13:50:01 STATE: test-node-wasm.js passed: blazepose -2022-08-10 13:50:01 STATE: test-node-wasm.js start efficientpose -2022-08-10 13:50:02 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-10 13:50:02 STATE: test-node-wasm.js event: image -2022-08-10 13:50:03 STATE: test-node-wasm.js event: detect -2022-08-10 13:50:03 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg efficientpose -2022-08-10 13:50:03 DATA:  test-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-08-10 13:50:03 DATA:  test-node-wasm.js result: performance: load: null total: 677 -2022-08-10 13:50:03 STATE: test-node-wasm.js passed: efficientpose -2022-08-10 13:50:03 STATE: test-node-wasm.js start posenet -2022-08-10 13:50:04 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-10 13:50:04 STATE: test-node-wasm.js event: image -2022-08-10 13:50:04 STATE: test-node-wasm.js event: detect -2022-08-10 13:50:04 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg posenet -2022-08-10 13:50:04 DATA:  test-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-08-10 13:50:04 DATA:  test-node-wasm.js result: performance: load: null total: 322 -2022-08-10 13:50:04 STATE: test-node-wasm.js passed: posenet -2022-08-10 13:50:04 STATE: test-node-wasm.js start movenet -2022-08-10 13:50:04 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-10 13:50:04 STATE: test-node-wasm.js event: image -2022-08-10 13:50:04 STATE: test-node-wasm.js event: detect -2022-08-10 13:50:04 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg movenet -2022-08-10 13:50:04 DATA:  test-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-08-10 13:50:04 DATA:  test-node-wasm.js result: performance: load: null total: 298 -2022-08-10 13:50:04 STATE: test-node-wasm.js passed: movenet -2022-08-10 13:50:04 INFO:  test-node-wasm.js test face matching -2022-08-10 13:50:04 STATE: test-node-wasm.js passed: face database 40 -2022-08-10 13:50:04 STATE: test-node-wasm.js passed: face match {"first":{"index":4,"similarity":0.7827852754786533}} {"second":{"index":4,"similarity":0.5660821189104794}} {"third":{"index":4,"similarity":0.45074189882665594}} -2022-08-10 13:50:04 INFO:  test-node-wasm.js test face similarity alternative -2022-08-10 13:50:04 STATE: test-node-wasm.js start face embeddings -2022-08-10 13:50:06 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-10 13:50:06 STATE: test-node-wasm.js event: image -2022-08-10 13:50:07 STATE: test-node-wasm.js event: detect -2022-08-10 13:50:07 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-10 13:50:07 DATA:  test-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-08-10 13:50:07 DATA:  test-node-wasm.js result: performance: load: null total: 266 -2022-08-10 13:50:07 STATE: test-node-wasm.js passed: mobilefacenet {"embedding":192} -2022-08-10 13:50:07 STATE: test-node-wasm.js start face embeddings -2022-08-10 13:50:07 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-10 13:50:07 STATE: test-node-wasm.js event: image -2022-08-10 13:50:08 STATE: test-node-wasm.js event: detect -2022-08-10 13:50:08 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-10 13:50:08 DATA:  test-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-08-10 13:50:08 DATA:  test-node-wasm.js result: performance: load: null total: 317 -2022-08-10 13:50:08 STATE: test-node-wasm.js passed: insightface {"embedding":512} -2022-08-10 13:50:08 INFO:  test-node-wasm.js test face attention -2022-08-10 13:50:08 STATE: test-node-wasm.js start face attention -2022-08-10 13:50:08 WARN:  test-node-wasm.js missing kernel ops {"title":"face attention","model":"facemesh","url":"https://vladmandic.github.io/human/models/facemesh-attention.json","missing":["atan2"],"backkend":"wasm"} -2022-08-10 13:50:08 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-10 13:50:08 STATE: test-node-wasm.js event: image -2022-08-10 13:50:08 STATE: test-node-wasm.js event: detect -2022-08-10 13:50:08 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face attention -2022-08-10 13:50:08 DATA:  test-node-wasm.js result: face: 0 body: 1 hand: 1 gesture: 2 object: 0 person: 0 {} {} {"score":0.47,"keypoints":3} -2022-08-10 13:50:08 DATA:  test-node-wasm.js result: performance: load: null total: 124 -2022-08-10 13:50:08 ERROR: test-node-wasm.js failed: face attention {"annotations":0} -2022-08-10 13:50:08 INFO:  test-node-wasm.js test detectors -2022-08-10 13:50:08 STATE: test-node-wasm.js start detectors -2022-08-10 13:50:09 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-10 13:50:09 STATE: test-node-wasm.js event: image -2022-08-10 13:50:09 STATE: test-node-wasm.js event: detect -2022-08-10 13:50:09 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg detectors -2022-08-10 13:50:09 DATA:  test-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-08-10 13:50:09 DATA:  test-node-wasm.js result: performance: load: null total: 140 -2022-08-10 13:50:09 STATE: test-node-wasm.js passed: detector result face match -2022-08-10 13:50:09 STATE: test-node-wasm.js passed: detector result hand match -2022-08-10 13:50:09 INFO:  test-node-wasm.js test: multi-instance -2022-08-10 13:50:09 STATE: test-node-wasm.js start multi instance -2022-08-10 13:50:09 STATE: test-node-wasm.js event: image -2022-08-10 13:50:09 STATE: test-node-wasm.js event: detect -2022-08-10 13:50:09 STATE: test-node-wasm.js passed: detect: random multi instance -2022-08-10 13:50:09 DATA:  test-node-wasm.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} -2022-08-10 13:50:09 DATA:  test-node-wasm.js result: performance: load: null total: 105 -2022-08-10 13:50:09 INFO:  test-node-wasm.js test: first instance -2022-08-10 13:50:09 STATE: test-node-wasm.js start multi instance -2022-08-10 13:50:09 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-10 13:50:09 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-10 13:50:09 DATA:  test-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-08-10 13:50:09 DATA:  test-node-wasm.js result: performance: load: null total: 130 -2022-08-10 13:50:09 INFO:  test-node-wasm.js test: second instance -2022-08-10 13:50:09 STATE: test-node-wasm.js start multi instance -2022-08-10 13:50:09 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-10 13:50:09 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-10 13:50:09 DATA:  test-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-08-10 13:50:09 DATA:  test-node-wasm.js result: performance: load: null total: 118 -2022-08-10 13:50:09 INFO:  test-node-wasm.js test: concurrent -2022-08-10 13:50:09 STATE: test-node-wasm.js start concurrent -2022-08-10 13:50:09 STATE: test-node-wasm.js start concurrent -2022-08-10 13:50:09 STATE: test-node-wasm.js start concurrent -2022-08-10 13:50:09 STATE: test-node-wasm.js start concurrent -2022-08-10 13:50:09 STATE: test-node-wasm.js start concurrent -2022-08-10 13:50:09 STATE: test-node-wasm.js start concurrent -2022-08-10 13:50:09 STATE: test-node-wasm.js start concurrent -2022-08-10 13:50:09 STATE: test-node-wasm.js start concurrent -2022-08-10 13:50:09 STATE: test-node-wasm.js start concurrent -2022-08-10 13:50:09 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-10 13:50:10 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-10 13:50:10 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-10 13:50:10 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-10 13:50:10 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-10 13:50:10 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-10 13:50:10 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-10 13:50:10 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-10 13:50:10 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-10 13:50:11 STATE: test-node-wasm.js event: image -2022-08-10 13:50:11 STATE: test-node-wasm.js event: image -2022-08-10 13:50:11 STATE: test-node-wasm.js event: image -2022-08-10 13:50:11 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-10 13:50:11 DATA:  test-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-08-10 13:50:11 DATA:  test-node-wasm.js result: performance: load: null total: 1295 -2022-08-10 13:50:11 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-10 13:50:11 DATA:  test-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-08-10 13:50:11 DATA:  test-node-wasm.js result: performance: load: null total: 1295 -2022-08-10 13:50:11 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-10 13:50:11 DATA:  test-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-08-10 13:50:11 DATA:  test-node-wasm.js result: performance: load: null total: 1296 -2022-08-10 13:50:11 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-10 13:50:11 DATA:  test-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-08-10 13:50:11 DATA:  test-node-wasm.js result: performance: load: null total: 1296 -2022-08-10 13:50:11 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-10 13:50:11 DATA:  test-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-08-10 13:50:11 DATA:  test-node-wasm.js result: performance: load: null total: 1296 -2022-08-10 13:50:11 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-10 13:50:11 DATA:  test-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-08-10 13:50:11 DATA:  test-node-wasm.js result: performance: load: null total: 1296 -2022-08-10 13:50:11 STATE: test-node-wasm.js event: detect -2022-08-10 13:50:11 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-10 13:50:11 DATA:  test-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-08-10 13:50:11 DATA:  test-node-wasm.js result: performance: load: null total: 988 -2022-08-10 13:50:11 STATE: test-node-wasm.js event: detect -2022-08-10 13:50:11 STATE: test-node-wasm.js event: detect -2022-08-10 13:50:11 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-10 13:50:11 DATA:  test-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-08-10 13:50:11 DATA:  test-node-wasm.js result: performance: load: null total: 989 -2022-08-10 13:50:11 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-10 13:50:11 DATA:  test-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-08-10 13:50:11 DATA:  test-node-wasm.js result: performance: load: null total: 989 -2022-08-10 13:50:11 INFO:  test-node-wasm.js test: monkey-patch -2022-08-10 13:50:11 STATE: test-node-wasm.js event: image -2022-08-10 13:50:12 STATE: test-node-wasm.js event: detect -2022-08-10 13:50:12 STATE: test-node-wasm.js passed: monkey patch -2022-08-10 13:50:12 STATE: test-node-wasm.js passed: segmentation [65536] -2022-08-10 13:50:12 STATE: test-node-wasm.js passeed: equal usage -2022-08-10 13:50:12 INFO:  test-node-wasm.js test: input compare -2022-08-10 13:50:12 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-10 13:50:12 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-10 13:50:12 STATE: test-node-wasm.js passed: image compare 0 23.280073018790848 -2022-08-10 13:50:12 INFO:  test-node-wasm.js events: {"image":29,"detect":29,"warmup":2} -2022-08-10 13:50:12 INFO:  test-node-wasm.js tensors 4107 -2022-08-10 13:50:12 INFO:  test-node-wasm.js test complete: 28397 ms -2022-08-10 13:50:12 STATE: all tests complete -2022-08-10 13:50:12 INFO:  status {"test":"../demo/nodejs/node.js","passed":1,"failed":0} -2022-08-10 13:50:12 INFO:  status {"test":"../demo/nodejs/node-simple.js","passed":1,"failed":0} -2022-08-10 13:50:12 INFO:  status {"test":"../demo/nodejs/node-fetch.js","passed":1,"failed":0} -2022-08-10 13:50:12 INFO:  status {"test":"../demo/nodejs/node-event.js","passed":1,"failed":0} -2022-08-10 13:50:12 INFO:  status {"test":"../demo/nodejs/node-similarity.js","passed":1,"failed":0} -2022-08-10 13:50:12 INFO:  status {"test":"../demo/nodejs/node-canvas.js","passed":1,"failed":0} -2022-08-10 13:50:12 INFO:  status {"test":"../demo/multithread/node-multiprocess.js","passed":1,"failed":0} -2022-08-10 13:50:12 INFO:  status {"test":"test-node.js","passed":125,"failed":0} -2022-08-10 13:50:12 INFO:  status {"test":"test-node-gpu.js","passed":125,"failed":0} -2022-08-10 13:50:12 INFO:  status {"test":"test-node-wasm.js","passed":124,"failed":2} -2022-08-10 13:50:12 INFO:  failures {"count":2} -2022-08-10 13:50:12 WARN:  failed {"test":"test-node-wasm.js","message":["error",["failed: nanodet",[]]]} -2022-08-10 13:50:12 WARN:  failed {"test":"test-node-wasm.js","message":["error",["failed: face attention",{"annotations":0}]]} +2022-08-12 09:28:54 INFO:  @vladmandic/human version 2.9.3 +2022-08-12 09:28:54 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.15.0 +2022-08-12 09:28:54 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":[]}] +2022-08-12 09:28:54 INFO:  +2022-08-12 09:28:54 INFO:  {"cmd":"../demo/nodejs/node.js","args":[]} start +2022-08-12 09:28:55 INFO:  +2022-08-12 09:28:55 INFO:  {"cmd":"../demo/nodejs/node-simple.js","args":[]} start +2022-08-12 09:28:55 INFO:  +2022-08-12 09:28:55 INFO:  {"cmd":"../demo/nodejs/node-fetch.js","args":[]} start +2022-08-12 09:28:58 INFO:  +2022-08-12 09:28:58 INFO:  {"cmd":"../demo/nodejs/node-event.js","args":["samples/in/ai-body.jpg"]} start +2022-08-12 09:28:59 INFO:  +2022-08-12 09:28:59 INFO:  {"cmd":"../demo/nodejs/node-similarity.js","args":["samples/in/ai-face.jpg","samples/in/ai-upper.jpg"]} start +2022-08-12 09:28:59 INFO:  +2022-08-12 09:28:59 INFO:  {"cmd":"../demo/nodejs/node-canvas.js","args":["samples/in/ai-body.jpg","samples/out/ai-body.jpg"]} start +2022-08-12 09:29:00 INFO:  +2022-08-12 09:29:00 INFO:  {"cmd":"../demo/multithread/node-multiprocess.js","args":[]} start +2022-08-12 09:29:01 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"] +2022-08-12 09:29:01 INFO:  +2022-08-12 09:29:01 INFO:  test-node.js start +2022-08-12 09:29:01 INFO:  test-node.js test: configuration validation +2022-08-12 09:29:01 STATE: test-node.js passed: configuration default validation [] +2022-08-12 09:29:01 STATE: test-node.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2022-08-12 09:29:01 INFO:  test-node.js test: model load +2022-08-12 09:29:01 STATE: test-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-08-12 09:29:01 INFO:  test-node.js test: warmup +2022-08-12 09:29:01 STATE: test-node.js passed: create human +2022-08-12 09:29:01 INFO:  test-node.js human version: 2.9.3 +2022-08-12 09:29:01 INFO:  test-node.js platform: linux x64 agent: NodeJS v16.15.0 +2022-08-12 09:29:01 INFO:  test-node.js tfjs version: 3.19.0 +2022-08-12 09:29:01 INFO:  test-node.js tensorflow binding version: 2.7.3-dev20220521 +2022-08-12 09:29:01 STATE: test-node.js passed: set backend: tensorflow +2022-08-12 09:29:01 STATE: test-node.js tensors 1921 +2022-08-12 09:29:01 STATE: test-node.js passed: load models +2022-08-12 09:29:01 STATE: test-node.js result: defined models: 23 loaded models: 12 +2022-08-12 09:29:01 STATE: test-node.js passed: warmup: none default +2022-08-12 09:29:01 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2022-08-12 09:29:01 DATA:  test-node.js result: performance: load: null total: null +2022-08-12 09:29:01 STATE: test-node.js passed: warmup none result match +2022-08-12 09:29:01 STATE: test-node.js event: image +2022-08-12 09:29:02 STATE: test-node.js event: detect +2022-08-12 09:29:02 STATE: test-node.js event: warmup +2022-08-12 09:29:02 STATE: test-node.js passed: warmup: face default +2022-08-12 09:29:02 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4} +2022-08-12 09:29:02 DATA:  test-node.js result: performance: load: null total: 415 +2022-08-12 09:29:02 STATE: test-node.js passed: warmup face result match +2022-08-12 09:29:02 STATE: test-node.js event: image +2022-08-12 09:29:02 STATE: test-node.js event: detect +2022-08-12 09:29:02 STATE: test-node.js event: warmup +2022-08-12 09:29:02 STATE: test-node.js passed: warmup: body default +2022-08-12 09:29:02 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:02 DATA:  test-node.js result: performance: load: null total: 321 +2022-08-12 09:29:02 STATE: test-node.js passed: warmup body result match +2022-08-12 09:29:02 STATE: test-node.js details: {"face":{"boxScore":0.92,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.63,"emotion":"angry"},{"score":0.22,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.52,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 10% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} +2022-08-12 09:29:02 INFO:  test-node.js test: details verification +2022-08-12 09:29:02 STATE: test-node.js start default +2022-08-12 09:29:02 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-12 09:29:02 STATE: test-node.js event: image +2022-08-12 09:29:03 STATE: test-node.js event: detect +2022-08-12 09:29:03 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-08-12 09:29:03 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:03 DATA:  test-node.js result: performance: load: null total: 245 +2022-08-12 09:29:03 STATE: test-node.js passed: details face length 1 +2022-08-12 09:29:03 STATE: test-node.js passed: details face score 1 0.93 1 +2022-08-12 09:29:03 STATE: test-node.js passed: details face age/gender 23.7 female 0.97 85.47 +2022-08-12 09:29:03 STATE: test-node.js passed: details face arrays 4 478 1024 +2022-08-12 09:29:03 STATE: test-node.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} +2022-08-12 09:29:03 STATE: test-node.js passed: details face anti-spoofing 0.79 +2022-08-12 09:29:03 STATE: test-node.js passed: details face liveness 0.83 +2022-08-12 09:29:03 STATE: test-node.js passed: details body length 1 +2022-08-12 09:29:03 STATE: test-node.js passed: details body 0.92 17 6 +2022-08-12 09:29:03 STATE: test-node.js passed: details hand length 1 +2022-08-12 09:29:03 STATE: test-node.js passed: details hand 0.51 0.73 point +2022-08-12 09:29:03 STATE: test-node.js passed: details hand arrays 21 5 7 +2022-08-12 09:29:03 STATE: test-node.js passed: details gesture length 7 +2022-08-12 09:29:03 STATE: test-node.js passed: details gesture first {"face":0,"gesture":"facing right"} +2022-08-12 09:29:03 STATE: test-node.js passed: details object length 1 +2022-08-12 09:29:03 STATE: test-node.js passed: details object 0.72 person +2022-08-12 09:29:03 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} +2022-08-12 09:29:03 STATE: test-node.js event: image +2022-08-12 09:29:03 STATE: test-node.js event: detect +2022-08-12 09:29:03 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2022-08-12 09:29:03 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} +2022-08-12 09:29:03 STATE: test-node.js event: image +2022-08-12 09:29:03 STATE: test-node.js event: detect +2022-08-12 09:29:03 STATE: test-node.js passed: tensor shape: [1200,1200,4] dtype: float32 +2022-08-12 09:29:04 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-12 09:29:04 STATE: test-node.js event: image +2022-08-12 09:29:04 STATE: test-node.js event: detect +2022-08-12 09:29:04 STATE: test-node.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2022-08-12 09:29:04 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796864} +2022-08-12 09:29:04 STATE: test-node.js event: image +2022-08-12 09:29:04 STATE: test-node.js event: detect +2022-08-12 09:29:04 STATE: test-node.js passed: tensor shape: [1200,1200,3] dtype: float32 +2022-08-12 09:29:05 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2022-08-12 09:29:05 STATE: test-node.js event: image +2022-08-12 09:29:05 STATE: test-node.js event: detect +2022-08-12 09:29:05 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2022-08-12 09:29:05 INFO:  test-node.js test default +2022-08-12 09:29:05 STATE: test-node.js start async +2022-08-12 09:29:05 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-12 09:29:05 STATE: test-node.js event: image +2022-08-12 09:29:05 STATE: test-node.js event: detect +2022-08-12 09:29:05 STATE: test-node.js passed: detect: samples/in/ai-body.jpg async +2022-08-12 09:29:05 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:05 DATA:  test-node.js result: performance: load: null total: 225 +2022-08-12 09:29:05 STATE: test-node.js passed: default result face match 1 female 0.97 +2022-08-12 09:29:05 INFO:  test-node.js test sync +2022-08-12 09:29:05 STATE: test-node.js start sync +2022-08-12 09:29:05 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-12 09:29:05 STATE: test-node.js event: image +2022-08-12 09:29:06 STATE: test-node.js event: detect +2022-08-12 09:29:06 STATE: test-node.js passed: detect: samples/in/ai-body.jpg sync +2022-08-12 09:29:06 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:06 DATA:  test-node.js result: performance: load: null total: 219 +2022-08-12 09:29:06 STATE: test-node.js passed: default sync 1 female 0.97 +2022-08-12 09:29:06 INFO:  test-node.js test: image process +2022-08-12 09:29:06 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-12 09:29:06 STATE: test-node.js passed: image input null [1,256,256,3] +2022-08-12 09:29:06 INFO:  test-node.js test: image null +2022-08-12 09:29:06 STATE: test-node.js passed: invalid input could not convert input to tensor +2022-08-12 09:29:06 INFO:  test-node.js test face similarity +2022-08-12 09:29:06 STATE: test-node.js start face similarity +2022-08-12 09:29:06 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-12 09:29:06 STATE: test-node.js event: image +2022-08-12 09:29:06 STATE: test-node.js event: detect +2022-08-12 09:29:06 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face similarity +2022-08-12 09:29:06 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} +2022-08-12 09:29:06 DATA:  test-node.js result: performance: load: null total: 212 +2022-08-12 09:29:06 STATE: test-node.js start face similarity +2022-08-12 09:29:06 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-12 09:29:06 STATE: test-node.js event: image +2022-08-12 09:29:06 STATE: test-node.js event: detect +2022-08-12 09:29:06 STATE: test-node.js passed: detect: samples/in/ai-body.jpg face similarity +2022-08-12 09:29:06 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:06 DATA:  test-node.js result: performance: load: null total: 219 +2022-08-12 09:29:06 STATE: test-node.js start face similarity +2022-08-12 09:29:06 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-12 09:29:06 STATE: test-node.js event: image +2022-08-12 09:29:06 STATE: test-node.js event: detect +2022-08-12 09:29:06 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg face similarity +2022-08-12 09:29:06 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} +2022-08-12 09:29:06 DATA:  test-node.js result: performance: load: null total: 194 +2022-08-12 09:29:06 STATE: test-node.js passed: face descriptor +2022-08-12 09:29:06 STATE: test-node.js passed: face similarity {"similarity":[1,0.44727452329649126,0.5567935850640406],"descriptors":[1024,1024,1024]} +2022-08-12 09:29:06 INFO:  test-node.js test object +2022-08-12 09:29:06 STATE: test-node.js start object +2022-08-12 09:29:07 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-12 09:29:07 STATE: test-node.js event: image +2022-08-12 09:29:07 STATE: test-node.js event: detect +2022-08-12 09:29:07 STATE: test-node.js passed: detect: samples/in/ai-body.jpg object +2022-08-12 09:29:07 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:07 DATA:  test-node.js result: performance: load: null total: 211 +2022-08-12 09:29:07 STATE: test-node.js passed: centernet +2022-08-12 09:29:07 STATE: test-node.js start object +2022-08-12 09:29:08 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-12 09:29:08 STATE: test-node.js event: image +2022-08-12 09:29:08 STATE: test-node.js event: detect +2022-08-12 09:29:08 STATE: test-node.js passed: detect: samples/in/ai-body.jpg object +2022-08-12 09:29:08 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 2 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:08 DATA:  test-node.js result: performance: load: null total: 222 +2022-08-12 09:29:08 STATE: test-node.js passed: nanodet +2022-08-12 09:29:08 INFO:  test-node.js test sensitive +2022-08-12 09:29:08 STATE: test-node.js start sensitive +2022-08-12 09:29:08 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-12 09:29:08 STATE: test-node.js event: image +2022-08-12 09:29:08 STATE: test-node.js event: detect +2022-08-12 09:29:08 STATE: test-node.js passed: detect: samples/in/ai-body.jpg sensitive +2022-08-12 09:29:08 DATA:  test-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-08-12 09:29:08 DATA:  test-node.js result: performance: load: null total: 186 +2022-08-12 09:29:08 STATE: test-node.js passed: sensitive result match +2022-08-12 09:29:08 STATE: test-node.js passed: sensitive face result match +2022-08-12 09:29:08 STATE: test-node.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] +2022-08-12 09:29:08 STATE: test-node.js passed: sensitive body result match +2022-08-12 09:29:08 STATE: test-node.js passed: sensitive hand result match +2022-08-12 09:29:08 INFO:  test-node.js test body +2022-08-12 09:29:08 STATE: test-node.js start blazepose +2022-08-12 09:29:10 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-12 09:29:10 STATE: test-node.js event: image +2022-08-12 09:29:10 STATE: test-node.js event: detect +2022-08-12 09:29:10 STATE: test-node.js passed: detect: samples/in/ai-body.jpg blazepose +2022-08-12 09:29:10 DATA:  test-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-08-12 09:29:10 DATA:  test-node.js result: performance: load: null total: 232 +2022-08-12 09:29:10 STATE: test-node.js passed: blazepose +2022-08-12 09:29:10 STATE: test-node.js start efficientpose +2022-08-12 09:29:11 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-12 09:29:11 STATE: test-node.js event: image +2022-08-12 09:29:11 STATE: test-node.js event: detect +2022-08-12 09:29:11 STATE: test-node.js passed: detect: samples/in/ai-body.jpg efficientpose +2022-08-12 09:29:11 DATA:  test-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-08-12 09:29:11 DATA:  test-node.js result: performance: load: null total: 248 +2022-08-12 09:29:11 STATE: test-node.js passed: efficientpose +2022-08-12 09:29:11 STATE: test-node.js start posenet +2022-08-12 09:29:12 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-12 09:29:12 STATE: test-node.js event: image +2022-08-12 09:29:12 STATE: test-node.js event: detect +2022-08-12 09:29:12 STATE: test-node.js passed: detect: samples/in/ai-body.jpg posenet +2022-08-12 09:29:12 DATA:  test-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-08-12 09:29:12 DATA:  test-node.js result: performance: load: null total: 177 +2022-08-12 09:29:12 STATE: test-node.js passed: posenet +2022-08-12 09:29:12 STATE: test-node.js start movenet +2022-08-12 09:29:12 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-12 09:29:12 STATE: test-node.js event: image +2022-08-12 09:29:13 STATE: test-node.js event: detect +2022-08-12 09:29:13 STATE: test-node.js passed: detect: samples/in/ai-body.jpg movenet +2022-08-12 09:29:13 DATA:  test-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-08-12 09:29:13 DATA:  test-node.js result: performance: load: null total: 185 +2022-08-12 09:29:13 STATE: test-node.js passed: movenet +2022-08-12 09:29:13 INFO:  test-node.js test face matching +2022-08-12 09:29:13 STATE: test-node.js passed: face database 40 +2022-08-12 09:29:13 STATE: test-node.js passed: face match {"first":{"index":4,"similarity":0.7827852615252829}} {"second":{"index":4,"similarity":0.5002052633015844}} {"third":{"index":4,"similarity":0.5401587887998899}} +2022-08-12 09:29:13 INFO:  test-node.js test face similarity alternative +2022-08-12 09:29:13 STATE: test-node.js start face embeddings +2022-08-12 09:29:13 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-12 09:29:13 STATE: test-node.js event: image +2022-08-12 09:29:13 STATE: test-node.js event: detect +2022-08-12 09:29:13 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-12 09:29:13 DATA:  test-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-08-12 09:29:13 DATA:  test-node.js result: performance: load: null total: 189 +2022-08-12 09:29:13 STATE: test-node.js passed: mobilefacenet {"embedding":192} +2022-08-12 09:29:13 STATE: test-node.js start face embeddings +2022-08-12 09:29:14 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-12 09:29:14 STATE: test-node.js event: image +2022-08-12 09:29:15 STATE: test-node.js event: detect +2022-08-12 09:29:15 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-12 09:29:15 DATA:  test-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-08-12 09:29:15 DATA:  test-node.js result: performance: load: null total: 205 +2022-08-12 09:29:15 STATE: test-node.js passed: insightface {"embedding":512} +2022-08-12 09:29:15 INFO:  test-node.js test face attention +2022-08-12 09:29:15 STATE: test-node.js start face attention +2022-08-12 09:29:15 DATA:  test-node.js stdout: 09:29:15.192 Human: error loading model: file://models/facemesh-attention.json Error: Path /home/vlado/dev/human/models/facemesh-attention.json does not exist: loading failed +2022-08-12 09:29:15 DATA:  test-node.js stdout: at /home/vlado/dev/human/node_modules/.pnpm/@tensorflow+tfjs-node@3.19.0_seedrandom@3.0.5/node_modules/@tensorflow/tfjs-node/dist/io/file_system.js:67:23 +2022-08-12 09:29:15 ERROR: test-node.js uncaughtException testDetect face attention {} +2022-08-12 09:29:15 INFO:  +2022-08-12 09:29:15 INFO:  test-node-gpu.js start +2022-08-12 09:29:16 INFO:  test-node-gpu.js test: configuration validation +2022-08-12 09:29:16 STATE: test-node-gpu.js passed: configuration default validation [] +2022-08-12 09:29:16 STATE: test-node-gpu.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2022-08-12 09:29:16 INFO:  test-node-gpu.js test: model load +2022-08-12 09:29:16 STATE: test-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-08-12 09:29:16 INFO:  test-node-gpu.js test: warmup +2022-08-12 09:29:16 STATE: test-node-gpu.js passed: create human +2022-08-12 09:29:16 INFO:  test-node-gpu.js human version: 2.9.3 +2022-08-12 09:29:16 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v16.15.0 +2022-08-12 09:29:16 INFO:  test-node-gpu.js tfjs version: 3.19.0 +2022-08-12 09:29:16 INFO:  test-node-gpu.js tensorflow binding version: 2.7.3-dev20220521 +2022-08-12 09:29:16 STATE: test-node-gpu.js passed: set backend: tensorflow +2022-08-12 09:29:16 STATE: test-node-gpu.js tensors 1921 +2022-08-12 09:29:16 STATE: test-node-gpu.js passed: load models +2022-08-12 09:29:16 STATE: test-node-gpu.js result: defined models: 23 loaded models: 12 +2022-08-12 09:29:16 STATE: test-node-gpu.js passed: warmup: none default +2022-08-12 09:29:16 DATA:  test-node-gpu.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2022-08-12 09:29:16 DATA:  test-node-gpu.js result: performance: load: null total: null +2022-08-12 09:29:16 STATE: test-node-gpu.js passed: warmup none result match +2022-08-12 09:29:16 STATE: test-node-gpu.js event: image +2022-08-12 09:29:21 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:21 STATE: test-node-gpu.js event: warmup +2022-08-12 09:29:21 STATE: test-node-gpu.js passed: warmup: face default +2022-08-12 09:29:21 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4} +2022-08-12 09:29:21 DATA:  test-node-gpu.js result: performance: load: null total: 4473 +2022-08-12 09:29:21 STATE: test-node-gpu.js passed: warmup face result match +2022-08-12 09:29:21 STATE: test-node-gpu.js event: image +2022-08-12 09:29:21 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:21 STATE: test-node-gpu.js event: warmup +2022-08-12 09:29:21 STATE: test-node-gpu.js passed: warmup: body default +2022-08-12 09:29:21 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:21 DATA:  test-node-gpu.js result: performance: load: null total: 214 +2022-08-12 09:29:21 STATE: test-node-gpu.js passed: warmup body result match +2022-08-12 09:29:21 STATE: test-node-gpu.js details: {"face":{"boxScore":0.92,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.63,"emotion":"angry"},{"score":0.22,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.52,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 10% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} +2022-08-12 09:29:21 INFO:  test-node-gpu.js test: details verification +2022-08-12 09:29:21 STATE: test-node-gpu.js start default +2022-08-12 09:29:21 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-12 09:29:21 STATE: test-node-gpu.js event: image +2022-08-12 09:29:22 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-08-12 09:29:22 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:22 DATA:  test-node-gpu.js result: performance: load: null total: 205 +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: details face length 1 +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: details face score 1 0.93 1 +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: details face age/gender 23.7 female 0.97 85.47 +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: details face arrays 4 478 1024 +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: details face anti-spoofing 0.79 +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: details face liveness 0.83 +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: details body length 1 +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: details body 0.92 17 6 +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: details hand length 1 +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: details hand 0.51 0.73 point +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: details hand arrays 21 5 7 +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: details gesture length 7 +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: details gesture first {"face":0,"gesture":"facing right"} +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: details object length 1 +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: details object 0.72 person +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} +2022-08-12 09:29:22 STATE: test-node-gpu.js event: image +2022-08-12 09:29:22 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} +2022-08-12 09:29:22 STATE: test-node-gpu.js event: image +2022-08-12 09:29:22 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:22 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,4] dtype: float32 +2022-08-12 09:29:23 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-12 09:29:23 STATE: test-node-gpu.js event: image +2022-08-12 09:29:23 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:23 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2022-08-12 09:29:23 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796928} +2022-08-12 09:29:23 STATE: test-node-gpu.js event: image +2022-08-12 09:29:23 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:23 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,3] dtype: float32 +2022-08-12 09:29:24 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2022-08-12 09:29:24 STATE: test-node-gpu.js event: image +2022-08-12 09:29:24 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:24 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2022-08-12 09:29:24 INFO:  test-node-gpu.js test default +2022-08-12 09:29:24 STATE: test-node-gpu.js start async +2022-08-12 09:29:24 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-12 09:29:24 STATE: test-node-gpu.js event: image +2022-08-12 09:29:24 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:24 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg async +2022-08-12 09:29:24 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:24 DATA:  test-node-gpu.js result: performance: load: null total: 237 +2022-08-12 09:29:24 STATE: test-node-gpu.js passed: default result face match 1 female 0.97 +2022-08-12 09:29:24 INFO:  test-node-gpu.js test sync +2022-08-12 09:29:24 STATE: test-node-gpu.js start sync +2022-08-12 09:29:25 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-12 09:29:25 STATE: test-node-gpu.js event: image +2022-08-12 09:29:25 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:25 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg sync +2022-08-12 09:29:25 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:25 DATA:  test-node-gpu.js result: performance: load: null total: 210 +2022-08-12 09:29:25 STATE: test-node-gpu.js passed: default sync 1 female 0.97 +2022-08-12 09:29:25 INFO:  test-node-gpu.js test: image process +2022-08-12 09:29:25 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-12 09:29:25 STATE: test-node-gpu.js passed: image input null [1,256,256,3] +2022-08-12 09:29:25 INFO:  test-node-gpu.js test: image null +2022-08-12 09:29:25 STATE: test-node-gpu.js passed: invalid input could not convert input to tensor +2022-08-12 09:29:25 INFO:  test-node-gpu.js test face similarity +2022-08-12 09:29:25 STATE: test-node-gpu.js start face similarity +2022-08-12 09:29:25 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-12 09:29:25 STATE: test-node-gpu.js event: image +2022-08-12 09:29:25 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:25 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face similarity +2022-08-12 09:29:25 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} +2022-08-12 09:29:25 DATA:  test-node-gpu.js result: performance: load: null total: 257 +2022-08-12 09:29:25 STATE: test-node-gpu.js start face similarity +2022-08-12 09:29:25 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-12 09:29:25 STATE: test-node-gpu.js event: image +2022-08-12 09:29:25 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:25 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg face similarity +2022-08-12 09:29:25 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:25 DATA:  test-node-gpu.js result: performance: load: null total: 190 +2022-08-12 09:29:25 STATE: test-node-gpu.js start face similarity +2022-08-12 09:29:26 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-12 09:29:26 STATE: test-node-gpu.js event: image +2022-08-12 09:29:26 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:26 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg face similarity +2022-08-12 09:29:26 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} +2022-08-12 09:29:26 DATA:  test-node-gpu.js result: performance: load: null total: 169 +2022-08-12 09:29:26 STATE: test-node-gpu.js passed: face descriptor +2022-08-12 09:29:26 STATE: test-node-gpu.js passed: face similarity {"similarity":[1,0.447238756461232,0.556914029877052],"descriptors":[1024,1024,1024]} +2022-08-12 09:29:26 INFO:  test-node-gpu.js test object +2022-08-12 09:29:26 STATE: test-node-gpu.js start object +2022-08-12 09:29:26 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-12 09:29:26 STATE: test-node-gpu.js event: image +2022-08-12 09:29:26 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:26 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg object +2022-08-12 09:29:26 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:26 DATA:  test-node-gpu.js result: performance: load: null total: 174 +2022-08-12 09:29:26 STATE: test-node-gpu.js passed: centernet +2022-08-12 09:29:26 STATE: test-node-gpu.js start object +2022-08-12 09:29:28 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-12 09:29:28 STATE: test-node-gpu.js event: image +2022-08-12 09:29:28 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:28 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg object +2022-08-12 09:29:28 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 2 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:28 DATA:  test-node-gpu.js result: performance: load: null total: 535 +2022-08-12 09:29:28 STATE: test-node-gpu.js passed: nanodet +2022-08-12 09:29:28 INFO:  test-node-gpu.js test sensitive +2022-08-12 09:29:28 STATE: test-node-gpu.js start sensitive +2022-08-12 09:29:29 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-12 09:29:29 STATE: test-node-gpu.js event: image +2022-08-12 09:29:29 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:29 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg sensitive +2022-08-12 09:29:29 DATA:  test-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-08-12 09:29:29 DATA:  test-node-gpu.js result: performance: load: null total: 121 +2022-08-12 09:29:29 STATE: test-node-gpu.js passed: sensitive result match +2022-08-12 09:29:29 STATE: test-node-gpu.js passed: sensitive face result match +2022-08-12 09:29:29 STATE: test-node-gpu.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] +2022-08-12 09:29:29 STATE: test-node-gpu.js passed: sensitive body result match +2022-08-12 09:29:29 STATE: test-node-gpu.js passed: sensitive hand result match +2022-08-12 09:29:29 INFO:  test-node-gpu.js test body +2022-08-12 09:29:29 STATE: test-node-gpu.js start blazepose +2022-08-12 09:29:30 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-12 09:29:30 STATE: test-node-gpu.js event: image +2022-08-12 09:29:30 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:30 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg blazepose +2022-08-12 09:29:30 DATA:  test-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-08-12 09:29:30 DATA:  test-node-gpu.js result: performance: load: null total: 255 +2022-08-12 09:29:30 STATE: test-node-gpu.js passed: blazepose +2022-08-12 09:29:30 STATE: test-node-gpu.js start efficientpose +2022-08-12 09:29:31 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-12 09:29:31 STATE: test-node-gpu.js event: image +2022-08-12 09:29:32 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:32 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg efficientpose +2022-08-12 09:29:32 DATA:  test-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-08-12 09:29:32 DATA:  test-node-gpu.js result: performance: load: null total: 729 +2022-08-12 09:29:32 STATE: test-node-gpu.js passed: efficientpose +2022-08-12 09:29:32 STATE: test-node-gpu.js start posenet +2022-08-12 09:29:33 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-12 09:29:33 STATE: test-node-gpu.js event: image +2022-08-12 09:29:33 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:33 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg posenet +2022-08-12 09:29:33 DATA:  test-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-08-12 09:29:33 DATA:  test-node-gpu.js result: performance: load: null total: 153 +2022-08-12 09:29:33 STATE: test-node-gpu.js passed: posenet +2022-08-12 09:29:33 STATE: test-node-gpu.js start movenet +2022-08-12 09:29:33 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-12 09:29:33 STATE: test-node-gpu.js event: image +2022-08-12 09:29:33 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:33 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg movenet +2022-08-12 09:29:33 DATA:  test-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-08-12 09:29:33 DATA:  test-node-gpu.js result: performance: load: null total: 116 +2022-08-12 09:29:33 STATE: test-node-gpu.js passed: movenet +2022-08-12 09:29:33 INFO:  test-node-gpu.js test face matching +2022-08-12 09:29:33 STATE: test-node-gpu.js passed: face database 40 +2022-08-12 09:29:33 STATE: test-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-08-12 09:29:33 INFO:  test-node-gpu.js test face similarity alternative +2022-08-12 09:29:33 STATE: test-node-gpu.js start face embeddings +2022-08-12 09:29:35 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-12 09:29:35 STATE: test-node-gpu.js event: image +2022-08-12 09:29:35 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:35 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-12 09:29:35 DATA:  test-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-08-12 09:29:35 DATA:  test-node-gpu.js result: performance: load: null total: 201 +2022-08-12 09:29:35 STATE: test-node-gpu.js passed: mobilefacenet {"embedding":192} +2022-08-12 09:29:35 STATE: test-node-gpu.js start face embeddings +2022-08-12 09:29:35 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-12 09:29:35 STATE: test-node-gpu.js event: image +2022-08-12 09:29:36 STATE: test-node-gpu.js event: detect +2022-08-12 09:29:36 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-12 09:29:36 DATA:  test-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-08-12 09:29:36 DATA:  test-node-gpu.js result: performance: load: null total: 175 +2022-08-12 09:29:36 STATE: test-node-gpu.js passed: insightface {"embedding":512} +2022-08-12 09:29:36 INFO:  test-node-gpu.js test face attention +2022-08-12 09:29:36 STATE: test-node-gpu.js start face attention +2022-08-12 09:29:36 DATA:  test-node-gpu.js stdout: 09:29:36.156 Human: error loading model: file://models/facemesh-attention.json Error: Path /home/vlado/dev/human/models/facemesh-attention.json does not exist: loading failed +2022-08-12 09:29:36 DATA:  test-node-gpu.js stdout: at /home/vlado/dev/human/node_modules/.pnpm/@tensorflow+tfjs-node-gpu@3.19.0_seedrandom@3.0.5/node_modules/@tensorflow/tfjs-node-gpu/dist/io/file_system.js:67:23 +2022-08-12 09:29:36 ERROR: test-node-gpu.js uncaughtException testDetect face attention {} +2022-08-12 09:29:36 INFO:  +2022-08-12 09:29:36 INFO:  test-node-wasm.js start +2022-08-12 09:29:37 STATE: test-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/ +2022-08-12 09:29:37 INFO:  test-node-wasm.js test: configuration validation +2022-08-12 09:29:37 STATE: test-node-wasm.js passed: configuration default validation [] +2022-08-12 09:29:37 STATE: test-node-wasm.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2022-08-12 09:29:37 INFO:  test-node-wasm.js test: model load +2022-08-12 09:29:39 STATE: test-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-08-12 09:29:39 INFO:  test-node-wasm.js test: warmup +2022-08-12 09:29:39 STATE: test-node-wasm.js passed: create human +2022-08-12 09:29:39 INFO:  test-node-wasm.js human version: 2.9.3 +2022-08-12 09:29:39 INFO:  test-node-wasm.js platform: linux x64 agent: NodeJS v16.15.0 +2022-08-12 09:29:39 INFO:  test-node-wasm.js tfjs version: 3.19.0 +2022-08-12 09:29:39 STATE: test-node-wasm.js passed: set backend: wasm +2022-08-12 09:29:39 STATE: test-node-wasm.js tensors 1921 +2022-08-12 09:29:39 STATE: test-node-wasm.js passed: load models +2022-08-12 09:29:39 STATE: test-node-wasm.js result: defined models: 23 loaded models: 12 +2022-08-12 09:29:39 STATE: test-node-wasm.js passed: warmup: none default +2022-08-12 09:29:39 DATA:  test-node-wasm.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2022-08-12 09:29:39 DATA:  test-node-wasm.js result: performance: load: null total: null +2022-08-12 09:29:39 STATE: test-node-wasm.js passed: warmup none result match +2022-08-12 09:29:39 STATE: test-node-wasm.js event: image +2022-08-12 09:29:40 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:40 STATE: test-node-wasm.js event: warmup +2022-08-12 09:29:40 STATE: test-node-wasm.js passed: warmup: face default +2022-08-12 09:29:40 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} +2022-08-12 09:29:40 DATA:  test-node-wasm.js result: performance: load: null total: 533 +2022-08-12 09:29:40 STATE: test-node-wasm.js passed: warmup face result match +2022-08-12 09:29:40 STATE: test-node-wasm.js event: image +2022-08-12 09:29:40 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:40 STATE: test-node-wasm.js event: warmup +2022-08-12 09:29:40 STATE: test-node-wasm.js passed: warmup: body default +2022-08-12 09:29:40 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:40 DATA:  test-node-wasm.js result: performance: load: null total: 381 +2022-08-12 09:29:40 STATE: test-node-wasm.js passed: warmup body result match +2022-08-12 09:29:40 STATE: test-node-wasm.js details: {"face":{"boxScore":0.93,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.51,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 21% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} +2022-08-12 09:29:40 INFO:  test-node-wasm.js test: details verification +2022-08-12 09:29:40 STATE: test-node-wasm.js start default +2022-08-12 09:29:40 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-12 09:29:40 STATE: test-node-wasm.js event: image +2022-08-12 09:29:41 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-08-12 09:29:41 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:41 DATA:  test-node-wasm.js result: performance: load: null total: 348 +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: details face length 1 +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: details face score 1 0.93 1 +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: details face age/gender 23.7 female 0.97 85.47 +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: details face arrays 4 478 1024 +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: details face anti-spoofing 0.79 +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: details face liveness 0.83 +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: details body length 1 +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: details body 0.92 17 6 +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: details hand length 1 +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: details hand 0.51 0.73 point +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: details hand arrays 21 5 7 +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: details gesture length 7 +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: details gesture first {"face":0,"gesture":"facing right"} +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: details object length 1 +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: details object 0.72 person +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1413675264} +2022-08-12 09:29:41 STATE: test-node-wasm.js event: image +2022-08-12 09:29:41 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2022-08-12 09:29:41 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1413675264} +2022-08-12 09:29:41 STATE: test-node-wasm.js event: image +2022-08-12 09:29:42 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:42 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,4] dtype: float32 +2022-08-12 09:29:42 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-12 09:29:42 STATE: test-node-wasm.js event: image +2022-08-12 09:29:42 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:42 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2022-08-12 09:29:43 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1038921856} +2022-08-12 09:29:43 STATE: test-node-wasm.js event: image +2022-08-12 09:29:43 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:43 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,3] dtype: float32 +2022-08-12 09:29:43 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2022-08-12 09:29:43 STATE: test-node-wasm.js event: image +2022-08-12 09:29:44 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:44 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2022-08-12 09:29:44 INFO:  test-node-wasm.js test default +2022-08-12 09:29:44 STATE: test-node-wasm.js start async +2022-08-12 09:29:44 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-12 09:29:44 STATE: test-node-wasm.js event: image +2022-08-12 09:29:44 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:44 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg async +2022-08-12 09:29:44 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:44 DATA:  test-node-wasm.js result: performance: load: null total: 310 +2022-08-12 09:29:44 STATE: test-node-wasm.js passed: default result face match 1 female 0.97 +2022-08-12 09:29:44 INFO:  test-node-wasm.js test sync +2022-08-12 09:29:44 STATE: test-node-wasm.js start sync +2022-08-12 09:29:44 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-12 09:29:44 STATE: test-node-wasm.js event: image +2022-08-12 09:29:45 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:45 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg sync +2022-08-12 09:29:45 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:45 DATA:  test-node-wasm.js result: performance: load: null total: 353 +2022-08-12 09:29:45 STATE: test-node-wasm.js passed: default sync 1 female 0.97 +2022-08-12 09:29:45 INFO:  test-node-wasm.js test: image process +2022-08-12 09:29:45 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-12 09:29:45 STATE: test-node-wasm.js passed: image input null [1,256,256,3] +2022-08-12 09:29:45 INFO:  test-node-wasm.js test: image null +2022-08-12 09:29:45 STATE: test-node-wasm.js passed: invalid input could not convert input to tensor +2022-08-12 09:29:45 INFO:  test-node-wasm.js test face similarity +2022-08-12 09:29:45 STATE: test-node-wasm.js start face similarity +2022-08-12 09:29:45 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-12 09:29:45 STATE: test-node-wasm.js event: image +2022-08-12 09:29:45 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:45 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face similarity +2022-08-12 09:29:45 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} +2022-08-12 09:29:45 DATA:  test-node-wasm.js result: performance: load: null total: 342 +2022-08-12 09:29:45 STATE: test-node-wasm.js start face similarity +2022-08-12 09:29:45 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-12 09:29:45 STATE: test-node-wasm.js event: image +2022-08-12 09:29:46 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:46 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg face similarity +2022-08-12 09:29:46 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:46 DATA:  test-node-wasm.js result: performance: load: null total: 359 +2022-08-12 09:29:46 STATE: test-node-wasm.js start face similarity +2022-08-12 09:29:46 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-12 09:29:46 STATE: test-node-wasm.js event: image +2022-08-12 09:29:46 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:46 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg face similarity +2022-08-12 09:29:46 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} +2022-08-12 09:29:46 DATA:  test-node-wasm.js result: performance: load: null total: 322 +2022-08-12 09:29:46 STATE: test-node-wasm.js passed: face descriptor +2022-08-12 09:29:46 STATE: test-node-wasm.js passed: face similarity {"similarity":[1,0.5266119940661309,0.4858842904087851],"descriptors":[1024,1024,1024]} +2022-08-12 09:29:46 INFO:  test-node-wasm.js test object +2022-08-12 09:29:46 STATE: test-node-wasm.js start object +2022-08-12 09:29:46 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-12 09:29:46 STATE: test-node-wasm.js event: image +2022-08-12 09:29:47 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:47 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg object +2022-08-12 09:29:47 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-12 09:29:47 DATA:  test-node-wasm.js result: performance: load: null total: 337 +2022-08-12 09:29:47 STATE: test-node-wasm.js passed: centernet +2022-08-12 09:29:47 STATE: test-node-wasm.js start object +2022-08-12 09:29:47 WARN:  test-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-08-12 09:29:48 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-12 09:29:48 STATE: test-node-wasm.js event: image +2022-08-12 09:29:48 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:48 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg object +2022-08-12 09:29:48 DATA:  test-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-08-12 09:29:48 DATA:  test-node-wasm.js result: performance: load: null total: 213 +2022-08-12 09:29:48 ERROR: test-node-wasm.js failed: nanodet [] +2022-08-12 09:29:48 INFO:  test-node-wasm.js test sensitive +2022-08-12 09:29:48 STATE: test-node-wasm.js start sensitive +2022-08-12 09:29:48 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-12 09:29:48 STATE: test-node-wasm.js event: image +2022-08-12 09:29:48 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:48 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg sensitive +2022-08-12 09:29:48 DATA:  test-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-08-12 09:29:48 DATA:  test-node-wasm.js result: performance: load: null total: 232 +2022-08-12 09:29:48 STATE: test-node-wasm.js passed: sensitive result match +2022-08-12 09:29:48 STATE: test-node-wasm.js passed: sensitive face result match +2022-08-12 09:29:48 STATE: test-node-wasm.js passed: sensitive face emotion result [{"score":0.46,"emotion":"neutral"},{"score":0.24,"emotion":"fear"},{"score":0.17,"emotion":"sad"}] +2022-08-12 09:29:48 STATE: test-node-wasm.js passed: sensitive body result match +2022-08-12 09:29:48 STATE: test-node-wasm.js passed: sensitive hand result match +2022-08-12 09:29:48 INFO:  test-node-wasm.js test body +2022-08-12 09:29:48 STATE: test-node-wasm.js start blazepose +2022-08-12 09:29:50 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-12 09:29:50 STATE: test-node-wasm.js event: image +2022-08-12 09:29:50 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:50 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg blazepose +2022-08-12 09:29:50 DATA:  test-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-08-12 09:29:50 DATA:  test-node-wasm.js result: performance: load: null total: 441 +2022-08-12 09:29:50 STATE: test-node-wasm.js passed: blazepose +2022-08-12 09:29:50 STATE: test-node-wasm.js start efficientpose +2022-08-12 09:29:51 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-12 09:29:51 STATE: test-node-wasm.js event: image +2022-08-12 09:29:52 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:52 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg efficientpose +2022-08-12 09:29:52 DATA:  test-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-08-12 09:29:52 DATA:  test-node-wasm.js result: performance: load: null total: 705 +2022-08-12 09:29:52 STATE: test-node-wasm.js passed: efficientpose +2022-08-12 09:29:52 STATE: test-node-wasm.js start posenet +2022-08-12 09:29:53 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-12 09:29:53 STATE: test-node-wasm.js event: image +2022-08-12 09:29:53 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:53 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg posenet +2022-08-12 09:29:53 DATA:  test-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-08-12 09:29:53 DATA:  test-node-wasm.js result: performance: load: null total: 310 +2022-08-12 09:29:53 STATE: test-node-wasm.js passed: posenet +2022-08-12 09:29:53 STATE: test-node-wasm.js start movenet +2022-08-12 09:29:54 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-12 09:29:54 STATE: test-node-wasm.js event: image +2022-08-12 09:29:54 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:54 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg movenet +2022-08-12 09:29:54 DATA:  test-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-08-12 09:29:54 DATA:  test-node-wasm.js result: performance: load: null total: 260 +2022-08-12 09:29:54 STATE: test-node-wasm.js passed: movenet +2022-08-12 09:29:54 INFO:  test-node-wasm.js test face matching +2022-08-12 09:29:54 STATE: test-node-wasm.js passed: face database 40 +2022-08-12 09:29:54 STATE: test-node-wasm.js passed: face match {"first":{"index":4,"similarity":0.7827852754786533}} {"second":{"index":4,"similarity":0.5660821189104794}} {"third":{"index":4,"similarity":0.45074189882665594}} +2022-08-12 09:29:54 INFO:  test-node-wasm.js test face similarity alternative +2022-08-12 09:29:54 STATE: test-node-wasm.js start face embeddings +2022-08-12 09:29:54 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-12 09:29:54 STATE: test-node-wasm.js event: image +2022-08-12 09:29:55 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:55 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-12 09:29:55 DATA:  test-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-08-12 09:29:55 DATA:  test-node-wasm.js result: performance: load: null total: 267 +2022-08-12 09:29:55 STATE: test-node-wasm.js passed: mobilefacenet {"embedding":192} +2022-08-12 09:29:55 STATE: test-node-wasm.js start face embeddings +2022-08-12 09:29:55 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-12 09:29:55 STATE: test-node-wasm.js event: image +2022-08-12 09:29:56 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:56 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-12 09:29:56 DATA:  test-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-08-12 09:29:56 DATA:  test-node-wasm.js result: performance: load: null total: 273 +2022-08-12 09:29:56 STATE: test-node-wasm.js passed: insightface {"embedding":512} +2022-08-12 09:29:56 INFO:  test-node-wasm.js test face attention +2022-08-12 09:29:56 STATE: test-node-wasm.js start face attention +2022-08-12 09:29:56 WARN:  test-node-wasm.js missing kernel ops {"title":"face attention","model":"facemesh","url":"https://vladmandic.github.io/human/models/facemesh-attention.json","missing":["atan2"],"backkend":"wasm"} +2022-08-12 09:29:56 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-12 09:29:56 STATE: test-node-wasm.js event: image +2022-08-12 09:29:56 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:56 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face attention +2022-08-12 09:29:56 DATA:  test-node-wasm.js result: face: 0 body: 1 hand: 1 gesture: 2 object: 0 person: 0 {} {} {"score":0.47,"keypoints":3} +2022-08-12 09:29:56 DATA:  test-node-wasm.js result: performance: load: null total: 122 +2022-08-12 09:29:56 ERROR: test-node-wasm.js failed: face attention {"annotations":0} +2022-08-12 09:29:56 INFO:  test-node-wasm.js test detectors +2022-08-12 09:29:56 STATE: test-node-wasm.js start detectors +2022-08-12 09:29:57 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-12 09:29:57 STATE: test-node-wasm.js event: image +2022-08-12 09:29:57 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:57 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg detectors +2022-08-12 09:29:57 DATA:  test-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-08-12 09:29:57 DATA:  test-node-wasm.js result: performance: load: null total: 124 +2022-08-12 09:29:57 STATE: test-node-wasm.js passed: detector result face match +2022-08-12 09:29:57 STATE: test-node-wasm.js passed: detector result hand match +2022-08-12 09:29:57 INFO:  test-node-wasm.js test: multi-instance +2022-08-12 09:29:57 STATE: test-node-wasm.js start multi instance +2022-08-12 09:29:57 STATE: test-node-wasm.js event: image +2022-08-12 09:29:57 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:57 STATE: test-node-wasm.js passed: detect: random multi instance +2022-08-12 09:29:57 DATA:  test-node-wasm.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} +2022-08-12 09:29:57 DATA:  test-node-wasm.js result: performance: load: null total: 98 +2022-08-12 09:29:57 INFO:  test-node-wasm.js test: first instance +2022-08-12 09:29:57 STATE: test-node-wasm.js start multi instance +2022-08-12 09:29:57 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-12 09:29:57 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-12 09:29:57 DATA:  test-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-08-12 09:29:57 DATA:  test-node-wasm.js result: performance: load: null total: 117 +2022-08-12 09:29:57 INFO:  test-node-wasm.js test: second instance +2022-08-12 09:29:57 STATE: test-node-wasm.js start multi instance +2022-08-12 09:29:57 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-12 09:29:57 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-12 09:29:57 DATA:  test-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-08-12 09:29:57 DATA:  test-node-wasm.js result: performance: load: null total: 115 +2022-08-12 09:29:57 INFO:  test-node-wasm.js test: concurrent +2022-08-12 09:29:57 STATE: test-node-wasm.js start concurrent +2022-08-12 09:29:57 STATE: test-node-wasm.js start concurrent +2022-08-12 09:29:57 STATE: test-node-wasm.js start concurrent +2022-08-12 09:29:57 STATE: test-node-wasm.js start concurrent +2022-08-12 09:29:57 STATE: test-node-wasm.js start concurrent +2022-08-12 09:29:57 STATE: test-node-wasm.js start concurrent +2022-08-12 09:29:57 STATE: test-node-wasm.js start concurrent +2022-08-12 09:29:57 STATE: test-node-wasm.js start concurrent +2022-08-12 09:29:57 STATE: test-node-wasm.js start concurrent +2022-08-12 09:29:57 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-12 09:29:57 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-12 09:29:58 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-12 09:29:58 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-12 09:29:58 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-12 09:29:58 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-12 09:29:58 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-12 09:29:58 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-12 09:29:58 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-12 09:29:59 STATE: test-node-wasm.js event: image +2022-08-12 09:29:59 STATE: test-node-wasm.js event: image +2022-08-12 09:29:59 STATE: test-node-wasm.js event: image +2022-08-12 09:29:59 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-12 09:29:59 DATA:  test-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-08-12 09:29:59 DATA:  test-node-wasm.js result: performance: load: null total: 1307 +2022-08-12 09:29:59 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-12 09:29:59 DATA:  test-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-08-12 09:29:59 DATA:  test-node-wasm.js result: performance: load: null total: 1307 +2022-08-12 09:29:59 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-12 09:29:59 DATA:  test-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-08-12 09:29:59 DATA:  test-node-wasm.js result: performance: load: null total: 1308 +2022-08-12 09:29:59 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-12 09:29:59 DATA:  test-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-08-12 09:29:59 DATA:  test-node-wasm.js result: performance: load: null total: 1308 +2022-08-12 09:29:59 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-12 09:29:59 DATA:  test-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-08-12 09:29:59 DATA:  test-node-wasm.js result: performance: load: null total: 1308 +2022-08-12 09:29:59 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-12 09:29:59 DATA:  test-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-08-12 09:29:59 DATA:  test-node-wasm.js result: performance: load: null total: 1308 +2022-08-12 09:29:59 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:59 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-12 09:29:59 DATA:  test-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-08-12 09:29:59 DATA:  test-node-wasm.js result: performance: load: null total: 1022 +2022-08-12 09:29:59 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:59 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:59 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-12 09:29:59 DATA:  test-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-08-12 09:29:59 DATA:  test-node-wasm.js result: performance: load: null total: 1022 +2022-08-12 09:29:59 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-12 09:29:59 DATA:  test-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-08-12 09:29:59 DATA:  test-node-wasm.js result: performance: load: null total: 1022 +2022-08-12 09:29:59 INFO:  test-node-wasm.js test: monkey-patch +2022-08-12 09:29:59 STATE: test-node-wasm.js event: image +2022-08-12 09:29:59 STATE: test-node-wasm.js event: detect +2022-08-12 09:29:59 STATE: test-node-wasm.js passed: monkey patch +2022-08-12 09:29:59 STATE: test-node-wasm.js passed: segmentation [65536] +2022-08-12 09:29:59 STATE: test-node-wasm.js passeed: equal usage +2022-08-12 09:29:59 INFO:  test-node-wasm.js test: input compare +2022-08-12 09:29:59 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-12 09:30:00 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-12 09:30:00 STATE: test-node-wasm.js passed: image compare 0 23.280073018790848 +2022-08-12 09:30:00 INFO:  test-node-wasm.js events: {"image":29,"detect":29,"warmup":2} +2022-08-12 09:30:00 INFO:  test-node-wasm.js tensors 4107 +2022-08-12 09:30:00 INFO:  test-node-wasm.js test complete: 23077 ms +2022-08-12 09:30:00 STATE: all tests complete +2022-08-12 09:30:00 INFO:  status {"test":"../demo/nodejs/node.js","passed":1,"failed":0} +2022-08-12 09:30:00 INFO:  status {"test":"../demo/nodejs/node-simple.js","passed":1,"failed":0} +2022-08-12 09:30:00 INFO:  status {"test":"../demo/nodejs/node-fetch.js","passed":1,"failed":0} +2022-08-12 09:30:00 INFO:  status {"test":"../demo/nodejs/node-event.js","passed":1,"failed":0} +2022-08-12 09:30:00 INFO:  status {"test":"../demo/nodejs/node-similarity.js","passed":1,"failed":0} +2022-08-12 09:30:00 INFO:  status {"test":"../demo/nodejs/node-canvas.js","passed":1,"failed":0} +2022-08-12 09:30:00 INFO:  status {"test":"../demo/multithread/node-multiprocess.js","passed":1,"failed":0} +2022-08-12 09:30:00 INFO:  status {"test":"test-node.js","passed":90,"failed":0} +2022-08-12 09:30:00 INFO:  status {"test":"test-node-gpu.js","passed":90,"failed":0} +2022-08-12 09:30:00 INFO:  status {"test":"test-node-wasm.js","passed":124,"failed":2} +2022-08-12 09:30:00 INFO:  failures {"count":2} +2022-08-12 09:30:00 WARN:  failed {"test":"test-node-wasm.js","message":["error",["failed: nanodet",[]]]} +2022-08-12 09:30:00 WARN:  failed {"test":"test-node-wasm.js","message":["error",["failed: face attention",{"annotations":0}]]}