diff --git a/CHANGELOG.md b/CHANGELOG.md index 803e8b6b..1e72068a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # @vladmandic/human - Version: **2.7.0** + Version: **2.7.1** Description: **Human: AI-powered 3D Face Detection & Rotation Tracking, Face Description & Recognition, Body Pose Tracking, 3D Hand & Finger Tracking, Iris Analysis, Age & Gender & Emotion Prediction, Gesture Recognition** Author: **Vladimir Mandic ** @@ -9,8 +9,9 @@ ## Changelog -### **HEAD -> main** 2022/04/21 mandic00@live.com +### **2.7.1** 2022/05/09 mandic00@live.com +- support 4k input ### **origin/main** 2022/04/18 mandic00@live.com diff --git a/TODO.md b/TODO.md index ac5c12e3..5c8ac7aa 100644 --- a/TODO.md +++ b/TODO.md @@ -29,24 +29,3 @@ Feature is automatically disabled in NodeJS without user impact ## Pending Release Notes -Release 2.7: -- Add **MediaPipe FaceMesh-with-Attention** model - model is available in `@vladmandic/human-models` repository - to enable, set `config.face.attention = true` - model replaces **iris**, **eyes** and **lips** keypoints with high-detailed ones -- Add model **pre-compile** phase to `warmup` method - result is speed-up to first inference by around ~30% for browser environments -- Changed default face crop from 120% to 140% - to better utilize caching between frames and face mesh mapping -- Refactor **draw** methods into separate modules and fix coloring function -- Add highlights to attention keypoints - enabled when both points and attention draw are enabled: - `human.draw.options.drawAttention = true` and `human.draw.options.drawPoints = true` -- Add **ElectronJS** demo: - see -- Enhanced **3D** demos: - see -- Support for **4K** input -- Support for **NodeJS** 8.0.0 -- Update **TFJS** to 3.16.0 -- Update build platform and dependencies diff --git a/test/build.log b/test/build.log index 80b9299e..7e8a7b22 100644 --- a/test/build.log +++ b/test/build.log @@ -1,25 +1,24 @@ -2022-04-21 09:38:55 INFO:  Application: {"name":"@vladmandic/human","version":"2.7.0"} -2022-04-21 09:38:55 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true} -2022-04-21 09:38:55 INFO:  Toolchain: {"build":"0.7.3","esbuild":"0.14.37","typescript":"4.6.3","typedoc":"0.22.15","eslint":"8.13.0"} -2022-04-21 09:38:55 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]} -2022-04-21 09:38:55 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]} -2022-04-21 09:38:55 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":595} -2022-04-21 09:38:55 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":72,"inputBytes":606671,"outputBytes":297893} -2022-04-21 09:38:55 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":599} -2022-04-21 09:38:55 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":72,"inputBytes":606675,"outputBytes":297897} -2022-04-21 09:38:55 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":651} -2022-04-21 09:38:55 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":72,"inputBytes":606727,"outputBytes":297947} -2022-04-21 09:38:55 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-04-21 09:38:55 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-04-21 09:38:55 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":72,"inputBytes":606659,"outputBytes":296806} -2022-04-21 09:38:56 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1350732} -2022-04-21 09:38:56 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":72,"inputBytes":1956808,"outputBytes":1646576} -2022-04-21 09:38:56 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":72,"inputBytes":1956808,"outputBytes":2128153} -2022-04-21 09:39:00 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":114} -2022-04-21 09:39:01 WARN:  TypeDoc: {"msg":"(node:32288) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time"} -2022-04-21 09:39:01 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":73,"generated":true} -2022-04-21 09:39:01 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6021,"outputBytes":3024} -2022-04-21 09:39:01 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":7820} -2022-04-21 09:39:08 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":104,"errors":0,"warnings":0} -2022-04-21 09:39:08 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"} -2022-04-21 09:39:08 INFO:  Done... +2022-05-09 08:14:02 INFO:  Application: {"name":"@vladmandic/human","version":"2.7.1"} +2022-05-09 08:14:02 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true} +2022-05-09 08:14:02 INFO:  Toolchain: {"build":"0.7.3","esbuild":"0.14.38","typescript":"4.6.4","typedoc":"0.22.15","eslint":"8.15.0"} +2022-05-09 08:14:02 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]} +2022-05-09 08:14:02 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]} +2022-05-09 08:14:02 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":595} +2022-05-09 08:14:02 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":72,"inputBytes":606670,"outputBytes":297893} +2022-05-09 08:14:02 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":599} +2022-05-09 08:14:02 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":72,"inputBytes":606674,"outputBytes":297897} +2022-05-09 08:14:02 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":651} +2022-05-09 08:14:02 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":72,"inputBytes":606726,"outputBytes":297947} +2022-05-09 08:14:02 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-05-09 08:14:02 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-05-09 08:14:02 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":72,"inputBytes":606658,"outputBytes":296806} +2022-05-09 08:14:03 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1351141} +2022-05-09 08:14:03 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":72,"inputBytes":1957216,"outputBytes":1646998} +2022-05-09 08:14:03 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":72,"inputBytes":1957216,"outputBytes":2129196} +2022-05-09 08:14:08 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":114} +2022-05-09 08:14:10 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":73,"generated":true} +2022-05-09 08:14:10 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6021,"outputBytes":3024} +2022-05-09 08:14:10 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":7820} +2022-05-09 08:14:18 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":104,"errors":0,"warnings":0} +2022-05-09 08:14:18 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"} +2022-05-09 08:14:18 INFO:  Done... diff --git a/test/test.log b/test/test.log index ad104893..993b01b6 100644 --- a/test/test.log +++ b/test/test.log @@ -1,130 +1,684 @@ -2022-04-21 09:39:13 INFO:  @vladmandic/human version 2.7.0 -2022-04-21 09:39:13 INFO:  User: vlado Platform: linux Arch: x64 Node: v18.0.0 -2022-04-21 09:39:13 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"] -2022-04-21 09:39:13 INFO:  demos: ["../demo/nodejs/node.js","../demo/nodejs/node-canvas.js","../demo/nodejs/node-env.js","../demo/nodejs/node-event.js","../demo/nodejs/node-multiprocess.js"] -2022-04-21 09:39:13 INFO:  -2022-04-21 09:39:13 INFO:  test-node.js start -2022-04-21 09:39:13 WARN:  test-node.js stderr: node:internal/modules/cjs/loader:942 -2022-04-21 09:39:13 WARN:  test-node.js stderr: throw err; -2022-04-21 09:39:13 WARN:  test-node.js stderr: ^ -2022-04-21 09:39:13 WARN:  test-node.js stderr: Error: Cannot find module '../build/Release/canvas.node' -2022-04-21 09:39:13 WARN:  test-node.js stderr: Require stack: -2022-04-21 09:39:13 WARN:  test-node.js stderr: - /home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/lib/bindings.js -2022-04-21 09:39:13 WARN:  test-node.js stderr: - /home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/lib/canvas.js -2022-04-21 09:39:13 WARN:  test-node.js stderr: - /home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/index.js -2022-04-21 09:39:13 WARN:  test-node.js stderr: - /home/vlado/dev/human/test/test-main.js -2022-04-21 09:39:13 WARN:  test-node.js stderr: - /home/vlado/dev/human/test/test-node.js -2022-04-21 09:39:13 WARN:  test-node.js stderr: at Module._resolveFilename (node:internal/modules/cjs/loader:939:15) -2022-04-21 09:39:13 WARN:  test-node.js stderr: at Module._load (node:internal/modules/cjs/loader:780:27) -2022-04-21 09:39:13 WARN:  test-node.js stderr: at Module.require (node:internal/modules/cjs/loader:1005:19) -2022-04-21 09:39:13 WARN:  test-node.js stderr: at require (node:internal/modules/cjs/helpers:102:18) -2022-04-21 09:39:13 WARN:  test-node.js stderr: at Object. (/home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/lib/bindings.js:3:18) -2022-04-21 09:39:13 WARN:  test-node.js stderr: at Module._compile (node:internal/modules/cjs/loader:1105:14) -2022-04-21 09:39:13 WARN:  test-node.js stderr: at Module._extensions..js (node:internal/modules/cjs/loader:1159:10) -2022-04-21 09:39:13 WARN:  test-node.js stderr: at Module.load (node:internal/modules/cjs/loader:981:32) -2022-04-21 09:39:13 WARN:  test-node.js stderr: at Module._load (node:internal/modules/cjs/loader:827:12) -2022-04-21 09:39:13 WARN:  test-node.js stderr: at Module.require (node:internal/modules/cjs/loader:1005:19) { -2022-04-21 09:39:13 WARN:  test-node.js stderr: code: 'MODULE_NOT_FOUND', -2022-04-21 09:39:13 WARN:  test-node.js stderr: requireStack: [ -2022-04-21 09:39:13 WARN:  test-node.js stderr: '/home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/lib/bindings.js', -2022-04-21 09:39:13 WARN:  test-node.js stderr: '/home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/lib/canvas.js', -2022-04-21 09:39:13 WARN:  test-node.js stderr: '/home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/index.js', -2022-04-21 09:39:13 WARN:  test-node.js stderr: '/home/vlado/dev/human/test/test-main.js', -2022-04-21 09:39:13 WARN:  test-node.js stderr: '/home/vlado/dev/human/test/test-node.js' -2022-04-21 09:39:13 WARN:  test-node.js stderr: ] -2022-04-21 09:39:13 WARN:  test-node.js stderr: Thrown at: -2022-04-21 09:39:13 WARN:  test-node.js stderr: at Module._resolveFilename (node:internal/modules/cjs/loader:939:15) -2022-04-21 09:39:13 WARN:  test-node.js stderr: at Module._load (node:internal/modules/cjs/loader:780:27) -2022-04-21 09:39:13 WARN:  test-node.js stderr: at Module.require (node:internal/modules/cjs/loader:1005:19) -2022-04-21 09:39:13 WARN:  test-node.js stderr: at require (node:internal/modules/cjs/helpers:102:18) -2022-04-21 09:39:13 WARN:  test-node.js stderr: at /home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/lib/bindings.js:3:18 -2022-04-21 09:39:13 WARN:  test-node.js stderr: at Module._compile (node:internal/modules/cjs/loader:1105:14) -2022-04-21 09:39:13 WARN:  test-node.js stderr: at Module._extensions..js (node:internal/modules/cjs/loader:1159:10) -2022-04-21 09:39:13 WARN:  test-node.js stderr: at Module.load (node:internal/modules/cjs/loader:981:32) -2022-04-21 09:39:13 WARN:  test-node.js stderr: at Module._load (node:internal/modules/cjs/loader:827:12) -2022-04-21 09:39:13 WARN:  test-node.js stderr: at Module.require (node:internal/modules/cjs/loader:1005:19) -2022-04-21 09:39:13 WARN:  test-node.js stderr: Node.js v18.0.0 -2022-04-21 09:39:13 INFO:  -2022-04-21 09:39:13 INFO:  test-node-gpu.js start -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: node:internal/modules/cjs/loader:942 -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: throw err; -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: ^ -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: Error: Cannot find module '../build/Release/canvas.node' -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: Require stack: -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: - /home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/lib/bindings.js -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: - /home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/lib/canvas.js -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: - /home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/index.js -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: - /home/vlado/dev/human/test/test-main.js -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: - /home/vlado/dev/human/test/test-node-gpu.js -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at Module._resolveFilename (node:internal/modules/cjs/loader:939:15) -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at Module._load (node:internal/modules/cjs/loader:780:27) -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at Module.require (node:internal/modules/cjs/loader:1005:19) -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at require (node:internal/modules/cjs/helpers:102:18) -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at Object. (/home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/lib/bindings.js:3:18) -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at Module._compile (node:internal/modules/cjs/loader:1105:14) -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at Module._extensions..js (node:internal/modules/cjs/loader:1159:10) -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at Module.load (node:internal/modules/cjs/loader:981:32) -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at Module._load (node:internal/modules/cjs/loader:827:12) -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at Module.require (node:internal/modules/cjs/loader:1005:19) { -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: code: 'MODULE_NOT_FOUND', -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: requireStack: [ -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: '/home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/lib/bindings.js', -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: '/home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/lib/canvas.js', -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: '/home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/index.js', -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: '/home/vlado/dev/human/test/test-main.js', -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: '/home/vlado/dev/human/test/test-node-gpu.js' -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: ] -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: Thrown at: -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at Module._resolveFilename (node:internal/modules/cjs/loader:939:15) -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at Module._load (node:internal/modules/cjs/loader:780:27) -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at Module.require (node:internal/modules/cjs/loader:1005:19) -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at require (node:internal/modules/cjs/helpers:102:18) -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at /home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/lib/bindings.js:3:18 -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at Module._compile (node:internal/modules/cjs/loader:1105:14) -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at Module._extensions..js (node:internal/modules/cjs/loader:1159:10) -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at Module.load (node:internal/modules/cjs/loader:981:32) -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at Module._load (node:internal/modules/cjs/loader:827:12) -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: at Module.require (node:internal/modules/cjs/loader:1005:19) -2022-04-21 09:39:14 WARN:  test-node-gpu.js stderr: Node.js v18.0.0 -2022-04-21 09:39:14 INFO:  -2022-04-21 09:39:14 INFO:  test-node-wasm.js start -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: node:internal/modules/cjs/loader:942 -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: throw err; -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: ^ -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: Error: Cannot find module '../build/Release/canvas.node' -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: Require stack: -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: - /home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/lib/bindings.js -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: - /home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/lib/canvas.js -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: - /home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/index.js -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: - /home/vlado/dev/human/test/test-node-wasm.js -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at Module._resolveFilename (node:internal/modules/cjs/loader:939:15) -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at Module._load (node:internal/modules/cjs/loader:780:27) -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at Module.require (node:internal/modules/cjs/loader:1005:19) -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at require (node:internal/modules/cjs/helpers:102:18) -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at Object. (/home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/lib/bindings.js:3:18) -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at Module._compile (node:internal/modules/cjs/loader:1105:14) -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at Module._extensions..js (node:internal/modules/cjs/loader:1159:10) -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at Module.load (node:internal/modules/cjs/loader:981:32) -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at Module._load (node:internal/modules/cjs/loader:827:12) -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at Module.require (node:internal/modules/cjs/loader:1005:19) { -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: code: 'MODULE_NOT_FOUND', -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: requireStack: [ -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: '/home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/lib/bindings.js', -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: '/home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/lib/canvas.js', -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: '/home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/index.js', -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: '/home/vlado/dev/human/test/test-node-wasm.js' -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: ] -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: Thrown at: -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at Module._resolveFilename (node:internal/modules/cjs/loader:939:15) -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at Module._load (node:internal/modules/cjs/loader:780:27) -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at Module.require (node:internal/modules/cjs/loader:1005:19) -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at require (node:internal/modules/cjs/helpers:102:18) -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at /home/vlado/dev/human/node_modules/.pnpm/canvas@2.9.1/node_modules/canvas/lib/bindings.js:3:18 -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at Module._compile (node:internal/modules/cjs/loader:1105:14) -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at Module._extensions..js (node:internal/modules/cjs/loader:1159:10) -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at Module.load (node:internal/modules/cjs/loader:981:32) -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at Module._load (node:internal/modules/cjs/loader:827:12) -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: at Module.require (node:internal/modules/cjs/loader:1005:19) -2022-04-21 09:39:14 WARN:  test-node-wasm.js stderr: Node.js v18.0.0 -2022-04-21 09:39:14 INFO:  all tests complete -2022-04-21 09:39:14 INFO:  failed: {"count":0,"messages":[]} +2022-05-09 08:14:55 INFO:  @vladmandic/human version 2.7.1 +2022-05-09 08:14:55 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.15.0 +2022-05-09 08:14:55 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"] +2022-05-09 08:14:55 INFO:  demos: ["../demo/nodejs/node.js","../demo/nodejs/node-canvas.js","../demo/nodejs/node-env.js","../demo/nodejs/node-event.js","../demo/nodejs/node-multiprocess.js"] +2022-05-09 08:14:55 INFO:  +2022-05-09 08:14:55 INFO:  test-node.js start +2022-05-09 08:14:55 INFO:  test-node.js test: configuration validation +2022-05-09 08:14:55 STATE: test-node.js passed: configuration default validation [] +2022-05-09 08:14:55 STATE: test-node.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2022-05-09 08:14:55 INFO:  test-node.js test: model load +2022-05-09 08:14:55 STATE: test-node.js passed: models loaded 22 12 [{"name":"ssrnetage","loaded":false},{"name":"gear","loaded":false},{"name":"blazeposedetect","loaded":false},{"name":"blazepose","loaded":false},{"name":"centernet","loaded":true},{"name":"efficientpose","loaded":false},{"name":"mobilefacenet","loaded":false},{"name":"emotion","loaded":true},{"name":"facedetect","loaded":true},{"name":"faceiris","loaded":true},{"name":"facemesh","loaded":true},{"name":"faceres","loaded":true},{"name":"ssrnetgender","loaded":false},{"name":"handpose","loaded":false},{"name":"handskeleton","loaded":true},{"name":"handtrack","loaded":true},{"name":"liveness","loaded":true},{"name":"movenet","loaded":true},{"name":"nanodet","loaded":false},{"name":"posenet","loaded":false},{"name":"segmentation","loaded":true},{"name":"antispoof","loaded":true}] +2022-05-09 08:14:55 INFO:  test-node.js test: warmup +2022-05-09 08:14:55 STATE: test-node.js passed: create human +2022-05-09 08:14:55 INFO:  test-node.js human version: 2.7.1 +2022-05-09 08:14:55 INFO:  test-node.js platform: linux x64 agent: NodeJS v16.15.0 +2022-05-09 08:14:55 INFO:  test-node.js tfjs version: 3.16.0 +2022-05-09 08:14:55 INFO:  test-node.js tensorflow binding version: 2.7.0-dev20211101 +2022-05-09 08:14:55 STATE: test-node.js passed: set backend: tensorflow +2022-05-09 08:14:55 STATE: test-node.js tensors 1919 +2022-05-09 08:14:55 STATE: test-node.js passed: load models +2022-05-09 08:14:55 STATE: test-node.js result: defined models: 22 loaded models: 12 +2022-05-09 08:14:55 STATE: test-node.js passed: warmup: none default +2022-05-09 08:14:55 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2022-05-09 08:14:55 DATA:  test-node.js result: performance: load: null total: null +2022-05-09 08:14:55 STATE: test-node.js passed: warmup none result match +2022-05-09 08:14:55 STATE: test-node.js event: image +2022-05-09 08:14:55 STATE: test-node.js event: detect +2022-05-09 08:14:55 STATE: test-node.js event: warmup +2022-05-09 08:14:55 STATE: test-node.js passed: warmup: face default +2022-05-09 08:14:55 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-05-09 08:14:55 DATA:  test-node.js result: performance: load: null total: 324 +2022-05-09 08:14:55 STATE: test-node.js passed: warmup face result match +2022-05-09 08:14:55 STATE: test-node.js event: image +2022-05-09 08:14:56 STATE: test-node.js event: detect +2022-05-09 08:14:56 STATE: test-node.js event: warmup +2022-05-09 08:14:56 STATE: test-node.js passed: warmup: body default +2022-05-09 08:14:56 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:14:56 DATA:  test-node.js result: performance: load: null total: 247 +2022-05-09 08:14:56 STATE: test-node.js passed: warmup body result match +2022-05-09 08:14:56 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"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking right"},{"iris":0,"gesture":"looking up"}]} +2022-05-09 08:14:56 INFO:  test-node.js test: details verification +2022-05-09 08:14:56 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-05-09 08:14:56 STATE: test-node.js event: image +2022-05-09 08:14:56 STATE: test-node.js event: detect +2022-05-09 08:14:56 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:14:56 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:14:56 DATA:  test-node.js result: performance: load: null total: 238 +2022-05-09 08:14:56 STATE: test-node.js passed: details face length 1 +2022-05-09 08:14:56 STATE: test-node.js passed: details face score 1 0.93 1 +2022-05-09 08:14:56 STATE: test-node.js passed: details face age/gender 23.7 female 0.97 73.26 +2022-05-09 08:14:56 STATE: test-node.js passed: details face arrays 4 478 1024 +2022-05-09 08:14:56 STATE: test-node.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} +2022-05-09 08:14:56 STATE: test-node.js passed: details face anti-spoofing 0.79 +2022-05-09 08:14:56 STATE: test-node.js passed: details face liveness 0.83 +2022-05-09 08:14:56 STATE: test-node.js passed: details body length 1 +2022-05-09 08:14:56 STATE: test-node.js passed: details body 0.92 17 6 +2022-05-09 08:14:56 STATE: test-node.js passed: details hand length 1 +2022-05-09 08:14:56 STATE: test-node.js passed: details hand 0.51 0.73 point +2022-05-09 08:14:56 STATE: test-node.js passed: details hand arrays 21 5 7 +2022-05-09 08:14:56 STATE: test-node.js passed: details gesture length 6 +2022-05-09 08:14:56 STATE: test-node.js passed: details gesture first {"face":0,"gesture":"facing right"} +2022-05-09 08:14:56 STATE: test-node.js passed: details object length 1 +2022-05-09 08:14:56 STATE: test-node.js passed: details object 0.72 person +2022-05-09 08:14:56 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} +2022-05-09 08:14:56 STATE: test-node.js event: image +2022-05-09 08:14:57 STATE: test-node.js event: detect +2022-05-09 08:14:57 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2022-05-09 08:14:57 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} +2022-05-09 08:14:57 STATE: test-node.js event: image +2022-05-09 08:14:57 STATE: test-node.js event: detect +2022-05-09 08:14:57 STATE: test-node.js passed: tensor shape: [1200,1200,4] dtype: float32 +2022-05-09 08:14:57 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-05-09 08:14:57 STATE: test-node.js event: image +2022-05-09 08:14:57 STATE: test-node.js event: detect +2022-05-09 08:14:57 STATE: test-node.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2022-05-09 08:14:58 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796864} +2022-05-09 08:14:58 STATE: test-node.js event: image +2022-05-09 08:14:58 STATE: test-node.js event: detect +2022-05-09 08:14:58 STATE: test-node.js passed: tensor shape: [1200,1200,3] dtype: float32 +2022-05-09 08:14:58 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2022-05-09 08:14:58 STATE: test-node.js event: image +2022-05-09 08:14:58 STATE: test-node.js event: detect +2022-05-09 08:14:58 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2022-05-09 08:14:58 INFO:  test-node.js test default +2022-05-09 08:14:58 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-05-09 08:14:58 STATE: test-node.js event: image +2022-05-09 08:14:58 STATE: test-node.js event: detect +2022-05-09 08:14:59 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:14:59 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:14:59 DATA:  test-node.js result: performance: load: null total: 221 +2022-05-09 08:14:59 STATE: test-node.js passed: default result face match 1 female 0.97 +2022-05-09 08:14:59 INFO:  test-node.js test sync +2022-05-09 08:14:59 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-05-09 08:14:59 STATE: test-node.js event: image +2022-05-09 08:14:59 STATE: test-node.js event: detect +2022-05-09 08:14:59 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:14:59 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:14:59 DATA:  test-node.js result: performance: load: null total: 212 +2022-05-09 08:14:59 STATE: test-node.js passed: default sync 1 female 0.97 +2022-05-09 08:14:59 INFO:  test-node.js test: image process +2022-05-09 08:14:59 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-05-09 08:14:59 STATE: test-node.js passed: image input null [1,256,256,3] +2022-05-09 08:14:59 INFO:  test-node.js test: image null +2022-05-09 08:14:59 STATE: test-node.js passed: invalid input could not convert input to tensor +2022-05-09 08:14:59 INFO:  test-node.js test face similarity +2022-05-09 08:14:59 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-05-09 08:14:59 STATE: test-node.js event: image +2022-05-09 08:14:59 STATE: test-node.js event: detect +2022-05-09 08:14:59 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default +2022-05-09 08:14:59 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} +2022-05-09 08:14:59 DATA:  test-node.js result: performance: load: null total: 213 +2022-05-09 08:14:59 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-05-09 08:14:59 STATE: test-node.js event: image +2022-05-09 08:15:00 STATE: test-node.js event: detect +2022-05-09 08:15:00 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:00 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:00 DATA:  test-node.js result: performance: load: null total: 230 +2022-05-09 08:15:00 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-05-09 08:15:00 STATE: test-node.js event: image +2022-05-09 08:15:00 STATE: test-node.js event: detect +2022-05-09 08:15:00 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default +2022-05-09 08:15:00 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} +2022-05-09 08:15:00 DATA:  test-node.js result: performance: load: null total: 213 +2022-05-09 08:15:00 STATE: test-node.js passed: face descriptor +2022-05-09 08:15:00 STATE: test-node.js passed: face similarity {"similarity":[1,0.44727452329649126,0.5567935850640406],"descriptors":[1024,1024,1024]} +2022-05-09 08:15:00 INFO:  test-node.js test face matching +2022-05-09 08:15:00 STATE: test-node.js passed: face database 40 +2022-05-09 08:15:00 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-05-09 08:15:00 INFO:  test-node.js test object +2022-05-09 08:15:00 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-05-09 08:15:00 STATE: test-node.js event: image +2022-05-09 08:15:00 STATE: test-node.js event: detect +2022-05-09 08:15:00 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:00 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:00 DATA:  test-node.js result: performance: load: null total: 204 +2022-05-09 08:15:00 STATE: test-node.js passed: object result match +2022-05-09 08:15:00 INFO:  test-node.js test sensitive +2022-05-09 08:15:00 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-05-09 08:15:00 STATE: test-node.js event: image +2022-05-09 08:15:01 STATE: test-node.js event: detect +2022-05-09 08:15:01 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:01 DATA:  test-node.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:01 DATA:  test-node.js result: performance: load: null total: 233 +2022-05-09 08:15:01 STATE: test-node.js passed: sensitive result match +2022-05-09 08:15:01 STATE: test-node.js passed: sensitive face result match +2022-05-09 08:15:01 STATE: test-node.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] +2022-05-09 08:15:01 STATE: test-node.js passed: sensitive body result match +2022-05-09 08:15:01 STATE: test-node.js passed: sensitive hand result match +2022-05-09 08:15:01 INFO:  test-node.js test detectors +2022-05-09 08:15:01 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-05-09 08:15:01 STATE: test-node.js event: image +2022-05-09 08:15:01 STATE: test-node.js event: detect +2022-05-09 08:15:01 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:01 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:01 DATA:  test-node.js result: performance: load: null total: 150 +2022-05-09 08:15:01 STATE: test-node.js passed: detector result face match +2022-05-09 08:15:01 STATE: test-node.js passed: detector result hand match +2022-05-09 08:15:01 INFO:  test-node.js test: multi-instance +2022-05-09 08:15:01 STATE: test-node.js event: image +2022-05-09 08:15:01 STATE: test-node.js event: detect +2022-05-09 08:15:01 STATE: test-node.js passed: detect: random default +2022-05-09 08:15:01 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0.07,"keypoints":15} +2022-05-09 08:15:01 DATA:  test-node.js result: performance: load: null total: 151 +2022-05-09 08:15:01 INFO:  test-node.js test: first instance +2022-05-09 08:15:01 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-05-09 08:15:01 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default +2022-05-09 08:15:01 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-05-09 08:15:01 DATA:  test-node.js result: performance: load: null total: 152 +2022-05-09 08:15:01 INFO:  test-node.js test: second instance +2022-05-09 08:15:01 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-05-09 08:15:02 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default +2022-05-09 08:15:02 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-05-09 08:15:02 DATA:  test-node.js result: performance: load: null total: 147 +2022-05-09 08:15:02 INFO:  test-node.js test: concurrent +2022-05-09 08:15:02 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-05-09 08:15:02 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-05-09 08:15:02 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-05-09 08:15:02 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-05-09 08:15:02 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-05-09 08:15:02 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-05-09 08:15:02 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-05-09 08:15:02 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-05-09 08:15:02 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-05-09 08:15:02 STATE: test-node.js event: image +2022-05-09 08:15:02 STATE: test-node.js event: image +2022-05-09 08:15:02 STATE: test-node.js event: image +2022-05-09 08:15:03 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default +2022-05-09 08:15:03 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-05-09 08:15:03 DATA:  test-node.js result: performance: load: null total: 1378 +2022-05-09 08:15:03 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default +2022-05-09 08:15:03 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-05-09 08:15:03 DATA:  test-node.js result: performance: load: null total: 1378 +2022-05-09 08:15:04 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default +2022-05-09 08:15:04 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2022-05-09 08:15:04 DATA:  test-node.js result: performance: load: null total: 1494 +2022-05-09 08:15:04 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default +2022-05-09 08:15:04 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2022-05-09 08:15:04 DATA:  test-node.js result: performance: load: null total: 1494 +2022-05-09 08:15:04 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:04 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:04 DATA:  test-node.js result: performance: load: null total: 1494 +2022-05-09 08:15:04 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:04 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:04 DATA:  test-node.js result: performance: load: null total: 1494 +2022-05-09 08:15:04 STATE: test-node.js event: detect +2022-05-09 08:15:04 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default +2022-05-09 08:15:04 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-05-09 08:15:04 DATA:  test-node.js result: performance: load: null total: 1255 +2022-05-09 08:15:04 STATE: test-node.js event: detect +2022-05-09 08:15:04 STATE: test-node.js event: detect +2022-05-09 08:15:04 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default +2022-05-09 08:15:04 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2022-05-09 08:15:04 DATA:  test-node.js result: performance: load: null total: 1255 +2022-05-09 08:15:04 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:04 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:04 DATA:  test-node.js result: performance: load: null total: 1255 +2022-05-09 08:15:04 INFO:  test-node.js test: monkey-patch +2022-05-09 08:15:04 STATE: test-node.js event: image +2022-05-09 08:15:04 STATE: test-node.js event: detect +2022-05-09 08:15:04 STATE: test-node.js passed: monkey patch +2022-05-09 08:15:04 STATE: test-node.js passed: segmentation [65536] +2022-05-09 08:15:04 STATE: test-node.js passeed: equal usage +2022-05-09 08:15:04 INFO:  test-node.js test: input compare +2022-05-09 08:15:04 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-05-09 08:15:04 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-05-09 08:15:04 STATE: test-node.js passed: image compare 0 23.275441687091504 +2022-05-09 08:15:04 INFO:  test-node.js events: {"image":21,"detect":21,"warmup":2} +2022-05-09 08:15:04 INFO:  test-node.js tensors 1925 +2022-05-09 08:15:04 INFO:  test-node.js test complete: 8979 ms +2022-05-09 08:15:04 INFO:  +2022-05-09 08:15:04 INFO:  test-node-gpu.js start +2022-05-09 08:15:05 INFO:  test-node-gpu.js test: configuration validation +2022-05-09 08:15:05 STATE: test-node-gpu.js passed: configuration default validation [] +2022-05-09 08:15:05 STATE: test-node-gpu.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2022-05-09 08:15:05 INFO:  test-node-gpu.js test: model load +2022-05-09 08:15:05 STATE: test-node-gpu.js passed: models loaded 22 12 [{"name":"ssrnetage","loaded":false},{"name":"gear","loaded":false},{"name":"blazeposedetect","loaded":false},{"name":"blazepose","loaded":false},{"name":"centernet","loaded":true},{"name":"efficientpose","loaded":false},{"name":"mobilefacenet","loaded":false},{"name":"emotion","loaded":true},{"name":"facedetect","loaded":true},{"name":"faceiris","loaded":true},{"name":"facemesh","loaded":true},{"name":"faceres","loaded":true},{"name":"ssrnetgender","loaded":false},{"name":"handpose","loaded":false},{"name":"handskeleton","loaded":true},{"name":"handtrack","loaded":true},{"name":"liveness","loaded":true},{"name":"movenet","loaded":true},{"name":"nanodet","loaded":false},{"name":"posenet","loaded":false},{"name":"segmentation","loaded":true},{"name":"antispoof","loaded":true}] +2022-05-09 08:15:05 INFO:  test-node-gpu.js test: warmup +2022-05-09 08:15:05 STATE: test-node-gpu.js passed: create human +2022-05-09 08:15:05 INFO:  test-node-gpu.js human version: 2.7.1 +2022-05-09 08:15:05 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v16.15.0 +2022-05-09 08:15:05 INFO:  test-node-gpu.js tfjs version: 3.16.0 +2022-05-09 08:15:05 INFO:  test-node-gpu.js tensorflow binding version: 2.7.0-dev20211101 +2022-05-09 08:15:05 STATE: test-node-gpu.js passed: set backend: tensorflow +2022-05-09 08:15:05 STATE: test-node-gpu.js tensors 1919 +2022-05-09 08:15:05 STATE: test-node-gpu.js passed: load models +2022-05-09 08:15:05 STATE: test-node-gpu.js result: defined models: 22 loaded models: 12 +2022-05-09 08:15:05 STATE: test-node-gpu.js passed: warmup: none default +2022-05-09 08:15:05 DATA:  test-node-gpu.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2022-05-09 08:15:05 DATA:  test-node-gpu.js result: performance: load: null total: null +2022-05-09 08:15:05 STATE: test-node-gpu.js passed: warmup none result match +2022-05-09 08:15:05 STATE: test-node-gpu.js event: image +2022-05-09 08:15:09 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:09 STATE: test-node-gpu.js event: warmup +2022-05-09 08:15:09 STATE: test-node-gpu.js passed: warmup: face default +2022-05-09 08:15:09 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-05-09 08:15:09 DATA:  test-node-gpu.js result: performance: load: null total: 3411 +2022-05-09 08:15:09 STATE: test-node-gpu.js passed: warmup face result match +2022-05-09 08:15:09 STATE: test-node-gpu.js event: image +2022-05-09 08:15:09 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:09 STATE: test-node-gpu.js event: warmup +2022-05-09 08:15:09 STATE: test-node-gpu.js passed: warmup: body default +2022-05-09 08:15:09 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:09 DATA:  test-node-gpu.js result: performance: load: null total: 226 +2022-05-09 08:15:09 STATE: test-node-gpu.js passed: warmup body result match +2022-05-09 08:15:09 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"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking right"},{"iris":0,"gesture":"looking up"}]} +2022-05-09 08:15:09 INFO:  test-node-gpu.js test: details verification +2022-05-09 08:15:09 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-05-09 08:15:09 STATE: test-node-gpu.js event: image +2022-05-09 08:15:10 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:10 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:10 DATA:  test-node-gpu.js result: performance: load: null total: 186 +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: details face length 1 +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: details face score 1 0.93 1 +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: details face age/gender 23.7 female 0.97 73.26 +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: details face arrays 4 478 1024 +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: details face anti-spoofing 0.79 +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: details face liveness 0.83 +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: details body length 1 +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: details body 0.92 17 6 +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: details hand length 1 +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: details hand 0.51 0.73 point +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: details hand arrays 21 5 7 +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: details gesture length 6 +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: details gesture first {"face":0,"gesture":"facing right"} +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: details object length 1 +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: details object 0.72 person +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} +2022-05-09 08:15:10 STATE: test-node-gpu.js event: image +2022-05-09 08:15:10 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} +2022-05-09 08:15:10 STATE: test-node-gpu.js event: image +2022-05-09 08:15:10 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:10 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,4] dtype: float32 +2022-05-09 08:15:11 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-05-09 08:15:11 STATE: test-node-gpu.js event: image +2022-05-09 08:15:11 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:11 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2022-05-09 08:15:11 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796928} +2022-05-09 08:15:11 STATE: test-node-gpu.js event: image +2022-05-09 08:15:11 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:11 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,3] dtype: float32 +2022-05-09 08:15:11 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2022-05-09 08:15:11 STATE: test-node-gpu.js event: image +2022-05-09 08:15:11 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:11 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2022-05-09 08:15:11 INFO:  test-node-gpu.js test default +2022-05-09 08:15:12 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-05-09 08:15:12 STATE: test-node-gpu.js event: image +2022-05-09 08:15:12 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:12 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:12 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:12 DATA:  test-node-gpu.js result: performance: load: null total: 224 +2022-05-09 08:15:12 STATE: test-node-gpu.js passed: default result face match 1 female 0.97 +2022-05-09 08:15:12 INFO:  test-node-gpu.js test sync +2022-05-09 08:15:12 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-05-09 08:15:12 STATE: test-node-gpu.js event: image +2022-05-09 08:15:12 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:12 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:12 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:12 DATA:  test-node-gpu.js result: performance: load: null total: 169 +2022-05-09 08:15:12 STATE: test-node-gpu.js passed: default sync 1 female 0.97 +2022-05-09 08:15:12 INFO:  test-node-gpu.js test: image process +2022-05-09 08:15:12 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-05-09 08:15:12 STATE: test-node-gpu.js passed: image input null [1,256,256,3] +2022-05-09 08:15:12 INFO:  test-node-gpu.js test: image null +2022-05-09 08:15:12 STATE: test-node-gpu.js passed: invalid input could not convert input to tensor +2022-05-09 08:15:12 INFO:  test-node-gpu.js test face similarity +2022-05-09 08:15:12 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-05-09 08:15:12 STATE: test-node-gpu.js event: image +2022-05-09 08:15:12 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:12 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default +2022-05-09 08:15:12 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-05-09 08:15:12 DATA:  test-node-gpu.js result: performance: load: null total: 162 +2022-05-09 08:15:13 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-05-09 08:15:13 STATE: test-node-gpu.js event: image +2022-05-09 08:15:13 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:13 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:13 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:13 DATA:  test-node-gpu.js result: performance: load: null total: 178 +2022-05-09 08:15:13 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-05-09 08:15:13 STATE: test-node-gpu.js event: image +2022-05-09 08:15:13 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:13 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default +2022-05-09 08:15:13 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} +2022-05-09 08:15:13 DATA:  test-node-gpu.js result: performance: load: null total: 144 +2022-05-09 08:15:13 STATE: test-node-gpu.js passed: face descriptor +2022-05-09 08:15:13 STATE: test-node-gpu.js passed: face similarity {"similarity":[1,0.447238756461232,0.556914029877052],"descriptors":[1024,1024,1024]} +2022-05-09 08:15:13 INFO:  test-node-gpu.js test face matching +2022-05-09 08:15:13 STATE: test-node-gpu.js passed: face database 40 +2022-05-09 08:15:13 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-05-09 08:15:13 INFO:  test-node-gpu.js test object +2022-05-09 08:15:13 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-05-09 08:15:13 STATE: test-node-gpu.js event: image +2022-05-09 08:15:13 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:13 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:13 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:13 DATA:  test-node-gpu.js result: performance: load: null total: 154 +2022-05-09 08:15:13 STATE: test-node-gpu.js passed: object result match +2022-05-09 08:15:13 INFO:  test-node-gpu.js test sensitive +2022-05-09 08:15:13 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-05-09 08:15:13 STATE: test-node-gpu.js event: image +2022-05-09 08:15:14 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:14 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:14 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:14 DATA:  test-node-gpu.js result: performance: load: null total: 201 +2022-05-09 08:15:14 STATE: test-node-gpu.js passed: sensitive result match +2022-05-09 08:15:14 STATE: test-node-gpu.js passed: sensitive face result match +2022-05-09 08:15:14 STATE: test-node-gpu.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] +2022-05-09 08:15:14 STATE: test-node-gpu.js passed: sensitive body result match +2022-05-09 08:15:14 STATE: test-node-gpu.js passed: sensitive hand result match +2022-05-09 08:15:14 INFO:  test-node-gpu.js test detectors +2022-05-09 08:15:14 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-05-09 08:15:14 STATE: test-node-gpu.js event: image +2022-05-09 08:15:14 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:14 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:14 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:14 DATA:  test-node-gpu.js result: performance: load: null total: 92 +2022-05-09 08:15:14 STATE: test-node-gpu.js passed: detector result face match +2022-05-09 08:15:14 STATE: test-node-gpu.js passed: detector result hand match +2022-05-09 08:15:14 INFO:  test-node-gpu.js test: multi-instance +2022-05-09 08:15:14 STATE: test-node-gpu.js event: image +2022-05-09 08:15:14 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:14 STATE: test-node-gpu.js passed: detect: random default +2022-05-09 08:15:14 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0.05,"keypoints":15} +2022-05-09 08:15:14 DATA:  test-node-gpu.js result: performance: load: null total: 90 +2022-05-09 08:15:14 INFO:  test-node-gpu.js test: first instance +2022-05-09 08:15:14 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-05-09 08:15:14 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default +2022-05-09 08:15:14 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-05-09 08:15:14 DATA:  test-node-gpu.js result: performance: load: null total: 86 +2022-05-09 08:15:14 INFO:  test-node-gpu.js test: second instance +2022-05-09 08:15:14 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-05-09 08:15:14 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default +2022-05-09 08:15:14 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-05-09 08:15:14 DATA:  test-node-gpu.js result: performance: load: null total: 95 +2022-05-09 08:15:14 INFO:  test-node-gpu.js test: concurrent +2022-05-09 08:15:14 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-05-09 08:15:14 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-05-09 08:15:15 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-05-09 08:15:15 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-05-09 08:15:15 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-05-09 08:15:15 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-05-09 08:15:15 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-05-09 08:15:15 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-05-09 08:15:15 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-05-09 08:15:15 STATE: test-node-gpu.js event: image +2022-05-09 08:15:15 STATE: test-node-gpu.js event: image +2022-05-09 08:15:15 STATE: test-node-gpu.js event: image +2022-05-09 08:15:16 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default +2022-05-09 08:15:16 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-05-09 08:15:16 DATA:  test-node-gpu.js result: performance: load: null total: 899 +2022-05-09 08:15:16 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default +2022-05-09 08:15:16 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-05-09 08:15:16 DATA:  test-node-gpu.js result: performance: load: null total: 899 +2022-05-09 08:15:16 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default +2022-05-09 08:15:16 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2022-05-09 08:15:16 DATA:  test-node-gpu.js result: performance: load: null total: 947 +2022-05-09 08:15:16 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default +2022-05-09 08:15:16 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2022-05-09 08:15:16 DATA:  test-node-gpu.js result: performance: load: null total: 947 +2022-05-09 08:15:16 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:16 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:16 DATA:  test-node-gpu.js result: performance: load: null total: 947 +2022-05-09 08:15:16 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:16 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:16 DATA:  test-node-gpu.js result: performance: load: null total: 947 +2022-05-09 08:15:16 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:16 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default +2022-05-09 08:15:16 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-05-09 08:15:16 DATA:  test-node-gpu.js result: performance: load: null total: 706 +2022-05-09 08:15:16 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:16 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:16 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default +2022-05-09 08:15:16 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2022-05-09 08:15:16 DATA:  test-node-gpu.js result: performance: load: null total: 706 +2022-05-09 08:15:16 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:16 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:16 DATA:  test-node-gpu.js result: performance: load: null total: 706 +2022-05-09 08:15:16 INFO:  test-node-gpu.js test: monkey-patch +2022-05-09 08:15:16 STATE: test-node-gpu.js event: image +2022-05-09 08:15:16 STATE: test-node-gpu.js event: detect +2022-05-09 08:15:16 STATE: test-node-gpu.js passed: monkey patch +2022-05-09 08:15:16 STATE: test-node-gpu.js passed: segmentation [65536] +2022-05-09 08:15:16 STATE: test-node-gpu.js passeed: equal usage +2022-05-09 08:15:16 INFO:  test-node-gpu.js test: input compare +2022-05-09 08:15:16 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-05-09 08:15:16 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-05-09 08:15:16 STATE: test-node-gpu.js passed: image compare 0 23.275441687091504 +2022-05-09 08:15:16 INFO:  test-node-gpu.js events: {"image":21,"detect":21,"warmup":2} +2022-05-09 08:15:16 INFO:  test-node-gpu.js tensors 1925 +2022-05-09 08:15:16 INFO:  test-node-gpu.js test complete: 11643 ms +2022-05-09 08:15:17 INFO:  +2022-05-09 08:15:17 INFO:  test-node-wasm.js start +2022-05-09 08:15:17 STATE: test-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/ +2022-05-09 08:15:17 INFO:  test-node-wasm.js test: configuration validation +2022-05-09 08:15:17 STATE: test-node-wasm.js passed: configuration default validation [] +2022-05-09 08:15:17 STATE: test-node-wasm.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2022-05-09 08:15:17 INFO:  test-node-wasm.js test: model load +2022-05-09 08:15:20 STATE: test-node-wasm.js passed: models loaded 22 12 [{"name":"ssrnetage","loaded":false},{"name":"gear","loaded":false},{"name":"blazeposedetect","loaded":false},{"name":"blazepose","loaded":false},{"name":"centernet","loaded":true},{"name":"efficientpose","loaded":false},{"name":"mobilefacenet","loaded":false},{"name":"emotion","loaded":true},{"name":"facedetect","loaded":true},{"name":"faceiris","loaded":true},{"name":"facemesh","loaded":true},{"name":"faceres","loaded":true},{"name":"ssrnetgender","loaded":false},{"name":"handpose","loaded":false},{"name":"handskeleton","loaded":true},{"name":"handtrack","loaded":true},{"name":"liveness","loaded":true},{"name":"movenet","loaded":true},{"name":"nanodet","loaded":false},{"name":"posenet","loaded":false},{"name":"segmentation","loaded":true},{"name":"antispoof","loaded":true}] +2022-05-09 08:15:20 INFO:  test-node-wasm.js test: warmup +2022-05-09 08:15:20 STATE: test-node-wasm.js passed: create human +2022-05-09 08:15:20 INFO:  test-node-wasm.js human version: 2.7.1 +2022-05-09 08:15:20 INFO:  test-node-wasm.js platform: linux x64 agent: NodeJS v16.15.0 +2022-05-09 08:15:20 INFO:  test-node-wasm.js tfjs version: 3.16.0 +2022-05-09 08:15:20 STATE: test-node-wasm.js passed: set backend: wasm +2022-05-09 08:15:20 STATE: test-node-wasm.js tensors 1919 +2022-05-09 08:15:20 STATE: test-node-wasm.js passed: load models +2022-05-09 08:15:20 STATE: test-node-wasm.js result: defined models: 22 loaded models: 12 +2022-05-09 08:15:20 STATE: test-node-wasm.js passed: warmup: none default +2022-05-09 08:15:20 DATA:  test-node-wasm.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2022-05-09 08:15:20 DATA:  test-node-wasm.js result: performance: load: null total: null +2022-05-09 08:15:20 STATE: test-node-wasm.js passed: warmup none result match +2022-05-09 08:15:20 STATE: test-node-wasm.js event: image +2022-05-09 08:15:21 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:21 STATE: test-node-wasm.js event: warmup +2022-05-09 08:15:21 STATE: test-node-wasm.js passed: warmup: face default +2022-05-09 08:15:21 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-05-09 08:15:21 DATA:  test-node-wasm.js result: performance: load: null total: 490 +2022-05-09 08:15:21 STATE: test-node-wasm.js passed: warmup face result match +2022-05-09 08:15:21 STATE: test-node-wasm.js event: image +2022-05-09 08:15:21 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:21 STATE: test-node-wasm.js event: warmup +2022-05-09 08:15:21 STATE: test-node-wasm.js passed: warmup: body default +2022-05-09 08:15:21 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:21 DATA:  test-node-wasm.js result: performance: load: null total: 377 +2022-05-09 08:15:21 STATE: test-node-wasm.js passed: warmup body result match +2022-05-09 08:15:21 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"},{"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-05-09 08:15:21 INFO:  test-node-wasm.js test: details verification +2022-05-09 08:15:21 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-05-09 08:15:21 STATE: test-node-wasm.js event: image +2022-05-09 08:15:22 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:22 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:22 DATA:  test-node-wasm.js result: performance: load: null total: 343 +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: details face length 1 +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: details face score 1 0.93 1 +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: details face age/gender 23.7 female 0.97 73.26 +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: details face arrays 4 478 1024 +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: details face anti-spoofing 0.79 +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: details face liveness 0.83 +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: details body length 1 +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: details body 0.92 17 6 +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: details hand length 1 +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: details hand 0.51 0.73 point +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: details hand arrays 21 5 7 +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: details gesture length 6 +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: details gesture first {"face":0,"gesture":"facing right"} +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: details object length 1 +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: details object 0.72 person +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1413675264} +2022-05-09 08:15:22 STATE: test-node-wasm.js event: image +2022-05-09 08:15:22 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2022-05-09 08:15:22 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1413675264} +2022-05-09 08:15:22 STATE: test-node-wasm.js event: image +2022-05-09 08:15:23 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:23 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,4] dtype: float32 +2022-05-09 08:15:23 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-05-09 08:15:23 STATE: test-node-wasm.js event: image +2022-05-09 08:15:23 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:23 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2022-05-09 08:15:23 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1038921856} +2022-05-09 08:15:23 STATE: test-node-wasm.js event: image +2022-05-09 08:15:24 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:24 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,3] dtype: float32 +2022-05-09 08:15:24 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2022-05-09 08:15:24 STATE: test-node-wasm.js event: image +2022-05-09 08:15:24 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:24 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2022-05-09 08:15:24 INFO:  test-node-wasm.js test default +2022-05-09 08:15:25 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-05-09 08:15:25 STATE: test-node-wasm.js event: image +2022-05-09 08:15:25 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:25 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:25 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:25 DATA:  test-node-wasm.js result: performance: load: null total: 321 +2022-05-09 08:15:25 STATE: test-node-wasm.js passed: default result face match 1 female 0.97 +2022-05-09 08:15:25 INFO:  test-node-wasm.js test sync +2022-05-09 08:15:25 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-05-09 08:15:25 STATE: test-node-wasm.js event: image +2022-05-09 08:15:25 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:25 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:25 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:25 DATA:  test-node-wasm.js result: performance: load: null total: 341 +2022-05-09 08:15:25 STATE: test-node-wasm.js passed: default sync 1 female 0.97 +2022-05-09 08:15:25 INFO:  test-node-wasm.js test: image process +2022-05-09 08:15:25 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-05-09 08:15:25 STATE: test-node-wasm.js passed: image input null [1,256,256,3] +2022-05-09 08:15:25 INFO:  test-node-wasm.js test: image null +2022-05-09 08:15:25 STATE: test-node-wasm.js passed: invalid input could not convert input to tensor +2022-05-09 08:15:25 INFO:  test-node-wasm.js test face similarity +2022-05-09 08:15:25 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-05-09 08:15:25 STATE: test-node-wasm.js event: image +2022-05-09 08:15:26 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:26 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default +2022-05-09 08:15:26 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-05-09 08:15:26 DATA:  test-node-wasm.js result: performance: load: null total: 299 +2022-05-09 08:15:26 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-05-09 08:15:26 STATE: test-node-wasm.js event: image +2022-05-09 08:15:26 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:26 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:26 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:26 DATA:  test-node-wasm.js result: performance: load: null total: 312 +2022-05-09 08:15:26 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-05-09 08:15:26 STATE: test-node-wasm.js event: image +2022-05-09 08:15:27 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:27 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default +2022-05-09 08:15:27 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} +2022-05-09 08:15:27 DATA:  test-node-wasm.js result: performance: load: null total: 301 +2022-05-09 08:15:27 STATE: test-node-wasm.js passed: face descriptor +2022-05-09 08:15:27 STATE: test-node-wasm.js passed: face similarity {"similarity":[1,0.5266119940661309,0.4858842904087851],"descriptors":[1024,1024,1024]} +2022-05-09 08:15:27 INFO:  test-node-wasm.js test face matching +2022-05-09 08:15:27 STATE: test-node-wasm.js passed: face database 40 +2022-05-09 08:15:27 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-05-09 08:15:27 INFO:  test-node-wasm.js test object +2022-05-09 08:15:27 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-05-09 08:15:27 STATE: test-node-wasm.js event: image +2022-05-09 08:15:27 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:27 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:27 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:27 DATA:  test-node-wasm.js result: performance: load: null total: 337 +2022-05-09 08:15:27 STATE: test-node-wasm.js passed: object result match +2022-05-09 08:15:27 INFO:  test-node-wasm.js test sensitive +2022-05-09 08:15:27 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-05-09 08:15:27 STATE: test-node-wasm.js event: image +2022-05-09 08:15:28 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:28 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:28 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:28 DATA:  test-node-wasm.js result: performance: load: null total: 358 +2022-05-09 08:15:28 STATE: test-node-wasm.js passed: sensitive result match +2022-05-09 08:15:28 STATE: test-node-wasm.js passed: sensitive face result match +2022-05-09 08:15:28 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-05-09 08:15:28 STATE: test-node-wasm.js passed: sensitive body result match +2022-05-09 08:15:28 STATE: test-node-wasm.js passed: sensitive hand result match +2022-05-09 08:15:28 INFO:  test-node-wasm.js test detectors +2022-05-09 08:15:28 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-05-09 08:15:28 STATE: test-node-wasm.js event: image +2022-05-09 08:15:28 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:28 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:28 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:28 DATA:  test-node-wasm.js result: performance: load: null total: 235 +2022-05-09 08:15:28 STATE: test-node-wasm.js passed: detector result face match +2022-05-09 08:15:28 STATE: test-node-wasm.js passed: detector result hand match +2022-05-09 08:15:28 INFO:  test-node-wasm.js test: multi-instance +2022-05-09 08:15:28 STATE: test-node-wasm.js event: image +2022-05-09 08:15:29 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:29 STATE: test-node-wasm.js passed: detect: random default +2022-05-09 08:15:29 DATA:  test-node-wasm.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0.07,"keypoints":15} +2022-05-09 08:15:29 DATA:  test-node-wasm.js result: performance: load: null total: 208 +2022-05-09 08:15:29 INFO:  test-node-wasm.js test: first instance +2022-05-09 08:15:29 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-05-09 08:15:29 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default +2022-05-09 08:15:29 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-05-09 08:15:29 DATA:  test-node-wasm.js result: performance: load: null total: 226 +2022-05-09 08:15:29 INFO:  test-node-wasm.js test: second instance +2022-05-09 08:15:29 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-05-09 08:15:29 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default +2022-05-09 08:15:29 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-05-09 08:15:29 DATA:  test-node-wasm.js result: performance: load: null total: 240 +2022-05-09 08:15:29 INFO:  test-node-wasm.js test: concurrent +2022-05-09 08:15:29 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-05-09 08:15:29 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-05-09 08:15:29 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-05-09 08:15:30 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-05-09 08:15:30 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-05-09 08:15:30 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-05-09 08:15:30 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-05-09 08:15:30 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-05-09 08:15:30 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-05-09 08:15:30 STATE: test-node-wasm.js event: image +2022-05-09 08:15:30 STATE: test-node-wasm.js event: image +2022-05-09 08:15:30 STATE: test-node-wasm.js event: image +2022-05-09 08:15:32 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default +2022-05-09 08:15:32 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-05-09 08:15:32 DATA:  test-node-wasm.js result: performance: load: null total: 2165 +2022-05-09 08:15:32 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default +2022-05-09 08:15:32 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-05-09 08:15:32 DATA:  test-node-wasm.js result: performance: load: null total: 2165 +2022-05-09 08:15:32 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default +2022-05-09 08:15:32 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2022-05-09 08:15:32 DATA:  test-node-wasm.js result: performance: load: null total: 2379 +2022-05-09 08:15:32 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default +2022-05-09 08:15:32 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2022-05-09 08:15:32 DATA:  test-node-wasm.js result: performance: load: null total: 2379 +2022-05-09 08:15:32 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:32 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:32 DATA:  test-node-wasm.js result: performance: load: null total: 2379 +2022-05-09 08:15:32 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:32 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:32 DATA:  test-node-wasm.js result: performance: load: null total: 2379 +2022-05-09 08:15:32 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:32 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default +2022-05-09 08:15:32 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2022-05-09 08:15:32 DATA:  test-node-wasm.js result: performance: load: null total: 2042 +2022-05-09 08:15:32 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:32 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:32 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default +2022-05-09 08:15:32 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2022-05-09 08:15:32 DATA:  test-node-wasm.js result: performance: load: null total: 2042 +2022-05-09 08:15:32 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-05-09 08:15:32 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-05-09 08:15:32 DATA:  test-node-wasm.js result: performance: load: null total: 2042 +2022-05-09 08:15:32 INFO:  test-node-wasm.js test: monkey-patch +2022-05-09 08:15:32 STATE: test-node-wasm.js event: image +2022-05-09 08:15:32 STATE: test-node-wasm.js event: detect +2022-05-09 08:15:32 STATE: test-node-wasm.js passed: monkey patch +2022-05-09 08:15:33 STATE: test-node-wasm.js passed: segmentation [65536] +2022-05-09 08:15:33 STATE: test-node-wasm.js passeed: equal usage +2022-05-09 08:15:33 INFO:  test-node-wasm.js test: input compare +2022-05-09 08:15:33 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-05-09 08:15:33 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-05-09 08:15:33 STATE: test-node-wasm.js passed: image compare 0 23.280073018790848 +2022-05-09 08:15:33 INFO:  test-node-wasm.js events: {"image":21,"detect":21,"warmup":2} +2022-05-09 08:15:33 INFO:  test-node-wasm.js tensors 1927 +2022-05-09 08:15:33 INFO:  test-node-wasm.js test complete: 15361 ms +2022-05-09 08:15:33 INFO:  all tests complete +2022-05-09 08:15:33 INFO:  failed: {"count":0,"messages":[]} +2022-05-09 08:15:33 INFO:  status: {"test":"test-node.js","passed":101,"failed":0} +2022-05-09 08:15:33 INFO:  status: {"test":"test-node-gpu.js","passed":101,"failed":0} +2022-05-09 08:15:33 INFO:  status: {"test":"test-node-wasm.js","passed":102,"failed":0}