diff --git a/CHANGELOG.md b/CHANGELOG.md index 2590d40f..e6ef1bbd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ ### **HEAD -> main** 2022/08/21 mandic00@live.com +- expand type safety +- full eslint rule rewrite ### **2.9.4** 2022/08/20 mandic00@live.com diff --git a/demo/typescript/index.ts b/demo/typescript/index.ts index f429a2b0..5733227a 100644 --- a/demo/typescript/index.ts +++ b/demo/typescript/index.ts @@ -11,7 +11,7 @@ import * as H from '../../dist/human.esm.js'; // equivalent of @vladmandic/Human const humanConfig: Partial = { // user configuration for human, used to fine-tune behavior // backend: 'wasm' as const, - // wasmPath: 'https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-wasm@3.18.0/dist/', + // wasmPath: 'https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-wasm@3.20.0/dist/', // cacheSensitivity: 0, async: false, modelBasePath: '../../models', diff --git a/package.json b/package.json index a4c9ec67..7ff1f240 100644 --- a/package.json +++ b/package.json @@ -63,23 +63,23 @@ "devDependencies": { "@html-eslint/eslint-plugin": "^0.13.2", "@html-eslint/parser": "^0.13.2", - "@microsoft/api-extractor": "^7.29.3", - "@tensorflow/tfjs": "^3.19.0", - "@tensorflow/tfjs-backend-cpu": "^3.19.0", - "@tensorflow/tfjs-backend-wasm": "^3.19.0", - "@tensorflow/tfjs-backend-webgl": "^3.19.0", + "@microsoft/api-extractor": "^7.29.5", + "@tensorflow/tfjs": "^3.20.0", + "@tensorflow/tfjs-backend-cpu": "^3.20.0", + "@tensorflow/tfjs-backend-wasm": "^3.20.0", + "@tensorflow/tfjs-backend-webgl": "^3.20.0", "@tensorflow/tfjs-backend-webgpu": "0.0.1-alpha.12", - "@tensorflow/tfjs-converter": "^3.19.0", - "@tensorflow/tfjs-core": "^3.19.0", - "@tensorflow/tfjs-data": "^3.19.0", - "@tensorflow/tfjs-layers": "^3.19.0", - "@tensorflow/tfjs-node": "^3.19.0", - "@tensorflow/tfjs-node-gpu": "^3.19.0", + "@tensorflow/tfjs-converter": "^3.20.0", + "@tensorflow/tfjs-core": "^3.20.0", + "@tensorflow/tfjs-data": "^3.20.0", + "@tensorflow/tfjs-layers": "^3.20.0", + "@tensorflow/tfjs-node": "^3.20.0", + "@tensorflow/tfjs-node-gpu": "^3.20.0", "@tensorflow/tfjs-tflite": "0.0.1-alpha.8", - "@types/node": "^18.7.8", + "@types/node": "^18.7.13", "@types/offscreencanvas": "^2019.7.0", - "@typescript-eslint/eslint-plugin": "^5.33.1", - "@typescript-eslint/parser": "^5.33.1", + "@typescript-eslint/eslint-plugin": "^5.34.0", + "@typescript-eslint/parser": "^5.34.0", "@vladmandic/build": "^0.7.10", "@vladmandic/pilogger": "^0.4.6", "@vladmandic/tfjs": "github:vladmandic/tfjs", diff --git a/src/body/blazepose.ts b/src/body/blazepose.ts index c256dbcf..11cd988e 100644 --- a/src/body/blazepose.ts +++ b/src/body/blazepose.ts @@ -61,7 +61,7 @@ export async function load(config: Config): Promise<[GraphModel | null, GraphMod function prepareImage(input: Tensor, size: number): Tensor { const t: Record = {}; - if (!input.shape || !input.shape[1] || !input.shape[2]) return input; + if (!input?.shape?.[1] || !input?.shape?.[2]) return input; let final: Tensor; if (cropBox) { t.cropped = tf.image.cropAndResize(input, [cropBox], [0], [input.shape[1], input.shape[2]]); // if we have cached box use it to crop input diff --git a/src/body/movenet.ts b/src/body/movenet.ts index d67a71ea..82df420f 100644 --- a/src/body/movenet.ts +++ b/src/body/movenet.ts @@ -124,7 +124,7 @@ function parseMultiPose(res, config, image) { } export async function predict(input: Tensor, config: Config): Promise { - if (!model || !model.inputs[0].shape) return []; // something is wrong with the model + if (!model?.inputs?.[0].shape) return []; // something is wrong with the model if (!config.skipAllowed) cache.boxes.length = 0; // allowed to use cache or not skipped++; // increment skip frames const skipTime = (config.body.skipTime || 0) > (now() - cache.last); diff --git a/src/body/movenetfix.ts b/src/body/movenetfix.ts index 0261b62a..43e9c716 100644 --- a/src/body/movenetfix.ts +++ b/src/body/movenetfix.ts @@ -75,7 +75,7 @@ export function jitter(keypoints: BodyKeypoint[]): BodyKeypoint[] { export function padInput(input: Tensor, inputSize: number): Tensor { const t: Record = {}; - if (!input.shape || !input.shape[1] || !input.shape[2]) return input; + if (!input?.shape?.[1] || !input?.shape?.[2]) return input; cache.padding = [ [0, 0], // dont touch batch [input.shape[2] > input.shape[1] ? Math.trunc((input.shape[2] - input.shape[1]) / 2) : 0, input.shape[2] > input.shape[1] ? Math.trunc((input.shape[2] - input.shape[1]) / 2) : 0], // height before&after diff --git a/src/draw/draw.ts b/src/draw/draw.ts index ff898eb5..96b3e81b 100644 --- a/src/draw/draw.ts +++ b/src/draw/draw.ts @@ -61,7 +61,7 @@ export function canvas(input: AnyCanvas | HTMLImageElement | HTMLVideoElement, o /** meta-function that performs draw for: canvas, face, body, hand */ export async function all(inCanvas: AnyCanvas, result: Result, drawOptions?: Partial) { - if (!result || !result.performance || !result || !inCanvas) return null; + if (!result?.performance || !inCanvas) return null; const timeStamp = now(); const localOptions = mergeDeep(options, drawOptions); const promise = Promise.all([ diff --git a/src/gesture/gesture.ts b/src/gesture/gesture.ts index 8d201ee5..46fa6ce9 100644 --- a/src/gesture/gesture.ts +++ b/src/gesture/gesture.ts @@ -79,7 +79,7 @@ export const iris = (res: FaceResult[]): GestureResult[] => { if (!res) return []; const gestures: { iris: number, gesture: IrisGesture }[] = []; for (let i = 0; i < res.length; i++) { - if (!res[i].annotations || !res[i].annotations.leftEyeIris || !res[i].annotations.leftEyeIris[0] || !res[i].annotations.rightEyeIris || !res[i].annotations.rightEyeIris[0]) continue; + if (!res[i].annotations?.leftEyeIris?.[0] || !res[i].annotations?.rightEyeIris?.[0]) continue; const sizeXLeft = res[i].annotations.leftEyeIris[3][0] - res[i].annotations.leftEyeIris[1][0]; const sizeYLeft = res[i].annotations.leftEyeIris[4][1] - res[i].annotations.leftEyeIris[2][1]; const areaLeft = Math.abs(sizeXLeft * sizeYLeft); diff --git a/src/image/image.ts b/src/image/image.ts index 1aa93834..fe89c957 100644 --- a/src/image/image.ts +++ b/src/image/image.ts @@ -158,7 +158,7 @@ export async function process(input: Input, config: Config, getTensor: boolean = if (config.filter.enabled && env.webgl.supported) { if (!fx) fx = env.browser ? new fxImage.GLImageFilter() : null; // && (typeof document !== 'undefined') env.filter = !!fx; - if (!fx || !fx.add) { + if (!fx?.add) { if (config.debug) log('input process error: cannot initialize filters'); env.webgl.supported = false; config.filter.enabled = false; diff --git a/src/tfjs/humangl.ts b/src/tfjs/humangl.ts index e9ff70d2..3ca951da 100644 --- a/src/tfjs/humangl.ts +++ b/src/tfjs/humangl.ts @@ -45,7 +45,7 @@ function extensions(): void { export function register(instance: Human): void { // force backend reload if gl context is not valid if (instance.config.backend !== 'humangl') return; - if ((config.name in tf.engine().registry) && (!config.gl || !config.gl.getParameter(config.gl.VERSION))) { + if ((config.name in tf.engine().registry) && !config?.gl?.getParameter(config.gl.VERSION)) { log('error: humangl backend invalid context'); models.reset(instance); /* diff --git a/src/util/profile.ts b/src/util/profile.ts index 71220f5d..21ed5a76 100644 --- a/src/util/profile.ts +++ b/src/util/profile.ts @@ -19,7 +19,7 @@ export interface ProfileData { } export function run(modelName: string, profileData: ProfileData): void { // profileData is tfjs internal type - if (!profileData || !profileData.kernels) return; + if (!profileData?.kernels) return; const maxDetected = 5; const time = (profileData.kernels) .filter((a) => a.kernelTimeMs > 0) diff --git a/src/warmup.ts b/src/warmup.ts index ebe61167..06c12f09 100644 --- a/src/warmup.ts +++ b/src/warmup.ts @@ -112,7 +112,7 @@ export async function runCompile(allModels: Models) { if (!tf.env().flagRegistry.ENGINE_COMPILE_ONLY) return; // tfjs does not support compile-only inference const backendType = tf.getBackend(); const webGLBackend = tf.backend(); - if ((backendType !== 'webgl' && backendType !== 'humangl') || (!webGLBackend || !webGLBackend.checkCompileCompletion)) { + if ((backendType !== 'webgl' && backendType !== 'humangl') || !webGLBackend?.checkCompileCompletion) { // log('compile pass: skip'); return; } diff --git a/test/build.log b/test/build.log index 98853a91..4a2ab08f 100644 --- a/test/build.log +++ b/test/build.log @@ -1,39 +1,39 @@ -2022-08-21 15:21:09 DATA:  Build {"name":"@vladmandic/human","version":"2.9.4"} -2022-08-21 15:21:09 INFO:  Application: {"name":"@vladmandic/human","version":"2.9.4"} -2022-08-21 15:21:09 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true} -2022-08-21 15:21:09 INFO:  Toolchain: {"build":"0.7.10","esbuild":"0.15.5","typescript":"4.7.4","typedoc":"0.23.10","eslint":"8.22.0"} -2022-08-21 15:21:09 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]} -2022-08-21 15:21:09 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]} -2022-08-21 15:21:09 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":608} -2022-08-21 15:21:09 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653284,"outputBytes":306632} -2022-08-21 15:21:09 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":612} -2022-08-21 15:21:09 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653288,"outputBytes":306636} -2022-08-21 15:21:09 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":664} -2022-08-21 15:21:09 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653340,"outputBytes":306686} -2022-08-21 15:21:09 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":358} -2022-08-21 15:21:09 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1088,"outputBytes":583} -2022-08-21 15:21:09 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653259,"outputBytes":305505} -2022-08-21 15:21:09 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":1344,"outputBytes":2787569} -2022-08-21 15:21:09 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3440245,"outputBytes":1668404} -2022-08-21 15:21:09 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3440245,"outputBytes":3071598} -2022-08-21 15:21:14 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":30} -2022-08-21 15:21:16 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":77,"generated":true} -2022-08-21 15:21:16 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":3134} -2022-08-21 15:21:16 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15501,"outputBytes":7733} -2022-08-21 15:21:27 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":111,"errors":0,"warnings":0} -2022-08-21 15:21:27 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"} -2022-08-21 15:21:27 STATE: Copy: {"input":"tfjs/tfjs.esm.d.ts"} -2022-08-21 15:21:27 INFO:  Done... -2022-08-21 15:21:27 STATE: API-Extractor: {"succeeeded":true,"errors":0,"warnings":198} -2022-08-21 15:21:27 STATE: Copy: {"input":"types/human.d.ts"} -2022-08-21 15:21:27 INFO:  Analyze models: {"folders":8,"result":"models/models.json"} -2022-08-21 15:21:27 STATE: Models {"folder":"./models","models":13} -2022-08-21 15:21:27 STATE: Models {"folder":"../human-models/models","models":42} -2022-08-21 15:21:27 STATE: Models {"folder":"../blazepose/model/","models":4} -2022-08-21 15:21:27 STATE: Models {"folder":"../anti-spoofing/model","models":1} -2022-08-21 15:21:27 STATE: Models {"folder":"../efficientpose/models","models":3} -2022-08-21 15:21:27 STATE: Models {"folder":"../insightface/models","models":5} -2022-08-21 15:21:27 STATE: Models {"folder":"../movenet/models","models":3} -2022-08-21 15:21:27 STATE: Models {"folder":"../nanodet/models","models":4} -2022-08-21 15:21:28 STATE: Models: {"count":57,"totalSize":383017442} -2022-08-21 15:21:28 INFO:  Human Build complete... {"logFile":"test/build.log"} +2022-08-24 08:07:27 DATA:  Build {"name":"@vladmandic/human","version":"2.9.4"} +2022-08-24 08:07:27 INFO:  Application: {"name":"@vladmandic/human","version":"2.9.4"} +2022-08-24 08:07:27 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true} +2022-08-24 08:07:27 INFO:  Toolchain: {"build":"0.7.10","esbuild":"0.15.5","typescript":"4.7.4","typedoc":"0.23.10","eslint":"8.22.0"} +2022-08-24 08:07:27 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]} +2022-08-24 08:07:27 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]} +2022-08-24 08:07:27 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":608} +2022-08-24 08:07:27 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653111,"outputBytes":306819} +2022-08-24 08:07:27 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":612} +2022-08-24 08:07:27 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653115,"outputBytes":306823} +2022-08-24 08:07:27 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":664} +2022-08-24 08:07:27 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653167,"outputBytes":306873} +2022-08-24 08:07:27 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":358} +2022-08-24 08:07:27 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1088,"outputBytes":583} +2022-08-24 08:07:27 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653086,"outputBytes":305692} +2022-08-24 08:07:28 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":1344,"outputBytes":2879073} +2022-08-24 08:07:28 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3531576,"outputBytes":1706402} +2022-08-24 08:07:28 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3531576,"outputBytes":3154419} +2022-08-24 08:07:33 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":30} +2022-08-24 08:07:35 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":77,"generated":true} +2022-08-24 08:07:35 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":3134} +2022-08-24 08:07:35 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15501,"outputBytes":7733} +2022-08-24 08:07:46 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":111,"errors":0,"warnings":0} +2022-08-24 08:07:47 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"} +2022-08-24 08:07:47 STATE: Copy: {"input":"tfjs/tfjs.esm.d.ts"} +2022-08-24 08:07:47 INFO:  Done... +2022-08-24 08:07:47 STATE: API-Extractor: {"succeeeded":true,"errors":0,"warnings":198} +2022-08-24 08:07:47 STATE: Copy: {"input":"types/human.d.ts"} +2022-08-24 08:07:47 INFO:  Analyze models: {"folders":8,"result":"models/models.json"} +2022-08-24 08:07:47 STATE: Models {"folder":"./models","models":13} +2022-08-24 08:07:47 STATE: Models {"folder":"../human-models/models","models":42} +2022-08-24 08:07:47 STATE: Models {"folder":"../blazepose/model/","models":4} +2022-08-24 08:07:47 STATE: Models {"folder":"../anti-spoofing/model","models":1} +2022-08-24 08:07:47 STATE: Models {"folder":"../efficientpose/models","models":3} +2022-08-24 08:07:47 STATE: Models {"folder":"../insightface/models","models":5} +2022-08-24 08:07:47 STATE: Models {"folder":"../movenet/models","models":3} +2022-08-24 08:07:47 STATE: Models {"folder":"../nanodet/models","models":4} +2022-08-24 08:07:48 STATE: Models: {"count":57,"totalSize":383017442} +2022-08-24 08:07:48 INFO:  Human Build complete... {"logFile":"test/build.log"} diff --git a/test/test-main.js b/test/test-main.js index 70bc79e0..193915d9 100644 --- a/test/test-main.js +++ b/test/test-main.js @@ -296,6 +296,8 @@ async function test(Human, inputConfig) { const loaded = models.filter((model) => model.loaded); if (models.length === 23 && loaded.length === 12) log('state', 'passed: models loaded', models.length, loaded.length, models); else log('error', 'failed: models loaded', models.length, loaded.length, models); + log('info', 'memory:', { memory: human.tf.memory() }); + log('info', 'state:', { state: human.tf.engine().state }); // increase defaults config.face = { detector: { maxDetected: 20 } }; diff --git a/test/test.log b/test/test.log index 0d427f90..d328348a 100644 --- a/test/test.log +++ b/test/test.log @@ -1,970 +1,976 @@ -2022-08-21 15:21:45 INFO:  @vladmandic/human version 2.9.4 -2022-08-21 15:21:45 INFO:  User: vlado Platform: linux Arch: x64 Node: v18.1.0 -2022-08-21 15:21:45 INFO:  demos: [{"cmd":"../demo/nodejs/node.js","args":[]},{"cmd":"../demo/nodejs/node-simple.js","args":[]},{"cmd":"../demo/nodejs/node-fetch.js","args":[]},{"cmd":"../demo/nodejs/node-event.js","args":["samples/in/ai-body.jpg"]},{"cmd":"../demo/nodejs/node-similarity.js","args":["samples/in/ai-face.jpg","samples/in/ai-upper.jpg"]},{"cmd":"../demo/nodejs/node-canvas.js","args":["samples/in/ai-body.jpg","samples/out/ai-body.jpg"]},{"cmd":"../demo/multithread/node-multiprocess.js","args":[]},{"cmd":"../demo/facematch/node-match.js","args":[]}] -2022-08-21 15:21:45 INFO:  {"cmd":"../demo/nodejs/node.js","args":[]} start -2022-08-21 15:21:46 INFO:  {"cmd":"../demo/nodejs/node-simple.js","args":[]} start -2022-08-21 15:21:47 INFO:  {"cmd":"../demo/nodejs/node-fetch.js","args":[]} start -2022-08-21 15:21:49 INFO:  {"cmd":"../demo/nodejs/node-event.js","args":["samples/in/ai-body.jpg"]} start -2022-08-21 15:21:49 INFO:  {"cmd":"../demo/nodejs/node-similarity.js","args":["samples/in/ai-face.jpg","samples/in/ai-upper.jpg"]} start -2022-08-21 15:21:50 INFO:  {"cmd":"../demo/nodejs/node-canvas.js","args":["samples/in/ai-body.jpg","samples/out/ai-body.jpg"]} start -2022-08-21 15:21:51 INFO:  {"cmd":"../demo/multithread/node-multiprocess.js","args":[]} start -2022-08-21 15:21:52 INFO:  {"cmd":"../demo/facematch/node-match.js","args":[]} start -2022-08-21 15:21:54 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"] -2022-08-21 15:21:54 INFO:  -2022-08-21 15:21:54 INFO:  test-node.js start -2022-08-21 15:21:54 INFO:  test-node.js test: configuration validation -2022-08-21 15:21:54 STATE: test-node.js passed: configuration default validation [] -2022-08-21 15:21:54 STATE: test-node.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2022-08-21 15:21:54 INFO:  test-node.js test: model load -2022-08-21 15:21:54 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-21 15:21:54 INFO:  test-node.js test: warmup -2022-08-21 15:21:54 STATE: test-node.js passed: create human -2022-08-21 15:21:54 INFO:  test-node.js human version: 2.9.4 -2022-08-21 15:21:54 INFO:  test-node.js platform: linux x64 agent: NodeJS v18.1.0 -2022-08-21 15:21:54 INFO:  test-node.js tfjs version: 3.19.0 -2022-08-21 15:21:54 INFO:  test-node.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","tensorflow"],"initial":false,"tfjs":{"version":"3.19.0"},"offscreen":false,"perfadd":false,"tensorflow":{"version":"2.7.3-dev20220521","gpu":false},"wasm":{"supported":true,"backend":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":169} -2022-08-21 15:21:54 STATE: test-node.js passed: set backend: tensorflow -2022-08-21 15:21:54 STATE: test-node.js tensors 1921 -2022-08-21 15:21:54 STATE: test-node.js passed: load models -2022-08-21 15:21:54 STATE: test-node.js result: defined models: 23 loaded models: 12 -2022-08-21 15:21:54 STATE: test-node.js passed: warmup: none default -2022-08-21 15:21:54 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2022-08-21 15:21:54 DATA:  test-node.js result: performance: load: null total: null -2022-08-21 15:21:54 STATE: test-node.js passed: warmup none result match -2022-08-21 15:21:54 STATE: test-node.js event: image -2022-08-21 15:21:54 STATE: test-node.js event: detect -2022-08-21 15:21:54 STATE: test-node.js event: warmup -2022-08-21 15:21:54 STATE: test-node.js passed: warmup: face default -2022-08-21 15:21:54 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-21 15:21:54 DATA:  test-node.js result: performance: load: null total: 341 -2022-08-21 15:21:54 STATE: test-node.js passed: warmup face result match -2022-08-21 15:21:54 STATE: test-node.js event: image -2022-08-21 15:21:54 STATE: test-node.js event: detect -2022-08-21 15:21:54 STATE: test-node.js event: warmup -2022-08-21 15:21:54 STATE: test-node.js passed: warmup: body default -2022-08-21 15:21:54 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-21 15:21:54 DATA:  test-node.js result: performance: load: null total: 238 -2022-08-21 15:21:54 STATE: test-node.js passed: warmup body result match -2022-08-21 15:21:54 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-21 15:21:54 INFO:  test-node.js test: details verification -2022-08-21 15:21:54 STATE: test-node.js start default -2022-08-21 15:21:55 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-21 15:21:55 STATE: test-node.js event: image -2022-08-21 15:21:55 STATE: test-node.js event: detect -2022-08-21 15:21:55 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2022-08-21 15:21:55 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-21 15:21:55 DATA:  test-node.js result: performance: load: null total: 225 -2022-08-21 15:21:55 STATE: test-node.js passed: details face length 1 -2022-08-21 15:21:55 STATE: test-node.js passed: details face score 1 0.93 1 -2022-08-21 15:21:55 STATE: test-node.js passed: details face age/gender 23.7 female 0.97 85.47 -2022-08-21 15:21:55 STATE: test-node.js passed: details face arrays 4 478 1024 -2022-08-21 15:21:55 STATE: test-node.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} -2022-08-21 15:21:55 STATE: test-node.js passed: details face anti-spoofing 0.79 -2022-08-21 15:21:55 STATE: test-node.js passed: details face liveness 0.83 -2022-08-21 15:21:55 STATE: test-node.js passed: details body length 1 -2022-08-21 15:21:55 STATE: test-node.js passed: details body 0.92 17 6 -2022-08-21 15:21:55 STATE: test-node.js passed: details hand length 1 -2022-08-21 15:21:55 STATE: test-node.js passed: details hand 0.51 0.73 point -2022-08-21 15:21:55 STATE: test-node.js passed: details hand arrays 21 5 7 -2022-08-21 15:21:55 STATE: test-node.js passed: details gesture length 7 -2022-08-21 15:21:55 STATE: test-node.js passed: details gesture first {"face":0,"gesture":"facing right"} -2022-08-21 15:21:55 STATE: test-node.js passed: details object length 1 -2022-08-21 15:21:55 STATE: test-node.js passed: details object 0.72 person -2022-08-21 15:21:55 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} -2022-08-21 15:21:55 STATE: test-node.js event: image -2022-08-21 15:21:55 STATE: test-node.js event: detect -2022-08-21 15:21:55 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2022-08-21 15:21:55 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} -2022-08-21 15:21:55 STATE: test-node.js event: image -2022-08-21 15:21:56 STATE: test-node.js event: detect -2022-08-21 15:21:56 STATE: test-node.js passed: tensor shape: [1200,1200,4] dtype: float32 -2022-08-21 15:21:56 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-21 15:21:56 STATE: test-node.js event: image -2022-08-21 15:21:56 STATE: test-node.js event: detect -2022-08-21 15:21:56 STATE: test-node.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2022-08-21 15:21:56 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796864} -2022-08-21 15:21:56 STATE: test-node.js event: image -2022-08-21 15:21:56 STATE: test-node.js event: detect -2022-08-21 15:21:56 STATE: test-node.js passed: tensor shape: [1200,1200,3] dtype: float32 -2022-08-21 15:21:57 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2022-08-21 15:21:57 STATE: test-node.js event: image -2022-08-21 15:21:57 STATE: test-node.js event: detect -2022-08-21 15:21:57 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2022-08-21 15:21:57 INFO:  test-node.js test default -2022-08-21 15:21:57 STATE: test-node.js start async -2022-08-21 15:21:57 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-21 15:21:57 STATE: test-node.js event: image -2022-08-21 15:21:57 STATE: test-node.js event: detect -2022-08-21 15:21:57 STATE: test-node.js passed: detect: samples/in/ai-body.jpg async -2022-08-21 15:21:57 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-21 15:21:57 DATA:  test-node.js result: performance: load: null total: 207 -2022-08-21 15:21:57 STATE: test-node.js passed: default result face match 1 female 0.97 -2022-08-21 15:21:57 INFO:  test-node.js test sync -2022-08-21 15:21:57 STATE: test-node.js start sync -2022-08-21 15:21:57 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-21 15:21:57 STATE: test-node.js event: image -2022-08-21 15:21:58 STATE: test-node.js event: detect -2022-08-21 15:21:58 STATE: test-node.js passed: detect: samples/in/ai-body.jpg sync -2022-08-21 15:21:58 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-21 15:21:58 DATA:  test-node.js result: performance: load: null total: 206 -2022-08-21 15:21:58 STATE: test-node.js passed: default sync 1 female 0.97 -2022-08-21 15:21:58 INFO:  test-node.js test: image process -2022-08-21 15:21:58 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-21 15:21:58 STATE: test-node.js passed: image input null [1,256,256,3] -2022-08-21 15:21:58 INFO:  test-node.js test: image null -2022-08-21 15:21:58 STATE: test-node.js passed: invalid input could not convert input to tensor -2022-08-21 15:21:58 INFO:  test-node.js test face similarity -2022-08-21 15:21:58 STATE: test-node.js start face similarity -2022-08-21 15:21:58 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-21 15:21:58 STATE: test-node.js event: image -2022-08-21 15:21:58 STATE: test-node.js event: detect -2022-08-21 15:21:58 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face similarity -2022-08-21 15:21:58 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-21 15:21:58 DATA:  test-node.js result: performance: load: null total: 198 -2022-08-21 15:21:58 STATE: test-node.js start face similarity -2022-08-21 15:21:58 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-21 15:21:58 STATE: test-node.js event: image -2022-08-21 15:21:58 STATE: test-node.js event: detect -2022-08-21 15:21:58 STATE: test-node.js passed: detect: samples/in/ai-body.jpg face similarity -2022-08-21 15:21:58 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-21 15:21:58 DATA:  test-node.js result: performance: load: null total: 215 -2022-08-21 15:21:58 STATE: test-node.js start face similarity -2022-08-21 15:21:58 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-21 15:21:58 STATE: test-node.js event: image -2022-08-21 15:21:58 STATE: test-node.js event: detect -2022-08-21 15:21:58 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg face similarity -2022-08-21 15:21:58 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-21 15:21:58 DATA:  test-node.js result: performance: load: null total: 186 -2022-08-21 15:21:58 STATE: test-node.js passed: face descriptor -2022-08-21 15:21:58 STATE: test-node.js passed: face similarity {"similarity":[1,0.44727452329649126,0.5567935850640406],"descriptors":[1024,1024,1024]} -2022-08-21 15:21:58 INFO:  test-node.js test object -2022-08-21 15:21:58 STATE: test-node.js start object -2022-08-21 15:21:59 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-21 15:21:59 STATE: test-node.js event: image -2022-08-21 15:21:59 STATE: test-node.js event: detect -2022-08-21 15:21:59 STATE: test-node.js passed: detect: samples/in/ai-body.jpg object -2022-08-21 15:21:59 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-21 15:21:59 DATA:  test-node.js result: performance: load: null total: 208 -2022-08-21 15:21:59 STATE: test-node.js passed: centernet -2022-08-21 15:21:59 STATE: test-node.js start object -2022-08-21 15:22:00 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-21 15:22:00 STATE: test-node.js event: image -2022-08-21 15:22:00 STATE: test-node.js event: detect -2022-08-21 15:22:00 STATE: test-node.js passed: detect: samples/in/ai-body.jpg object -2022-08-21 15:22:00 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 3 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-21 15:22:00 DATA:  test-node.js result: performance: load: null total: 217 -2022-08-21 15:22:00 STATE: test-node.js passed: nanodet -2022-08-21 15:22:00 INFO:  test-node.js test sensitive -2022-08-21 15:22:00 STATE: test-node.js start sensitive -2022-08-21 15:22:00 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-21 15:22:00 STATE: test-node.js event: image -2022-08-21 15:22:00 STATE: test-node.js event: detect -2022-08-21 15:22:00 STATE: test-node.js passed: detect: samples/in/ai-body.jpg sensitive -2022-08-21 15:22:00 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-21 15:22:00 DATA:  test-node.js result: performance: load: null total: 163 -2022-08-21 15:22:00 STATE: test-node.js passed: sensitive result match -2022-08-21 15:22:00 STATE: test-node.js passed: sensitive face result match -2022-08-21 15:22:00 STATE: test-node.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] -2022-08-21 15:22:00 STATE: test-node.js passed: sensitive body result match -2022-08-21 15:22:00 STATE: test-node.js passed: sensitive hand result match -2022-08-21 15:22:00 INFO:  test-node.js test body -2022-08-21 15:22:00 STATE: test-node.js start blazepose -2022-08-21 15:22:02 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-21 15:22:02 STATE: test-node.js event: image -2022-08-21 15:22:02 STATE: test-node.js event: detect -2022-08-21 15:22:02 STATE: test-node.js passed: detect: samples/in/ai-body.jpg blazepose -2022-08-21 15:22:02 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-21 15:22:02 DATA:  test-node.js result: performance: load: null total: 215 -2022-08-21 15:22:02 STATE: test-node.js passed: blazepose -2022-08-21 15:22:02 STATE: test-node.js start efficientpose -2022-08-21 15:22:03 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-21 15:22:03 STATE: test-node.js event: image -2022-08-21 15:22:03 STATE: test-node.js event: detect -2022-08-21 15:22:03 STATE: test-node.js passed: detect: samples/in/ai-body.jpg efficientpose -2022-08-21 15:22:03 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-21 15:22:03 DATA:  test-node.js result: performance: load: null total: 243 -2022-08-21 15:22:03 STATE: test-node.js passed: efficientpose -2022-08-21 15:22:03 STATE: test-node.js start posenet -2022-08-21 15:22:04 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-21 15:22:04 STATE: test-node.js event: image -2022-08-21 15:22:04 STATE: test-node.js event: detect -2022-08-21 15:22:04 STATE: test-node.js passed: detect: samples/in/ai-body.jpg posenet -2022-08-21 15:22:04 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-21 15:22:04 DATA:  test-node.js result: performance: load: null total: 187 -2022-08-21 15:22:04 STATE: test-node.js passed: posenet -2022-08-21 15:22:04 STATE: test-node.js start movenet -2022-08-21 15:22:04 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-21 15:22:04 STATE: test-node.js event: image -2022-08-21 15:22:04 STATE: test-node.js event: detect -2022-08-21 15:22:04 STATE: test-node.js passed: detect: samples/in/ai-body.jpg movenet -2022-08-21 15:22:04 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-21 15:22:04 DATA:  test-node.js result: performance: load: null total: 172 -2022-08-21 15:22:04 STATE: test-node.js passed: movenet -2022-08-21 15:22:04 INFO:  test-node.js test face matching -2022-08-21 15:22:04 STATE: test-node.js passed: face database 40 -2022-08-21 15:22:04 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-21 15:22:04 INFO:  test-node.js test face similarity alternative -2022-08-21 15:22:04 STATE: test-node.js start face embeddings -2022-08-21 15:22:05 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-21 15:22:05 STATE: test-node.js event: image -2022-08-21 15:22:05 STATE: test-node.js event: detect -2022-08-21 15:22:05 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-21 15:22:05 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-21 15:22:05 DATA:  test-node.js result: performance: load: null total: 189 -2022-08-21 15:22:05 STATE: test-node.js passed: mobilefacenet {"embedding":192} -2022-08-21 15:22:05 STATE: test-node.js start face embeddings -2022-08-21 15:22:05 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-21 15:22:05 STATE: test-node.js event: image -2022-08-21 15:22:06 STATE: test-node.js event: detect -2022-08-21 15:22:06 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-21 15:22:06 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-21 15:22:06 DATA:  test-node.js result: performance: load: null total: 201 -2022-08-21 15:22:06 STATE: test-node.js passed: insightface {"embedding":512} -2022-08-21 15:22:06 INFO:  test-node.js test face attention -2022-08-21 15:22:06 STATE: test-node.js start face attention -2022-08-21 15:22:06 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-21 15:22:06 STATE: test-node.js event: image -2022-08-21 15:22:06 STATE: test-node.js event: detect -2022-08-21 15:22:06 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face attention -2022-08-21 15:22:06 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-21 15:22:06 DATA:  test-node.js result: performance: load: null total: 176 -2022-08-21 15:22:06 STATE: test-node.js passed: face attention -2022-08-21 15:22:06 INFO:  test-node.js test detectors -2022-08-21 15:22:06 STATE: test-node.js start detectors -2022-08-21 15:22:06 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-21 15:22:06 STATE: test-node.js event: image -2022-08-21 15:22:06 STATE: test-node.js event: detect -2022-08-21 15:22:06 STATE: test-node.js passed: detect: samples/in/ai-body.jpg detectors -2022-08-21 15:22:06 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-21 15:22:06 DATA:  test-node.js result: performance: load: null total: 88 -2022-08-21 15:22:06 STATE: test-node.js passed: detector result face match -2022-08-21 15:22:06 STATE: test-node.js passed: detector result hand match -2022-08-21 15:22:06 INFO:  test-node.js test: multi-instance -2022-08-21 15:22:06 STATE: test-node.js start multi instance -2022-08-21 15:22:06 STATE: test-node.js event: image -2022-08-21 15:22:07 STATE: test-node.js event: detect -2022-08-21 15:22:07 STATE: test-node.js passed: detect: random multi instance -2022-08-21 15:22:07 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} -2022-08-21 15:22:07 DATA:  test-node.js result: performance: load: null total: 84 -2022-08-21 15:22:07 INFO:  test-node.js test: first instance -2022-08-21 15:22:07 STATE: test-node.js start multi instance -2022-08-21 15:22:07 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-21 15:22:07 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-21 15:22:07 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-21 15:22:07 DATA:  test-node.js result: performance: load: null total: 85 -2022-08-21 15:22:07 INFO:  test-node.js test: second instance -2022-08-21 15:22:07 STATE: test-node.js start multi instance -2022-08-21 15:22:07 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-21 15:22:07 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-21 15:22:07 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-21 15:22:07 DATA:  test-node.js result: performance: load: null total: 79 -2022-08-21 15:22:07 INFO:  test-node.js test: concurrent -2022-08-21 15:22:07 STATE: test-node.js start concurrent -2022-08-21 15:22:07 STATE: test-node.js start concurrent -2022-08-21 15:22:07 STATE: test-node.js start concurrent -2022-08-21 15:22:07 STATE: test-node.js start concurrent -2022-08-21 15:22:07 STATE: test-node.js start concurrent -2022-08-21 15:22:07 STATE: test-node.js start concurrent -2022-08-21 15:22:07 STATE: test-node.js start concurrent -2022-08-21 15:22:07 STATE: test-node.js start concurrent -2022-08-21 15:22:07 STATE: test-node.js start concurrent -2022-08-21 15:22:07 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-21 15:22:07 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-21 15:22:07 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-21 15:22:07 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-21 15:22:07 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-21 15:22:07 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-21 15:22:07 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-21 15:22:08 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-21 15:22:08 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-21 15:22:08 STATE: test-node.js event: image -2022-08-21 15:22:08 STATE: test-node.js event: image -2022-08-21 15:22:08 STATE: test-node.js event: image -2022-08-21 15:22:08 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-21 15:22:08 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-21 15:22:08 DATA:  test-node.js result: performance: load: null total: 948 -2022-08-21 15:22:08 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-21 15:22:08 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-21 15:22:08 DATA:  test-node.js result: performance: load: null total: 948 -2022-08-21 15:22:08 STATE: test-node.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-21 15:22:08 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-21 15:22:08 DATA:  test-node.js result: performance: load: null total: 949 -2022-08-21 15:22:08 STATE: test-node.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-21 15:22:08 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-21 15:22:08 DATA:  test-node.js result: performance: load: null total: 949 -2022-08-21 15:22:08 STATE: test-node.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-21 15:22:08 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-21 15:22:08 DATA:  test-node.js result: performance: load: null total: 949 -2022-08-21 15:22:08 STATE: test-node.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-21 15:22:08 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-21 15:22:08 DATA:  test-node.js result: performance: load: null total: 949 -2022-08-21 15:22:08 STATE: test-node.js event: detect -2022-08-21 15:22:08 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-21 15:22:08 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-21 15:22:08 DATA:  test-node.js result: performance: load: null total: 710 -2022-08-21 15:22:08 STATE: test-node.js event: detect -2022-08-21 15:22:08 STATE: test-node.js event: detect -2022-08-21 15:22:08 STATE: test-node.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-21 15:22:08 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-21 15:22:08 DATA:  test-node.js result: performance: load: null total: 710 -2022-08-21 15:22:08 STATE: test-node.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-21 15:22:08 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-21 15:22:08 DATA:  test-node.js result: performance: load: null total: 710 -2022-08-21 15:22:08 INFO:  test-node.js test: monkey-patch -2022-08-21 15:22:08 STATE: test-node.js event: image -2022-08-21 15:22:08 STATE: test-node.js event: detect -2022-08-21 15:22:08 STATE: test-node.js passed: monkey patch -2022-08-21 15:22:08 STATE: test-node.js passed: segmentation [65536] -2022-08-21 15:22:08 STATE: test-node.js passeed: equal usage -2022-08-21 15:22:08 INFO:  test-node.js test: input compare -2022-08-21 15:22:08 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-21 15:22:09 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-21 15:22:09 STATE: test-node.js passed: image compare 0 23.275441687091504 -2022-08-21 15:22:09 INFO:  test-node.js events: {"image":29,"detect":29,"warmup":2} -2022-08-21 15:22:09 INFO:  test-node.js tensors 4105 -2022-08-21 15:22:09 INFO:  test-node.js test complete: 14891 ms -2022-08-21 15:22:09 INFO:  -2022-08-21 15:22:09 INFO:  test-node-gpu.js start -2022-08-21 15:22:10 INFO:  test-node-gpu.js test: configuration validation -2022-08-21 15:22:10 STATE: test-node-gpu.js passed: configuration default validation [] -2022-08-21 15:22:10 STATE: test-node-gpu.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2022-08-21 15:22:10 INFO:  test-node-gpu.js test: model load -2022-08-21 15:22:10 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-21 15:22:10 INFO:  test-node-gpu.js test: warmup -2022-08-21 15:22:10 STATE: test-node-gpu.js passed: create human -2022-08-21 15:22:10 INFO:  test-node-gpu.js human version: 2.9.4 -2022-08-21 15:22:10 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v18.1.0 -2022-08-21 15:22:10 INFO:  test-node-gpu.js tfjs version: 3.19.0 -2022-08-21 15:22:10 INFO:  test-node-gpu.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","tensorflow"],"initial":false,"tfjs":{"version":"3.19.0"},"offscreen":false,"perfadd":false,"tensorflow":{"version":"2.7.3-dev20220521","gpu":true},"wasm":{"supported":true,"backend":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":169} -2022-08-21 15:22:10 STATE: test-node-gpu.js passed: set backend: tensorflow -2022-08-21 15:22:10 STATE: test-node-gpu.js tensors 1921 -2022-08-21 15:22:10 STATE: test-node-gpu.js passed: load models -2022-08-21 15:22:10 STATE: test-node-gpu.js result: defined models: 23 loaded models: 12 -2022-08-21 15:22:10 STATE: test-node-gpu.js passed: warmup: none default -2022-08-21 15:22:10 DATA:  test-node-gpu.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2022-08-21 15:22:10 DATA:  test-node-gpu.js result: performance: load: null total: null -2022-08-21 15:22:10 STATE: test-node-gpu.js passed: warmup none result match -2022-08-21 15:22:11 STATE: test-node-gpu.js event: image -2022-08-21 15:22:15 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:15 STATE: test-node-gpu.js event: warmup -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: warmup: face default -2022-08-21 15:22:15 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-21 15:22:15 DATA:  test-node-gpu.js result: performance: load: null total: 4062 -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: warmup face result match -2022-08-21 15:22:15 STATE: test-node-gpu.js event: image -2022-08-21 15:22:15 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:15 STATE: test-node-gpu.js event: warmup -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: warmup: body default -2022-08-21 15:22:15 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-21 15:22:15 DATA:  test-node-gpu.js result: performance: load: null total: 155 -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: warmup body result match -2022-08-21 15:22:15 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-21 15:22:15 INFO:  test-node-gpu.js test: details verification -2022-08-21 15:22:15 STATE: test-node-gpu.js start default -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-21 15:22:15 STATE: test-node-gpu.js event: image -2022-08-21 15:22:15 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2022-08-21 15:22:15 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-21 15:22:15 DATA:  test-node-gpu.js result: performance: load: null total: 164 -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: details face length 1 -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: details face score 1 0.93 1 -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: details face age/gender 23.7 female 0.97 85.47 -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: details face arrays 4 478 1024 -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: details face anti-spoofing 0.79 -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: details face liveness 0.83 -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: details body length 1 -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: details body 0.92 17 6 -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: details hand length 1 -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: details hand 0.51 0.73 point -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: details hand arrays 21 5 7 -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: details gesture length 7 -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: details gesture first {"face":0,"gesture":"facing right"} -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: details object length 1 -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: details object 0.72 person -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} -2022-08-21 15:22:15 STATE: test-node-gpu.js event: image -2022-08-21 15:22:15 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:15 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2022-08-21 15:22:16 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} -2022-08-21 15:22:16 STATE: test-node-gpu.js event: image -2022-08-21 15:22:16 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:16 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,4] dtype: float32 -2022-08-21 15:22:16 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-21 15:22:16 STATE: test-node-gpu.js event: image -2022-08-21 15:22:16 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:16 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2022-08-21 15:22:16 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796928} -2022-08-21 15:22:16 STATE: test-node-gpu.js event: image -2022-08-21 15:22:16 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:16 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,3] dtype: float32 -2022-08-21 15:22:17 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2022-08-21 15:22:17 STATE: test-node-gpu.js event: image -2022-08-21 15:22:17 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:17 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2022-08-21 15:22:17 INFO:  test-node-gpu.js test default -2022-08-21 15:22:17 STATE: test-node-gpu.js start async -2022-08-21 15:22:17 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-21 15:22:17 STATE: test-node-gpu.js event: image -2022-08-21 15:22:17 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:17 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg async -2022-08-21 15:22:17 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-21 15:22:17 DATA:  test-node-gpu.js result: performance: load: null total: 143 -2022-08-21 15:22:17 STATE: test-node-gpu.js passed: default result face match 1 female 0.97 -2022-08-21 15:22:17 INFO:  test-node-gpu.js test sync -2022-08-21 15:22:17 STATE: test-node-gpu.js start sync -2022-08-21 15:22:17 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-21 15:22:17 STATE: test-node-gpu.js event: image -2022-08-21 15:22:17 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:17 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg sync -2022-08-21 15:22:17 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-21 15:22:17 DATA:  test-node-gpu.js result: performance: load: null total: 138 -2022-08-21 15:22:17 STATE: test-node-gpu.js passed: default sync 1 female 0.97 -2022-08-21 15:22:17 INFO:  test-node-gpu.js test: image process -2022-08-21 15:22:17 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-21 15:22:17 STATE: test-node-gpu.js passed: image input null [1,256,256,3] -2022-08-21 15:22:17 INFO:  test-node-gpu.js test: image null -2022-08-21 15:22:17 STATE: test-node-gpu.js passed: invalid input could not convert input to tensor -2022-08-21 15:22:17 INFO:  test-node-gpu.js test face similarity -2022-08-21 15:22:17 STATE: test-node-gpu.js start face similarity -2022-08-21 15:22:17 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-21 15:22:17 STATE: test-node-gpu.js event: image -2022-08-21 15:22:17 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:17 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face similarity -2022-08-21 15:22:17 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-21 15:22:17 DATA:  test-node-gpu.js result: performance: load: null total: 142 -2022-08-21 15:22:17 STATE: test-node-gpu.js start face similarity -2022-08-21 15:22:18 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-21 15:22:18 STATE: test-node-gpu.js event: image -2022-08-21 15:22:18 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:18 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg face similarity -2022-08-21 15:22:18 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-21 15:22:18 DATA:  test-node-gpu.js result: performance: load: null total: 143 -2022-08-21 15:22:18 STATE: test-node-gpu.js start face similarity -2022-08-21 15:22:18 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-21 15:22:18 STATE: test-node-gpu.js event: image -2022-08-21 15:22:18 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:18 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg face similarity -2022-08-21 15:22:18 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-21 15:22:18 DATA:  test-node-gpu.js result: performance: load: null total: 127 -2022-08-21 15:22:18 STATE: test-node-gpu.js passed: face descriptor -2022-08-21 15:22:18 STATE: test-node-gpu.js passed: face similarity {"similarity":[1,0.447238756461232,0.556914029877052],"descriptors":[1024,1024,1024]} -2022-08-21 15:22:18 INFO:  test-node-gpu.js test object -2022-08-21 15:22:18 STATE: test-node-gpu.js start object -2022-08-21 15:22:18 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-21 15:22:18 STATE: test-node-gpu.js event: image -2022-08-21 15:22:18 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:18 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg object -2022-08-21 15:22:18 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-21 15:22:18 DATA:  test-node-gpu.js result: performance: load: null total: 134 -2022-08-21 15:22:18 STATE: test-node-gpu.js passed: centernet -2022-08-21 15:22:18 STATE: test-node-gpu.js start object -2022-08-21 15:22:19 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-21 15:22:19 STATE: test-node-gpu.js event: image -2022-08-21 15:22:20 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:20 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg object -2022-08-21 15:22:20 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 3 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-21 15:22:20 DATA:  test-node-gpu.js result: performance: load: null total: 660 -2022-08-21 15:22:20 STATE: test-node-gpu.js passed: nanodet -2022-08-21 15:22:20 INFO:  test-node-gpu.js test sensitive -2022-08-21 15:22:20 STATE: test-node-gpu.js start sensitive -2022-08-21 15:22:20 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-21 15:22:20 STATE: test-node-gpu.js event: image -2022-08-21 15:22:20 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:20 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg sensitive -2022-08-21 15:22:20 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-21 15:22:20 DATA:  test-node-gpu.js result: performance: load: null total: 95 -2022-08-21 15:22:20 STATE: test-node-gpu.js passed: sensitive result match -2022-08-21 15:22:20 STATE: test-node-gpu.js passed: sensitive face result match -2022-08-21 15:22:20 STATE: test-node-gpu.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] -2022-08-21 15:22:20 STATE: test-node-gpu.js passed: sensitive body result match -2022-08-21 15:22:20 STATE: test-node-gpu.js passed: sensitive hand result match -2022-08-21 15:22:20 INFO:  test-node-gpu.js test body -2022-08-21 15:22:20 STATE: test-node-gpu.js start blazepose -2022-08-21 15:22:22 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-21 15:22:22 STATE: test-node-gpu.js event: image -2022-08-21 15:22:22 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:22 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg blazepose -2022-08-21 15:22:22 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-21 15:22:22 DATA:  test-node-gpu.js result: performance: load: null total: 221 -2022-08-21 15:22:22 STATE: test-node-gpu.js passed: blazepose -2022-08-21 15:22:22 STATE: test-node-gpu.js start efficientpose -2022-08-21 15:22:22 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-21 15:22:22 STATE: test-node-gpu.js event: image -2022-08-21 15:22:23 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:23 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg efficientpose -2022-08-21 15:22:23 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-21 15:22:23 DATA:  test-node-gpu.js result: performance: load: null total: 739 -2022-08-21 15:22:23 STATE: test-node-gpu.js passed: efficientpose -2022-08-21 15:22:23 STATE: test-node-gpu.js start posenet -2022-08-21 15:22:23 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-21 15:22:23 STATE: test-node-gpu.js event: image -2022-08-21 15:22:23 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:23 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg posenet -2022-08-21 15:22:23 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-21 15:22:23 DATA:  test-node-gpu.js result: performance: load: null total: 137 -2022-08-21 15:22:23 STATE: test-node-gpu.js passed: posenet -2022-08-21 15:22:23 STATE: test-node-gpu.js start movenet -2022-08-21 15:22:24 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-21 15:22:24 STATE: test-node-gpu.js event: image -2022-08-21 15:22:24 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:24 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg movenet -2022-08-21 15:22:24 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-21 15:22:24 DATA:  test-node-gpu.js result: performance: load: null total: 108 -2022-08-21 15:22:24 STATE: test-node-gpu.js passed: movenet -2022-08-21 15:22:24 INFO:  test-node-gpu.js test face matching -2022-08-21 15:22:24 STATE: test-node-gpu.js passed: face database 40 -2022-08-21 15:22:24 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-21 15:22:24 INFO:  test-node-gpu.js test face similarity alternative -2022-08-21 15:22:24 STATE: test-node-gpu.js start face embeddings -2022-08-21 15:22:24 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-21 15:22:24 STATE: test-node-gpu.js event: image -2022-08-21 15:22:24 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:24 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-21 15:22:24 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-21 15:22:24 DATA:  test-node-gpu.js result: performance: load: null total: 137 -2022-08-21 15:22:24 STATE: test-node-gpu.js passed: mobilefacenet {"embedding":192} -2022-08-21 15:22:24 STATE: test-node-gpu.js start face embeddings -2022-08-21 15:22:25 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-21 15:22:25 STATE: test-node-gpu.js event: image -2022-08-21 15:22:25 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:25 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-21 15:22:25 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-21 15:22:25 DATA:  test-node-gpu.js result: performance: load: null total: 163 -2022-08-21 15:22:25 STATE: test-node-gpu.js passed: insightface {"embedding":512} -2022-08-21 15:22:25 INFO:  test-node-gpu.js test face attention -2022-08-21 15:22:25 STATE: test-node-gpu.js start face attention -2022-08-21 15:22:25 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-21 15:22:25 STATE: test-node-gpu.js event: image -2022-08-21 15:22:25 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:25 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face attention -2022-08-21 15:22:25 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-21 15:22:25 DATA:  test-node-gpu.js result: performance: load: null total: 224 -2022-08-21 15:22:25 STATE: test-node-gpu.js passed: face attention -2022-08-21 15:22:25 INFO:  test-node-gpu.js test detectors -2022-08-21 15:22:25 STATE: test-node-gpu.js start detectors -2022-08-21 15:22:25 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-21 15:22:25 STATE: test-node-gpu.js event: image -2022-08-21 15:22:25 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:25 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg detectors -2022-08-21 15:22:25 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-21 15:22:25 DATA:  test-node-gpu.js result: performance: load: null total: 53 -2022-08-21 15:22:25 STATE: test-node-gpu.js passed: detector result face match -2022-08-21 15:22:25 STATE: test-node-gpu.js passed: detector result hand match -2022-08-21 15:22:25 INFO:  test-node-gpu.js test: multi-instance -2022-08-21 15:22:25 STATE: test-node-gpu.js start multi instance -2022-08-21 15:22:25 STATE: test-node-gpu.js event: image -2022-08-21 15:22:26 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:26 STATE: test-node-gpu.js passed: detect: random multi instance -2022-08-21 15:22:26 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} -2022-08-21 15:22:26 DATA:  test-node-gpu.js result: performance: load: null total: 50 -2022-08-21 15:22:26 INFO:  test-node-gpu.js test: first instance -2022-08-21 15:22:26 STATE: test-node-gpu.js start multi instance -2022-08-21 15:22:26 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-21 15:22:26 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-21 15:22:26 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-21 15:22:26 DATA:  test-node-gpu.js result: performance: load: null total: 48 -2022-08-21 15:22:26 INFO:  test-node-gpu.js test: second instance -2022-08-21 15:22:26 STATE: test-node-gpu.js start multi instance -2022-08-21 15:22:26 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-21 15:22:26 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-21 15:22:26 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-21 15:22:26 DATA:  test-node-gpu.js result: performance: load: null total: 47 -2022-08-21 15:22:26 INFO:  test-node-gpu.js test: concurrent -2022-08-21 15:22:26 STATE: test-node-gpu.js start concurrent -2022-08-21 15:22:26 STATE: test-node-gpu.js start concurrent -2022-08-21 15:22:26 STATE: test-node-gpu.js start concurrent -2022-08-21 15:22:26 STATE: test-node-gpu.js start concurrent -2022-08-21 15:22:26 STATE: test-node-gpu.js start concurrent -2022-08-21 15:22:26 STATE: test-node-gpu.js start concurrent -2022-08-21 15:22:26 STATE: test-node-gpu.js start concurrent -2022-08-21 15:22:26 STATE: test-node-gpu.js start concurrent -2022-08-21 15:22:26 STATE: test-node-gpu.js start concurrent -2022-08-21 15:22:26 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-21 15:22:26 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-21 15:22:26 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-21 15:22:26 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-21 15:22:26 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-21 15:22:26 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-21 15:22:26 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-21 15:22:26 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-21 15:22:27 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-21 15:22:27 STATE: test-node-gpu.js event: image -2022-08-21 15:22:27 STATE: test-node-gpu.js event: image -2022-08-21 15:22:27 STATE: test-node-gpu.js event: image -2022-08-21 15:22:27 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-21 15:22:27 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-21 15:22:27 DATA:  test-node-gpu.js result: performance: load: null total: 689 -2022-08-21 15:22:27 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-21 15:22:27 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-21 15:22:27 DATA:  test-node-gpu.js result: performance: load: null total: 689 -2022-08-21 15:22:27 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-21 15:22:27 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-21 15:22:27 DATA:  test-node-gpu.js result: performance: load: null total: 689 -2022-08-21 15:22:27 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-21 15:22:27 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-21 15:22:27 DATA:  test-node-gpu.js result: performance: load: null total: 689 -2022-08-21 15:22:27 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-21 15:22:27 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-21 15:22:27 DATA:  test-node-gpu.js result: performance: load: null total: 689 -2022-08-21 15:22:27 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-21 15:22:27 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-21 15:22:27 DATA:  test-node-gpu.js result: performance: load: null total: 689 -2022-08-21 15:22:27 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:27 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-21 15:22:27 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-21 15:22:27 DATA:  test-node-gpu.js result: performance: load: null total: 420 -2022-08-21 15:22:27 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:27 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:27 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-21 15:22:27 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-21 15:22:27 DATA:  test-node-gpu.js result: performance: load: null total: 420 -2022-08-21 15:22:27 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-21 15:22:27 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-21 15:22:27 DATA:  test-node-gpu.js result: performance: load: null total: 420 -2022-08-21 15:22:27 INFO:  test-node-gpu.js test: monkey-patch -2022-08-21 15:22:27 STATE: test-node-gpu.js event: image -2022-08-21 15:22:27 STATE: test-node-gpu.js event: detect -2022-08-21 15:22:27 STATE: test-node-gpu.js passed: monkey patch -2022-08-21 15:22:27 STATE: test-node-gpu.js passed: segmentation [65536] -2022-08-21 15:22:27 STATE: test-node-gpu.js passeed: equal usage -2022-08-21 15:22:27 INFO:  test-node-gpu.js test: input compare -2022-08-21 15:22:27 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-21 15:22:27 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-21 15:22:27 STATE: test-node-gpu.js passed: image compare 0 23.275441687091504 -2022-08-21 15:22:27 INFO:  test-node-gpu.js events: {"image":29,"detect":29,"warmup":2} -2022-08-21 15:22:27 INFO:  test-node-gpu.js tensors 4105 -2022-08-21 15:22:27 INFO:  test-node-gpu.js test complete: 17207 ms -2022-08-21 15:22:28 INFO:  -2022-08-21 15:22:28 INFO:  test-node-wasm.js start -2022-08-21 15:22:30 DATA:  test-node-wasm.js stdout: 2022-08-21 15:22:30 INFO:  { supported: true, backend: true, simd: true, multithread: false } -2022-08-21 15:22:30 STATE: test-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/ -2022-08-21 15:22:30 INFO:  test-node-wasm.js test: configuration validation -2022-08-21 15:22:30 STATE: test-node-wasm.js passed: configuration default validation [] -2022-08-21 15:22:30 STATE: test-node-wasm.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2022-08-21 15:22:30 INFO:  test-node-wasm.js test: model load -2022-08-21 15:22:32 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-21 15:22:32 INFO:  test-node-wasm.js test: warmup -2022-08-21 15:22:32 STATE: test-node-wasm.js passed: create human -2022-08-21 15:22:32 INFO:  test-node-wasm.js human version: 2.9.4 -2022-08-21 15:22:32 INFO:  test-node-wasm.js platform: linux x64 agent: NodeJS v18.1.0 -2022-08-21 15:22:32 INFO:  test-node-wasm.js tfjs version: 3.19.0 -2022-08-21 15:22:32 INFO:  test-node-wasm.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","wasm"],"initial":false,"tfjs":{"version":"3.19.0"},"offscreen":false,"perfadd":false,"tensorflow":{},"wasm":{"supported":true,"backend":true,"simd":true,"multithread":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":126} -2022-08-21 15:22:32 STATE: test-node-wasm.js passed: set backend: wasm -2022-08-21 15:22:32 STATE: test-node-wasm.js tensors 1921 -2022-08-21 15:22:32 STATE: test-node-wasm.js passed: load models -2022-08-21 15:22:32 STATE: test-node-wasm.js result: defined models: 23 loaded models: 12 -2022-08-21 15:22:32 STATE: test-node-wasm.js passed: warmup: none default -2022-08-21 15:22:32 DATA:  test-node-wasm.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2022-08-21 15:22:32 DATA:  test-node-wasm.js result: performance: load: null total: null -2022-08-21 15:22:32 STATE: test-node-wasm.js passed: warmup none result match -2022-08-21 15:22:32 STATE: test-node-wasm.js event: image -2022-08-21 15:22:33 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:33 STATE: test-node-wasm.js event: warmup -2022-08-21 15:22:33 STATE: test-node-wasm.js passed: warmup: face default -2022-08-21 15:22:33 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-21 15:22:33 DATA:  test-node-wasm.js result: performance: load: null total: 500 -2022-08-21 15:22:33 STATE: test-node-wasm.js passed: warmup face result match -2022-08-21 15:22:33 STATE: test-node-wasm.js event: image -2022-08-21 15:22:33 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:33 STATE: test-node-wasm.js event: warmup -2022-08-21 15:22:33 STATE: test-node-wasm.js passed: warmup: body default -2022-08-21 15:22:33 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-21 15:22:33 DATA:  test-node-wasm.js result: performance: load: null total: 352 -2022-08-21 15:22:33 STATE: test-node-wasm.js passed: warmup body result match -2022-08-21 15:22:33 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-21 15:22:33 INFO:  test-node-wasm.js test: details verification -2022-08-21 15:22:33 STATE: test-node-wasm.js start default -2022-08-21 15:22:33 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-21 15:22:33 STATE: test-node-wasm.js event: image -2022-08-21 15:22:34 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2022-08-21 15:22:34 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-21 15:22:34 DATA:  test-node-wasm.js result: performance: load: null total: 332 -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: details face length 1 -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: details face score 1 0.93 1 -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: details face age/gender 23.7 female 0.97 85.47 -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: details face arrays 4 478 1024 -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: details face anti-spoofing 0.79 -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: details face liveness 0.83 -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: details body length 1 -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: details body 0.92 17 6 -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: details hand length 1 -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: details hand 0.51 0.73 point -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: details hand arrays 21 5 7 -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: details gesture length 7 -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: details gesture first {"face":0,"gesture":"facing right"} -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: details object length 1 -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: details object 0.72 person -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1413675264} -2022-08-21 15:22:34 STATE: test-node-wasm.js event: image -2022-08-21 15:22:34 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:34 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2022-08-21 15:22:35 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1413675264} -2022-08-21 15:22:35 STATE: test-node-wasm.js event: image -2022-08-21 15:22:35 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:35 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,4] dtype: float32 -2022-08-21 15:22:35 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-21 15:22:35 STATE: test-node-wasm.js event: image -2022-08-21 15:22:35 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:35 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2022-08-21 15:22:36 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1038921856} -2022-08-21 15:22:36 STATE: test-node-wasm.js event: image -2022-08-21 15:22:36 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:36 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,3] dtype: float32 -2022-08-21 15:22:36 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2022-08-21 15:22:36 STATE: test-node-wasm.js event: image -2022-08-21 15:22:37 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:37 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2022-08-21 15:22:37 INFO:  test-node-wasm.js test default -2022-08-21 15:22:37 STATE: test-node-wasm.js start async -2022-08-21 15:22:37 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-21 15:22:37 STATE: test-node-wasm.js event: image -2022-08-21 15:22:37 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:37 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg async -2022-08-21 15:22:37 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-21 15:22:37 DATA:  test-node-wasm.js result: performance: load: null total: 307 -2022-08-21 15:22:37 STATE: test-node-wasm.js passed: default result face match 1 female 0.97 -2022-08-21 15:22:37 INFO:  test-node-wasm.js test sync -2022-08-21 15:22:37 STATE: test-node-wasm.js start sync -2022-08-21 15:22:37 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-21 15:22:37 STATE: test-node-wasm.js event: image -2022-08-21 15:22:38 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:38 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg sync -2022-08-21 15:22:38 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-21 15:22:38 DATA:  test-node-wasm.js result: performance: load: null total: 308 -2022-08-21 15:22:38 STATE: test-node-wasm.js passed: default sync 1 female 0.97 -2022-08-21 15:22:38 INFO:  test-node-wasm.js test: image process -2022-08-21 15:22:38 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-21 15:22:38 STATE: test-node-wasm.js passed: image input null [1,256,256,3] -2022-08-21 15:22:38 INFO:  test-node-wasm.js test: image null -2022-08-21 15:22:38 STATE: test-node-wasm.js passed: invalid input could not convert input to tensor -2022-08-21 15:22:38 INFO:  test-node-wasm.js test face similarity -2022-08-21 15:22:38 STATE: test-node-wasm.js start face similarity -2022-08-21 15:22:38 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-21 15:22:38 STATE: test-node-wasm.js event: image -2022-08-21 15:22:38 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:38 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face similarity -2022-08-21 15:22:38 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-21 15:22:38 DATA:  test-node-wasm.js result: performance: load: null total: 288 -2022-08-21 15:22:38 STATE: test-node-wasm.js start face similarity -2022-08-21 15:22:38 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-21 15:22:38 STATE: test-node-wasm.js event: image -2022-08-21 15:22:38 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:38 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg face similarity -2022-08-21 15:22:38 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-21 15:22:38 DATA:  test-node-wasm.js result: performance: load: null total: 312 -2022-08-21 15:22:38 STATE: test-node-wasm.js start face similarity -2022-08-21 15:22:39 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-21 15:22:39 STATE: test-node-wasm.js event: image -2022-08-21 15:22:39 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:39 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg face similarity -2022-08-21 15:22:39 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-21 15:22:39 DATA:  test-node-wasm.js result: performance: load: null total: 281 -2022-08-21 15:22:39 STATE: test-node-wasm.js passed: face descriptor -2022-08-21 15:22:39 STATE: test-node-wasm.js passed: face similarity {"similarity":[1,0.5266119940661309,0.4858842904087851],"descriptors":[1024,1024,1024]} -2022-08-21 15:22:39 INFO:  test-node-wasm.js test object -2022-08-21 15:22:39 STATE: test-node-wasm.js start object -2022-08-21 15:22:39 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-21 15:22:39 STATE: test-node-wasm.js event: image -2022-08-21 15:22:39 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:39 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg object -2022-08-21 15:22:39 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-21 15:22:39 DATA:  test-node-wasm.js result: performance: load: null total: 301 -2022-08-21 15:22:39 STATE: test-node-wasm.js passed: centernet -2022-08-21 15:22:39 STATE: test-node-wasm.js start object -2022-08-21 15:22:40 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-21 15:22:40 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-21 15:22:40 STATE: test-node-wasm.js event: image -2022-08-21 15:22:41 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:41 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg object -2022-08-21 15:22:41 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-21 15:22:41 DATA:  test-node-wasm.js result: performance: load: null total: 205 -2022-08-21 15:22:41 ERROR: test-node-wasm.js failed: nanodet [] -2022-08-21 15:22:41 INFO:  test-node-wasm.js test sensitive -2022-08-21 15:22:41 STATE: test-node-wasm.js start sensitive -2022-08-21 15:22:41 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-21 15:22:41 STATE: test-node-wasm.js event: image -2022-08-21 15:22:41 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:41 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg sensitive -2022-08-21 15:22:41 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-21 15:22:41 DATA:  test-node-wasm.js result: performance: load: null total: 230 -2022-08-21 15:22:41 STATE: test-node-wasm.js passed: sensitive result match -2022-08-21 15:22:41 STATE: test-node-wasm.js passed: sensitive face result match -2022-08-21 15:22:41 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-21 15:22:41 STATE: test-node-wasm.js passed: sensitive body result match -2022-08-21 15:22:41 STATE: test-node-wasm.js passed: sensitive hand result match -2022-08-21 15:22:41 INFO:  test-node-wasm.js test body -2022-08-21 15:22:41 STATE: test-node-wasm.js start blazepose -2022-08-21 15:22:43 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-21 15:22:43 STATE: test-node-wasm.js event: image -2022-08-21 15:22:43 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:43 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg blazepose -2022-08-21 15:22:43 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-21 15:22:43 DATA:  test-node-wasm.js result: performance: load: null total: 400 -2022-08-21 15:22:43 STATE: test-node-wasm.js passed: blazepose -2022-08-21 15:22:43 STATE: test-node-wasm.js start efficientpose -2022-08-21 15:22:44 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-21 15:22:44 STATE: test-node-wasm.js event: image -2022-08-21 15:22:44 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:44 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg efficientpose -2022-08-21 15:22:44 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-21 15:22:44 DATA:  test-node-wasm.js result: performance: load: null total: 620 -2022-08-21 15:22:44 STATE: test-node-wasm.js passed: efficientpose -2022-08-21 15:22:44 STATE: test-node-wasm.js start posenet -2022-08-21 15:22:45 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-21 15:22:45 STATE: test-node-wasm.js event: image -2022-08-21 15:22:45 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:45 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg posenet -2022-08-21 15:22:45 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-21 15:22:45 DATA:  test-node-wasm.js result: performance: load: null total: 278 -2022-08-21 15:22:45 STATE: test-node-wasm.js passed: posenet -2022-08-21 15:22:45 STATE: test-node-wasm.js start movenet -2022-08-21 15:22:45 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-21 15:22:45 STATE: test-node-wasm.js event: image -2022-08-21 15:22:46 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:46 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg movenet -2022-08-21 15:22:46 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-21 15:22:46 DATA:  test-node-wasm.js result: performance: load: null total: 239 -2022-08-21 15:22:46 STATE: test-node-wasm.js passed: movenet -2022-08-21 15:22:46 INFO:  test-node-wasm.js test face matching -2022-08-21 15:22:46 STATE: test-node-wasm.js passed: face database 40 -2022-08-21 15:22:46 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-21 15:22:46 INFO:  test-node-wasm.js test face similarity alternative -2022-08-21 15:22:46 STATE: test-node-wasm.js start face embeddings -2022-08-21 15:22:46 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-21 15:22:46 STATE: test-node-wasm.js event: image -2022-08-21 15:22:46 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:46 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-21 15:22:46 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-21 15:22:46 DATA:  test-node-wasm.js result: performance: load: null total: 229 -2022-08-21 15:22:46 STATE: test-node-wasm.js passed: mobilefacenet {"embedding":192} -2022-08-21 15:22:46 STATE: test-node-wasm.js start face embeddings -2022-08-21 15:22:47 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-21 15:22:47 STATE: test-node-wasm.js event: image -2022-08-21 15:22:47 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:47 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-21 15:22:47 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-21 15:22:47 DATA:  test-node-wasm.js result: performance: load: null total: 279 -2022-08-21 15:22:47 STATE: test-node-wasm.js passed: insightface {"embedding":512} -2022-08-21 15:22:47 INFO:  test-node-wasm.js test face attention -2022-08-21 15:22:47 STATE: test-node-wasm.js start face attention -2022-08-21 15:22:47 WARN:  test-node-wasm.js missing kernel ops {"title":"face attention","model":"facemesh","url":"https://vladmandic.github.io/human-models/models/facemesh-attention.json","missing":["atan2"],"backkend":"wasm"} -2022-08-21 15:22:47 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-21 15:22:47 STATE: test-node-wasm.js event: image -2022-08-21 15:22:47 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:47 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face attention -2022-08-21 15:22:47 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-21 15:22:47 DATA:  test-node-wasm.js result: performance: load: null total: 115 -2022-08-21 15:22:47 ERROR: test-node-wasm.js failed: face attention {"annotations":0} -2022-08-21 15:22:47 INFO:  test-node-wasm.js test detectors -2022-08-21 15:22:47 STATE: test-node-wasm.js start detectors -2022-08-21 15:22:48 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-21 15:22:48 STATE: test-node-wasm.js event: image -2022-08-21 15:22:48 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:48 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg detectors -2022-08-21 15:22:48 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-21 15:22:48 DATA:  test-node-wasm.js result: performance: load: null total: 116 -2022-08-21 15:22:48 STATE: test-node-wasm.js passed: detector result face match -2022-08-21 15:22:48 STATE: test-node-wasm.js passed: detector result hand match -2022-08-21 15:22:48 INFO:  test-node-wasm.js test: multi-instance -2022-08-21 15:22:48 STATE: test-node-wasm.js start multi instance -2022-08-21 15:22:48 STATE: test-node-wasm.js event: image -2022-08-21 15:22:48 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:48 STATE: test-node-wasm.js passed: detect: random multi instance -2022-08-21 15:22:48 DATA:  test-node-wasm.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} -2022-08-21 15:22:48 DATA:  test-node-wasm.js result: performance: load: null total: 102 -2022-08-21 15:22:48 INFO:  test-node-wasm.js test: first instance -2022-08-21 15:22:48 STATE: test-node-wasm.js start multi instance -2022-08-21 15:22:48 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-21 15:22:48 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-21 15:22:48 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-21 15:22:48 DATA:  test-node-wasm.js result: performance: load: null total: 107 -2022-08-21 15:22:48 INFO:  test-node-wasm.js test: second instance -2022-08-21 15:22:48 STATE: test-node-wasm.js start multi instance -2022-08-21 15:22:48 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-21 15:22:48 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-21 15:22:48 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-21 15:22:48 DATA:  test-node-wasm.js result: performance: load: null total: 107 -2022-08-21 15:22:48 INFO:  test-node-wasm.js test: concurrent -2022-08-21 15:22:48 STATE: test-node-wasm.js start concurrent -2022-08-21 15:22:48 STATE: test-node-wasm.js start concurrent -2022-08-21 15:22:48 STATE: test-node-wasm.js start concurrent -2022-08-21 15:22:48 STATE: test-node-wasm.js start concurrent -2022-08-21 15:22:48 STATE: test-node-wasm.js start concurrent -2022-08-21 15:22:48 STATE: test-node-wasm.js start concurrent -2022-08-21 15:22:48 STATE: test-node-wasm.js start concurrent -2022-08-21 15:22:48 STATE: test-node-wasm.js start concurrent -2022-08-21 15:22:48 STATE: test-node-wasm.js start concurrent -2022-08-21 15:22:48 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-21 15:22:48 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-21 15:22:49 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-21 15:22:49 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-21 15:22:49 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-21 15:22:49 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-21 15:22:49 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-21 15:22:49 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-21 15:22:49 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-21 15:22:49 STATE: test-node-wasm.js event: image -2022-08-21 15:22:49 STATE: test-node-wasm.js event: image -2022-08-21 15:22:49 STATE: test-node-wasm.js event: image -2022-08-21 15:22:50 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-21 15:22:50 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-21 15:22:50 DATA:  test-node-wasm.js result: performance: load: null total: 1243 -2022-08-21 15:22:50 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-21 15:22:50 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-21 15:22:50 DATA:  test-node-wasm.js result: performance: load: null total: 1243 -2022-08-21 15:22:50 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-21 15:22:50 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-21 15:22:50 DATA:  test-node-wasm.js result: performance: load: null total: 1244 -2022-08-21 15:22:50 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-21 15:22:50 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-21 15:22:50 DATA:  test-node-wasm.js result: performance: load: null total: 1244 -2022-08-21 15:22:50 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-21 15:22:50 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-21 15:22:50 DATA:  test-node-wasm.js result: performance: load: null total: 1244 -2022-08-21 15:22:50 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-21 15:22:50 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-21 15:22:50 DATA:  test-node-wasm.js result: performance: load: null total: 1244 -2022-08-21 15:22:50 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:50 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-21 15:22:50 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-21 15:22:50 DATA:  test-node-wasm.js result: performance: load: null total: 940 -2022-08-21 15:22:50 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:50 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:50 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-21 15:22:50 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-21 15:22:50 DATA:  test-node-wasm.js result: performance: load: null total: 940 -2022-08-21 15:22:50 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-21 15:22:50 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-21 15:22:50 DATA:  test-node-wasm.js result: performance: load: null total: 940 -2022-08-21 15:22:50 INFO:  test-node-wasm.js test: monkey-patch -2022-08-21 15:22:50 STATE: test-node-wasm.js event: image -2022-08-21 15:22:50 STATE: test-node-wasm.js event: detect -2022-08-21 15:22:50 STATE: test-node-wasm.js passed: monkey patch -2022-08-21 15:22:50 STATE: test-node-wasm.js passed: segmentation [65536] -2022-08-21 15:22:50 STATE: test-node-wasm.js passeed: equal usage -2022-08-21 15:22:50 INFO:  test-node-wasm.js test: input compare -2022-08-21 15:22:50 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-21 15:22:51 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-21 15:22:51 STATE: test-node-wasm.js passed: image compare 0 23.280073018790848 -2022-08-21 15:22:51 INFO:  test-node-wasm.js events: {"image":29,"detect":29,"warmup":2} -2022-08-21 15:22:51 INFO:  test-node-wasm.js tensors 4107 -2022-08-21 15:22:51 INFO:  test-node-wasm.js test complete: 20492 ms -2022-08-21 15:22:51 STATE: all tests complete -2022-08-21 15:22:51 INFO:  status {"test":"../demo/nodejs/node.js","passed":1,"failed":0} -2022-08-21 15:22:51 INFO:  status {"test":"../demo/nodejs/node-simple.js","passed":1,"failed":0} -2022-08-21 15:22:51 INFO:  status {"test":"../demo/nodejs/node-fetch.js","passed":1,"failed":0} -2022-08-21 15:22:51 INFO:  status {"test":"../demo/nodejs/node-event.js","passed":1,"failed":0} -2022-08-21 15:22:51 INFO:  status {"test":"../demo/nodejs/node-similarity.js","passed":1,"failed":0} -2022-08-21 15:22:51 INFO:  status {"test":"../demo/nodejs/node-canvas.js","passed":1,"failed":0} -2022-08-21 15:22:51 INFO:  status {"test":"../demo/multithread/node-multiprocess.js","passed":1,"failed":0} -2022-08-21 15:22:51 INFO:  status {"test":"../demo/facematch/node-match.js","passed":1,"failed":0} -2022-08-21 15:22:51 INFO:  status {"test":"test-node.js","passed":125,"failed":0} -2022-08-21 15:22:51 INFO:  status {"test":"test-node-gpu.js","passed":125,"failed":0} -2022-08-21 15:22:51 INFO:  status {"test":"test-node-wasm.js","passed":124,"failed":2} -2022-08-21 15:22:51 INFO:  failures {"count":2} -2022-08-21 15:22:51 WARN:  failed {"test":"test-node-wasm.js","message":["error",["failed: nanodet",[]]]} -2022-08-21 15:22:51 WARN:  failed {"test":"test-node-wasm.js","message":["error",["failed: face attention",{"annotations":0}]]} +2022-08-24 08:09:14 INFO:  @vladmandic/human version 2.9.4 +2022-08-24 08:09:14 INFO:  User: vlado Platform: linux Arch: x64 Node: v18.1.0 +2022-08-24 08:09:14 INFO:  demos: [{"cmd":"../demo/nodejs/node.js","args":[]},{"cmd":"../demo/nodejs/node-simple.js","args":[]},{"cmd":"../demo/nodejs/node-fetch.js","args":[]},{"cmd":"../demo/nodejs/node-event.js","args":["samples/in/ai-body.jpg"]},{"cmd":"../demo/nodejs/node-similarity.js","args":["samples/in/ai-face.jpg","samples/in/ai-upper.jpg"]},{"cmd":"../demo/nodejs/node-canvas.js","args":["samples/in/ai-body.jpg","samples/out/ai-body.jpg"]},{"cmd":"../demo/multithread/node-multiprocess.js","args":[]},{"cmd":"../demo/facematch/node-match.js","args":[]}] +2022-08-24 08:09:14 INFO:  {"cmd":"../demo/nodejs/node.js","args":[]} start +2022-08-24 08:09:15 INFO:  {"cmd":"../demo/nodejs/node-simple.js","args":[]} start +2022-08-24 08:09:15 INFO:  {"cmd":"../demo/nodejs/node-fetch.js","args":[]} start +2022-08-24 08:09:18 INFO:  {"cmd":"../demo/nodejs/node-event.js","args":["samples/in/ai-body.jpg"]} start +2022-08-24 08:09:18 INFO:  {"cmd":"../demo/nodejs/node-similarity.js","args":["samples/in/ai-face.jpg","samples/in/ai-upper.jpg"]} start +2022-08-24 08:09:19 INFO:  {"cmd":"../demo/nodejs/node-canvas.js","args":["samples/in/ai-body.jpg","samples/out/ai-body.jpg"]} start +2022-08-24 08:09:19 INFO:  {"cmd":"../demo/multithread/node-multiprocess.js","args":[]} start +2022-08-24 08:09:20 INFO:  {"cmd":"../demo/facematch/node-match.js","args":[]} start +2022-08-24 08:09:22 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"] +2022-08-24 08:09:22 INFO:  +2022-08-24 08:09:22 INFO:  test-node.js start +2022-08-24 08:09:23 INFO:  test-node.js test: configuration validation +2022-08-24 08:09:23 STATE: test-node.js passed: configuration default validation [] +2022-08-24 08:09:23 STATE: test-node.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2022-08-24 08:09:23 INFO:  test-node.js test: model load +2022-08-24 08:09:23 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-24 08:09:23 INFO:  test-node.js memory: {"memory":{"unreliable":true,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} +2022-08-24 08:09:23 INFO:  test-node.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} +2022-08-24 08:09:23 INFO:  test-node.js test: warmup +2022-08-24 08:09:23 STATE: test-node.js passed: create human +2022-08-24 08:09:23 INFO:  test-node.js human version: 2.9.4 +2022-08-24 08:09:23 INFO:  test-node.js platform: linux x64 agent: NodeJS v18.1.0 +2022-08-24 08:09:23 INFO:  test-node.js tfjs version: 3.20.0 +2022-08-24 08:09:23 INFO:  test-node.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","tensorflow"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{"version":"2.7.3-dev20220521","gpu":false},"wasm":{"supported":true,"backend":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":169} +2022-08-24 08:09:23 STATE: test-node.js passed: set backend: tensorflow +2022-08-24 08:09:23 STATE: test-node.js tensors 1921 +2022-08-24 08:09:23 STATE: test-node.js passed: load models +2022-08-24 08:09:23 STATE: test-node.js result: defined models: 23 loaded models: 12 +2022-08-24 08:09:23 STATE: test-node.js passed: warmup: none default +2022-08-24 08:09:23 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2022-08-24 08:09:23 DATA:  test-node.js result: performance: load: null total: null +2022-08-24 08:09:23 STATE: test-node.js passed: warmup none result match +2022-08-24 08:09:23 STATE: test-node.js event: image +2022-08-24 08:09:23 STATE: test-node.js event: detect +2022-08-24 08:09:23 STATE: test-node.js event: warmup +2022-08-24 08:09:23 STATE: test-node.js passed: warmup: face default +2022-08-24 08:09:23 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-24 08:09:23 DATA:  test-node.js result: performance: load: null total: 364 +2022-08-24 08:09:23 STATE: test-node.js passed: warmup face result match +2022-08-24 08:09:23 STATE: test-node.js event: image +2022-08-24 08:09:23 STATE: test-node.js event: detect +2022-08-24 08:09:23 STATE: test-node.js event: warmup +2022-08-24 08:09:23 STATE: test-node.js passed: warmup: body default +2022-08-24 08:09:23 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-24 08:09:23 DATA:  test-node.js result: performance: load: null total: 243 +2022-08-24 08:09:23 STATE: test-node.js passed: warmup body result match +2022-08-24 08:09:23 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-24 08:09:23 INFO:  test-node.js test: details verification +2022-08-24 08:09:23 STATE: test-node.js start default +2022-08-24 08:09:23 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-24 08:09:23 STATE: test-node.js event: image +2022-08-24 08:09:24 STATE: test-node.js event: detect +2022-08-24 08:09:24 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2022-08-24 08:09:24 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-24 08:09:24 DATA:  test-node.js result: performance: load: null total: 232 +2022-08-24 08:09:24 STATE: test-node.js passed: details face length 1 +2022-08-24 08:09:24 STATE: test-node.js passed: details face score 1 0.93 1 +2022-08-24 08:09:24 STATE: test-node.js passed: details face age/gender 23.7 female 0.97 85.47 +2022-08-24 08:09:24 STATE: test-node.js passed: details face arrays 4 478 1024 +2022-08-24 08:09:24 STATE: test-node.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} +2022-08-24 08:09:24 STATE: test-node.js passed: details face anti-spoofing 0.79 +2022-08-24 08:09:24 STATE: test-node.js passed: details face liveness 0.83 +2022-08-24 08:09:24 STATE: test-node.js passed: details body length 1 +2022-08-24 08:09:24 STATE: test-node.js passed: details body 0.92 17 6 +2022-08-24 08:09:24 STATE: test-node.js passed: details hand length 1 +2022-08-24 08:09:24 STATE: test-node.js passed: details hand 0.51 0.73 point +2022-08-24 08:09:24 STATE: test-node.js passed: details hand arrays 21 5 7 +2022-08-24 08:09:24 STATE: test-node.js passed: details gesture length 7 +2022-08-24 08:09:24 STATE: test-node.js passed: details gesture first {"face":0,"gesture":"facing right"} +2022-08-24 08:09:24 STATE: test-node.js passed: details object length 1 +2022-08-24 08:09:24 STATE: test-node.js passed: details object 0.72 person +2022-08-24 08:09:24 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} +2022-08-24 08:09:24 STATE: test-node.js event: image +2022-08-24 08:09:24 STATE: test-node.js event: detect +2022-08-24 08:09:24 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2022-08-24 08:09:24 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} +2022-08-24 08:09:24 STATE: test-node.js event: image +2022-08-24 08:09:24 STATE: test-node.js event: detect +2022-08-24 08:09:24 STATE: test-node.js passed: tensor shape: [1200,1200,4] dtype: float32 +2022-08-24 08:09:25 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-24 08:09:25 STATE: test-node.js event: image +2022-08-24 08:09:25 STATE: test-node.js event: detect +2022-08-24 08:09:25 STATE: test-node.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2022-08-24 08:09:25 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796864} +2022-08-24 08:09:25 STATE: test-node.js event: image +2022-08-24 08:09:25 STATE: test-node.js event: detect +2022-08-24 08:09:25 STATE: test-node.js passed: tensor shape: [1200,1200,3] dtype: float32 +2022-08-24 08:09:25 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2022-08-24 08:09:25 STATE: test-node.js event: image +2022-08-24 08:09:26 STATE: test-node.js event: detect +2022-08-24 08:09:26 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2022-08-24 08:09:26 INFO:  test-node.js test default +2022-08-24 08:09:26 STATE: test-node.js start async +2022-08-24 08:09:26 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-24 08:09:26 STATE: test-node.js event: image +2022-08-24 08:09:26 STATE: test-node.js event: detect +2022-08-24 08:09:26 STATE: test-node.js passed: detect: samples/in/ai-body.jpg async +2022-08-24 08:09:26 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-24 08:09:26 DATA:  test-node.js result: performance: load: null total: 212 +2022-08-24 08:09:26 STATE: test-node.js passed: default result face match 1 female 0.97 +2022-08-24 08:09:26 INFO:  test-node.js test sync +2022-08-24 08:09:26 STATE: test-node.js start sync +2022-08-24 08:09:26 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-24 08:09:26 STATE: test-node.js event: image +2022-08-24 08:09:26 STATE: test-node.js event: detect +2022-08-24 08:09:26 STATE: test-node.js passed: detect: samples/in/ai-body.jpg sync +2022-08-24 08:09:26 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-24 08:09:26 DATA:  test-node.js result: performance: load: null total: 203 +2022-08-24 08:09:26 STATE: test-node.js passed: default sync 1 female 0.97 +2022-08-24 08:09:26 INFO:  test-node.js test: image process +2022-08-24 08:09:26 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-24 08:09:26 STATE: test-node.js passed: image input null [1,256,256,3] +2022-08-24 08:09:26 INFO:  test-node.js test: image null +2022-08-24 08:09:26 STATE: test-node.js passed: invalid input could not convert input to tensor +2022-08-24 08:09:26 INFO:  test-node.js test face similarity +2022-08-24 08:09:26 STATE: test-node.js start face similarity +2022-08-24 08:09:26 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-24 08:09:26 STATE: test-node.js event: image +2022-08-24 08:09:27 STATE: test-node.js event: detect +2022-08-24 08:09:27 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face similarity +2022-08-24 08:09:27 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-24 08:09:27 DATA:  test-node.js result: performance: load: null total: 203 +2022-08-24 08:09:27 STATE: test-node.js start face similarity +2022-08-24 08:09:27 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-24 08:09:27 STATE: test-node.js event: image +2022-08-24 08:09:27 STATE: test-node.js event: detect +2022-08-24 08:09:27 STATE: test-node.js passed: detect: samples/in/ai-body.jpg face similarity +2022-08-24 08:09:27 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-24 08:09:27 DATA:  test-node.js result: performance: load: null total: 213 +2022-08-24 08:09:27 STATE: test-node.js start face similarity +2022-08-24 08:09:27 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-24 08:09:27 STATE: test-node.js event: image +2022-08-24 08:09:27 STATE: test-node.js event: detect +2022-08-24 08:09:27 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg face similarity +2022-08-24 08:09:27 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-24 08:09:27 DATA:  test-node.js result: performance: load: null total: 185 +2022-08-24 08:09:27 STATE: test-node.js passed: face descriptor +2022-08-24 08:09:27 STATE: test-node.js passed: face similarity {"similarity":[1,0.44727452329649126,0.5567935850640406],"descriptors":[1024,1024,1024]} +2022-08-24 08:09:27 INFO:  test-node.js test object +2022-08-24 08:09:27 STATE: test-node.js start object +2022-08-24 08:09:27 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-24 08:09:27 STATE: test-node.js event: image +2022-08-24 08:09:28 STATE: test-node.js event: detect +2022-08-24 08:09:28 STATE: test-node.js passed: detect: samples/in/ai-body.jpg object +2022-08-24 08:09:28 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-24 08:09:28 DATA:  test-node.js result: performance: load: null total: 210 +2022-08-24 08:09:28 STATE: test-node.js passed: centernet +2022-08-24 08:09:28 STATE: test-node.js start object +2022-08-24 08:09:30 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-24 08:09:30 STATE: test-node.js event: image +2022-08-24 08:09:30 STATE: test-node.js event: detect +2022-08-24 08:09:30 STATE: test-node.js passed: detect: samples/in/ai-body.jpg object +2022-08-24 08:09:30 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 3 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-24 08:09:30 DATA:  test-node.js result: performance: load: null total: 213 +2022-08-24 08:09:30 STATE: test-node.js passed: nanodet +2022-08-24 08:09:30 INFO:  test-node.js test sensitive +2022-08-24 08:09:30 STATE: test-node.js start sensitive +2022-08-24 08:09:30 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-24 08:09:30 STATE: test-node.js event: image +2022-08-24 08:09:30 STATE: test-node.js event: detect +2022-08-24 08:09:30 STATE: test-node.js passed: detect: samples/in/ai-body.jpg sensitive +2022-08-24 08:09:30 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-24 08:09:30 DATA:  test-node.js result: performance: load: null total: 167 +2022-08-24 08:09:30 STATE: test-node.js passed: sensitive result match +2022-08-24 08:09:30 STATE: test-node.js passed: sensitive face result match +2022-08-24 08:09:30 STATE: test-node.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] +2022-08-24 08:09:30 STATE: test-node.js passed: sensitive body result match +2022-08-24 08:09:30 STATE: test-node.js passed: sensitive hand result match +2022-08-24 08:09:30 INFO:  test-node.js test body +2022-08-24 08:09:30 STATE: test-node.js start blazepose +2022-08-24 08:09:34 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-24 08:09:34 STATE: test-node.js event: image +2022-08-24 08:09:35 STATE: test-node.js event: detect +2022-08-24 08:09:35 STATE: test-node.js passed: detect: samples/in/ai-body.jpg blazepose +2022-08-24 08:09:35 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-24 08:09:35 DATA:  test-node.js result: performance: load: null total: 218 +2022-08-24 08:09:35 STATE: test-node.js passed: blazepose +2022-08-24 08:09:35 STATE: test-node.js start efficientpose +2022-08-24 08:09:36 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-24 08:09:36 STATE: test-node.js event: image +2022-08-24 08:09:36 STATE: test-node.js event: detect +2022-08-24 08:09:36 STATE: test-node.js passed: detect: samples/in/ai-body.jpg efficientpose +2022-08-24 08:09:36 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-24 08:09:36 DATA:  test-node.js result: performance: load: null total: 242 +2022-08-24 08:09:36 STATE: test-node.js passed: efficientpose +2022-08-24 08:09:36 STATE: test-node.js start posenet +2022-08-24 08:09:37 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-24 08:09:37 STATE: test-node.js event: image +2022-08-24 08:09:37 STATE: test-node.js event: detect +2022-08-24 08:09:37 STATE: test-node.js passed: detect: samples/in/ai-body.jpg posenet +2022-08-24 08:09:37 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-24 08:09:37 DATA:  test-node.js result: performance: load: null total: 172 +2022-08-24 08:09:37 STATE: test-node.js passed: posenet +2022-08-24 08:09:37 STATE: test-node.js start movenet +2022-08-24 08:09:37 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-24 08:09:37 STATE: test-node.js event: image +2022-08-24 08:09:38 STATE: test-node.js event: detect +2022-08-24 08:09:38 STATE: test-node.js passed: detect: samples/in/ai-body.jpg movenet +2022-08-24 08:09:38 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-24 08:09:38 DATA:  test-node.js result: performance: load: null total: 179 +2022-08-24 08:09:38 STATE: test-node.js passed: movenet +2022-08-24 08:09:38 INFO:  test-node.js test face matching +2022-08-24 08:09:38 STATE: test-node.js passed: face database 40 +2022-08-24 08:09:38 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-24 08:09:38 INFO:  test-node.js test face similarity alternative +2022-08-24 08:09:38 STATE: test-node.js start face embeddings +2022-08-24 08:09:38 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-24 08:09:38 STATE: test-node.js event: image +2022-08-24 08:09:39 STATE: test-node.js event: detect +2022-08-24 08:09:39 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-24 08:09:39 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-24 08:09:39 DATA:  test-node.js result: performance: load: null total: 186 +2022-08-24 08:09:39 STATE: test-node.js passed: mobilefacenet {"embedding":192} +2022-08-24 08:09:39 STATE: test-node.js start face embeddings +2022-08-24 08:09:40 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-24 08:09:40 STATE: test-node.js event: image +2022-08-24 08:09:40 STATE: test-node.js event: detect +2022-08-24 08:09:40 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-24 08:09:40 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-24 08:09:40 DATA:  test-node.js result: performance: load: null total: 192 +2022-08-24 08:09:40 STATE: test-node.js passed: insightface {"embedding":512} +2022-08-24 08:09:40 INFO:  test-node.js test face attention +2022-08-24 08:09:40 STATE: test-node.js start face attention +2022-08-24 08:09:41 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-24 08:09:41 STATE: test-node.js event: image +2022-08-24 08:09:41 STATE: test-node.js event: detect +2022-08-24 08:09:41 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face attention +2022-08-24 08:09:41 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-24 08:09:41 DATA:  test-node.js result: performance: load: null total: 175 +2022-08-24 08:09:41 STATE: test-node.js passed: face attention +2022-08-24 08:09:41 INFO:  test-node.js test detectors +2022-08-24 08:09:41 STATE: test-node.js start detectors +2022-08-24 08:09:41 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-24 08:09:41 STATE: test-node.js event: image +2022-08-24 08:09:41 STATE: test-node.js event: detect +2022-08-24 08:09:41 STATE: test-node.js passed: detect: samples/in/ai-body.jpg detectors +2022-08-24 08:09:41 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-24 08:09:41 DATA:  test-node.js result: performance: load: null total: 83 +2022-08-24 08:09:41 STATE: test-node.js passed: detector result face match +2022-08-24 08:09:41 STATE: test-node.js passed: detector result hand match +2022-08-24 08:09:41 INFO:  test-node.js test: multi-instance +2022-08-24 08:09:41 STATE: test-node.js start multi instance +2022-08-24 08:09:41 STATE: test-node.js event: image +2022-08-24 08:09:42 STATE: test-node.js event: detect +2022-08-24 08:09:42 STATE: test-node.js passed: detect: random multi instance +2022-08-24 08:09:42 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} +2022-08-24 08:09:42 DATA:  test-node.js result: performance: load: null total: 80 +2022-08-24 08:09:42 INFO:  test-node.js test: first instance +2022-08-24 08:09:42 STATE: test-node.js start multi instance +2022-08-24 08:09:42 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-24 08:09:42 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-24 08:09:42 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-24 08:09:42 DATA:  test-node.js result: performance: load: null total: 85 +2022-08-24 08:09:42 INFO:  test-node.js test: second instance +2022-08-24 08:09:42 STATE: test-node.js start multi instance +2022-08-24 08:09:42 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-24 08:09:42 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-24 08:09:42 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-24 08:09:42 DATA:  test-node.js result: performance: load: null total: 85 +2022-08-24 08:09:42 INFO:  test-node.js test: concurrent +2022-08-24 08:09:42 STATE: test-node.js start concurrent +2022-08-24 08:09:42 STATE: test-node.js start concurrent +2022-08-24 08:09:42 STATE: test-node.js start concurrent +2022-08-24 08:09:42 STATE: test-node.js start concurrent +2022-08-24 08:09:42 STATE: test-node.js start concurrent +2022-08-24 08:09:42 STATE: test-node.js start concurrent +2022-08-24 08:09:42 STATE: test-node.js start concurrent +2022-08-24 08:09:42 STATE: test-node.js start concurrent +2022-08-24 08:09:42 STATE: test-node.js start concurrent +2022-08-24 08:09:42 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-24 08:09:42 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-24 08:09:42 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-24 08:09:42 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-24 08:09:42 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-24 08:09:42 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-24 08:09:42 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-24 08:09:42 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-24 08:09:43 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-24 08:09:43 STATE: test-node.js event: image +2022-08-24 08:09:43 STATE: test-node.js event: image +2022-08-24 08:09:43 STATE: test-node.js event: image +2022-08-24 08:09:43 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-24 08:09:43 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-24 08:09:43 DATA:  test-node.js result: performance: load: null total: 963 +2022-08-24 08:09:43 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-24 08:09:43 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-24 08:09:43 DATA:  test-node.js result: performance: load: null total: 963 +2022-08-24 08:09:43 STATE: test-node.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-24 08:09:43 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-24 08:09:43 DATA:  test-node.js result: performance: load: null total: 963 +2022-08-24 08:09:43 STATE: test-node.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-24 08:09:43 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-24 08:09:43 DATA:  test-node.js result: performance: load: null total: 963 +2022-08-24 08:09:43 STATE: test-node.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-24 08:09:43 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-24 08:09:43 DATA:  test-node.js result: performance: load: null total: 963 +2022-08-24 08:09:43 STATE: test-node.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-24 08:09:43 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-24 08:09:43 DATA:  test-node.js result: performance: load: null total: 963 +2022-08-24 08:09:43 STATE: test-node.js event: detect +2022-08-24 08:09:43 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-24 08:09:43 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-24 08:09:43 DATA:  test-node.js result: performance: load: null total: 698 +2022-08-24 08:09:43 STATE: test-node.js event: detect +2022-08-24 08:09:43 STATE: test-node.js event: detect +2022-08-24 08:09:43 STATE: test-node.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-24 08:09:43 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-24 08:09:43 DATA:  test-node.js result: performance: load: null total: 698 +2022-08-24 08:09:43 STATE: test-node.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-24 08:09:43 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-24 08:09:43 DATA:  test-node.js result: performance: load: null total: 698 +2022-08-24 08:09:43 INFO:  test-node.js test: monkey-patch +2022-08-24 08:09:43 STATE: test-node.js event: image +2022-08-24 08:09:43 STATE: test-node.js event: detect +2022-08-24 08:09:43 STATE: test-node.js passed: monkey patch +2022-08-24 08:09:43 STATE: test-node.js passed: segmentation [65536] +2022-08-24 08:09:43 STATE: test-node.js passeed: equal usage +2022-08-24 08:09:43 INFO:  test-node.js test: input compare +2022-08-24 08:09:43 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-24 08:09:44 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-24 08:09:44 STATE: test-node.js passed: image compare 0 23.275441687091504 +2022-08-24 08:09:44 INFO:  test-node.js events: {"image":29,"detect":29,"warmup":2} +2022-08-24 08:09:44 INFO:  test-node.js tensors 4105 +2022-08-24 08:09:44 INFO:  test-node.js test complete: 21025 ms +2022-08-24 08:09:44 INFO:  +2022-08-24 08:09:44 INFO:  test-node-gpu.js start +2022-08-24 08:09:45 INFO:  test-node-gpu.js test: configuration validation +2022-08-24 08:09:45 STATE: test-node-gpu.js passed: configuration default validation [] +2022-08-24 08:09:45 STATE: test-node-gpu.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2022-08-24 08:09:45 INFO:  test-node-gpu.js test: model load +2022-08-24 08:09:45 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-24 08:09:45 INFO:  test-node-gpu.js memory: {"memory":{"unreliable":true,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} +2022-08-24 08:09:45 INFO:  test-node-gpu.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} +2022-08-24 08:09:45 INFO:  test-node-gpu.js test: warmup +2022-08-24 08:09:45 STATE: test-node-gpu.js passed: create human +2022-08-24 08:09:45 INFO:  test-node-gpu.js human version: 2.9.4 +2022-08-24 08:09:45 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v18.1.0 +2022-08-24 08:09:45 INFO:  test-node-gpu.js tfjs version: 3.20.0 +2022-08-24 08:09:45 INFO:  test-node-gpu.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","tensorflow"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{"version":"2.7.3-dev20220521","gpu":true},"wasm":{"supported":true,"backend":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":169} +2022-08-24 08:09:45 STATE: test-node-gpu.js passed: set backend: tensorflow +2022-08-24 08:09:45 STATE: test-node-gpu.js tensors 1921 +2022-08-24 08:09:45 STATE: test-node-gpu.js passed: load models +2022-08-24 08:09:45 STATE: test-node-gpu.js result: defined models: 23 loaded models: 12 +2022-08-24 08:09:45 STATE: test-node-gpu.js passed: warmup: none default +2022-08-24 08:09:45 DATA:  test-node-gpu.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2022-08-24 08:09:45 DATA:  test-node-gpu.js result: performance: load: null total: null +2022-08-24 08:09:45 STATE: test-node-gpu.js passed: warmup none result match +2022-08-24 08:09:45 STATE: test-node-gpu.js event: image +2022-08-24 08:09:49 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:49 STATE: test-node-gpu.js event: warmup +2022-08-24 08:09:49 STATE: test-node-gpu.js passed: warmup: face default +2022-08-24 08:09:49 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-24 08:09:49 DATA:  test-node-gpu.js result: performance: load: null total: 4201 +2022-08-24 08:09:49 STATE: test-node-gpu.js passed: warmup face result match +2022-08-24 08:09:49 STATE: test-node-gpu.js event: image +2022-08-24 08:09:49 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:49 STATE: test-node-gpu.js event: warmup +2022-08-24 08:09:49 STATE: test-node-gpu.js passed: warmup: body default +2022-08-24 08:09:49 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-24 08:09:49 DATA:  test-node-gpu.js result: performance: load: null total: 144 +2022-08-24 08:09:49 STATE: test-node-gpu.js passed: warmup body result match +2022-08-24 08:09:49 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-24 08:09:49 INFO:  test-node-gpu.js test: details verification +2022-08-24 08:09:49 STATE: test-node-gpu.js start default +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-24 08:09:50 STATE: test-node-gpu.js event: image +2022-08-24 08:09:50 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-08-24 08:09:50 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-24 08:09:50 DATA:  test-node-gpu.js result: performance: load: null total: 138 +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: details face length 1 +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: details face score 1 0.93 1 +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: details face age/gender 23.7 female 0.97 85.47 +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: details face arrays 4 478 1024 +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: details face anti-spoofing 0.79 +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: details face liveness 0.83 +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: details body length 1 +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: details body 0.92 17 6 +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: details hand length 1 +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: details hand 0.51 0.73 point +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: details hand arrays 21 5 7 +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: details gesture length 7 +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: details gesture first {"face":0,"gesture":"facing right"} +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: details object length 1 +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: details object 0.72 person +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} +2022-08-24 08:09:50 STATE: test-node-gpu.js event: image +2022-08-24 08:09:50 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2022-08-24 08:09:50 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} +2022-08-24 08:09:50 STATE: test-node-gpu.js event: image +2022-08-24 08:09:51 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:51 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,4] dtype: float32 +2022-08-24 08:09:51 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-24 08:09:51 STATE: test-node-gpu.js event: image +2022-08-24 08:09:51 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:51 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2022-08-24 08:09:51 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796928} +2022-08-24 08:09:51 STATE: test-node-gpu.js event: image +2022-08-24 08:09:51 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:51 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,3] dtype: float32 +2022-08-24 08:09:51 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2022-08-24 08:09:51 STATE: test-node-gpu.js event: image +2022-08-24 08:09:51 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:51 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2022-08-24 08:09:51 INFO:  test-node-gpu.js test default +2022-08-24 08:09:51 STATE: test-node-gpu.js start async +2022-08-24 08:09:52 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-24 08:09:52 STATE: test-node-gpu.js event: image +2022-08-24 08:09:52 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:52 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg async +2022-08-24 08:09:52 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-24 08:09:52 DATA:  test-node-gpu.js result: performance: load: null total: 135 +2022-08-24 08:09:52 STATE: test-node-gpu.js passed: default result face match 1 female 0.97 +2022-08-24 08:09:52 INFO:  test-node-gpu.js test sync +2022-08-24 08:09:52 STATE: test-node-gpu.js start sync +2022-08-24 08:09:52 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-24 08:09:52 STATE: test-node-gpu.js event: image +2022-08-24 08:09:52 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:52 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg sync +2022-08-24 08:09:52 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-24 08:09:52 DATA:  test-node-gpu.js result: performance: load: null total: 140 +2022-08-24 08:09:52 STATE: test-node-gpu.js passed: default sync 1 female 0.97 +2022-08-24 08:09:52 INFO:  test-node-gpu.js test: image process +2022-08-24 08:09:52 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-24 08:09:52 STATE: test-node-gpu.js passed: image input null [1,256,256,3] +2022-08-24 08:09:52 INFO:  test-node-gpu.js test: image null +2022-08-24 08:09:52 STATE: test-node-gpu.js passed: invalid input could not convert input to tensor +2022-08-24 08:09:52 INFO:  test-node-gpu.js test face similarity +2022-08-24 08:09:52 STATE: test-node-gpu.js start face similarity +2022-08-24 08:09:52 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-24 08:09:52 STATE: test-node-gpu.js event: image +2022-08-24 08:09:52 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:52 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face similarity +2022-08-24 08:09:52 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} +2022-08-24 08:09:52 DATA:  test-node-gpu.js result: performance: load: null total: 131 +2022-08-24 08:09:52 STATE: test-node-gpu.js start face similarity +2022-08-24 08:09:52 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-24 08:09:52 STATE: test-node-gpu.js event: image +2022-08-24 08:09:53 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:53 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg face similarity +2022-08-24 08:09:53 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-24 08:09:53 DATA:  test-node-gpu.js result: performance: load: null total: 148 +2022-08-24 08:09:53 STATE: test-node-gpu.js start face similarity +2022-08-24 08:09:53 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-24 08:09:53 STATE: test-node-gpu.js event: image +2022-08-24 08:09:53 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:53 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg face similarity +2022-08-24 08:09:53 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} +2022-08-24 08:09:53 DATA:  test-node-gpu.js result: performance: load: null total: 161 +2022-08-24 08:09:53 STATE: test-node-gpu.js passed: face descriptor +2022-08-24 08:09:53 STATE: test-node-gpu.js passed: face similarity {"similarity":[1,0.447238756461232,0.556914029877052],"descriptors":[1024,1024,1024]} +2022-08-24 08:09:53 INFO:  test-node-gpu.js test object +2022-08-24 08:09:53 STATE: test-node-gpu.js start object +2022-08-24 08:09:53 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-24 08:09:53 STATE: test-node-gpu.js event: image +2022-08-24 08:09:53 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:53 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg object +2022-08-24 08:09:53 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-24 08:09:53 DATA:  test-node-gpu.js result: performance: load: null total: 154 +2022-08-24 08:09:53 STATE: test-node-gpu.js passed: centernet +2022-08-24 08:09:53 STATE: test-node-gpu.js start object +2022-08-24 08:09:54 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-24 08:09:54 STATE: test-node-gpu.js event: image +2022-08-24 08:09:55 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:55 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg object +2022-08-24 08:09:55 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 3 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-24 08:09:55 DATA:  test-node-gpu.js result: performance: load: null total: 582 +2022-08-24 08:09:55 STATE: test-node-gpu.js passed: nanodet +2022-08-24 08:09:55 INFO:  test-node-gpu.js test sensitive +2022-08-24 08:09:55 STATE: test-node-gpu.js start sensitive +2022-08-24 08:09:55 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-24 08:09:55 STATE: test-node-gpu.js event: image +2022-08-24 08:09:55 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:55 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg sensitive +2022-08-24 08:09:55 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-24 08:09:55 DATA:  test-node-gpu.js result: performance: load: null total: 100 +2022-08-24 08:09:55 STATE: test-node-gpu.js passed: sensitive result match +2022-08-24 08:09:55 STATE: test-node-gpu.js passed: sensitive face result match +2022-08-24 08:09:55 STATE: test-node-gpu.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] +2022-08-24 08:09:55 STATE: test-node-gpu.js passed: sensitive body result match +2022-08-24 08:09:55 STATE: test-node-gpu.js passed: sensitive hand result match +2022-08-24 08:09:55 INFO:  test-node-gpu.js test body +2022-08-24 08:09:55 STATE: test-node-gpu.js start blazepose +2022-08-24 08:09:56 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-24 08:09:56 STATE: test-node-gpu.js event: image +2022-08-24 08:09:56 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:56 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg blazepose +2022-08-24 08:09:56 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-24 08:09:56 DATA:  test-node-gpu.js result: performance: load: null total: 233 +2022-08-24 08:09:56 STATE: test-node-gpu.js passed: blazepose +2022-08-24 08:09:56 STATE: test-node-gpu.js start efficientpose +2022-08-24 08:09:57 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-24 08:09:57 STATE: test-node-gpu.js event: image +2022-08-24 08:09:58 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:58 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg efficientpose +2022-08-24 08:09:58 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-24 08:09:58 DATA:  test-node-gpu.js result: performance: load: null total: 780 +2022-08-24 08:09:58 STATE: test-node-gpu.js passed: efficientpose +2022-08-24 08:09:58 STATE: test-node-gpu.js start posenet +2022-08-24 08:09:58 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-24 08:09:58 STATE: test-node-gpu.js event: image +2022-08-24 08:09:58 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:58 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg posenet +2022-08-24 08:09:58 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-24 08:09:58 DATA:  test-node-gpu.js result: performance: load: null total: 120 +2022-08-24 08:09:58 STATE: test-node-gpu.js passed: posenet +2022-08-24 08:09:58 STATE: test-node-gpu.js start movenet +2022-08-24 08:09:58 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-24 08:09:58 STATE: test-node-gpu.js event: image +2022-08-24 08:09:59 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:59 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg movenet +2022-08-24 08:09:59 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-24 08:09:59 DATA:  test-node-gpu.js result: performance: load: null total: 92 +2022-08-24 08:09:59 STATE: test-node-gpu.js passed: movenet +2022-08-24 08:09:59 INFO:  test-node-gpu.js test face matching +2022-08-24 08:09:59 STATE: test-node-gpu.js passed: face database 40 +2022-08-24 08:09:59 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-24 08:09:59 INFO:  test-node-gpu.js test face similarity alternative +2022-08-24 08:09:59 STATE: test-node-gpu.js start face embeddings +2022-08-24 08:09:59 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-24 08:09:59 STATE: test-node-gpu.js event: image +2022-08-24 08:09:59 STATE: test-node-gpu.js event: detect +2022-08-24 08:09:59 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-24 08:09:59 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-24 08:09:59 DATA:  test-node-gpu.js result: performance: load: null total: 149 +2022-08-24 08:09:59 STATE: test-node-gpu.js passed: mobilefacenet {"embedding":192} +2022-08-24 08:09:59 STATE: test-node-gpu.js start face embeddings +2022-08-24 08:09:59 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-24 08:09:59 STATE: test-node-gpu.js event: image +2022-08-24 08:10:00 STATE: test-node-gpu.js event: detect +2022-08-24 08:10:00 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-24 08:10:00 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-24 08:10:00 DATA:  test-node-gpu.js result: performance: load: null total: 165 +2022-08-24 08:10:00 STATE: test-node-gpu.js passed: insightface {"embedding":512} +2022-08-24 08:10:00 INFO:  test-node-gpu.js test face attention +2022-08-24 08:10:00 STATE: test-node-gpu.js start face attention +2022-08-24 08:10:00 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-24 08:10:00 STATE: test-node-gpu.js event: image +2022-08-24 08:10:00 STATE: test-node-gpu.js event: detect +2022-08-24 08:10:00 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face attention +2022-08-24 08:10:00 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-24 08:10:00 DATA:  test-node-gpu.js result: performance: load: null total: 243 +2022-08-24 08:10:00 STATE: test-node-gpu.js passed: face attention +2022-08-24 08:10:00 INFO:  test-node-gpu.js test detectors +2022-08-24 08:10:00 STATE: test-node-gpu.js start detectors +2022-08-24 08:10:00 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-24 08:10:00 STATE: test-node-gpu.js event: image +2022-08-24 08:10:00 STATE: test-node-gpu.js event: detect +2022-08-24 08:10:00 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg detectors +2022-08-24 08:10:00 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-24 08:10:00 DATA:  test-node-gpu.js result: performance: load: null total: 53 +2022-08-24 08:10:00 STATE: test-node-gpu.js passed: detector result face match +2022-08-24 08:10:00 STATE: test-node-gpu.js passed: detector result hand match +2022-08-24 08:10:00 INFO:  test-node-gpu.js test: multi-instance +2022-08-24 08:10:00 STATE: test-node-gpu.js start multi instance +2022-08-24 08:10:00 STATE: test-node-gpu.js event: image +2022-08-24 08:10:00 STATE: test-node-gpu.js event: detect +2022-08-24 08:10:00 STATE: test-node-gpu.js passed: detect: random multi instance +2022-08-24 08:10:00 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} +2022-08-24 08:10:00 DATA:  test-node-gpu.js result: performance: load: null total: 57 +2022-08-24 08:10:00 INFO:  test-node-gpu.js test: first instance +2022-08-24 08:10:00 STATE: test-node-gpu.js start multi instance +2022-08-24 08:10:00 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-24 08:10:00 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-24 08:10:00 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-24 08:10:00 DATA:  test-node-gpu.js result: performance: load: null total: 45 +2022-08-24 08:10:00 INFO:  test-node-gpu.js test: second instance +2022-08-24 08:10:00 STATE: test-node-gpu.js start multi instance +2022-08-24 08:10:01 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-24 08:10:01 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-24 08:10:01 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-24 08:10:01 DATA:  test-node-gpu.js result: performance: load: null total: 48 +2022-08-24 08:10:01 INFO:  test-node-gpu.js test: concurrent +2022-08-24 08:10:01 STATE: test-node-gpu.js start concurrent +2022-08-24 08:10:01 STATE: test-node-gpu.js start concurrent +2022-08-24 08:10:01 STATE: test-node-gpu.js start concurrent +2022-08-24 08:10:01 STATE: test-node-gpu.js start concurrent +2022-08-24 08:10:01 STATE: test-node-gpu.js start concurrent +2022-08-24 08:10:01 STATE: test-node-gpu.js start concurrent +2022-08-24 08:10:01 STATE: test-node-gpu.js start concurrent +2022-08-24 08:10:01 STATE: test-node-gpu.js start concurrent +2022-08-24 08:10:01 STATE: test-node-gpu.js start concurrent +2022-08-24 08:10:01 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-24 08:10:01 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-24 08:10:01 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-24 08:10:01 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-24 08:10:01 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-24 08:10:01 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-24 08:10:01 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-24 08:10:01 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-24 08:10:01 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-24 08:10:01 STATE: test-node-gpu.js event: image +2022-08-24 08:10:01 STATE: test-node-gpu.js event: image +2022-08-24 08:10:01 STATE: test-node-gpu.js event: image +2022-08-24 08:10:02 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-24 08:10:02 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-24 08:10:02 DATA:  test-node-gpu.js result: performance: load: null total: 688 +2022-08-24 08:10:02 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-24 08:10:02 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-24 08:10:02 DATA:  test-node-gpu.js result: performance: load: null total: 688 +2022-08-24 08:10:02 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-24 08:10:02 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-24 08:10:02 DATA:  test-node-gpu.js result: performance: load: null total: 689 +2022-08-24 08:10:02 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-24 08:10:02 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-24 08:10:02 DATA:  test-node-gpu.js result: performance: load: null total: 689 +2022-08-24 08:10:02 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-24 08:10:02 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-24 08:10:02 DATA:  test-node-gpu.js result: performance: load: null total: 689 +2022-08-24 08:10:02 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-24 08:10:02 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-24 08:10:02 DATA:  test-node-gpu.js result: performance: load: null total: 689 +2022-08-24 08:10:02 STATE: test-node-gpu.js event: detect +2022-08-24 08:10:02 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-24 08:10:02 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-24 08:10:02 DATA:  test-node-gpu.js result: performance: load: null total: 427 +2022-08-24 08:10:02 STATE: test-node-gpu.js event: detect +2022-08-24 08:10:02 STATE: test-node-gpu.js event: detect +2022-08-24 08:10:02 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-24 08:10:02 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-24 08:10:02 DATA:  test-node-gpu.js result: performance: load: null total: 427 +2022-08-24 08:10:02 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-24 08:10:02 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-24 08:10:02 DATA:  test-node-gpu.js result: performance: load: null total: 427 +2022-08-24 08:10:02 INFO:  test-node-gpu.js test: monkey-patch +2022-08-24 08:10:02 STATE: test-node-gpu.js event: image +2022-08-24 08:10:02 STATE: test-node-gpu.js event: detect +2022-08-24 08:10:02 STATE: test-node-gpu.js passed: monkey patch +2022-08-24 08:10:02 STATE: test-node-gpu.js passed: segmentation [65536] +2022-08-24 08:10:02 STATE: test-node-gpu.js passeed: equal usage +2022-08-24 08:10:02 INFO:  test-node-gpu.js test: input compare +2022-08-24 08:10:02 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-24 08:10:02 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-24 08:10:02 STATE: test-node-gpu.js passed: image compare 0 23.275441687091504 +2022-08-24 08:10:02 INFO:  test-node-gpu.js events: {"image":29,"detect":29,"warmup":2} +2022-08-24 08:10:02 INFO:  test-node-gpu.js tensors 4105 +2022-08-24 08:10:02 INFO:  test-node-gpu.js test complete: 17370 ms +2022-08-24 08:10:03 INFO:  +2022-08-24 08:10:03 INFO:  test-node-wasm.js start +2022-08-24 08:10:04 DATA:  test-node-wasm.js stdout: 2022-08-24 08:10:04 INFO:  { supported: true, backend: true, simd: true, multithread: false } +2022-08-24 08:10:04 STATE: test-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/ +2022-08-24 08:10:04 INFO:  test-node-wasm.js test: configuration validation +2022-08-24 08:10:04 STATE: test-node-wasm.js passed: configuration default validation [] +2022-08-24 08:10:04 STATE: test-node-wasm.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2022-08-24 08:10:04 INFO:  test-node-wasm.js test: model load +2022-08-24 08:10:06 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-24 08:10:06 INFO:  test-node-wasm.js memory: {"memory":{"unreliable":false,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} +2022-08-24 08:10:06 INFO:  test-node-wasm.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} +2022-08-24 08:10:06 INFO:  test-node-wasm.js test: warmup +2022-08-24 08:10:06 STATE: test-node-wasm.js passed: create human +2022-08-24 08:10:06 INFO:  test-node-wasm.js human version: 2.9.4 +2022-08-24 08:10:06 INFO:  test-node-wasm.js platform: linux x64 agent: NodeJS v18.1.0 +2022-08-24 08:10:06 INFO:  test-node-wasm.js tfjs version: 3.20.0 +2022-08-24 08:10:06 INFO:  test-node-wasm.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","wasm"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{},"wasm":{"supported":true,"backend":true,"simd":true,"multithread":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":126} +2022-08-24 08:10:06 STATE: test-node-wasm.js passed: set backend: wasm +2022-08-24 08:10:06 STATE: test-node-wasm.js tensors 1921 +2022-08-24 08:10:06 STATE: test-node-wasm.js passed: load models +2022-08-24 08:10:06 STATE: test-node-wasm.js result: defined models: 23 loaded models: 12 +2022-08-24 08:10:06 STATE: test-node-wasm.js passed: warmup: none default +2022-08-24 08:10:06 DATA:  test-node-wasm.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2022-08-24 08:10:06 DATA:  test-node-wasm.js result: performance: load: null total: null +2022-08-24 08:10:06 STATE: test-node-wasm.js passed: warmup none result match +2022-08-24 08:10:06 STATE: test-node-wasm.js event: image +2022-08-24 08:10:06 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:06 STATE: test-node-wasm.js event: warmup +2022-08-24 08:10:06 STATE: test-node-wasm.js passed: warmup: face default +2022-08-24 08:10:06 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-24 08:10:06 DATA:  test-node-wasm.js result: performance: load: null total: 503 +2022-08-24 08:10:06 STATE: test-node-wasm.js passed: warmup face result match +2022-08-24 08:10:06 STATE: test-node-wasm.js event: image +2022-08-24 08:10:06 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:06 STATE: test-node-wasm.js event: warmup +2022-08-24 08:10:06 STATE: test-node-wasm.js passed: warmup: body default +2022-08-24 08:10:06 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-24 08:10:06 DATA:  test-node-wasm.js result: performance: load: null total: 353 +2022-08-24 08:10:06 STATE: test-node-wasm.js passed: warmup body result match +2022-08-24 08:10:06 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-24 08:10:06 INFO:  test-node-wasm.js test: details verification +2022-08-24 08:10:06 STATE: test-node-wasm.js start default +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-24 08:10:07 STATE: test-node-wasm.js event: image +2022-08-24 08:10:07 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-08-24 08:10:07 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-24 08:10:07 DATA:  test-node-wasm.js result: performance: load: null total: 331 +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: details face length 1 +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: details face score 1 0.93 1 +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: details face age/gender 23.7 female 0.97 85.47 +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: details face arrays 4 478 1024 +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: details face anti-spoofing 0.79 +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: details face liveness 0.83 +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: details body length 1 +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: details body 0.92 17 6 +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: details hand length 1 +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: details hand 0.51 0.73 point +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: details hand arrays 21 5 7 +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: details gesture length 7 +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: details gesture first {"face":0,"gesture":"facing right"} +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: details object length 1 +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: details object 0.72 person +2022-08-24 08:10:07 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1413675264} +2022-08-24 08:10:07 STATE: test-node-wasm.js event: image +2022-08-24 08:10:08 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:08 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2022-08-24 08:10:08 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1413675264} +2022-08-24 08:10:08 STATE: test-node-wasm.js event: image +2022-08-24 08:10:08 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:08 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,4] dtype: float32 +2022-08-24 08:10:08 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-24 08:10:08 STATE: test-node-wasm.js event: image +2022-08-24 08:10:09 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:09 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2022-08-24 08:10:09 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1038921856} +2022-08-24 08:10:09 STATE: test-node-wasm.js event: image +2022-08-24 08:10:09 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:09 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,3] dtype: float32 +2022-08-24 08:10:09 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2022-08-24 08:10:09 STATE: test-node-wasm.js event: image +2022-08-24 08:10:10 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:10 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2022-08-24 08:10:10 INFO:  test-node-wasm.js test default +2022-08-24 08:10:10 STATE: test-node-wasm.js start async +2022-08-24 08:10:10 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-24 08:10:10 STATE: test-node-wasm.js event: image +2022-08-24 08:10:10 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:10 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg async +2022-08-24 08:10:10 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-24 08:10:10 DATA:  test-node-wasm.js result: performance: load: null total: 304 +2022-08-24 08:10:10 STATE: test-node-wasm.js passed: default result face match 1 female 0.97 +2022-08-24 08:10:10 INFO:  test-node-wasm.js test sync +2022-08-24 08:10:10 STATE: test-node-wasm.js start sync +2022-08-24 08:10:11 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-24 08:10:11 STATE: test-node-wasm.js event: image +2022-08-24 08:10:11 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:11 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg sync +2022-08-24 08:10:11 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-24 08:10:11 DATA:  test-node-wasm.js result: performance: load: null total: 321 +2022-08-24 08:10:11 STATE: test-node-wasm.js passed: default sync 1 female 0.97 +2022-08-24 08:10:11 INFO:  test-node-wasm.js test: image process +2022-08-24 08:10:11 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-24 08:10:11 STATE: test-node-wasm.js passed: image input null [1,256,256,3] +2022-08-24 08:10:11 INFO:  test-node-wasm.js test: image null +2022-08-24 08:10:11 STATE: test-node-wasm.js passed: invalid input could not convert input to tensor +2022-08-24 08:10:11 INFO:  test-node-wasm.js test face similarity +2022-08-24 08:10:11 STATE: test-node-wasm.js start face similarity +2022-08-24 08:10:11 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-24 08:10:11 STATE: test-node-wasm.js event: image +2022-08-24 08:10:11 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:11 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face similarity +2022-08-24 08:10:11 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-24 08:10:11 DATA:  test-node-wasm.js result: performance: load: null total: 297 +2022-08-24 08:10:11 STATE: test-node-wasm.js start face similarity +2022-08-24 08:10:11 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-24 08:10:11 STATE: test-node-wasm.js event: image +2022-08-24 08:10:12 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:12 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg face similarity +2022-08-24 08:10:12 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-24 08:10:12 DATA:  test-node-wasm.js result: performance: load: null total: 316 +2022-08-24 08:10:12 STATE: test-node-wasm.js start face similarity +2022-08-24 08:10:12 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-24 08:10:12 STATE: test-node-wasm.js event: image +2022-08-24 08:10:12 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:12 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg face similarity +2022-08-24 08:10:12 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-24 08:10:12 DATA:  test-node-wasm.js result: performance: load: null total: 314 +2022-08-24 08:10:12 STATE: test-node-wasm.js passed: face descriptor +2022-08-24 08:10:12 STATE: test-node-wasm.js passed: face similarity {"similarity":[1,0.5266119940661309,0.4858842904087851],"descriptors":[1024,1024,1024]} +2022-08-24 08:10:12 INFO:  test-node-wasm.js test object +2022-08-24 08:10:12 STATE: test-node-wasm.js start object +2022-08-24 08:10:12 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-24 08:10:12 STATE: test-node-wasm.js event: image +2022-08-24 08:10:13 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:13 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg object +2022-08-24 08:10:13 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-24 08:10:13 DATA:  test-node-wasm.js result: performance: load: null total: 314 +2022-08-24 08:10:13 STATE: test-node-wasm.js passed: centernet +2022-08-24 08:10:13 STATE: test-node-wasm.js start object +2022-08-24 08:10:13 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-24 08:10:13 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-24 08:10:13 STATE: test-node-wasm.js event: image +2022-08-24 08:10:14 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:14 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg object +2022-08-24 08:10:14 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-24 08:10:14 DATA:  test-node-wasm.js result: performance: load: null total: 207 +2022-08-24 08:10:14 ERROR: test-node-wasm.js failed: nanodet [] +2022-08-24 08:10:14 INFO:  test-node-wasm.js test sensitive +2022-08-24 08:10:14 STATE: test-node-wasm.js start sensitive +2022-08-24 08:10:14 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-24 08:10:14 STATE: test-node-wasm.js event: image +2022-08-24 08:10:14 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:14 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg sensitive +2022-08-24 08:10:14 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-24 08:10:14 DATA:  test-node-wasm.js result: performance: load: null total: 230 +2022-08-24 08:10:14 STATE: test-node-wasm.js passed: sensitive result match +2022-08-24 08:10:14 STATE: test-node-wasm.js passed: sensitive face result match +2022-08-24 08:10:14 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-24 08:10:14 STATE: test-node-wasm.js passed: sensitive body result match +2022-08-24 08:10:14 STATE: test-node-wasm.js passed: sensitive hand result match +2022-08-24 08:10:14 INFO:  test-node-wasm.js test body +2022-08-24 08:10:14 STATE: test-node-wasm.js start blazepose +2022-08-24 08:10:16 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-24 08:10:16 STATE: test-node-wasm.js event: image +2022-08-24 08:10:17 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:17 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg blazepose +2022-08-24 08:10:17 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-24 08:10:17 DATA:  test-node-wasm.js result: performance: load: null total: 388 +2022-08-24 08:10:17 STATE: test-node-wasm.js passed: blazepose +2022-08-24 08:10:17 STATE: test-node-wasm.js start efficientpose +2022-08-24 08:10:18 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-24 08:10:18 STATE: test-node-wasm.js event: image +2022-08-24 08:10:18 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:18 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg efficientpose +2022-08-24 08:10:18 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-24 08:10:18 DATA:  test-node-wasm.js result: performance: load: null total: 639 +2022-08-24 08:10:18 STATE: test-node-wasm.js passed: efficientpose +2022-08-24 08:10:18 STATE: test-node-wasm.js start posenet +2022-08-24 08:10:19 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-24 08:10:19 STATE: test-node-wasm.js event: image +2022-08-24 08:10:19 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:19 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg posenet +2022-08-24 08:10:19 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-24 08:10:19 DATA:  test-node-wasm.js result: performance: load: null total: 271 +2022-08-24 08:10:19 STATE: test-node-wasm.js passed: posenet +2022-08-24 08:10:19 STATE: test-node-wasm.js start movenet +2022-08-24 08:10:19 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-24 08:10:19 STATE: test-node-wasm.js event: image +2022-08-24 08:10:20 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:20 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg movenet +2022-08-24 08:10:20 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-24 08:10:20 DATA:  test-node-wasm.js result: performance: load: null total: 242 +2022-08-24 08:10:20 STATE: test-node-wasm.js passed: movenet +2022-08-24 08:10:20 INFO:  test-node-wasm.js test face matching +2022-08-24 08:10:20 STATE: test-node-wasm.js passed: face database 40 +2022-08-24 08:10:20 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-24 08:10:20 INFO:  test-node-wasm.js test face similarity alternative +2022-08-24 08:10:20 STATE: test-node-wasm.js start face embeddings +2022-08-24 08:10:20 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-24 08:10:20 STATE: test-node-wasm.js event: image +2022-08-24 08:10:20 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:20 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-24 08:10:20 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-24 08:10:20 DATA:  test-node-wasm.js result: performance: load: null total: 234 +2022-08-24 08:10:20 STATE: test-node-wasm.js passed: mobilefacenet {"embedding":192} +2022-08-24 08:10:20 STATE: test-node-wasm.js start face embeddings +2022-08-24 08:10:21 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-24 08:10:21 STATE: test-node-wasm.js event: image +2022-08-24 08:10:21 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:21 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-24 08:10:21 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-24 08:10:21 DATA:  test-node-wasm.js result: performance: load: null total: 270 +2022-08-24 08:10:21 STATE: test-node-wasm.js passed: insightface {"embedding":512} +2022-08-24 08:10:21 INFO:  test-node-wasm.js test face attention +2022-08-24 08:10:21 STATE: test-node-wasm.js start face attention +2022-08-24 08:10:21 WARN:  test-node-wasm.js missing kernel ops {"title":"face attention","model":"facemesh","url":"https://vladmandic.github.io/human-models/models/facemesh-attention.json","missing":["atan2"],"backkend":"wasm"} +2022-08-24 08:10:21 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-24 08:10:21 STATE: test-node-wasm.js event: image +2022-08-24 08:10:21 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:21 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face attention +2022-08-24 08:10:21 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-24 08:10:21 DATA:  test-node-wasm.js result: performance: load: null total: 117 +2022-08-24 08:10:21 ERROR: test-node-wasm.js failed: face attention {"annotations":0} +2022-08-24 08:10:21 INFO:  test-node-wasm.js test detectors +2022-08-24 08:10:21 STATE: test-node-wasm.js start detectors +2022-08-24 08:10:22 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-24 08:10:22 STATE: test-node-wasm.js event: image +2022-08-24 08:10:22 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:22 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg detectors +2022-08-24 08:10:22 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-24 08:10:22 DATA:  test-node-wasm.js result: performance: load: null total: 114 +2022-08-24 08:10:22 STATE: test-node-wasm.js passed: detector result face match +2022-08-24 08:10:22 STATE: test-node-wasm.js passed: detector result hand match +2022-08-24 08:10:22 INFO:  test-node-wasm.js test: multi-instance +2022-08-24 08:10:22 STATE: test-node-wasm.js start multi instance +2022-08-24 08:10:22 STATE: test-node-wasm.js event: image +2022-08-24 08:10:22 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:22 STATE: test-node-wasm.js passed: detect: random multi instance +2022-08-24 08:10:22 DATA:  test-node-wasm.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} +2022-08-24 08:10:22 DATA:  test-node-wasm.js result: performance: load: null total: 96 +2022-08-24 08:10:22 INFO:  test-node-wasm.js test: first instance +2022-08-24 08:10:22 STATE: test-node-wasm.js start multi instance +2022-08-24 08:10:22 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-24 08:10:22 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-24 08:10:22 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-24 08:10:22 DATA:  test-node-wasm.js result: performance: load: null total: 109 +2022-08-24 08:10:22 INFO:  test-node-wasm.js test: second instance +2022-08-24 08:10:22 STATE: test-node-wasm.js start multi instance +2022-08-24 08:10:22 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-24 08:10:22 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-24 08:10:22 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-24 08:10:22 DATA:  test-node-wasm.js result: performance: load: null total: 107 +2022-08-24 08:10:22 INFO:  test-node-wasm.js test: concurrent +2022-08-24 08:10:22 STATE: test-node-wasm.js start concurrent +2022-08-24 08:10:22 STATE: test-node-wasm.js start concurrent +2022-08-24 08:10:22 STATE: test-node-wasm.js start concurrent +2022-08-24 08:10:22 STATE: test-node-wasm.js start concurrent +2022-08-24 08:10:22 STATE: test-node-wasm.js start concurrent +2022-08-24 08:10:22 STATE: test-node-wasm.js start concurrent +2022-08-24 08:10:22 STATE: test-node-wasm.js start concurrent +2022-08-24 08:10:22 STATE: test-node-wasm.js start concurrent +2022-08-24 08:10:22 STATE: test-node-wasm.js start concurrent +2022-08-24 08:10:22 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-24 08:10:22 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-24 08:10:23 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-24 08:10:23 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-24 08:10:23 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-24 08:10:23 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-24 08:10:23 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-24 08:10:23 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-24 08:10:23 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-24 08:10:23 STATE: test-node-wasm.js event: image +2022-08-24 08:10:23 STATE: test-node-wasm.js event: image +2022-08-24 08:10:23 STATE: test-node-wasm.js event: image +2022-08-24 08:10:24 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-24 08:10:24 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-24 08:10:24 DATA:  test-node-wasm.js result: performance: load: null total: 1290 +2022-08-24 08:10:24 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-24 08:10:24 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-24 08:10:24 DATA:  test-node-wasm.js result: performance: load: null total: 1290 +2022-08-24 08:10:24 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-24 08:10:24 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-24 08:10:24 DATA:  test-node-wasm.js result: performance: load: null total: 1290 +2022-08-24 08:10:24 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-24 08:10:24 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-24 08:10:24 DATA:  test-node-wasm.js result: performance: load: null total: 1290 +2022-08-24 08:10:24 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-24 08:10:24 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-24 08:10:24 DATA:  test-node-wasm.js result: performance: load: null total: 1290 +2022-08-24 08:10:24 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-24 08:10:24 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-24 08:10:24 DATA:  test-node-wasm.js result: performance: load: null total: 1290 +2022-08-24 08:10:24 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:24 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-24 08:10:24 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-24 08:10:24 DATA:  test-node-wasm.js result: performance: load: null total: 971 +2022-08-24 08:10:24 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:24 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:24 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-24 08:10:24 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-24 08:10:24 DATA:  test-node-wasm.js result: performance: load: null total: 971 +2022-08-24 08:10:24 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-24 08:10:24 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-24 08:10:24 DATA:  test-node-wasm.js result: performance: load: null total: 971 +2022-08-24 08:10:24 INFO:  test-node-wasm.js test: monkey-patch +2022-08-24 08:10:24 STATE: test-node-wasm.js event: image +2022-08-24 08:10:24 STATE: test-node-wasm.js event: detect +2022-08-24 08:10:24 STATE: test-node-wasm.js passed: monkey patch +2022-08-24 08:10:24 STATE: test-node-wasm.js passed: segmentation [65536] +2022-08-24 08:10:24 STATE: test-node-wasm.js passeed: equal usage +2022-08-24 08:10:24 INFO:  test-node-wasm.js test: input compare +2022-08-24 08:10:24 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-24 08:10:25 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-24 08:10:25 STATE: test-node-wasm.js passed: image compare 0 23.280073018790848 +2022-08-24 08:10:25 INFO:  test-node-wasm.js events: {"image":29,"detect":29,"warmup":2} +2022-08-24 08:10:25 INFO:  test-node-wasm.js tensors 4107 +2022-08-24 08:10:25 INFO:  test-node-wasm.js test complete: 20477 ms +2022-08-24 08:10:25 STATE: all tests complete +2022-08-24 08:10:25 INFO:  status {"test":"../demo/nodejs/node.js","passed":1,"failed":0} +2022-08-24 08:10:25 INFO:  status {"test":"../demo/nodejs/node-simple.js","passed":1,"failed":0} +2022-08-24 08:10:25 INFO:  status {"test":"../demo/nodejs/node-fetch.js","passed":1,"failed":0} +2022-08-24 08:10:25 INFO:  status {"test":"../demo/nodejs/node-event.js","passed":1,"failed":0} +2022-08-24 08:10:25 INFO:  status {"test":"../demo/nodejs/node-similarity.js","passed":1,"failed":0} +2022-08-24 08:10:25 INFO:  status {"test":"../demo/nodejs/node-canvas.js","passed":1,"failed":0} +2022-08-24 08:10:25 INFO:  status {"test":"../demo/multithread/node-multiprocess.js","passed":1,"failed":0} +2022-08-24 08:10:25 INFO:  status {"test":"../demo/facematch/node-match.js","passed":1,"failed":0} +2022-08-24 08:10:25 INFO:  status {"test":"test-node.js","passed":125,"failed":0} +2022-08-24 08:10:25 INFO:  status {"test":"test-node-gpu.js","passed":125,"failed":0} +2022-08-24 08:10:25 INFO:  status {"test":"test-node-wasm.js","passed":124,"failed":2} +2022-08-24 08:10:25 INFO:  failures {"count":2} +2022-08-24 08:10:25 WARN:  failed {"test":"test-node-wasm.js","message":["error",["failed: nanodet",[]]]} +2022-08-24 08:10:25 WARN:  failed {"test":"test-node-wasm.js","message":["error",["failed: face attention",{"annotations":0}]]}