diff --git a/CHANGELOG.md b/CHANGELOG.md index 525191a9..0cc1a2c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,9 +11,8 @@ ### **HEAD -> main** 2022/08/30 mandic00@live.com - -### **origin/main** 2022/08/28 mandic00@live.com - +- add model load exception handling +- add softwarekernels config option - expand type safety - full eslint rule rewrite diff --git a/TODO.md b/TODO.md index cbbe08cb..4310d414 100644 --- a/TODO.md +++ b/TODO.md @@ -60,6 +60,7 @@ Enable via `about:config` -> `gfx.offscreencanvas.enabled` Example: `console.log(human.env.tensorflow)` - Treat models that cannot be found & loaded as non-critical error Instead of creating runtime exception, `human` will now report that model could not be loaded +- Improve `human.reset()` method to reset all config values to defaults - Host models in Models can be directly used without downloading to local storage Example: `modelPath: 'https://vladmandic.github.io/human-models/models/facemesh.json'` diff --git a/package.json b/package.json index 00dc5a98..2c14939b 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "@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-backend-webgpu": "0.0.1-alpha.13", "@tensorflow/tfjs-converter": "^3.20.0", "@tensorflow/tfjs-core": "^3.20.0", "@tensorflow/tfjs-data": "^3.20.0", @@ -78,8 +78,8 @@ "@tensorflow/tfjs-tflite": "0.0.1-alpha.8", "@types/node": "^18.7.14", "@types/offscreencanvas": "^2019.7.0", - "@typescript-eslint/eslint-plugin": "^5.36.0", - "@typescript-eslint/parser": "^5.36.0", + "@typescript-eslint/eslint-plugin": "^5.36.1", + "@typescript-eslint/parser": "^5.36.1", "@vladmandic/build": "^0.7.11", "@vladmandic/pilogger": "^0.4.6", "@vladmandic/tfjs": "github:vladmandic/tfjs", @@ -97,7 +97,7 @@ "rimraf": "^3.0.2", "seedrandom": "^3.0.5", "tslib": "^2.4.0", - "typedoc": "0.23.11", + "typedoc": "0.23.12", "typescript": "4.8.2" } } diff --git a/src/face/attention.ts b/src/face/attention.ts index 46960a43..757058a9 100644 --- a/src/face/attention.ts +++ b/src/face/attention.ts @@ -5,12 +5,15 @@ export async function augment(rawCoords, results: Tensor[]) { const t: Record = { // all attention models produce 2d results so it needs to be later augmented with correct z-coords // mesh: results[0], // already have it in rawCoords // output_mesh_identity // flag: results[1], // already processed in parent // conv_faceflag - lips: await results.filter((r) => r.size === 160)[0].data() as Float32Array, // 80 x 2d = 160 // output_lips - irisL: await results.filter((r) => r.size === 10)[0].data() as Float32Array, // 5 x 2d = 10 // output_right_iris - eyeL: await results.filter((r) => r.size === 142)[0].data() as Float32Array, // 71 x 2d = 142 // output_right_eye - irisR: await results.filter((r) => r.size === 10)[1].data() as Float32Array, // 5 x 2d = 10 // output_left_iris - eyeR: await results.filter((r) => r.size === 142)[1].data() as Float32Array, // 71 x 2d = 142// output_left_eye + lips: await results.filter((r) => r.size === 160)?.[0]?.data() as Float32Array, // 80 x 2d = 160 // output_lips + irisL: await results.filter((r) => r.size === 10)?.[0]?.data() as Float32Array, // 5 x 2d = 10 // output_right_iris + eyeL: await results.filter((r) => r.size === 142)?.[0]?.data() as Float32Array, // 71 x 2d = 142 // output_right_eye + irisR: await results.filter((r) => r.size === 10)?.[1]?.data() as Float32Array, // 5 x 2d = 10 // output_left_iris + eyeR: await results.filter((r) => r.size === 142)?.[1]?.data() as Float32Array, // 71 x 2d = 142// output_left_eye }; + for (const val of Object.values(t)) { + if (!val) return rawCoords; // could not find tensor + } // augment iris: adds additional 5 keypoints per eye const irisLDepth = constants.LANDMARKS_REFINEMENT_LEFT_EYE_CONFIG.reduce((prev, curr) => prev += rawCoords[curr][2], 0) / constants.LANDMARKS_REFINEMENT_LEFT_EYE_CONFIG.length; // get average z-coord for iris diff --git a/src/face/facemesh.ts b/src/face/facemesh.ts index 6e4e4d57..17fccd45 100644 --- a/src/face/facemesh.ts +++ b/src/face/facemesh.ts @@ -90,6 +90,7 @@ export async function predict(input: Tensor, config: Config): Promise t.shape[t.shape.length - 1] === 1) as Tensor; const faceConfidence = await confidenceT.data(); face.faceScore = Math.round(100 * faceConfidence[0]) / 100; - if (face.faceScore < (config.face.detector?.minConfidence || 1)) { // low confidence in detected mesh box.confidence = face.faceScore; // reset confidence of cached box if (config.face.mesh.keepInvalid) { diff --git a/src/human.ts b/src/human.ts index c6513c04..a25c51db 100644 --- a/src/human.ts +++ b/src/human.ts @@ -204,11 +204,15 @@ export class Human { const currentBackend = this.config.backend; // save backend; this.config = JSON.parse(JSON.stringify(defaults)); this.config.backend = currentBackend; + image.reset(); + env.initial = true; } /** Validate current configuration schema */ validate(userConfig?: Partial) { - return validate(defaults, userConfig || this.config); + const msgs = validate(defaults, userConfig || this.config); + if (msgs.length === 0) this.config = mergeDeep(this.config, userConfig) as Config; + return msgs; } /** Check model for invalid kernel ops for current backend */ @@ -280,6 +284,7 @@ export class Human { async init(): Promise { await backend.check(this, true); await this.tf.ready(); + image.reset(); } /** Load method preloads all configured models on-demand diff --git a/src/image/image.ts b/src/image/image.ts index fe89c957..681b0880 100644 --- a/src/image/image.ts +++ b/src/image/image.ts @@ -24,6 +24,13 @@ const last: { inputSum: number, cacheDiff: number, sumMethod: number, inputTenso inputTensor: undefined, }; +export function reset() { + last.inputSum = 0; + last.cacheDiff = 1; + last.sumMethod = 0; + last.inputTensor = undefined; +} + export function canvas(width: number, height: number): AnyCanvas { let c: AnyCanvas; if (env.browser) { // browser defines canvas object diff --git a/src/models.ts b/src/models.ts index 4a9a5d5b..595b41e7 100644 --- a/src/models.ts +++ b/src/models.ts @@ -123,7 +123,7 @@ export async function load(instance: Human): Promise { if (instance.config.face.enabled && instance.config.face.description?.enabled && !instance.models.faceres) instance.models.faceres = faceres.load(instance.config); if (instance.config.face.enabled && instance.config.face.emotion?.enabled && !instance.models.emotion) instance.models.emotion = emotion.load(instance.config); if (instance.config.face.enabled && instance.config.face.iris?.enabled && !instance.config.face.attention?.enabled && !instance.models.faceiris) instance.models.faceiris = iris.load(instance.config); - if (instance.config.face.enabled && instance.config.face.mesh?.enabled && !instance.models.facemesh) instance.models.facemesh = facemesh.load(instance.config); + if (instance.config.face.enabled && instance.config.face.mesh?.enabled && (!instance.models.facemesh)) instance.models.facemesh = facemesh.load(instance.config); if (instance.config.face.enabled && instance.config.face['gear']?.enabled && !instance.models.gear) instance.models.gear = gear.load(instance.config); if (instance.config.face.enabled && instance.config.face['ssrnet']?.enabled && !instance.models.ssrnetage) instance.models.ssrnetage = ssrnetAge.load(instance.config); if (instance.config.face.enabled && instance.config.face['ssrnet']?.enabled && !instance.models.ssrnetgender) instance.models.ssrnetgender = ssrnetGender.load(instance.config); diff --git a/src/object/centernet.ts b/src/object/centernet.ts index ff77c83e..908ad58e 100644 --- a/src/object/centernet.ts +++ b/src/object/centernet.ts @@ -48,6 +48,7 @@ async function process(res: Tensor | null, outputShape: [number, number], config for (const id of Array.from(nms)) { const score = Math.trunc(100 * detections[0][id][4]) / 100; const classVal = detections[0][id][5]; + if (Number.isNaN(classVal)) continue; const label = labels[classVal].label as ObjectType; const [x, y] = [ detections[0][id][0] / inputSize, diff --git a/test/browser.html b/test/browser.html index 7a30f1a4..0e53bff0 100644 --- a/test/browser.html +++ b/test/browser.html @@ -13,11 +13,11 @@ diff --git a/test/browser.js b/test/browser.js index d33ee41a..5a8b0d40 100644 --- a/test/browser.js +++ b/test/browser.js @@ -1,12 +1,6 @@ import { Human } from '../dist/human.esm.js'; -const config = { - async: true, - warmup: 'none', - debug: true, - cacheSensitivity: 0, - object: { enabled: true }, -}; +let human; const backends = ['wasm', 'humangl', 'webgl', 'webgpu']; @@ -68,10 +62,72 @@ async function events(event) { document.getElementById('events').innerText = `${Math.round(performance.now() - start)}ms Event: ${event}`; } +async function testDefault(title, testConfig = {}) { + const t0 = human.now(); + let res; + for (const model of Object.keys(human.models)) { // unload models + if (human.models[model]) { + // if (human.models[model].dispose) human.models[model].dispose(); + human.models[model] = null; + } + } + human.reset(); + res = human.validate(testConfig); // validate + if (res && res.length > 0) log(' invalid configuration', res); + log(`test ${title}/${human.tf.getBackend()}`, human.config); + await human.load(); + const models = Object.keys(human.models).map((model) => ({ name: model, loaded: (human.models[model] !== null) })); + log(' models', models); + const ops = await human.check(); + if (ops && ops.length > 0) log(' missing ops', ops); + const img = await image('../../samples/in/ai-body.jpg'); + const input = await human.image(img); // process image + draw(input.canvas); + res = await human.warmup({ warmup: 'face' }); // warmup + draw(res.canvas); + const t1 = human.now(); + res = await human.detect(input.tensor, testConfig); // run detect + const t2 = human.now(); + human.next(); // run interpolation + const persons = res.persons; // run persons getter + log(' summary', { persons: persons.length, face: res.face.length, body: res.body.length, hand: res.hand.length, object: res.object.length, gesture: res.gesture.length }); + // log(' memory', human.tf.memory()); + // log(' performance', human.performance); + human.tf.dispose(input.tensor); + log(` finished ${title}/${human.tf.getBackend()}`, { init: Math.round(t1 - t0), detect: Math.round(t2 - t1) }); + return res; +} + +async function runBenchmark() { + const img = await image('../../samples/in/ai-face.jpg'); + human.reset(); + const s0 = human.now(); + await human.load(); + await human.warmup(); + const s1 = human.now(); + for (const val of [0, 0.25, 0.5, 0.75, 10]) { + human.performance = {}; + const t0 = performance.now(); + for (let i = 0; i < 10; i++) { + const res = await human.detect(img, { cacheSensitivity: val, filter: { pixelate: 5 * i }, object: { enabled: true } }); // run detect with increased pixelization on each iteration + draw(res.canvas); + } + const t1 = performance.now(); + log(' benchmark', { time: Math.round((t1 - t0) / 10), backend: human.tf.getBackend(), cacheSensitivity: val, performance: human.performance }); + await wait(1); + } + const s2 = human.now(); + log(' total', human.tf.getBackend(), { detect: Math.round(s2 - s1), init: Math.round(s1 - s0) }); + draw(); +} + async function main() { log('human tests'); - let res; - const human = new Human(config); + + // create instance + human = new Human({ debug: true }); + + // explicit init await human.init(); human.events.addEventListener('warmup', () => events('warmup')); human.events.addEventListener('image', () => events('image')); @@ -83,60 +139,36 @@ async function main() { const env = JSON.parse(JSON.stringify(human.env)); env.kernels = human.env.kernels.length; detailed('environment', env); + // detailed('config', human.config); - detailed('config', human.config); - await human.load(); - const models = Object.keys(human.models).map((model) => ({ name: model, loaded: (human.models[model] !== null) })); - log('models', models); for (const backend of backends) { - log(); - log('test start:', backend); + human.config.backend = backend; + await human.init(); // init + if (human.tf.getBackend() !== backend) { + log('desired', backend, 'detected', human.tf.getBackend()); + continue; // wrong backend + } + await testDefault('default', { debug: true }); + await testDefault('sync', { debug: true, async: false }); + await testDefault('none', { debug: true, async: true, face: { enabled: false }, body: { enabled: false }, hand: { enabled: false }, gesture: { enabled: false }, segmentation: { enabled: false }, object: { enabled: false } }); + await testDefault('object', { debug: true, async: true, face: { enabled: false }, body: { enabled: false }, hand: { enabled: false }, gesture: { enabled: false }, segmentation: { enabled: false }, object: { enabled: true } }); + // TBD detectors only + // TBD segmentation + // TBD face match + // TBD non-default models + // TBD web workers + // TBD multiple instances + } + log('tests complete'); + for (const backend of backends) { + log('benchmark backend:', backend); human.config.backend = backend; await human.init(); - log('desired', backend, 'detected', human.tf.getBackend()); - if (human.tf.getBackend() !== backend) { - continue; - } - log('memory', human.tf.memory()); - res = await human.validate(); - log('validate', res); - res = await human.warmup({ warmup: 'face' }); - draw(res.canvas); - log('warmup', 'face'); - let img = await image('../../samples/in/ai-body.jpg'); - const input = await human.image(img); - log('input', input.tensor.shape); - draw(res.canvas); - res = await human.detect(input.tensor); - log('detect'); - human.next(); - log('interpolate'); - const persons = res.persons; - log('persons'); - log('summary', { persons: persons.length, face: res.face.length, body: res.body.length, hand: res.hand.length, object: res.object.length, gesture: res.gesture.length }); - log('performance', human.performance); - human.tf.dispose(input.tensor); - draw(); - - img = await image('../../samples/in/ai-face.jpg'); - for (const val of [0, 0.25, 0.5, 0.75, 10]) { - human.performance = {}; - const t0 = performance.now(); - for (let i = 0; i < 10; i++) { - res = await human.detect(img, { cacheSensitivity: val, filter: { pixelate: 5 * i }, object: { enabled: false } }); - draw(res.canvas); - } - const t1 = performance.now(); - log('benchmark', { time: Math.round((t1 - t0) / 10), cacheSensitivity: val, performance: human.performance }); - await wait(10); - } - draw(); - - log('memory', human.tf.memory()); + if (human.tf.getBackend() !== backend) continue; // wrong backend + await runBenchmark(); } + log('benchmarks complete'); clearInterval(timer); - log(); - log('tests complete'); } main(); diff --git a/test/build.log b/test/build.log index d5b8782d..568396c7 100644 --- a/test/build.log +++ b/test/build.log @@ -1,39 +1,39 @@ -2022-08-30 10:28:42 DATA:  Build {"name":"@vladmandic/human","version":"2.9.4"} -2022-08-30 10:28:42 INFO:  Application: {"name":"@vladmandic/human","version":"2.9.4"} -2022-08-30 10:28:42 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true} -2022-08-30 10:28:42 INFO:  Toolchain: {"build":"0.7.11","esbuild":"0.15.6","typescript":"4.8.2","typedoc":"0.23.11","eslint":"8.23.0"} -2022-08-30 10:28:42 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]} -2022-08-30 10:28:42 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]} -2022-08-30 10:28:42 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-30 10:28:42 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655263,"outputBytes":308144} -2022-08-30 10:28:42 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-30 10:28:42 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655267,"outputBytes":308148} -2022-08-30 10:28:42 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-30 10:28:42 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655319,"outputBytes":308198} -2022-08-30 10:28:42 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-30 10:28:42 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-30 10:28:42 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":655238,"outputBytes":307019} -2022-08-30 10:28:42 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-30 10:28:42 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3533728,"outputBytes":1707671} -2022-08-30 10:28:42 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3533728,"outputBytes":3156709} -2022-08-30 10:28:47 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":30} -2022-08-30 10:28:49 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":77,"generated":true} -2022-08-30 10:28:49 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-30 10:28:49 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":7788} -2022-08-30 10:28:59 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":111,"errors":0,"warnings":0} -2022-08-30 10:28:59 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"} -2022-08-30 10:28:59 STATE: Copy: {"input":"tfjs/tfjs.esm.d.ts"} -2022-08-30 10:28:59 INFO:  Done... -2022-08-30 10:29:00 STATE: API-Extractor: {"succeeeded":true,"errors":0,"warnings":198} -2022-08-30 10:29:00 STATE: Copy: {"input":"types/human.d.ts"} -2022-08-30 10:29:00 INFO:  Analyze models: {"folders":8,"result":"models/models.json"} -2022-08-30 10:29:00 STATE: Models {"folder":"./models","models":13} -2022-08-30 10:29:00 STATE: Models {"folder":"../human-models/models","models":42} -2022-08-30 10:29:00 STATE: Models {"folder":"../blazepose/model/","models":4} -2022-08-30 10:29:00 STATE: Models {"folder":"../anti-spoofing/model","models":1} -2022-08-30 10:29:00 STATE: Models {"folder":"../efficientpose/models","models":3} -2022-08-30 10:29:00 STATE: Models {"folder":"../insightface/models","models":5} -2022-08-30 10:29:00 STATE: Models {"folder":"../movenet/models","models":3} -2022-08-30 10:29:00 STATE: Models {"folder":"../nanodet/models","models":4} -2022-08-30 10:29:01 STATE: Models: {"count":57,"totalSize":383017442} -2022-08-30 10:29:01 INFO:  Human Build complete... {"logFile":"test/build.log"} +2022-08-31 11:27:08 DATA:  Build {"name":"@vladmandic/human","version":"2.9.4"} +2022-08-31 11:27:08 INFO:  Application: {"name":"@vladmandic/human","version":"2.9.4"} +2022-08-31 11:27:08 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true} +2022-08-31 11:27:08 INFO:  Toolchain: {"build":"0.7.11","esbuild":"0.15.6","typescript":"4.8.2","typedoc":"0.23.12","eslint":"8.23.0"} +2022-08-31 11:27:08 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]} +2022-08-31 11:27:08 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]} +2022-08-31 11:27:08 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-31 11:27:08 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655767,"outputBytes":308629} +2022-08-31 11:27:08 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-31 11:27:08 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655771,"outputBytes":308633} +2022-08-31 11:27:08 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-31 11:27:08 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655823,"outputBytes":308683} +2022-08-31 11:27:08 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-31 11:27:08 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-31 11:27: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":655742,"outputBytes":307503} +2022-08-31 11:27: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":2821914} +2022-08-31 11:27:09 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3477073,"outputBytes":1687675} +2022-08-31 11:27:09 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3477073,"outputBytes":3108312} +2022-08-31 11:27:13 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":30} +2022-08-31 11:27:15 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":77,"generated":true} +2022-08-31 11:27:15 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-31 11:27:15 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":7788} +2022-08-31 11:27:25 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":111,"errors":0,"warnings":0} +2022-08-31 11:27:25 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"} +2022-08-31 11:27:25 STATE: Copy: {"input":"tfjs/tfjs.esm.d.ts"} +2022-08-31 11:27:25 INFO:  Done... +2022-08-31 11:27:26 STATE: API-Extractor: {"succeeeded":true,"errors":0,"warnings":198} +2022-08-31 11:27:26 STATE: Copy: {"input":"types/human.d.ts"} +2022-08-31 11:27:26 INFO:  Analyze models: {"folders":8,"result":"models/models.json"} +2022-08-31 11:27:26 STATE: Models {"folder":"./models","models":13} +2022-08-31 11:27:26 STATE: Models {"folder":"../human-models/models","models":42} +2022-08-31 11:27:26 STATE: Models {"folder":"../blazepose/model/","models":4} +2022-08-31 11:27:26 STATE: Models {"folder":"../anti-spoofing/model","models":1} +2022-08-31 11:27:26 STATE: Models {"folder":"../efficientpose/models","models":3} +2022-08-31 11:27:26 STATE: Models {"folder":"../insightface/models","models":5} +2022-08-31 11:27:26 STATE: Models {"folder":"../movenet/models","models":3} +2022-08-31 11:27:26 STATE: Models {"folder":"../nanodet/models","models":4} +2022-08-31 11:27:27 STATE: Models: {"count":57,"totalSize":383017442} +2022-08-31 11:27:27 INFO:  Human Build complete... {"logFile":"test/build.log"} diff --git a/test/test.log b/test/test.log index 932050d8..ab93b6d3 100644 --- a/test/test.log +++ b/test/test.log @@ -1,1000 +1,999 @@ -2022-08-30 10:24:02 INFO:  @vladmandic/human version 2.9.4 -2022-08-30 10:24:02 INFO:  User: vlado Platform: linux Arch: x64 Node: v18.1.0 -2022-08-30 10:24:02 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-30 10:24:02 INFO:  {"cmd":"../demo/nodejs/node.js","args":[]} start -2022-08-30 10:24:03 INFO:  {"cmd":"../demo/nodejs/node-simple.js","args":[]} start -2022-08-30 10:24:04 INFO:  {"cmd":"../demo/nodejs/node-fetch.js","args":[]} start -2022-08-30 10:24:06 INFO:  {"cmd":"../demo/nodejs/node-event.js","args":["samples/in/ai-body.jpg"]} start -2022-08-30 10:24:06 INFO:  {"cmd":"../demo/nodejs/node-similarity.js","args":["samples/in/ai-face.jpg","samples/in/ai-upper.jpg"]} start -2022-08-30 10:24:07 INFO:  {"cmd":"../demo/nodejs/node-canvas.js","args":["samples/in/ai-body.jpg","samples/out/ai-body.jpg"]} start -2022-08-30 10:24:07 INFO:  {"cmd":"../demo/multithread/node-multiprocess.js","args":[]} start -2022-08-30 10:24:08 INFO:  {"cmd":"../demo/facematch/node-match.js","args":[]} start -2022-08-30 10:24:10 INFO:  tests: ["test-node-load.js","test-node-gear.js","test-backend-node.js","test-backend-node-gpu.js","test-backend-node-wasm.js"] -2022-08-30 10:24:10 INFO:  -2022-08-30 10:24:10 INFO:  test-node-load.js start -2022-08-30 10:24:10 INFO:  test-node-load.js load start {"human":"2.9.4","tf":"3.20.0","progress":0} -2022-08-30 10:24:10 DATA:  test-node-load.js load interval {"elapsed":0,"progress":0} -2022-08-30 10:24:10 DATA:  test-node-load.js load interval {"elapsed":10,"progress":0} -2022-08-30 10:24:11 DATA:  test-node-load.js load interval {"elapsed":20,"progress":0.05339166087267679} -2022-08-30 10:24:11 DATA:  test-node-load.js load interval {"elapsed":30,"progress":0.2135162934143239} -2022-08-30 10:24:11 DATA:  test-node-load.js load interval {"elapsed":57,"progress":0.3299591712723044} -2022-08-30 10:24:11 DATA:  test-node-load.js load interval {"elapsed":76,"progress":0.5125946867158943} -2022-08-30 10:24:11 DATA:  test-node-load.js load interval {"elapsed":86,"progress":0.7259096583739463} -2022-08-30 10:24:11 STATE: test-node-load.js passed {"progress":1} -2022-08-30 10:24:11 INFO:  test-node-load.js load final {"progress":1} -2022-08-30 10:24:11 DATA:  test-node-load.js load interval {"elapsed":356,"progress":1} -2022-08-30 10:24:11 INFO:  -2022-08-30 10:24:11 INFO:  test-node-gear.js start -2022-08-30 10:24:11 DATA:  test-node-gear.js input: ["samples/in/ai-face.jpg"] -2022-08-30 10:24:11 STATE: test-node-gear.js passed: gear faceres samples/in/ai-face.jpg -2022-08-30 10:24:11 DATA:  test-node-gear.js results {"face":0,"model":"faceres","image":"samples/in/ai-face.jpg","age":23.5,"gender":"female","genderScore":0.92} -2022-08-30 10:24:11 STATE: test-node-gear.js passed: gear gear samples/in/ai-face.jpg -2022-08-30 10:24:11 DATA:  test-node-gear.js results {"face":0,"model":"gear","image":"samples/in/ai-face.jpg","age":24.4,"gender":"female","genderScore":0.7,"race":[{"score":0.97,"race":"white"}]} -2022-08-30 10:24:11 STATE: test-node-gear.js passed: gear ssrnet samples/in/ai-face.jpg -2022-08-30 10:24:11 DATA:  test-node-gear.js results {"face":0,"model":"ssrnet","image":"samples/in/ai-face.jpg","age":22.8,"gender":"female","genderScore":0.99} -2022-08-30 10:24:11 INFO:  -2022-08-30 10:24:11 INFO:  test-backend-node.js start -2022-08-30 10:24:11 INFO:  test-backend-node.js test: configuration validation -2022-08-30 10:24:11 STATE: test-backend-node.js passed: configuration default validation [] -2022-08-30 10:24:11 STATE: test-backend-node.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2022-08-30 10:24:11 INFO:  test-backend-node.js test: model load -2022-08-30 10:24:12 STATE: test-backend-node.js passed: models loaded 23 12 [{"name":"ssrnetage","loaded":false,"url":null},{"name":"gear","loaded":false,"url":null},{"name":"blazeposedetect","loaded":false,"url":null},{"name":"blazepose","loaded":false,"url":null},{"name":"centernet","loaded":true,"url":"file://models/mb3-centernet.json"},{"name":"efficientpose","loaded":false,"url":null},{"name":"mobilefacenet","loaded":false,"url":null},{"name":"insightface","loaded":false,"url":null},{"name":"emotion","loaded":true,"url":"file://models/emotion.json"},{"name":"facedetect","loaded":true,"url":"file://models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"file://models/iris.json"},{"name":"facemesh","loaded":true,"url":"file://models/facemesh.json"},{"name":"faceres","loaded":true,"url":"file://models/faceres.json"},{"name":"ssrnetgender","loaded":false,"url":null},{"name":"handpose","loaded":false,"url":null},{"name":"handskeleton","loaded":true,"url":"file://models/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"file://models/handtrack.json"},{"name":"liveness","loaded":true,"url":"file://models/liveness.json"},{"name":"movenet","loaded":true,"url":"file://models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"segmentation","loaded":true,"url":"file://models/selfie.json"},{"name":"antispoof","loaded":true,"url":"file://models/antispoof.json"}] -2022-08-30 10:24:12 INFO:  test-backend-node.js memory: {"memory":{"unreliable":true,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} -2022-08-30 10:24:12 INFO:  test-backend-node.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} -2022-08-30 10:24:12 INFO:  test-backend-node.js test: warmup -2022-08-30 10:24:12 STATE: test-backend-node.js passed: create human -2022-08-30 10:24:12 INFO:  test-backend-node.js human version: 2.9.4 -2022-08-30 10:24:12 INFO:  test-backend-node.js platform: linux x64 agent: NodeJS v18.1.0 -2022-08-30 10:24:12 INFO:  test-backend-node.js tfjs version: 3.20.0 -2022-08-30 10:24:12 INFO:  test-backend-node.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","tensorflow"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{"version":"2.7.3-dev20220521","gpu":false},"wasm":{"supported":true,"backend":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":169} -2022-08-30 10:24:12 STATE: test-backend-node.js passed: set backend: tensorflow -2022-08-30 10:24:12 STATE: test-backend-node.js tensors 1921 -2022-08-30 10:24:12 STATE: test-backend-node.js passed: load models -2022-08-30 10:24:12 STATE: test-backend-node.js result: defined models: 23 loaded models: 12 -2022-08-30 10:24:12 STATE: test-backend-node.js passed: warmup: none default -2022-08-30 10:24:12 DATA:  test-backend-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2022-08-30 10:24:12 DATA:  test-backend-node.js result: performance: load: null total: null -2022-08-30 10:24:12 STATE: test-backend-node.js passed: warmup none result match -2022-08-30 10:24:12 STATE: test-backend-node.js event: image -2022-08-30 10:24:12 STATE: test-backend-node.js event: detect -2022-08-30 10:24:12 STATE: test-backend-node.js event: warmup -2022-08-30 10:24:12 STATE: test-backend-node.js passed: warmup: face default -2022-08-30 10:24:12 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4} -2022-08-30 10:24:12 DATA:  test-backend-node.js result: performance: load: null total: 354 -2022-08-30 10:24:12 STATE: test-backend-node.js passed: warmup face result match -2022-08-30 10:24:12 STATE: test-backend-node.js event: image -2022-08-30 10:24:12 STATE: test-backend-node.js event: detect -2022-08-30 10:24:12 STATE: test-backend-node.js event: warmup -2022-08-30 10:24:12 STATE: test-backend-node.js passed: warmup: body default -2022-08-30 10:24:12 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:12 DATA:  test-backend-node.js result: performance: load: null total: 237 -2022-08-30 10:24:12 STATE: test-backend-node.js passed: warmup body result match -2022-08-30 10:24:12 STATE: test-backend-node.js details: {"face":{"boxScore":0.92,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.63,"emotion":"angry"},{"score":0.22,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.52,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 10% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} -2022-08-30 10:24:12 INFO:  test-backend-node.js test: details verification -2022-08-30 10:24:12 STATE: test-backend-node.js start default -2022-08-30 10:24:12 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-30 10:24:12 STATE: test-backend-node.js event: image -2022-08-30 10:24:13 STATE: test-backend-node.js event: detect -2022-08-30 10:24:13 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg default -2022-08-30 10:24:13 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:13 DATA:  test-backend-node.js result: performance: load: null total: 220 -2022-08-30 10:24:13 STATE: test-backend-node.js passed: details face length 1 -2022-08-30 10:24:13 STATE: test-backend-node.js passed: details face score 1 0.93 1 -2022-08-30 10:24:13 STATE: test-backend-node.js passed: details face age/gender 23.7 female 0.97 85.47 -2022-08-30 10:24:13 STATE: test-backend-node.js passed: details face arrays 4 478 1024 -2022-08-30 10:24:13 STATE: test-backend-node.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} -2022-08-30 10:24:13 STATE: test-backend-node.js passed: details face anti-spoofing 0.79 -2022-08-30 10:24:13 STATE: test-backend-node.js passed: details face liveness 0.83 -2022-08-30 10:24:13 STATE: test-backend-node.js passed: details body length 1 -2022-08-30 10:24:13 STATE: test-backend-node.js passed: details body 0.92 17 6 -2022-08-30 10:24:13 STATE: test-backend-node.js passed: details hand length 1 -2022-08-30 10:24:13 STATE: test-backend-node.js passed: details hand 0.51 0.73 point -2022-08-30 10:24:13 STATE: test-backend-node.js passed: details hand arrays 21 5 7 -2022-08-30 10:24:13 STATE: test-backend-node.js passed: details gesture length 7 -2022-08-30 10:24:13 STATE: test-backend-node.js passed: details gesture first {"face":0,"gesture":"facing right"} -2022-08-30 10:24:13 STATE: test-backend-node.js passed: details object length 1 -2022-08-30 10:24:13 STATE: test-backend-node.js passed: details object 0.72 person -2022-08-30 10:24:13 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} -2022-08-30 10:24:13 STATE: test-backend-node.js event: image -2022-08-30 10:24:13 STATE: test-backend-node.js event: detect -2022-08-30 10:24:13 STATE: test-backend-node.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2022-08-30 10:24:13 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} -2022-08-30 10:24:13 STATE: test-backend-node.js event: image -2022-08-30 10:24:13 STATE: test-backend-node.js event: detect -2022-08-30 10:24:13 STATE: test-backend-node.js passed: tensor shape: [1200,1200,4] dtype: float32 -2022-08-30 10:24:14 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-30 10:24:14 STATE: test-backend-node.js event: image -2022-08-30 10:24:14 STATE: test-backend-node.js event: detect -2022-08-30 10:24:14 STATE: test-backend-node.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2022-08-30 10:24:14 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796864} -2022-08-30 10:24:14 STATE: test-backend-node.js event: image -2022-08-30 10:24:14 STATE: test-backend-node.js event: detect -2022-08-30 10:24:14 STATE: test-backend-node.js passed: tensor shape: [1200,1200,3] dtype: float32 -2022-08-30 10:24:14 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2022-08-30 10:24:14 STATE: test-backend-node.js event: image -2022-08-30 10:24:15 STATE: test-backend-node.js event: detect -2022-08-30 10:24:15 STATE: test-backend-node.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2022-08-30 10:24:15 INFO:  test-backend-node.js test default -2022-08-30 10:24:15 STATE: test-backend-node.js start async -2022-08-30 10:24:15 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-30 10:24:15 STATE: test-backend-node.js event: image -2022-08-30 10:24:15 STATE: test-backend-node.js event: detect -2022-08-30 10:24:15 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg async -2022-08-30 10:24:15 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:15 DATA:  test-backend-node.js result: performance: load: null total: 200 -2022-08-30 10:24:15 STATE: test-backend-node.js passed: default result face match 1 female 0.97 -2022-08-30 10:24:15 INFO:  test-backend-node.js test sync -2022-08-30 10:24:15 STATE: test-backend-node.js start sync -2022-08-30 10:24:15 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-30 10:24:15 STATE: test-backend-node.js event: image -2022-08-30 10:24:15 STATE: test-backend-node.js event: detect -2022-08-30 10:24:15 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg sync -2022-08-30 10:24:15 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:15 DATA:  test-backend-node.js result: performance: load: null total: 200 -2022-08-30 10:24:15 STATE: test-backend-node.js passed: default sync 1 female 0.97 -2022-08-30 10:24:15 INFO:  test-backend-node.js test: image process -2022-08-30 10:24:15 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-30 10:24:15 STATE: test-backend-node.js passed: image input null [1,256,256,3] -2022-08-30 10:24:15 INFO:  test-backend-node.js test: image null -2022-08-30 10:24:15 STATE: test-backend-node.js passed: invalid input could not convert input to tensor -2022-08-30 10:24:15 INFO:  test-backend-node.js test face similarity -2022-08-30 10:24:15 STATE: test-backend-node.js start face similarity -2022-08-30 10:24:15 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-30 10:24:15 STATE: test-backend-node.js event: image -2022-08-30 10:24:16 STATE: test-backend-node.js event: detect -2022-08-30 10:24:16 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face similarity -2022-08-30 10:24:16 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} -2022-08-30 10:24:16 DATA:  test-backend-node.js result: performance: load: null total: 198 -2022-08-30 10:24:16 STATE: test-backend-node.js start face similarity -2022-08-30 10:24:16 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-30 10:24:16 STATE: test-backend-node.js event: image -2022-08-30 10:24:16 STATE: test-backend-node.js event: detect -2022-08-30 10:24:16 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg face similarity -2022-08-30 10:24:16 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:16 DATA:  test-backend-node.js result: performance: load: null total: 199 -2022-08-30 10:24:16 STATE: test-backend-node.js start face similarity -2022-08-30 10:24:16 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-30 10:24:16 STATE: test-backend-node.js event: image -2022-08-30 10:24:16 STATE: test-backend-node.js event: detect -2022-08-30 10:24:16 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg face similarity -2022-08-30 10:24:16 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} -2022-08-30 10:24:16 DATA:  test-backend-node.js result: performance: load: null total: 177 -2022-08-30 10:24:16 STATE: test-backend-node.js passed: face descriptor -2022-08-30 10:24:16 STATE: test-backend-node.js passed: face similarity {"similarity":[1,0.44727452329649126,0.5567935850640406],"descriptors":[1024,1024,1024]} -2022-08-30 10:24:16 INFO:  test-backend-node.js test object -2022-08-30 10:24:16 STATE: test-backend-node.js start object -2022-08-30 10:24:16 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-30 10:24:16 STATE: test-backend-node.js event: image -2022-08-30 10:24:17 STATE: test-backend-node.js event: detect -2022-08-30 10:24:17 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg object -2022-08-30 10:24:17 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:17 DATA:  test-backend-node.js result: performance: load: null total: 198 -2022-08-30 10:24:17 STATE: test-backend-node.js passed: centernet -2022-08-30 10:24:17 STATE: test-backend-node.js start object -2022-08-30 10:24:18 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-30 10:24:18 STATE: test-backend-node.js event: image -2022-08-30 10:24:18 STATE: test-backend-node.js event: detect -2022-08-30 10:24:18 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg object -2022-08-30 10:24:18 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 3 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:18 DATA:  test-backend-node.js result: performance: load: null total: 209 -2022-08-30 10:24:18 STATE: test-backend-node.js passed: nanodet -2022-08-30 10:24:18 INFO:  test-backend-node.js test sensitive -2022-08-30 10:24:18 STATE: test-backend-node.js start sensitive -2022-08-30 10:24:18 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-30 10:24:18 STATE: test-backend-node.js event: image -2022-08-30 10:24:18 STATE: test-backend-node.js event: detect -2022-08-30 10:24:18 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg sensitive -2022-08-30 10:24:18 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:24:18 DATA:  test-backend-node.js result: performance: load: null total: 169 -2022-08-30 10:24:18 STATE: test-backend-node.js passed: sensitive result match -2022-08-30 10:24:18 STATE: test-backend-node.js passed: sensitive face result match -2022-08-30 10:24:18 STATE: test-backend-node.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] -2022-08-30 10:24:18 STATE: test-backend-node.js passed: sensitive body result match -2022-08-30 10:24:18 STATE: test-backend-node.js passed: sensitive hand result match -2022-08-30 10:24:18 INFO:  test-backend-node.js test body -2022-08-30 10:24:18 STATE: test-backend-node.js start blazepose -2022-08-30 10:24:20 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-30 10:24:20 STATE: test-backend-node.js event: image -2022-08-30 10:24:21 STATE: test-backend-node.js event: detect -2022-08-30 10:24:21 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg blazepose -2022-08-30 10:24:21 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.99,"keypoints":39} -2022-08-30 10:24:21 DATA:  test-backend-node.js result: performance: load: null total: 212 -2022-08-30 10:24:21 STATE: test-backend-node.js passed: blazepose -2022-08-30 10:24:21 STATE: test-backend-node.js start efficientpose -2022-08-30 10:24:21 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-30 10:24:21 STATE: test-backend-node.js event: image -2022-08-30 10:24:21 STATE: test-backend-node.js event: detect -2022-08-30 10:24:21 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg efficientpose -2022-08-30 10:24:21 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.75,"keypoints":13} -2022-08-30 10:24:21 DATA:  test-backend-node.js result: performance: load: null total: 233 -2022-08-30 10:24:21 STATE: test-backend-node.js passed: efficientpose -2022-08-30 10:24:21 STATE: test-backend-node.js start posenet -2022-08-30 10:24:22 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-30 10:24:22 STATE: test-backend-node.js event: image -2022-08-30 10:24:22 STATE: test-backend-node.js event: detect -2022-08-30 10:24:22 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg posenet -2022-08-30 10:24:22 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.96,"keypoints":16} -2022-08-30 10:24:22 DATA:  test-backend-node.js result: performance: load: null total: 179 -2022-08-30 10:24:22 STATE: test-backend-node.js passed: posenet -2022-08-30 10:24:22 STATE: test-backend-node.js start movenet -2022-08-30 10:24:22 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-30 10:24:22 STATE: test-backend-node.js event: image -2022-08-30 10:24:22 STATE: test-backend-node.js event: detect -2022-08-30 10:24:22 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg movenet -2022-08-30 10:24:22 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:24:22 DATA:  test-backend-node.js result: performance: load: null total: 163 -2022-08-30 10:24:22 STATE: test-backend-node.js passed: movenet -2022-08-30 10:24:22 INFO:  test-backend-node.js test face matching -2022-08-30 10:24:22 STATE: test-backend-node.js passed: face database 40 -2022-08-30 10:24:22 STATE: test-backend-node.js passed: face match {"first":{"index":4,"similarity":0.7827852615252829}} {"second":{"index":4,"similarity":0.5002052633015844}} {"third":{"index":4,"similarity":0.5401587887998899}} -2022-08-30 10:24:22 INFO:  test-backend-node.js test face similarity alternative -2022-08-30 10:24:22 STATE: test-backend-node.js start face embeddings -2022-08-30 10:24:23 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-30 10:24:23 STATE: test-backend-node.js event: image -2022-08-30 10:24:23 STATE: test-backend-node.js event: detect -2022-08-30 10:24:23 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-30 10:24:23 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} -2022-08-30 10:24:23 DATA:  test-backend-node.js result: performance: load: null total: 186 -2022-08-30 10:24:23 STATE: test-backend-node.js passed: mobilefacenet {"embedding":192} -2022-08-30 10:24:23 STATE: test-backend-node.js start face embeddings -2022-08-30 10:24:24 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-30 10:24:24 STATE: test-backend-node.js event: image -2022-08-30 10:24:24 STATE: test-backend-node.js event: detect -2022-08-30 10:24:24 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-30 10:24:24 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} -2022-08-30 10:24:24 DATA:  test-backend-node.js result: performance: load: null total: 190 -2022-08-30 10:24:24 STATE: test-backend-node.js passed: insightface {"embedding":512} -2022-08-30 10:24:24 INFO:  test-backend-node.js test face attention -2022-08-30 10:24:24 STATE: test-backend-node.js start face attention -2022-08-30 10:24:24 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-30 10:24:24 STATE: test-backend-node.js event: image -2022-08-30 10:24:24 STATE: test-backend-node.js event: detect -2022-08-30 10:24:24 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face attention -2022-08-30 10:24:24 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} -2022-08-30 10:24:24 DATA:  test-backend-node.js result: performance: load: null total: 169 -2022-08-30 10:24:24 STATE: test-backend-node.js passed: face attention -2022-08-30 10:24:24 INFO:  test-backend-node.js test detectors -2022-08-30 10:24:24 STATE: test-backend-node.js start detectors -2022-08-30 10:24:25 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-30 10:24:25 STATE: test-backend-node.js event: image -2022-08-30 10:24:25 STATE: test-backend-node.js event: detect -2022-08-30 10:24:25 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg detectors -2022-08-30 10:24:25 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:24:25 DATA:  test-backend-node.js result: performance: load: null total: 86 -2022-08-30 10:24:25 STATE: test-backend-node.js passed: detector result face match -2022-08-30 10:24:25 STATE: test-backend-node.js passed: detector result hand match -2022-08-30 10:24:25 INFO:  test-backend-node.js test: multi-instance -2022-08-30 10:24:25 STATE: test-backend-node.js start multi instance -2022-08-30 10:24:25 STATE: test-backend-node.js event: image -2022-08-30 10:24:25 STATE: test-backend-node.js event: detect -2022-08-30 10:24:25 STATE: test-backend-node.js passed: detect: random multi instance -2022-08-30 10:24:25 DATA:  test-backend-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} -2022-08-30 10:24:25 DATA:  test-backend-node.js result: performance: load: null total: 76 -2022-08-30 10:24:25 INFO:  test-backend-node.js test: first instance -2022-08-30 10:24:25 STATE: test-backend-node.js start multi instance -2022-08-30 10:24:25 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-30 10:24:25 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-30 10:24:25 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} -2022-08-30 10:24:25 DATA:  test-backend-node.js result: performance: load: null total: 82 -2022-08-30 10:24:25 INFO:  test-backend-node.js test: second instance -2022-08-30 10:24:25 STATE: test-backend-node.js start multi instance -2022-08-30 10:24:25 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-30 10:24:25 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-30 10:24:25 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} -2022-08-30 10:24:25 DATA:  test-backend-node.js result: performance: load: null total: 75 -2022-08-30 10:24:25 INFO:  test-backend-node.js test: concurrent -2022-08-30 10:24:25 STATE: test-backend-node.js start concurrent -2022-08-30 10:24:25 STATE: test-backend-node.js start concurrent -2022-08-30 10:24:25 STATE: test-backend-node.js start concurrent -2022-08-30 10:24:25 STATE: test-backend-node.js start concurrent -2022-08-30 10:24:25 STATE: test-backend-node.js start concurrent -2022-08-30 10:24:25 STATE: test-backend-node.js start concurrent -2022-08-30 10:24:25 STATE: test-backend-node.js start concurrent -2022-08-30 10:24:25 STATE: test-backend-node.js start concurrent -2022-08-30 10:24:25 STATE: test-backend-node.js start concurrent -2022-08-30 10:24:25 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-30 10:24:25 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-30 10:24:25 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-30 10:24:25 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-30 10:24:26 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-30 10:24:26 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-30 10:24:26 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-30 10:24:26 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-30 10:24:26 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-30 10:24:26 STATE: test-backend-node.js event: image -2022-08-30 10:24:26 STATE: test-backend-node.js event: image -2022-08-30 10:24:26 STATE: test-backend-node.js event: image -2022-08-30 10:24:26 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-30 10:24:26 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} -2022-08-30 10:24:26 DATA:  test-backend-node.js result: performance: load: null total: 902 -2022-08-30 10:24:26 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-30 10:24:26 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} -2022-08-30 10:24:26 DATA:  test-backend-node.js result: performance: load: null total: 902 -2022-08-30 10:24:26 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-30 10:24:26 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} -2022-08-30 10:24:26 DATA:  test-backend-node.js result: performance: load: null total: 903 -2022-08-30 10:24:26 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-30 10:24:26 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} -2022-08-30 10:24:26 DATA:  test-backend-node.js result: performance: load: null total: 903 -2022-08-30 10:24:26 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-30 10:24:26 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:24:26 DATA:  test-backend-node.js result: performance: load: null total: 903 -2022-08-30 10:24:26 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-30 10:24:26 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:24:26 DATA:  test-backend-node.js result: performance: load: null total: 903 -2022-08-30 10:24:26 STATE: test-backend-node.js event: detect -2022-08-30 10:24:26 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-30 10:24:26 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} -2022-08-30 10:24:26 DATA:  test-backend-node.js result: performance: load: null total: 670 -2022-08-30 10:24:26 STATE: test-backend-node.js event: detect -2022-08-30 10:24:26 STATE: test-backend-node.js event: detect -2022-08-30 10:24:26 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-30 10:24:26 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} -2022-08-30 10:24:26 DATA:  test-backend-node.js result: performance: load: null total: 670 -2022-08-30 10:24:26 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-30 10:24:26 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:24:26 DATA:  test-backend-node.js result: performance: load: null total: 670 -2022-08-30 10:24:26 INFO:  test-backend-node.js test: monkey-patch -2022-08-30 10:24:26 STATE: test-backend-node.js event: image -2022-08-30 10:24:27 STATE: test-backend-node.js event: detect -2022-08-30 10:24:27 STATE: test-backend-node.js passed: monkey patch -2022-08-30 10:24:27 STATE: test-backend-node.js passed: segmentation [65536] -2022-08-30 10:24:27 STATE: test-backend-node.js passeed: equal usage -2022-08-30 10:24:27 INFO:  test-backend-node.js test: input compare -2022-08-30 10:24:27 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-30 10:24:27 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-30 10:24:27 STATE: test-backend-node.js passed: image compare 0 23.275441687091504 -2022-08-30 10:24:27 INFO:  test-backend-node.js events: {"image":29,"detect":29,"warmup":2} -2022-08-30 10:24:27 INFO:  test-backend-node.js tensors 4105 -2022-08-30 10:24:27 INFO:  test-backend-node.js test complete: 15292 ms -2022-08-30 10:24:27 INFO:  -2022-08-30 10:24:27 INFO:  test-backend-node-gpu.js start -2022-08-30 10:24:28 INFO:  test-backend-node-gpu.js test: configuration validation -2022-08-30 10:24:28 STATE: test-backend-node-gpu.js passed: configuration default validation [] -2022-08-30 10:24:28 STATE: test-backend-node-gpu.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2022-08-30 10:24:28 INFO:  test-backend-node-gpu.js test: model load -2022-08-30 10:24:28 STATE: test-backend-node-gpu.js passed: models loaded 23 12 [{"name":"ssrnetage","loaded":false,"url":null},{"name":"gear","loaded":false,"url":null},{"name":"blazeposedetect","loaded":false,"url":null},{"name":"blazepose","loaded":false,"url":null},{"name":"centernet","loaded":true,"url":"file://models/mb3-centernet.json"},{"name":"efficientpose","loaded":false,"url":null},{"name":"mobilefacenet","loaded":false,"url":null},{"name":"insightface","loaded":false,"url":null},{"name":"emotion","loaded":true,"url":"file://models/emotion.json"},{"name":"facedetect","loaded":true,"url":"file://models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"file://models/iris.json"},{"name":"facemesh","loaded":true,"url":"file://models/facemesh.json"},{"name":"faceres","loaded":true,"url":"file://models/faceres.json"},{"name":"ssrnetgender","loaded":false,"url":null},{"name":"handpose","loaded":false,"url":null},{"name":"handskeleton","loaded":true,"url":"file://models/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"file://models/handtrack.json"},{"name":"liveness","loaded":true,"url":"file://models/liveness.json"},{"name":"movenet","loaded":true,"url":"file://models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"segmentation","loaded":true,"url":"file://models/selfie.json"},{"name":"antispoof","loaded":true,"url":"file://models/antispoof.json"}] -2022-08-30 10:24:28 INFO:  test-backend-node-gpu.js memory: {"memory":{"unreliable":true,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} -2022-08-30 10:24:28 INFO:  test-backend-node-gpu.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} -2022-08-30 10:24:28 INFO:  test-backend-node-gpu.js test: warmup -2022-08-30 10:24:28 STATE: test-backend-node-gpu.js passed: create human -2022-08-30 10:24:28 INFO:  test-backend-node-gpu.js human version: 2.9.4 -2022-08-30 10:24:28 INFO:  test-backend-node-gpu.js platform: linux x64 agent: NodeJS v18.1.0 -2022-08-30 10:24:28 INFO:  test-backend-node-gpu.js tfjs version: 3.20.0 -2022-08-30 10:24:28 INFO:  test-backend-node-gpu.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","tensorflow"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{"version":"2.7.3-dev20220521","gpu":true},"wasm":{"supported":true,"backend":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":169} -2022-08-30 10:24:28 STATE: test-backend-node-gpu.js passed: set backend: tensorflow -2022-08-30 10:24:28 STATE: test-backend-node-gpu.js tensors 1921 -2022-08-30 10:24:28 STATE: test-backend-node-gpu.js passed: load models -2022-08-30 10:24:28 STATE: test-backend-node-gpu.js result: defined models: 23 loaded models: 12 -2022-08-30 10:24:28 STATE: test-backend-node-gpu.js passed: warmup: none default -2022-08-30 10:24:28 DATA:  test-backend-node-gpu.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2022-08-30 10:24:28 DATA:  test-backend-node-gpu.js result: performance: load: null total: null -2022-08-30 10:24:28 STATE: test-backend-node-gpu.js passed: warmup none result match -2022-08-30 10:24:28 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:31 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:31 STATE: test-backend-node-gpu.js event: warmup -2022-08-30 10:24:31 STATE: test-backend-node-gpu.js passed: warmup: face default -2022-08-30 10:24:31 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4} -2022-08-30 10:24:31 DATA:  test-backend-node-gpu.js result: performance: load: null total: 2874 -2022-08-30 10:24:31 STATE: test-backend-node-gpu.js passed: warmup face result match -2022-08-30 10:24:31 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:31 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:31 STATE: test-backend-node-gpu.js event: warmup -2022-08-30 10:24:31 STATE: test-backend-node-gpu.js passed: warmup: body default -2022-08-30 10:24:31 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:31 DATA:  test-backend-node-gpu.js result: performance: load: null total: 158 -2022-08-30 10:24:31 STATE: test-backend-node-gpu.js passed: warmup body result match -2022-08-30 10:24:31 STATE: test-backend-node-gpu.js details: {"face":{"boxScore":0.92,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.63,"emotion":"angry"},{"score":0.22,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.52,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 10% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} -2022-08-30 10:24:31 INFO:  test-backend-node-gpu.js test: details verification -2022-08-30 10:24:31 STATE: test-backend-node-gpu.js start default -2022-08-30 10:24:31 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-30 10:24:31 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2022-08-30 10:24:32 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:32 DATA:  test-backend-node-gpu.js result: performance: load: null total: 131 -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details face length 1 -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details face score 1 0.93 1 -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details face age/gender 23.7 female 0.97 85.47 -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details face arrays 4 478 1024 -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details face anti-spoofing 0.79 -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details face liveness 0.83 -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details body length 1 -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details body 0.92 17 6 -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details hand length 1 -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details hand 0.51 0.73 point -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details hand arrays 21 5 7 -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details gesture length 7 -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details gesture first {"face":0,"gesture":"facing right"} -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details object length 1 -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details object 0.72 person -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: tensor shape: [1200,1200,4] dtype: float32 -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-30 10:24:32 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:33 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:33 STATE: test-backend-node-gpu.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2022-08-30 10:24:33 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796928} -2022-08-30 10:24:33 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:33 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:33 STATE: test-backend-node-gpu.js passed: tensor shape: [1200,1200,3] dtype: float32 -2022-08-30 10:24:33 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2022-08-30 10:24:33 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:33 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:33 STATE: test-backend-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2022-08-30 10:24:33 INFO:  test-backend-node-gpu.js test default -2022-08-30 10:24:33 STATE: test-backend-node-gpu.js start async -2022-08-30 10:24:33 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-30 10:24:33 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg async -2022-08-30 10:24:34 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:34 DATA:  test-backend-node-gpu.js result: performance: load: null total: 147 -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: default result face match 1 female 0.97 -2022-08-30 10:24:34 INFO:  test-backend-node-gpu.js test sync -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js start sync -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg sync -2022-08-30 10:24:34 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:34 DATA:  test-backend-node-gpu.js result: performance: load: null total: 137 -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: default sync 1 female 0.97 -2022-08-30 10:24:34 INFO:  test-backend-node-gpu.js test: image process -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: image input null [1,256,256,3] -2022-08-30 10:24:34 INFO:  test-backend-node-gpu.js test: image null -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: invalid input could not convert input to tensor -2022-08-30 10:24:34 INFO:  test-backend-node-gpu.js test face similarity -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js start face similarity -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face similarity -2022-08-30 10:24:34 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} -2022-08-30 10:24:34 DATA:  test-backend-node-gpu.js result: performance: load: null total: 139 -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js start face similarity -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg face similarity -2022-08-30 10:24:34 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:34 DATA:  test-backend-node-gpu.js result: performance: load: null total: 138 -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js start face similarity -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-30 10:24:34 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:35 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:35 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg face similarity -2022-08-30 10:24:35 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} -2022-08-30 10:24:35 DATA:  test-backend-node-gpu.js result: performance: load: null total: 129 -2022-08-30 10:24:35 STATE: test-backend-node-gpu.js passed: face descriptor -2022-08-30 10:24:35 STATE: test-backend-node-gpu.js passed: face similarity {"similarity":[1,0.447238756461232,0.556914029877052],"descriptors":[1024,1024,1024]} -2022-08-30 10:24:35 INFO:  test-backend-node-gpu.js test object -2022-08-30 10:24:35 STATE: test-backend-node-gpu.js start object -2022-08-30 10:24:35 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-30 10:24:35 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:35 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:35 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg object -2022-08-30 10:24:35 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:35 DATA:  test-backend-node-gpu.js result: performance: load: null total: 137 -2022-08-30 10:24:35 STATE: test-backend-node-gpu.js passed: centernet -2022-08-30 10:24:35 STATE: test-backend-node-gpu.js start object -2022-08-30 10:24:36 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-30 10:24:36 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:36 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:36 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg object -2022-08-30 10:24:36 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 3 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:36 DATA:  test-backend-node-gpu.js result: performance: load: null total: 508 -2022-08-30 10:24:36 STATE: test-backend-node-gpu.js passed: nanodet -2022-08-30 10:24:36 INFO:  test-backend-node-gpu.js test sensitive -2022-08-30 10:24:36 STATE: test-backend-node-gpu.js start sensitive -2022-08-30 10:24:36 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-30 10:24:36 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:37 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:37 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg sensitive -2022-08-30 10:24:37 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:24:37 DATA:  test-backend-node-gpu.js result: performance: load: null total: 100 -2022-08-30 10:24:37 STATE: test-backend-node-gpu.js passed: sensitive result match -2022-08-30 10:24:37 STATE: test-backend-node-gpu.js passed: sensitive face result match -2022-08-30 10:24:37 STATE: test-backend-node-gpu.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] -2022-08-30 10:24:37 STATE: test-backend-node-gpu.js passed: sensitive body result match -2022-08-30 10:24:37 STATE: test-backend-node-gpu.js passed: sensitive hand result match -2022-08-30 10:24:37 INFO:  test-backend-node-gpu.js test body -2022-08-30 10:24:37 STATE: test-backend-node-gpu.js start blazepose -2022-08-30 10:24:38 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-30 10:24:38 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:39 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:39 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg blazepose -2022-08-30 10:24:39 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.99,"keypoints":39} -2022-08-30 10:24:39 DATA:  test-backend-node-gpu.js result: performance: load: null total: 259 -2022-08-30 10:24:39 STATE: test-backend-node-gpu.js passed: blazepose -2022-08-30 10:24:39 STATE: test-backend-node-gpu.js start efficientpose -2022-08-30 10:24:39 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-30 10:24:39 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:40 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:40 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg efficientpose -2022-08-30 10:24:40 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.75,"keypoints":13} -2022-08-30 10:24:40 DATA:  test-backend-node-gpu.js result: performance: load: null total: 747 -2022-08-30 10:24:40 STATE: test-backend-node-gpu.js passed: efficientpose -2022-08-30 10:24:40 STATE: test-backend-node-gpu.js start posenet -2022-08-30 10:24:40 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-30 10:24:40 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:40 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:40 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg posenet -2022-08-30 10:24:40 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.96,"keypoints":16} -2022-08-30 10:24:40 DATA:  test-backend-node-gpu.js result: performance: load: null total: 121 -2022-08-30 10:24:40 STATE: test-backend-node-gpu.js passed: posenet -2022-08-30 10:24:40 STATE: test-backend-node-gpu.js start movenet -2022-08-30 10:24:41 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-30 10:24:41 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:41 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:41 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg movenet -2022-08-30 10:24:41 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:24:41 DATA:  test-backend-node-gpu.js result: performance: load: null total: 99 -2022-08-30 10:24:41 STATE: test-backend-node-gpu.js passed: movenet -2022-08-30 10:24:41 INFO:  test-backend-node-gpu.js test face matching -2022-08-30 10:24:41 STATE: test-backend-node-gpu.js passed: face database 40 -2022-08-30 10:24:41 STATE: test-backend-node-gpu.js passed: face match {"first":{"index":4,"similarity":0.7828184453007331}} {"second":{"index":4,"similarity":0.5001334216773398}} {"third":{"index":4,"similarity":0.5403054967489764}} -2022-08-30 10:24:41 INFO:  test-backend-node-gpu.js test face similarity alternative -2022-08-30 10:24:41 STATE: test-backend-node-gpu.js start face embeddings -2022-08-30 10:24:41 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-30 10:24:41 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:41 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:41 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-30 10:24:41 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} -2022-08-30 10:24:41 DATA:  test-backend-node-gpu.js result: performance: load: null total: 130 -2022-08-30 10:24:41 STATE: test-backend-node-gpu.js passed: mobilefacenet {"embedding":192} -2022-08-30 10:24:41 STATE: test-backend-node-gpu.js start face embeddings -2022-08-30 10:24:42 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-30 10:24:42 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:42 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:42 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-30 10:24:42 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} -2022-08-30 10:24:42 DATA:  test-backend-node-gpu.js result: performance: load: null total: 175 -2022-08-30 10:24:42 STATE: test-backend-node-gpu.js passed: insightface {"embedding":512} -2022-08-30 10:24:42 INFO:  test-backend-node-gpu.js test face attention -2022-08-30 10:24:42 STATE: test-backend-node-gpu.js start face attention -2022-08-30 10:24:42 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-30 10:24:42 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:42 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:42 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face attention -2022-08-30 10:24:42 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} -2022-08-30 10:24:42 DATA:  test-backend-node-gpu.js result: performance: load: null total: 238 -2022-08-30 10:24:42 STATE: test-backend-node-gpu.js passed: face attention -2022-08-30 10:24:42 INFO:  test-backend-node-gpu.js test detectors -2022-08-30 10:24:42 STATE: test-backend-node-gpu.js start detectors -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg detectors -2022-08-30 10:24:43 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:24:43 DATA:  test-backend-node-gpu.js result: performance: load: null total: 52 -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: detector result face match -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: detector result hand match -2022-08-30 10:24:43 INFO:  test-backend-node-gpu.js test: multi-instance -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start multi instance -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: detect: random multi instance -2022-08-30 10:24:43 DATA:  test-backend-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} -2022-08-30 10:24:43 DATA:  test-backend-node-gpu.js result: performance: load: null total: 50 -2022-08-30 10:24:43 INFO:  test-backend-node-gpu.js test: first instance -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start multi instance -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-30 10:24:43 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} -2022-08-30 10:24:43 DATA:  test-backend-node-gpu.js result: performance: load: null total: 52 -2022-08-30 10:24:43 INFO:  test-backend-node-gpu.js test: second instance -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start multi instance -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-30 10:24:43 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} -2022-08-30 10:24:43 DATA:  test-backend-node-gpu.js result: performance: load: null total: 52 -2022-08-30 10:24:43 INFO:  test-backend-node-gpu.js test: concurrent -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start concurrent -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start concurrent -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start concurrent -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start concurrent -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start concurrent -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start concurrent -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start concurrent -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start concurrent -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start concurrent -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-30 10:24:44 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} -2022-08-30 10:24:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: 700 -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-30 10:24:44 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} -2022-08-30 10:24:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: 700 -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-30 10:24:44 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} -2022-08-30 10:24:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: 700 -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-30 10:24:44 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} -2022-08-30 10:24:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: 700 -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-30 10:24:44 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:24:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: 700 -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-30 10:24:44 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:24:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: 700 -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-30 10:24:44 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} -2022-08-30 10:24:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: 455 -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-30 10:24:44 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} -2022-08-30 10:24:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: 455 -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-30 10:24:44 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:24:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: 455 -2022-08-30 10:24:44 INFO:  test-backend-node-gpu.js test: monkey-patch -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js event: image -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js event: detect -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: monkey patch -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: segmentation [65536] -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passeed: equal usage -2022-08-30 10:24:44 INFO:  test-backend-node-gpu.js test: input compare -2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-30 10:24:45 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-30 10:24:45 STATE: test-backend-node-gpu.js passed: image compare 0 23.275441687091504 -2022-08-30 10:24:45 INFO:  test-backend-node-gpu.js events: {"image":29,"detect":29,"warmup":2} -2022-08-30 10:24:45 INFO:  test-backend-node-gpu.js tensors 4105 -2022-08-30 10:24:45 INFO:  test-backend-node-gpu.js test complete: 16760 ms -2022-08-30 10:24:46 INFO:  -2022-08-30 10:24:46 INFO:  test-backend-node-wasm.js start -2022-08-30 10:24:46 DATA:  test-backend-node-wasm.js stdout: 2022-08-30 10:24:46 INFO:  { supported: true, backend: true, simd: true, multithread: false } -2022-08-30 10:24:46 STATE: test-backend-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/ -2022-08-30 10:24:46 INFO:  test-backend-node-wasm.js test: configuration validation -2022-08-30 10:24:46 STATE: test-backend-node-wasm.js passed: configuration default validation [] -2022-08-30 10:24:46 STATE: test-backend-node-wasm.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2022-08-30 10:24:46 INFO:  test-backend-node-wasm.js test: model load -2022-08-30 10:24:48 STATE: test-backend-node-wasm.js passed: models loaded 23 12 [{"name":"ssrnetage","loaded":false,"url":null},{"name":"gear","loaded":false,"url":null},{"name":"blazeposedetect","loaded":false,"url":null},{"name":"blazepose","loaded":false,"url":null},{"name":"centernet","loaded":true,"url":"https://vladmandic.github.io/human/models/mb3-centernet.json"},{"name":"efficientpose","loaded":false,"url":null},{"name":"mobilefacenet","loaded":false,"url":null},{"name":"insightface","loaded":false,"url":null},{"name":"emotion","loaded":true,"url":"https://vladmandic.github.io/human/models/emotion.json"},{"name":"facedetect","loaded":true,"url":"https://vladmandic.github.io/human/models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"https://vladmandic.github.io/human/models/iris.json"},{"name":"facemesh","loaded":true,"url":"https://vladmandic.github.io/human/models/facemesh.json"},{"name":"faceres","loaded":true,"url":"https://vladmandic.github.io/human/models/faceres.json"},{"name":"ssrnetgender","loaded":false,"url":null},{"name":"handpose","loaded":false,"url":null},{"name":"handskeleton","loaded":true,"url":"https://vladmandic.github.io/human/models/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"https://vladmandic.github.io/human/models/handtrack.json"},{"name":"liveness","loaded":true,"url":"https://vladmandic.github.io/human/models/liveness.json"},{"name":"movenet","loaded":true,"url":"https://vladmandic.github.io/human/models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"segmentation","loaded":true,"url":"https://vladmandic.github.io/human/models/selfie.json"},{"name":"antispoof","loaded":true,"url":"https://vladmandic.github.io/human/models/antispoof.json"}] -2022-08-30 10:24:48 INFO:  test-backend-node-wasm.js memory: {"memory":{"unreliable":false,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} -2022-08-30 10:24:48 INFO:  test-backend-node-wasm.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} -2022-08-30 10:24:48 INFO:  test-backend-node-wasm.js test: warmup -2022-08-30 10:24:48 STATE: test-backend-node-wasm.js passed: create human -2022-08-30 10:24:48 INFO:  test-backend-node-wasm.js human version: 2.9.4 -2022-08-30 10:24:48 INFO:  test-backend-node-wasm.js platform: linux x64 agent: NodeJS v18.1.0 -2022-08-30 10:24:48 INFO:  test-backend-node-wasm.js tfjs version: 3.20.0 -2022-08-30 10:24:48 INFO:  test-backend-node-wasm.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","wasm"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{},"wasm":{"supported":true,"backend":true,"simd":true,"multithread":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":126} -2022-08-30 10:24:48 STATE: test-backend-node-wasm.js passed: set backend: wasm -2022-08-30 10:24:48 STATE: test-backend-node-wasm.js tensors 1921 -2022-08-30 10:24:48 STATE: test-backend-node-wasm.js passed: load models -2022-08-30 10:24:48 STATE: test-backend-node-wasm.js result: defined models: 23 loaded models: 12 -2022-08-30 10:24:48 STATE: test-backend-node-wasm.js passed: warmup: none default -2022-08-30 10:24:48 DATA:  test-backend-node-wasm.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2022-08-30 10:24:48 DATA:  test-backend-node-wasm.js result: performance: load: null total: null -2022-08-30 10:24:48 STATE: test-backend-node-wasm.js passed: warmup none result match -2022-08-30 10:24:48 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:24:49 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:24:49 STATE: test-backend-node-wasm.js event: warmup -2022-08-30 10:24:49 STATE: test-backend-node-wasm.js passed: warmup: face default -2022-08-30 10:24:49 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} -2022-08-30 10:24:49 DATA:  test-backend-node-wasm.js result: performance: load: null total: 532 -2022-08-30 10:24:49 STATE: test-backend-node-wasm.js passed: warmup face result match -2022-08-30 10:24:49 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:24:49 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:24:49 STATE: test-backend-node-wasm.js event: warmup -2022-08-30 10:24:49 STATE: test-backend-node-wasm.js passed: warmup: body default -2022-08-30 10:24:49 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:49 DATA:  test-backend-node-wasm.js result: performance: load: null total: 380 -2022-08-30 10:24:49 STATE: test-backend-node-wasm.js passed: warmup body result match -2022-08-30 10:24:49 STATE: test-backend-node-wasm.js details: {"face":{"boxScore":0.93,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.51,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 21% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} -2022-08-30 10:24:49 INFO:  test-backend-node-wasm.js test: details verification -2022-08-30 10:24:49 STATE: test-backend-node-wasm.js start default -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2022-08-30 10:24:50 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:50 DATA:  test-backend-node-wasm.js result: performance: load: null total: 323 -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details face length 1 -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details face score 1 0.93 1 -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details face age/gender 23.7 female 0.97 85.47 -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details face arrays 4 478 1024 -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details face anti-spoofing 0.79 -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details face liveness 0.83 -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details body length 1 -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details body 0.92 17 6 -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details hand length 1 -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details hand 0.51 0.73 point -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details hand arrays 21 5 7 -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details gesture length 7 -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details gesture first {"face":0,"gesture":"facing right"} -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details object length 1 -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details object 0.72 person -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1413675264} -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2022-08-30 10:24:51 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1413675264} -2022-08-30 10:24:51 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:24:51 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:24:51 STATE: test-backend-node-wasm.js passed: tensor shape: [1200,1200,4] dtype: float32 -2022-08-30 10:24:51 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-30 10:24:51 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:24:51 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:24:51 STATE: test-backend-node-wasm.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2022-08-30 10:24:52 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1038921856} -2022-08-30 10:24:52 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:24:52 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:24:52 STATE: test-backend-node-wasm.js passed: tensor shape: [1200,1200,3] dtype: float32 -2022-08-30 10:24:52 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2022-08-30 10:24:52 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:24:53 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:24:53 STATE: test-backend-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2022-08-30 10:24:53 INFO:  test-backend-node-wasm.js test default -2022-08-30 10:24:53 STATE: test-backend-node-wasm.js start async -2022-08-30 10:24:53 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-30 10:24:53 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:24:53 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:24:53 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg async -2022-08-30 10:24:53 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:53 DATA:  test-backend-node-wasm.js result: performance: load: null total: 329 -2022-08-30 10:24:53 STATE: test-backend-node-wasm.js passed: default result face match 1 female 0.97 -2022-08-30 10:24:53 INFO:  test-backend-node-wasm.js test sync -2022-08-30 10:24:53 STATE: test-backend-node-wasm.js start sync -2022-08-30 10:24:53 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-30 10:24:53 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:24:54 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:24:54 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg sync -2022-08-30 10:24:54 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:54 DATA:  test-backend-node-wasm.js result: performance: load: null total: 344 -2022-08-30 10:24:54 STATE: test-backend-node-wasm.js passed: default sync 1 female 0.97 -2022-08-30 10:24:54 INFO:  test-backend-node-wasm.js test: image process -2022-08-30 10:24:54 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-30 10:24:54 STATE: test-backend-node-wasm.js passed: image input null [1,256,256,3] -2022-08-30 10:24:54 INFO:  test-backend-node-wasm.js test: image null -2022-08-30 10:24:54 STATE: test-backend-node-wasm.js passed: invalid input could not convert input to tensor -2022-08-30 10:24:54 INFO:  test-backend-node-wasm.js test face similarity -2022-08-30 10:24:54 STATE: test-backend-node-wasm.js start face similarity -2022-08-30 10:24:54 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-30 10:24:54 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:24:54 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:24:54 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face similarity -2022-08-30 10:24:54 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} -2022-08-30 10:24:54 DATA:  test-backend-node-wasm.js result: performance: load: null total: 314 -2022-08-30 10:24:54 STATE: test-backend-node-wasm.js start face similarity -2022-08-30 10:24:54 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-30 10:24:54 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:24:55 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:24:55 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg face similarity -2022-08-30 10:24:55 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:55 DATA:  test-backend-node-wasm.js result: performance: load: null total: 343 -2022-08-30 10:24:55 STATE: test-backend-node-wasm.js start face similarity -2022-08-30 10:24:55 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-30 10:24:55 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:24:55 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:24:55 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg face similarity -2022-08-30 10:24:55 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} -2022-08-30 10:24:55 DATA:  test-backend-node-wasm.js result: performance: load: null total: 375 -2022-08-30 10:24:55 STATE: test-backend-node-wasm.js passed: face descriptor -2022-08-30 10:24:55 STATE: test-backend-node-wasm.js passed: face similarity {"similarity":[1,0.5266119940661309,0.4858842904087851],"descriptors":[1024,1024,1024]} -2022-08-30 10:24:55 INFO:  test-backend-node-wasm.js test object -2022-08-30 10:24:55 STATE: test-backend-node-wasm.js start object -2022-08-30 10:24:55 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-30 10:24:55 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:24:56 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:24:56 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg object -2022-08-30 10:24:56 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-30 10:24:56 DATA:  test-backend-node-wasm.js result: performance: load: null total: 374 -2022-08-30 10:24:56 STATE: test-backend-node-wasm.js passed: centernet -2022-08-30 10:24:56 STATE: test-backend-node-wasm.js start object -2022-08-30 10:24:56 WARN:  test-backend-node-wasm.js missing kernel ops {"title":"object","model":"nanodet","url":"https://vladmandic.github.io/human-models/models/nanodet.json","missing":["sparsetodense"],"backkend":"wasm"} -2022-08-30 10:24:57 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-30 10:24:57 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:24:57 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:24:57 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg object -2022-08-30 10:24:57 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:24:57 DATA:  test-backend-node-wasm.js result: performance: load: null total: 242 -2022-08-30 10:24:57 ERROR: test-backend-node-wasm.js failed: nanodet [] -2022-08-30 10:24:57 INFO:  test-backend-node-wasm.js test sensitive -2022-08-30 10:24:57 STATE: test-backend-node-wasm.js start sensitive -2022-08-30 10:24:57 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-30 10:24:57 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:24:57 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:24:57 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg sensitive -2022-08-30 10:24:57 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:24:57 DATA:  test-backend-node-wasm.js result: performance: load: null total: 275 -2022-08-30 10:24:57 STATE: test-backend-node-wasm.js passed: sensitive result match -2022-08-30 10:24:57 STATE: test-backend-node-wasm.js passed: sensitive face result match -2022-08-30 10:24:57 STATE: test-backend-node-wasm.js passed: sensitive face emotion result [{"score":0.46,"emotion":"neutral"},{"score":0.24,"emotion":"fear"},{"score":0.17,"emotion":"sad"}] -2022-08-30 10:24:57 STATE: test-backend-node-wasm.js passed: sensitive body result match -2022-08-30 10:24:57 STATE: test-backend-node-wasm.js passed: sensitive hand result match -2022-08-30 10:24:57 INFO:  test-backend-node-wasm.js test body -2022-08-30 10:24:57 STATE: test-backend-node-wasm.js start blazepose -2022-08-30 10:25:00 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-30 10:25:00 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:25:00 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:25:00 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg blazepose -2022-08-30 10:25:00 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.99,"keypoints":39} -2022-08-30 10:25:00 DATA:  test-backend-node-wasm.js result: performance: load: null total: 423 -2022-08-30 10:25:00 STATE: test-backend-node-wasm.js passed: blazepose -2022-08-30 10:25:00 STATE: test-backend-node-wasm.js start efficientpose -2022-08-30 10:25:01 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-30 10:25:01 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:25:02 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:25:02 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg efficientpose -2022-08-30 10:25:02 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.75,"keypoints":13} -2022-08-30 10:25:02 DATA:  test-backend-node-wasm.js result: performance: load: null total: 633 -2022-08-30 10:25:02 STATE: test-backend-node-wasm.js passed: efficientpose -2022-08-30 10:25:02 STATE: test-backend-node-wasm.js start posenet -2022-08-30 10:25:02 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-30 10:25:02 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:25:03 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:25:03 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg posenet -2022-08-30 10:25:03 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.96,"keypoints":16} -2022-08-30 10:25:03 DATA:  test-backend-node-wasm.js result: performance: load: null total: 292 -2022-08-30 10:25:03 STATE: test-backend-node-wasm.js passed: posenet -2022-08-30 10:25:03 STATE: test-backend-node-wasm.js start movenet -2022-08-30 10:25:03 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-30 10:25:03 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:25:03 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:25:03 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg movenet -2022-08-30 10:25:03 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:25:03 DATA:  test-backend-node-wasm.js result: performance: load: null total: 257 -2022-08-30 10:25:03 STATE: test-backend-node-wasm.js passed: movenet -2022-08-30 10:25:03 INFO:  test-backend-node-wasm.js test face matching -2022-08-30 10:25:03 STATE: test-backend-node-wasm.js passed: face database 40 -2022-08-30 10:25:03 STATE: test-backend-node-wasm.js passed: face match {"first":{"index":4,"similarity":0.7827852754786533}} {"second":{"index":4,"similarity":0.5660821189104794}} {"third":{"index":4,"similarity":0.45074189882665594}} -2022-08-30 10:25:03 INFO:  test-backend-node-wasm.js test face similarity alternative -2022-08-30 10:25:03 STATE: test-backend-node-wasm.js start face embeddings -2022-08-30 10:25:04 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-30 10:25:04 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:25:04 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:25:04 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-30 10:25:04 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} -2022-08-30 10:25:04 DATA:  test-backend-node-wasm.js result: performance: load: null total: 243 -2022-08-30 10:25:04 STATE: test-backend-node-wasm.js passed: mobilefacenet {"embedding":192} -2022-08-30 10:25:04 STATE: test-backend-node-wasm.js start face embeddings -2022-08-30 10:25:05 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-30 10:25:05 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:25:05 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:25:05 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-30 10:25:05 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} -2022-08-30 10:25:05 DATA:  test-backend-node-wasm.js result: performance: load: null total: 276 -2022-08-30 10:25:05 STATE: test-backend-node-wasm.js passed: insightface {"embedding":512} -2022-08-30 10:25:05 INFO:  test-backend-node-wasm.js test face attention -2022-08-30 10:25:05 STATE: test-backend-node-wasm.js start face attention -2022-08-30 10:25:05 WARN:  test-backend-node-wasm.js missing kernel ops {"title":"face attention","model":"facemesh","url":"https://vladmandic.github.io/human-models/models/facemesh-attention.json","missing":["atan2"],"backkend":"wasm"} -2022-08-30 10:25:05 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-30 10:25:05 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:25:05 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:25:05 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face attention -2022-08-30 10:25:05 DATA:  test-backend-node-wasm.js result: face: 0 body: 1 hand: 1 gesture: 2 object: 0 person: 0 {} {} {"score":0.47,"keypoints":3} -2022-08-30 10:25:05 DATA:  test-backend-node-wasm.js result: performance: load: null total: 121 -2022-08-30 10:25:05 ERROR: test-backend-node-wasm.js failed: face attention {"annotations":0} -2022-08-30 10:25:05 INFO:  test-backend-node-wasm.js test detectors -2022-08-30 10:25:05 STATE: test-backend-node-wasm.js start detectors -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg detectors -2022-08-30 10:25:06 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:25:06 DATA:  test-backend-node-wasm.js result: performance: load: null total: 114 -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: detector result face match -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: detector result hand match -2022-08-30 10:25:06 INFO:  test-backend-node-wasm.js test: multi-instance -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start multi instance -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: detect: random multi instance -2022-08-30 10:25:06 DATA:  test-backend-node-wasm.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} -2022-08-30 10:25:06 DATA:  test-backend-node-wasm.js result: performance: load: null total: 95 -2022-08-30 10:25:06 INFO:  test-backend-node-wasm.js test: first instance -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start multi instance -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-30 10:25:06 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} -2022-08-30 10:25:06 DATA:  test-backend-node-wasm.js result: performance: load: null total: 106 -2022-08-30 10:25:06 INFO:  test-backend-node-wasm.js test: second instance -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start multi instance -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-30 10:25:06 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} -2022-08-30 10:25:06 DATA:  test-backend-node-wasm.js result: performance: load: null total: 108 -2022-08-30 10:25:06 INFO:  test-backend-node-wasm.js test: concurrent -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start concurrent -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start concurrent -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start concurrent -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start concurrent -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start concurrent -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start concurrent -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start concurrent -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start concurrent -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start concurrent -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-30 10:25:07 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-30 10:25:07 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-30 10:25:07 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-30 10:25:07 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-30 10:25:07 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-30 10:25:07 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-30 10:25:07 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:25:07 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:25:07 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-30 10:25:08 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} -2022-08-30 10:25:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 1302 -2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-30 10:25:08 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} -2022-08-30 10:25:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 1302 -2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-30 10:25:08 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} -2022-08-30 10:25:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 1303 -2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-30 10:25:08 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} -2022-08-30 10:25:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 1303 -2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-30 10:25:08 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:25:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 1303 -2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-30 10:25:08 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:25:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 1303 -2022-08-30 10:25:08 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-30 10:25:08 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} -2022-08-30 10:25:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 1005 -2022-08-30 10:25:08 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:25:08 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-30 10:25:08 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} -2022-08-30 10:25:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 1006 -2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-30 10:25:08 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} -2022-08-30 10:25:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 1006 -2022-08-30 10:25:08 INFO:  test-backend-node-wasm.js test: monkey-patch -2022-08-30 10:25:08 STATE: test-backend-node-wasm.js event: image -2022-08-30 10:25:08 STATE: test-backend-node-wasm.js event: detect -2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: monkey patch -2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: segmentation [65536] -2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passeed: equal usage -2022-08-30 10:25:08 INFO:  test-backend-node-wasm.js test: input compare -2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-30 10:25:09 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-30 10:25:09 STATE: test-backend-node-wasm.js passed: image compare 0 23.280073018790848 -2022-08-30 10:25:09 INFO:  test-backend-node-wasm.js events: {"image":29,"detect":29,"warmup":2} -2022-08-30 10:25:09 INFO:  test-backend-node-wasm.js tensors 4107 -2022-08-30 10:25:09 INFO:  test-backend-node-wasm.js test complete: 22548 ms -2022-08-30 10:25:09 STATE: all tests complete -2022-08-30 10:25:09 INFO:  status {"test":"../demo/nodejs/node.js","passed":1,"failed":0} -2022-08-30 10:25:09 INFO:  status {"test":"../demo/nodejs/node-simple.js","passed":1,"failed":0} -2022-08-30 10:25:09 INFO:  status {"test":"../demo/nodejs/node-fetch.js","passed":1,"failed":0} -2022-08-30 10:25:09 INFO:  status {"test":"../demo/nodejs/node-event.js","passed":1,"failed":0} -2022-08-30 10:25:09 INFO:  status {"test":"../demo/nodejs/node-similarity.js","passed":1,"failed":0} -2022-08-30 10:25:09 INFO:  status {"test":"../demo/nodejs/node-canvas.js","passed":1,"failed":0} -2022-08-30 10:25:09 INFO:  status {"test":"../demo/multithread/node-multiprocess.js","passed":1,"failed":0} -2022-08-30 10:25:09 INFO:  status {"test":"../demo/facematch/node-match.js","passed":1,"failed":0} -2022-08-30 10:25:09 INFO:  status {"test":"test-node-load.js","passed":1,"failed":0} -2022-08-30 10:25:09 INFO:  status {"test":"test-node-gear.js","passed":3,"failed":0} -2022-08-30 10:25:09 INFO:  status {"test":"test-backend-node.js","passed":125,"failed":0} -2022-08-30 10:25:09 INFO:  status {"test":"test-backend-node-gpu.js","passed":125,"failed":0} -2022-08-30 10:25:09 INFO:  status {"test":"test-backend-node-wasm.js","passed":124,"failed":2} -2022-08-30 10:25:09 INFO:  failures {"count":2} -2022-08-30 10:25:09 WARN:  failed {"test":"test-backend-node-wasm.js","message":["error",["failed: nanodet",[]]]} -2022-08-30 10:25:09 WARN:  failed {"test":"test-backend-node-wasm.js","message":["error",["failed: face attention",{"annotations":0}]]} +2022-08-31 11:27:38 INFO:  @vladmandic/human version 2.9.4 +2022-08-31 11:27:38 INFO:  User: vlado Platform: linux Arch: x64 Node: v18.1.0 +2022-08-31 11:27:38 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-31 11:27:38 INFO:  {"cmd":"../demo/nodejs/node.js","args":[]} start +2022-08-31 11:27:39 INFO:  {"cmd":"../demo/nodejs/node-simple.js","args":[]} start +2022-08-31 11:27:40 INFO:  {"cmd":"../demo/nodejs/node-fetch.js","args":[]} start +2022-08-31 11:27:42 INFO:  {"cmd":"../demo/nodejs/node-event.js","args":["samples/in/ai-body.jpg"]} start +2022-08-31 11:27:43 INFO:  {"cmd":"../demo/nodejs/node-similarity.js","args":["samples/in/ai-face.jpg","samples/in/ai-upper.jpg"]} start +2022-08-31 11:27:43 INFO:  {"cmd":"../demo/nodejs/node-canvas.js","args":["samples/in/ai-body.jpg","samples/out/ai-body.jpg"]} start +2022-08-31 11:27:44 INFO:  {"cmd":"../demo/multithread/node-multiprocess.js","args":[]} start +2022-08-31 11:27:45 INFO:  {"cmd":"../demo/facematch/node-match.js","args":[]} start +2022-08-31 11:27:47 INFO:  tests: ["test-node-load.js","test-node-gear.js","test-backend-node.js","test-backend-node-gpu.js","test-backend-node-wasm.js"] +2022-08-31 11:27:47 INFO:  +2022-08-31 11:27:47 INFO:  test-node-load.js start +2022-08-31 11:27:47 INFO:  test-node-load.js load start {"human":"2.9.4","tf":"3.20.0","progress":0} +2022-08-31 11:27:47 DATA:  test-node-load.js load interval {"elapsed":0,"progress":0} +2022-08-31 11:27:47 DATA:  test-node-load.js load interval {"elapsed":13,"progress":0} +2022-08-31 11:27:47 DATA:  test-node-load.js load interval {"elapsed":22,"progress":0.05339166087267679} +2022-08-31 11:27:47 DATA:  test-node-load.js load interval {"elapsed":32,"progress":0.2135162934143239} +2022-08-31 11:27:47 DATA:  test-node-load.js load interval {"elapsed":82,"progress":0.5125946867158943} +2022-08-31 11:27:47 DATA:  test-node-load.js load interval {"elapsed":92,"progress":0.7259096583739463} +2022-08-31 11:27:47 STATE: test-node-load.js passed {"progress":1} +2022-08-31 11:27:47 INFO:  test-node-load.js load final {"progress":1} +2022-08-31 11:27:47 DATA:  test-node-load.js load interval {"elapsed":371,"progress":1} +2022-08-31 11:27:47 INFO:  +2022-08-31 11:27:47 INFO:  test-node-gear.js start +2022-08-31 11:27:48 DATA:  test-node-gear.js input: ["samples/in/ai-face.jpg"] +2022-08-31 11:27:48 STATE: test-node-gear.js passed: gear faceres samples/in/ai-face.jpg +2022-08-31 11:27:48 DATA:  test-node-gear.js results {"face":0,"model":"faceres","image":"samples/in/ai-face.jpg","age":23.5,"gender":"female","genderScore":0.92} +2022-08-31 11:27:49 STATE: test-node-gear.js passed: gear gear samples/in/ai-face.jpg +2022-08-31 11:27:49 DATA:  test-node-gear.js results {"face":0,"model":"gear","image":"samples/in/ai-face.jpg","age":23.3,"gender":"female","genderScore":0.51,"race":[{"score":0.93,"race":"white"}]} +2022-08-31 11:27:49 STATE: test-node-gear.js passed: gear ssrnet samples/in/ai-face.jpg +2022-08-31 11:27:49 DATA:  test-node-gear.js results {"face":0,"model":"ssrnet","image":"samples/in/ai-face.jpg","age":23.4,"gender":"female","genderScore":0.99} +2022-08-31 11:27:49 INFO:  +2022-08-31 11:27:49 INFO:  test-backend-node.js start +2022-08-31 11:27:49 INFO:  test-backend-node.js test: configuration validation +2022-08-31 11:27:49 STATE: test-backend-node.js passed: configuration default validation [] +2022-08-31 11:27:49 STATE: test-backend-node.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2022-08-31 11:27:49 INFO:  test-backend-node.js test: model load +2022-08-31 11:27:49 STATE: test-backend-node.js passed: models loaded 23 12 [{"name":"ssrnetage","loaded":false,"url":null},{"name":"gear","loaded":false,"url":null},{"name":"blazeposedetect","loaded":false,"url":null},{"name":"blazepose","loaded":false,"url":null},{"name":"centernet","loaded":true,"url":"file://models/mb3-centernet.json"},{"name":"efficientpose","loaded":false,"url":null},{"name":"mobilefacenet","loaded":false,"url":null},{"name":"insightface","loaded":false,"url":null},{"name":"emotion","loaded":true,"url":"file://models/emotion.json"},{"name":"facedetect","loaded":true,"url":"file://models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"file://models/iris.json"},{"name":"facemesh","loaded":true,"url":"file://models/facemesh.json"},{"name":"faceres","loaded":true,"url":"file://models/faceres.json"},{"name":"ssrnetgender","loaded":false,"url":null},{"name":"handpose","loaded":false,"url":null},{"name":"handskeleton","loaded":true,"url":"file://models/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"file://models/handtrack.json"},{"name":"liveness","loaded":true,"url":"file://models/liveness.json"},{"name":"movenet","loaded":true,"url":"file://models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"segmentation","loaded":true,"url":"file://models/selfie.json"},{"name":"antispoof","loaded":true,"url":"file://models/antispoof.json"}] +2022-08-31 11:27:49 INFO:  test-backend-node.js memory: {"memory":{"unreliable":true,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} +2022-08-31 11:27:49 INFO:  test-backend-node.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} +2022-08-31 11:27:49 INFO:  test-backend-node.js test: warmup +2022-08-31 11:27:49 STATE: test-backend-node.js passed: create human +2022-08-31 11:27:49 INFO:  test-backend-node.js human version: 2.9.4 +2022-08-31 11:27:49 INFO:  test-backend-node.js platform: linux x64 agent: NodeJS v18.1.0 +2022-08-31 11:27:49 INFO:  test-backend-node.js tfjs version: 3.20.0 +2022-08-31 11:27:49 INFO:  test-backend-node.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","tensorflow"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{"version":"2.7.3-dev20220521","gpu":false},"wasm":{"supported":true,"backend":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":169} +2022-08-31 11:27:49 STATE: test-backend-node.js passed: set backend: tensorflow +2022-08-31 11:27:49 STATE: test-backend-node.js tensors 1921 +2022-08-31 11:27:49 STATE: test-backend-node.js passed: load models +2022-08-31 11:27:49 STATE: test-backend-node.js result: defined models: 23 loaded models: 12 +2022-08-31 11:27:49 STATE: test-backend-node.js passed: warmup: none default +2022-08-31 11:27:49 DATA:  test-backend-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2022-08-31 11:27:49 DATA:  test-backend-node.js result: performance: load: null total: null +2022-08-31 11:27:49 STATE: test-backend-node.js passed: warmup none result match +2022-08-31 11:27:49 STATE: test-backend-node.js event: image +2022-08-31 11:27:49 STATE: test-backend-node.js event: detect +2022-08-31 11:27:49 STATE: test-backend-node.js event: warmup +2022-08-31 11:27:49 STATE: test-backend-node.js passed: warmup: face default +2022-08-31 11:27:49 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4} +2022-08-31 11:27:49 DATA:  test-backend-node.js result: performance: load: null total: 327 +2022-08-31 11:27:49 STATE: test-backend-node.js passed: warmup face result match +2022-08-31 11:27:49 STATE: test-backend-node.js event: image +2022-08-31 11:27:49 STATE: test-backend-node.js event: detect +2022-08-31 11:27:49 STATE: test-backend-node.js event: warmup +2022-08-31 11:27:49 STATE: test-backend-node.js passed: warmup: body default +2022-08-31 11:27:49 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:27:49 DATA:  test-backend-node.js result: performance: load: null total: 235 +2022-08-31 11:27:49 STATE: test-backend-node.js passed: warmup body result match +2022-08-31 11:27:49 STATE: test-backend-node.js details: {"face":{"boxScore":0.92,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.63,"emotion":"angry"},{"score":0.22,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.52,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 10% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} +2022-08-31 11:27:49 INFO:  test-backend-node.js test: details verification +2022-08-31 11:27:49 STATE: test-backend-node.js start default +2022-08-31 11:27:50 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-31 11:27:50 STATE: test-backend-node.js event: image +2022-08-31 11:27:50 STATE: test-backend-node.js event: detect +2022-08-31 11:27:50 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg default +2022-08-31 11:27:50 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:27:50 DATA:  test-backend-node.js result: performance: load: null total: 209 +2022-08-31 11:27:50 STATE: test-backend-node.js passed: details face length 1 +2022-08-31 11:27:50 STATE: test-backend-node.js passed: details face score 1 0.93 1 +2022-08-31 11:27:50 STATE: test-backend-node.js passed: details face age/gender 23.7 female 0.97 85.47 +2022-08-31 11:27:50 STATE: test-backend-node.js passed: details face arrays 4 478 1024 +2022-08-31 11:27:50 STATE: test-backend-node.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} +2022-08-31 11:27:50 STATE: test-backend-node.js passed: details face anti-spoofing 0.79 +2022-08-31 11:27:50 STATE: test-backend-node.js passed: details face liveness 0.83 +2022-08-31 11:27:50 STATE: test-backend-node.js passed: details body length 1 +2022-08-31 11:27:50 STATE: test-backend-node.js passed: details body 0.92 17 6 +2022-08-31 11:27:50 STATE: test-backend-node.js passed: details hand length 1 +2022-08-31 11:27:50 STATE: test-backend-node.js passed: details hand 0.51 0.73 point +2022-08-31 11:27:50 STATE: test-backend-node.js passed: details hand arrays 21 5 7 +2022-08-31 11:27:50 STATE: test-backend-node.js passed: details gesture length 7 +2022-08-31 11:27:50 STATE: test-backend-node.js passed: details gesture first {"face":0,"gesture":"facing right"} +2022-08-31 11:27:50 STATE: test-backend-node.js passed: details object length 1 +2022-08-31 11:27:50 STATE: test-backend-node.js passed: details object 0.72 person +2022-08-31 11:27:50 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} +2022-08-31 11:27:50 STATE: test-backend-node.js event: image +2022-08-31 11:27:50 STATE: test-backend-node.js event: detect +2022-08-31 11:27:50 STATE: test-backend-node.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2022-08-31 11:27:50 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} +2022-08-31 11:27:50 STATE: test-backend-node.js event: image +2022-08-31 11:27:51 STATE: test-backend-node.js event: detect +2022-08-31 11:27:51 STATE: test-backend-node.js passed: tensor shape: [1200,1200,4] dtype: float32 +2022-08-31 11:27:51 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-31 11:27:51 STATE: test-backend-node.js event: image +2022-08-31 11:27:51 STATE: test-backend-node.js event: detect +2022-08-31 11:27:51 STATE: test-backend-node.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2022-08-31 11:27:51 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796864} +2022-08-31 11:27:51 STATE: test-backend-node.js event: image +2022-08-31 11:27:51 STATE: test-backend-node.js event: detect +2022-08-31 11:27:51 STATE: test-backend-node.js passed: tensor shape: [1200,1200,3] dtype: float32 +2022-08-31 11:27:52 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2022-08-31 11:27:52 STATE: test-backend-node.js event: image +2022-08-31 11:27:52 STATE: test-backend-node.js event: detect +2022-08-31 11:27:52 STATE: test-backend-node.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2022-08-31 11:27:52 INFO:  test-backend-node.js test default +2022-08-31 11:27:52 STATE: test-backend-node.js start async +2022-08-31 11:27:52 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-31 11:27:52 STATE: test-backend-node.js event: image +2022-08-31 11:27:52 STATE: test-backend-node.js event: detect +2022-08-31 11:27:52 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg async +2022-08-31 11:27:52 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:27:52 DATA:  test-backend-node.js result: performance: load: null total: 207 +2022-08-31 11:27:52 STATE: test-backend-node.js passed: default result face match 1 female 0.97 +2022-08-31 11:27:52 INFO:  test-backend-node.js test sync +2022-08-31 11:27:52 STATE: test-backend-node.js start sync +2022-08-31 11:27:53 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-31 11:27:53 STATE: test-backend-node.js event: image +2022-08-31 11:27:53 STATE: test-backend-node.js event: detect +2022-08-31 11:27:53 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg sync +2022-08-31 11:27:53 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:27:53 DATA:  test-backend-node.js result: performance: load: null total: 209 +2022-08-31 11:27:53 STATE: test-backend-node.js passed: default sync 1 female 0.97 +2022-08-31 11:27:53 INFO:  test-backend-node.js test: image process +2022-08-31 11:27:53 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-31 11:27:53 STATE: test-backend-node.js passed: image input null [1,256,256,3] +2022-08-31 11:27:53 INFO:  test-backend-node.js test: image null +2022-08-31 11:27:53 STATE: test-backend-node.js passed: invalid input could not convert input to tensor +2022-08-31 11:27:53 INFO:  test-backend-node.js test face similarity +2022-08-31 11:27:53 STATE: test-backend-node.js start face similarity +2022-08-31 11:27:53 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-31 11:27:53 STATE: test-backend-node.js event: image +2022-08-31 11:27:53 STATE: test-backend-node.js event: detect +2022-08-31 11:27:53 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face similarity +2022-08-31 11:27:53 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} +2022-08-31 11:27:53 DATA:  test-backend-node.js result: performance: load: null total: 211 +2022-08-31 11:27:53 STATE: test-backend-node.js start face similarity +2022-08-31 11:27:53 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-31 11:27:53 STATE: test-backend-node.js event: image +2022-08-31 11:27:53 STATE: test-backend-node.js event: detect +2022-08-31 11:27:53 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg face similarity +2022-08-31 11:27:53 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:27:53 DATA:  test-backend-node.js result: performance: load: null total: 207 +2022-08-31 11:27:53 STATE: test-backend-node.js start face similarity +2022-08-31 11:27:54 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-31 11:27:54 STATE: test-backend-node.js event: image +2022-08-31 11:27:54 STATE: test-backend-node.js event: detect +2022-08-31 11:27:54 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg face similarity +2022-08-31 11:27:54 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} +2022-08-31 11:27:54 DATA:  test-backend-node.js result: performance: load: null total: 177 +2022-08-31 11:27:54 STATE: test-backend-node.js passed: face descriptor +2022-08-31 11:27:54 STATE: test-backend-node.js passed: face similarity {"similarity":[1,0.44727452329649126,0.5567935850640406],"descriptors":[1024,1024,1024]} +2022-08-31 11:27:54 INFO:  test-backend-node.js test object +2022-08-31 11:27:54 STATE: test-backend-node.js start object +2022-08-31 11:27:54 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-31 11:27:54 STATE: test-backend-node.js event: image +2022-08-31 11:27:54 STATE: test-backend-node.js event: detect +2022-08-31 11:27:54 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg object +2022-08-31 11:27:54 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:27:54 DATA:  test-backend-node.js result: performance: load: null total: 197 +2022-08-31 11:27:54 STATE: test-backend-node.js passed: centernet +2022-08-31 11:27:54 STATE: test-backend-node.js start object +2022-08-31 11:27:55 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-31 11:27:55 STATE: test-backend-node.js event: image +2022-08-31 11:27:55 STATE: test-backend-node.js event: detect +2022-08-31 11:27:55 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg object +2022-08-31 11:27:55 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 3 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:27:55 DATA:  test-backend-node.js result: performance: load: null total: 205 +2022-08-31 11:27:55 STATE: test-backend-node.js passed: nanodet +2022-08-31 11:27:55 INFO:  test-backend-node.js test sensitive +2022-08-31 11:27:55 STATE: test-backend-node.js start sensitive +2022-08-31 11:27:56 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-31 11:27:56 STATE: test-backend-node.js event: image +2022-08-31 11:27:56 STATE: test-backend-node.js event: detect +2022-08-31 11:27:56 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg sensitive +2022-08-31 11:27:56 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:27:56 DATA:  test-backend-node.js result: performance: load: null total: 164 +2022-08-31 11:27:56 STATE: test-backend-node.js passed: sensitive result match +2022-08-31 11:27:56 STATE: test-backend-node.js passed: sensitive face result match +2022-08-31 11:27:56 STATE: test-backend-node.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] +2022-08-31 11:27:56 STATE: test-backend-node.js passed: sensitive body result match +2022-08-31 11:27:56 STATE: test-backend-node.js passed: sensitive hand result match +2022-08-31 11:27:56 INFO:  test-backend-node.js test body +2022-08-31 11:27:56 STATE: test-backend-node.js start blazepose +2022-08-31 11:27:58 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-31 11:27:58 STATE: test-backend-node.js event: image +2022-08-31 11:27:58 STATE: test-backend-node.js event: detect +2022-08-31 11:27:58 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg blazepose +2022-08-31 11:27:58 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.99,"keypoints":39} +2022-08-31 11:27:58 DATA:  test-backend-node.js result: performance: load: null total: 219 +2022-08-31 11:27:58 STATE: test-backend-node.js passed: blazepose +2022-08-31 11:27:58 STATE: test-backend-node.js start efficientpose +2022-08-31 11:27:58 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-31 11:27:58 STATE: test-backend-node.js event: image +2022-08-31 11:27:59 STATE: test-backend-node.js event: detect +2022-08-31 11:27:59 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg efficientpose +2022-08-31 11:27:59 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.75,"keypoints":13} +2022-08-31 11:27:59 DATA:  test-backend-node.js result: performance: load: null total: 235 +2022-08-31 11:27:59 STATE: test-backend-node.js passed: efficientpose +2022-08-31 11:27:59 STATE: test-backend-node.js start posenet +2022-08-31 11:27:59 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-31 11:27:59 STATE: test-backend-node.js event: image +2022-08-31 11:27:59 STATE: test-backend-node.js event: detect +2022-08-31 11:27:59 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg posenet +2022-08-31 11:27:59 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.96,"keypoints":16} +2022-08-31 11:27:59 DATA:  test-backend-node.js result: performance: load: null total: 163 +2022-08-31 11:27:59 STATE: test-backend-node.js passed: posenet +2022-08-31 11:27:59 STATE: test-backend-node.js start movenet +2022-08-31 11:27:59 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-31 11:27:59 STATE: test-backend-node.js event: image +2022-08-31 11:28:00 STATE: test-backend-node.js event: detect +2022-08-31 11:28:00 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg movenet +2022-08-31 11:28:00 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:28:00 DATA:  test-backend-node.js result: performance: load: null total: 165 +2022-08-31 11:28:00 STATE: test-backend-node.js passed: movenet +2022-08-31 11:28:00 INFO:  test-backend-node.js test face matching +2022-08-31 11:28:00 STATE: test-backend-node.js passed: face database 40 +2022-08-31 11:28:00 STATE: test-backend-node.js passed: face match {"first":{"index":4,"similarity":0.7827852615252829}} {"second":{"index":4,"similarity":0.5002052633015844}} {"third":{"index":4,"similarity":0.5401587887998899}} +2022-08-31 11:28:00 INFO:  test-backend-node.js test face similarity alternative +2022-08-31 11:28:00 STATE: test-backend-node.js start face embeddings +2022-08-31 11:28:00 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-31 11:28:00 STATE: test-backend-node.js event: image +2022-08-31 11:28:01 STATE: test-backend-node.js event: detect +2022-08-31 11:28:01 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-31 11:28:01 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} +2022-08-31 11:28:01 DATA:  test-backend-node.js result: performance: load: null total: 190 +2022-08-31 11:28:01 STATE: test-backend-node.js passed: mobilefacenet {"embedding":192} +2022-08-31 11:28:01 STATE: test-backend-node.js start face embeddings +2022-08-31 11:28:01 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-31 11:28:01 STATE: test-backend-node.js event: image +2022-08-31 11:28:01 STATE: test-backend-node.js event: detect +2022-08-31 11:28:01 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-31 11:28:01 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} +2022-08-31 11:28:01 DATA:  test-backend-node.js result: performance: load: null total: 201 +2022-08-31 11:28:01 STATE: test-backend-node.js passed: insightface {"embedding":512} +2022-08-31 11:28:01 INFO:  test-backend-node.js test face attention +2022-08-31 11:28:01 STATE: test-backend-node.js start face attention +2022-08-31 11:28:02 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-31 11:28:02 STATE: test-backend-node.js event: image +2022-08-31 11:28:02 STATE: test-backend-node.js event: detect +2022-08-31 11:28:02 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face attention +2022-08-31 11:28:02 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} +2022-08-31 11:28:02 DATA:  test-backend-node.js result: performance: load: null total: 173 +2022-08-31 11:28:02 STATE: test-backend-node.js passed: face attention +2022-08-31 11:28:02 INFO:  test-backend-node.js test detectors +2022-08-31 11:28:02 STATE: test-backend-node.js start detectors +2022-08-31 11:28:02 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-31 11:28:02 STATE: test-backend-node.js event: image +2022-08-31 11:28:02 STATE: test-backend-node.js event: detect +2022-08-31 11:28:02 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg detectors +2022-08-31 11:28:02 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:28:02 DATA:  test-backend-node.js result: performance: load: null total: 128 +2022-08-31 11:28:02 STATE: test-backend-node.js passed: detector result face match +2022-08-31 11:28:02 STATE: test-backend-node.js passed: detector result hand match +2022-08-31 11:28:02 INFO:  test-backend-node.js test: multi-instance +2022-08-31 11:28:02 STATE: test-backend-node.js start multi instance +2022-08-31 11:28:03 STATE: test-backend-node.js event: image +2022-08-31 11:28:03 STATE: test-backend-node.js event: detect +2022-08-31 11:28:03 STATE: test-backend-node.js passed: detect: random multi instance +2022-08-31 11:28:03 DATA:  test-backend-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} +2022-08-31 11:28:03 DATA:  test-backend-node.js result: performance: load: null total: 81 +2022-08-31 11:28:03 INFO:  test-backend-node.js test: first instance +2022-08-31 11:28:03 STATE: test-backend-node.js start multi instance +2022-08-31 11:28:03 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-31 11:28:03 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-31 11:28:03 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} +2022-08-31 11:28:03 DATA:  test-backend-node.js result: performance: load: null total: 107 +2022-08-31 11:28:03 INFO:  test-backend-node.js test: second instance +2022-08-31 11:28:03 STATE: test-backend-node.js start multi instance +2022-08-31 11:28:03 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-31 11:28:03 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-31 11:28:03 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} +2022-08-31 11:28:03 DATA:  test-backend-node.js result: performance: load: null total: 95 +2022-08-31 11:28:03 INFO:  test-backend-node.js test: concurrent +2022-08-31 11:28:03 STATE: test-backend-node.js start concurrent +2022-08-31 11:28:03 STATE: test-backend-node.js start concurrent +2022-08-31 11:28:03 STATE: test-backend-node.js start concurrent +2022-08-31 11:28:03 STATE: test-backend-node.js start concurrent +2022-08-31 11:28:03 STATE: test-backend-node.js start concurrent +2022-08-31 11:28:03 STATE: test-backend-node.js start concurrent +2022-08-31 11:28:03 STATE: test-backend-node.js start concurrent +2022-08-31 11:28:03 STATE: test-backend-node.js start concurrent +2022-08-31 11:28:03 STATE: test-backend-node.js start concurrent +2022-08-31 11:28:03 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-31 11:28:03 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-31 11:28:03 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-31 11:28:03 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-31 11:28:03 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-31 11:28:04 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-31 11:28:04 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-31 11:28:04 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-31 11:28:04 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-31 11:28:04 STATE: test-backend-node.js event: image +2022-08-31 11:28:04 STATE: test-backend-node.js event: image +2022-08-31 11:28:04 STATE: test-backend-node.js event: image +2022-08-31 11:28:05 STATE: test-backend-node.js event: detect +2022-08-31 11:28:05 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-31 11:28:05 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} +2022-08-31 11:28:05 DATA:  test-backend-node.js result: performance: load: null total: 817 +2022-08-31 11:28:05 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-31 11:28:05 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} +2022-08-31 11:28:05 DATA:  test-backend-node.js result: performance: load: null total: 817 +2022-08-31 11:28:05 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-31 11:28:05 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} +2022-08-31 11:28:05 DATA:  test-backend-node.js result: performance: load: null total: 817 +2022-08-31 11:28:05 STATE: test-backend-node.js event: detect +2022-08-31 11:28:05 STATE: test-backend-node.js event: detect +2022-08-31 11:28:05 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-31 11:28:05 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} +2022-08-31 11:28:05 DATA:  test-backend-node.js result: performance: load: null total: 817 +2022-08-31 11:28:05 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-31 11:28:05 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} +2022-08-31 11:28:05 DATA:  test-backend-node.js result: performance: load: null total: 817 +2022-08-31 11:28:05 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-31 11:28:05 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} +2022-08-31 11:28:05 DATA:  test-backend-node.js result: performance: load: null total: 817 +2022-08-31 11:28:05 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-31 11:28:05 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:28:05 DATA:  test-backend-node.js result: performance: load: null total: 817 +2022-08-31 11:28:05 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-31 11:28:05 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:28:05 DATA:  test-backend-node.js result: performance: load: null total: 817 +2022-08-31 11:28:05 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-31 11:28:05 DATA:  test-backend-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:28:05 DATA:  test-backend-node.js result: performance: load: null total: 817 +2022-08-31 11:28:05 INFO:  test-backend-node.js test: monkey-patch +2022-08-31 11:28:05 STATE: test-backend-node.js event: image +2022-08-31 11:28:05 STATE: test-backend-node.js event: detect +2022-08-31 11:28:05 STATE: test-backend-node.js passed: monkey patch +2022-08-31 11:28:05 STATE: test-backend-node.js passed: segmentation [65536] +2022-08-31 11:28:05 STATE: test-backend-node.js passeed: equal usage +2022-08-31 11:28:05 INFO:  test-backend-node.js test: input compare +2022-08-31 11:28:05 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-31 11:28:05 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-31 11:28:05 STATE: test-backend-node.js passed: image compare 0 23.275441687091504 +2022-08-31 11:28:05 INFO:  test-backend-node.js events: {"image":29,"detect":29,"warmup":2} +2022-08-31 11:28:05 INFO:  test-backend-node.js tensors 15501 +2022-08-31 11:28:05 INFO:  test-backend-node.js test complete: 16041 ms +2022-08-31 11:28:05 INFO:  +2022-08-31 11:28:05 INFO:  test-backend-node-gpu.js start +2022-08-31 11:28:06 INFO:  test-backend-node-gpu.js test: configuration validation +2022-08-31 11:28:06 STATE: test-backend-node-gpu.js passed: configuration default validation [] +2022-08-31 11:28:06 STATE: test-backend-node-gpu.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2022-08-31 11:28:06 INFO:  test-backend-node-gpu.js test: model load +2022-08-31 11:28:06 STATE: test-backend-node-gpu.js passed: models loaded 23 12 [{"name":"ssrnetage","loaded":false,"url":null},{"name":"gear","loaded":false,"url":null},{"name":"blazeposedetect","loaded":false,"url":null},{"name":"blazepose","loaded":false,"url":null},{"name":"centernet","loaded":true,"url":"file://models/mb3-centernet.json"},{"name":"efficientpose","loaded":false,"url":null},{"name":"mobilefacenet","loaded":false,"url":null},{"name":"insightface","loaded":false,"url":null},{"name":"emotion","loaded":true,"url":"file://models/emotion.json"},{"name":"facedetect","loaded":true,"url":"file://models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"file://models/iris.json"},{"name":"facemesh","loaded":true,"url":"file://models/facemesh.json"},{"name":"faceres","loaded":true,"url":"file://models/faceres.json"},{"name":"ssrnetgender","loaded":false,"url":null},{"name":"handpose","loaded":false,"url":null},{"name":"handskeleton","loaded":true,"url":"file://models/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"file://models/handtrack.json"},{"name":"liveness","loaded":true,"url":"file://models/liveness.json"},{"name":"movenet","loaded":true,"url":"file://models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"segmentation","loaded":true,"url":"file://models/selfie.json"},{"name":"antispoof","loaded":true,"url":"file://models/antispoof.json"}] +2022-08-31 11:28:06 INFO:  test-backend-node-gpu.js memory: {"memory":{"unreliable":true,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} +2022-08-31 11:28:06 INFO:  test-backend-node-gpu.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} +2022-08-31 11:28:06 INFO:  test-backend-node-gpu.js test: warmup +2022-08-31 11:28:06 STATE: test-backend-node-gpu.js passed: create human +2022-08-31 11:28:06 INFO:  test-backend-node-gpu.js human version: 2.9.4 +2022-08-31 11:28:06 INFO:  test-backend-node-gpu.js platform: linux x64 agent: NodeJS v18.1.0 +2022-08-31 11:28:06 INFO:  test-backend-node-gpu.js tfjs version: 3.20.0 +2022-08-31 11:28:06 INFO:  test-backend-node-gpu.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","tensorflow"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{"version":"2.7.3-dev20220521","gpu":true},"wasm":{"supported":true,"backend":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":169} +2022-08-31 11:28:06 STATE: test-backend-node-gpu.js passed: set backend: tensorflow +2022-08-31 11:28:06 STATE: test-backend-node-gpu.js tensors 1921 +2022-08-31 11:28:06 STATE: test-backend-node-gpu.js passed: load models +2022-08-31 11:28:06 STATE: test-backend-node-gpu.js result: defined models: 23 loaded models: 12 +2022-08-31 11:28:06 STATE: test-backend-node-gpu.js passed: warmup: none default +2022-08-31 11:28:06 DATA:  test-backend-node-gpu.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2022-08-31 11:28:06 DATA:  test-backend-node-gpu.js result: performance: load: null total: null +2022-08-31 11:28:06 STATE: test-backend-node-gpu.js passed: warmup none result match +2022-08-31 11:28:06 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js event: warmup +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: warmup: face default +2022-08-31 11:28:09 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4} +2022-08-31 11:28:09 DATA:  test-backend-node-gpu.js result: performance: load: null total: 2543 +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: warmup face result match +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js event: warmup +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: warmup: body default +2022-08-31 11:28:09 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:28:09 DATA:  test-backend-node-gpu.js result: performance: load: null total: 137 +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: warmup body result match +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js details: {"face":{"boxScore":0.92,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.63,"emotion":"angry"},{"score":0.22,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.52,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 10% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} +2022-08-31 11:28:09 INFO:  test-backend-node-gpu.js test: details verification +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js start default +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-08-31 11:28:09 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:28:09 DATA:  test-backend-node-gpu.js result: performance: load: null total: 144 +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: details face length 1 +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: details face score 1 0.93 1 +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: details face age/gender 23.7 female 0.97 85.47 +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: details face arrays 4 478 1024 +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: details face anti-spoofing 0.79 +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: details face liveness 0.83 +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: details body length 1 +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: details body 0.92 17 6 +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: details hand length 1 +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: details hand 0.51 0.73 point +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: details hand arrays 21 5 7 +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: details gesture length 7 +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: details gesture first {"face":0,"gesture":"facing right"} +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: details object length 1 +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: details object 0.72 person +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} +2022-08-31 11:28:09 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:10 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:10 STATE: test-backend-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2022-08-31 11:28:10 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} +2022-08-31 11:28:10 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:10 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:10 STATE: test-backend-node-gpu.js passed: tensor shape: [1200,1200,4] dtype: float32 +2022-08-31 11:28:10 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-31 11:28:10 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:10 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:10 STATE: test-backend-node-gpu.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2022-08-31 11:28:10 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796928} +2022-08-31 11:28:10 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:10 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:10 STATE: test-backend-node-gpu.js passed: tensor shape: [1200,1200,3] dtype: float32 +2022-08-31 11:28:11 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2022-08-31 11:28:11 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:11 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:11 STATE: test-backend-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2022-08-31 11:28:11 INFO:  test-backend-node-gpu.js test default +2022-08-31 11:28:11 STATE: test-backend-node-gpu.js start async +2022-08-31 11:28:11 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-31 11:28:11 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:11 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:11 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg async +2022-08-31 11:28:11 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:28:11 DATA:  test-backend-node-gpu.js result: performance: load: null total: 276 +2022-08-31 11:28:11 STATE: test-backend-node-gpu.js passed: default result face match 1 female 0.97 +2022-08-31 11:28:11 INFO:  test-backend-node-gpu.js test sync +2022-08-31 11:28:11 STATE: test-backend-node-gpu.js start sync +2022-08-31 11:28:12 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-31 11:28:12 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:12 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:12 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg sync +2022-08-31 11:28:12 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:28:12 DATA:  test-backend-node-gpu.js result: performance: load: null total: 321 +2022-08-31 11:28:12 STATE: test-backend-node-gpu.js passed: default sync 1 female 0.97 +2022-08-31 11:28:12 INFO:  test-backend-node-gpu.js test: image process +2022-08-31 11:28:12 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-31 11:28:12 STATE: test-backend-node-gpu.js passed: image input null [1,256,256,3] +2022-08-31 11:28:12 INFO:  test-backend-node-gpu.js test: image null +2022-08-31 11:28:12 STATE: test-backend-node-gpu.js passed: invalid input could not convert input to tensor +2022-08-31 11:28:12 INFO:  test-backend-node-gpu.js test face similarity +2022-08-31 11:28:12 STATE: test-backend-node-gpu.js start face similarity +2022-08-31 11:28:12 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-31 11:28:12 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:12 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:12 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face similarity +2022-08-31 11:28:12 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} +2022-08-31 11:28:12 DATA:  test-backend-node-gpu.js result: performance: load: null total: 351 +2022-08-31 11:28:12 STATE: test-backend-node-gpu.js start face similarity +2022-08-31 11:28:13 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-31 11:28:13 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:13 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:13 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg face similarity +2022-08-31 11:28:13 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:28:13 DATA:  test-backend-node-gpu.js result: performance: load: null total: 143 +2022-08-31 11:28:13 STATE: test-backend-node-gpu.js start face similarity +2022-08-31 11:28:13 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-31 11:28:13 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:13 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:13 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg face similarity +2022-08-31 11:28:13 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} +2022-08-31 11:28:13 DATA:  test-backend-node-gpu.js result: performance: load: null total: 139 +2022-08-31 11:28:13 STATE: test-backend-node-gpu.js passed: face descriptor +2022-08-31 11:28:13 STATE: test-backend-node-gpu.js passed: face similarity {"similarity":[1,0.447238756461232,0.556914029877052],"descriptors":[1024,1024,1024]} +2022-08-31 11:28:13 INFO:  test-backend-node-gpu.js test object +2022-08-31 11:28:13 STATE: test-backend-node-gpu.js start object +2022-08-31 11:28:13 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-31 11:28:13 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:13 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:13 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg object +2022-08-31 11:28:13 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:28:13 DATA:  test-backend-node-gpu.js result: performance: load: null total: 144 +2022-08-31 11:28:13 STATE: test-backend-node-gpu.js passed: centernet +2022-08-31 11:28:13 STATE: test-backend-node-gpu.js start object +2022-08-31 11:28:14 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-31 11:28:14 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:14 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:14 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg object +2022-08-31 11:28:14 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 3 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:28:14 DATA:  test-backend-node-gpu.js result: performance: load: null total: 510 +2022-08-31 11:28:14 STATE: test-backend-node-gpu.js passed: nanodet +2022-08-31 11:28:14 INFO:  test-backend-node-gpu.js test sensitive +2022-08-31 11:28:14 STATE: test-backend-node-gpu.js start sensitive +2022-08-31 11:28:15 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-31 11:28:15 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:15 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:15 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg sensitive +2022-08-31 11:28:15 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:28:15 DATA:  test-backend-node-gpu.js result: performance: load: null total: 213 +2022-08-31 11:28:15 STATE: test-backend-node-gpu.js passed: sensitive result match +2022-08-31 11:28:15 STATE: test-backend-node-gpu.js passed: sensitive face result match +2022-08-31 11:28:15 STATE: test-backend-node-gpu.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] +2022-08-31 11:28:15 STATE: test-backend-node-gpu.js passed: sensitive body result match +2022-08-31 11:28:15 STATE: test-backend-node-gpu.js passed: sensitive hand result match +2022-08-31 11:28:15 INFO:  test-backend-node-gpu.js test body +2022-08-31 11:28:15 STATE: test-backend-node-gpu.js start blazepose +2022-08-31 11:28:17 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-31 11:28:17 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:17 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:17 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg blazepose +2022-08-31 11:28:17 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.99,"keypoints":39} +2022-08-31 11:28:17 DATA:  test-backend-node-gpu.js result: performance: load: null total: 384 +2022-08-31 11:28:17 STATE: test-backend-node-gpu.js passed: blazepose +2022-08-31 11:28:17 STATE: test-backend-node-gpu.js start efficientpose +2022-08-31 11:28:18 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-31 11:28:18 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:18 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:18 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg efficientpose +2022-08-31 11:28:18 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.75,"keypoints":13} +2022-08-31 11:28:18 DATA:  test-backend-node-gpu.js result: performance: load: null total: 675 +2022-08-31 11:28:18 STATE: test-backend-node-gpu.js passed: efficientpose +2022-08-31 11:28:18 STATE: test-backend-node-gpu.js start posenet +2022-08-31 11:28:19 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-31 11:28:19 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:19 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:19 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg posenet +2022-08-31 11:28:19 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.96,"keypoints":16} +2022-08-31 11:28:19 DATA:  test-backend-node-gpu.js result: performance: load: null total: 128 +2022-08-31 11:28:19 STATE: test-backend-node-gpu.js passed: posenet +2022-08-31 11:28:19 STATE: test-backend-node-gpu.js start movenet +2022-08-31 11:28:19 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-31 11:28:19 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:19 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:19 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg movenet +2022-08-31 11:28:19 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:28:19 DATA:  test-backend-node-gpu.js result: performance: load: null total: 95 +2022-08-31 11:28:19 STATE: test-backend-node-gpu.js passed: movenet +2022-08-31 11:28:19 INFO:  test-backend-node-gpu.js test face matching +2022-08-31 11:28:19 STATE: test-backend-node-gpu.js passed: face database 40 +2022-08-31 11:28:19 STATE: test-backend-node-gpu.js passed: face match {"first":{"index":4,"similarity":0.7828184453007331}} {"second":{"index":4,"similarity":0.5001334216773398}} {"third":{"index":4,"similarity":0.5403054967489764}} +2022-08-31 11:28:19 INFO:  test-backend-node-gpu.js test face similarity alternative +2022-08-31 11:28:19 STATE: test-backend-node-gpu.js start face embeddings +2022-08-31 11:28:20 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-31 11:28:20 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:20 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:20 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-31 11:28:20 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} +2022-08-31 11:28:20 DATA:  test-backend-node-gpu.js result: performance: load: null total: 367 +2022-08-31 11:28:20 STATE: test-backend-node-gpu.js passed: mobilefacenet {"embedding":192} +2022-08-31 11:28:20 STATE: test-backend-node-gpu.js start face embeddings +2022-08-31 11:28:21 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-31 11:28:21 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:21 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:21 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-31 11:28:21 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} +2022-08-31 11:28:21 DATA:  test-backend-node-gpu.js result: performance: load: null total: 182 +2022-08-31 11:28:21 STATE: test-backend-node-gpu.js passed: insightface {"embedding":512} +2022-08-31 11:28:21 INFO:  test-backend-node-gpu.js test face attention +2022-08-31 11:28:21 STATE: test-backend-node-gpu.js start face attention +2022-08-31 11:28:22 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-31 11:28:22 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:22 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:22 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face attention +2022-08-31 11:28:22 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} +2022-08-31 11:28:22 DATA:  test-backend-node-gpu.js result: performance: load: null total: 226 +2022-08-31 11:28:22 STATE: test-backend-node-gpu.js passed: face attention +2022-08-31 11:28:22 INFO:  test-backend-node-gpu.js test detectors +2022-08-31 11:28:22 STATE: test-backend-node-gpu.js start detectors +2022-08-31 11:28:22 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-31 11:28:22 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg detectors +2022-08-31 11:28:23 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:28:23 DATA:  test-backend-node-gpu.js result: performance: load: null total: 201 +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js passed: detector result face match +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js passed: detector result hand match +2022-08-31 11:28:23 INFO:  test-backend-node-gpu.js test: multi-instance +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js start multi instance +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js passed: detect: random multi instance +2022-08-31 11:28:23 DATA:  test-backend-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} +2022-08-31 11:28:23 DATA:  test-backend-node-gpu.js result: performance: load: null total: 56 +2022-08-31 11:28:23 INFO:  test-backend-node-gpu.js test: first instance +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js start multi instance +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-31 11:28:23 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} +2022-08-31 11:28:23 DATA:  test-backend-node-gpu.js result: performance: load: null total: 79 +2022-08-31 11:28:23 INFO:  test-backend-node-gpu.js test: second instance +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js start multi instance +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-31 11:28:23 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} +2022-08-31 11:28:23 DATA:  test-backend-node-gpu.js result: performance: load: null total: 63 +2022-08-31 11:28:23 INFO:  test-backend-node-gpu.js test: concurrent +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js start concurrent +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js start concurrent +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js start concurrent +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js start concurrent +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js start concurrent +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js start concurrent +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js start concurrent +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js start concurrent +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js start concurrent +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-31 11:28:23 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-31 11:28:24 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-31 11:28:24 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-31 11:28:24 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-31 11:28:24 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-31 11:28:24 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:24 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:24 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-31 11:28:25 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} +2022-08-31 11:28:25 DATA:  test-backend-node-gpu.js result: performance: load: null total: 699 +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-31 11:28:25 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} +2022-08-31 11:28:25 DATA:  test-backend-node-gpu.js result: performance: load: null total: 699 +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-31 11:28:25 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} +2022-08-31 11:28:25 DATA:  test-backend-node-gpu.js result: performance: load: null total: 699 +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-31 11:28:25 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} +2022-08-31 11:28:25 DATA:  test-backend-node-gpu.js result: performance: load: null total: 699 +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-31 11:28:25 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} +2022-08-31 11:28:25 DATA:  test-backend-node-gpu.js result: performance: load: null total: 699 +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-31 11:28:25 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} +2022-08-31 11:28:25 DATA:  test-backend-node-gpu.js result: performance: load: null total: 699 +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-31 11:28:25 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:28:25 DATA:  test-backend-node-gpu.js result: performance: load: null total: 699 +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-31 11:28:25 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:28:25 DATA:  test-backend-node-gpu.js result: performance: load: null total: 699 +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-31 11:28:25 DATA:  test-backend-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:28:25 DATA:  test-backend-node-gpu.js result: performance: load: null total: 699 +2022-08-31 11:28:25 INFO:  test-backend-node-gpu.js test: monkey-patch +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js event: image +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js event: detect +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js passed: monkey patch +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js passed: segmentation [65536] +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js passeed: equal usage +2022-08-31 11:28:25 INFO:  test-backend-node-gpu.js test: input compare +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-31 11:28:25 STATE: test-backend-node-gpu.js passed: image compare 0 23.275441687091504 +2022-08-31 11:28:25 INFO:  test-backend-node-gpu.js events: {"image":29,"detect":29,"warmup":2} +2022-08-31 11:28:25 INFO:  test-backend-node-gpu.js tensors 15501 +2022-08-31 11:28:25 INFO:  test-backend-node-gpu.js test complete: 19177 ms +2022-08-31 11:28:26 INFO:  +2022-08-31 11:28:26 INFO:  test-backend-node-wasm.js start +2022-08-31 11:28:26 DATA:  test-backend-node-wasm.js stdout: 2022-08-31 11:28:26 INFO:  { supported: true, backend: true, simd: true, multithread: false } +2022-08-31 11:28:26 STATE: test-backend-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/ +2022-08-31 11:28:26 INFO:  test-backend-node-wasm.js test: configuration validation +2022-08-31 11:28:26 STATE: test-backend-node-wasm.js passed: configuration default validation [] +2022-08-31 11:28:26 STATE: test-backend-node-wasm.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2022-08-31 11:28:26 INFO:  test-backend-node-wasm.js test: model load +2022-08-31 11:28:28 STATE: test-backend-node-wasm.js passed: models loaded 23 12 [{"name":"ssrnetage","loaded":false,"url":null},{"name":"gear","loaded":false,"url":null},{"name":"blazeposedetect","loaded":false,"url":null},{"name":"blazepose","loaded":false,"url":null},{"name":"centernet","loaded":true,"url":"https://vladmandic.github.io/human/models/mb3-centernet.json"},{"name":"efficientpose","loaded":false,"url":null},{"name":"mobilefacenet","loaded":false,"url":null},{"name":"insightface","loaded":false,"url":null},{"name":"emotion","loaded":true,"url":"https://vladmandic.github.io/human/models/emotion.json"},{"name":"facedetect","loaded":true,"url":"https://vladmandic.github.io/human/models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"https://vladmandic.github.io/human/models/iris.json"},{"name":"facemesh","loaded":true,"url":"https://vladmandic.github.io/human/models/facemesh.json"},{"name":"faceres","loaded":true,"url":"https://vladmandic.github.io/human/models/faceres.json"},{"name":"ssrnetgender","loaded":false,"url":null},{"name":"handpose","loaded":false,"url":null},{"name":"handskeleton","loaded":true,"url":"https://vladmandic.github.io/human/models/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"https://vladmandic.github.io/human/models/handtrack.json"},{"name":"liveness","loaded":true,"url":"https://vladmandic.github.io/human/models/liveness.json"},{"name":"movenet","loaded":true,"url":"https://vladmandic.github.io/human/models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"segmentation","loaded":true,"url":"https://vladmandic.github.io/human/models/selfie.json"},{"name":"antispoof","loaded":true,"url":"https://vladmandic.github.io/human/models/antispoof.json"}] +2022-08-31 11:28:28 INFO:  test-backend-node-wasm.js memory: {"memory":{"unreliable":false,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} +2022-08-31 11:28:28 INFO:  test-backend-node-wasm.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} +2022-08-31 11:28:28 INFO:  test-backend-node-wasm.js test: warmup +2022-08-31 11:28:28 STATE: test-backend-node-wasm.js passed: create human +2022-08-31 11:28:28 INFO:  test-backend-node-wasm.js human version: 2.9.4 +2022-08-31 11:28:28 INFO:  test-backend-node-wasm.js platform: linux x64 agent: NodeJS v18.1.0 +2022-08-31 11:28:28 INFO:  test-backend-node-wasm.js tfjs version: 3.20.0 +2022-08-31 11:28:28 INFO:  test-backend-node-wasm.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","wasm"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{},"wasm":{"supported":true,"backend":true,"simd":true,"multithread":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":126} +2022-08-31 11:28:28 STATE: test-backend-node-wasm.js passed: set backend: wasm +2022-08-31 11:28:28 STATE: test-backend-node-wasm.js tensors 1921 +2022-08-31 11:28:28 STATE: test-backend-node-wasm.js passed: load models +2022-08-31 11:28:28 STATE: test-backend-node-wasm.js result: defined models: 23 loaded models: 12 +2022-08-31 11:28:28 STATE: test-backend-node-wasm.js passed: warmup: none default +2022-08-31 11:28:28 DATA:  test-backend-node-wasm.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2022-08-31 11:28:28 DATA:  test-backend-node-wasm.js result: performance: load: null total: null +2022-08-31 11:28:28 STATE: test-backend-node-wasm.js passed: warmup none result match +2022-08-31 11:28:28 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:29 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:29 STATE: test-backend-node-wasm.js event: warmup +2022-08-31 11:28:29 STATE: test-backend-node-wasm.js passed: warmup: face default +2022-08-31 11:28:29 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} +2022-08-31 11:28:29 DATA:  test-backend-node-wasm.js result: performance: load: null total: 510 +2022-08-31 11:28:29 STATE: test-backend-node-wasm.js passed: warmup face result match +2022-08-31 11:28:29 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:29 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:29 STATE: test-backend-node-wasm.js event: warmup +2022-08-31 11:28:29 STATE: test-backend-node-wasm.js passed: warmup: body default +2022-08-31 11:28:29 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:28:29 DATA:  test-backend-node-wasm.js result: performance: load: null total: 336 +2022-08-31 11:28:29 STATE: test-backend-node-wasm.js passed: warmup body result match +2022-08-31 11:28:29 STATE: test-backend-node-wasm.js details: {"face":{"boxScore":0.93,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.51,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 21% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} +2022-08-31 11:28:29 INFO:  test-backend-node-wasm.js test: details verification +2022-08-31 11:28:29 STATE: test-backend-node-wasm.js start default +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-08-31 11:28:30 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:28:30 DATA:  test-backend-node-wasm.js result: performance: load: null total: 324 +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: details face length 1 +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: details face score 1 0.93 1 +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: details face age/gender 23.7 female 0.97 85.47 +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: details face arrays 4 478 1024 +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: details face anti-spoofing 0.79 +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: details face liveness 0.83 +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: details body length 1 +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: details body 0.92 17 6 +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: details hand length 1 +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: details hand 0.51 0.73 point +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: details hand arrays 21 5 7 +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: details gesture length 7 +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: details gesture first {"face":0,"gesture":"facing right"} +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: details object length 1 +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: details object 0.72 person +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1413675264} +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:30 STATE: test-backend-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2022-08-31 11:28:31 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1413675264} +2022-08-31 11:28:31 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:31 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:31 STATE: test-backend-node-wasm.js passed: tensor shape: [1200,1200,4] dtype: float32 +2022-08-31 11:28:31 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-31 11:28:31 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:32 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:32 STATE: test-backend-node-wasm.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2022-08-31 11:28:32 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1038921856} +2022-08-31 11:28:32 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:32 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:32 STATE: test-backend-node-wasm.js passed: tensor shape: [1200,1200,3] dtype: float32 +2022-08-31 11:28:32 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2022-08-31 11:28:32 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:33 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:33 STATE: test-backend-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2022-08-31 11:28:33 INFO:  test-backend-node-wasm.js test default +2022-08-31 11:28:33 STATE: test-backend-node-wasm.js start async +2022-08-31 11:28:35 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-31 11:28:35 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:35 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:35 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg async +2022-08-31 11:28:35 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:28:35 DATA:  test-backend-node-wasm.js result: performance: load: null total: 393 +2022-08-31 11:28:35 STATE: test-backend-node-wasm.js passed: default result face match 1 female 0.97 +2022-08-31 11:28:35 INFO:  test-backend-node-wasm.js test sync +2022-08-31 11:28:35 STATE: test-backend-node-wasm.js start sync +2022-08-31 11:28:37 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-31 11:28:37 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:38 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:38 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg sync +2022-08-31 11:28:38 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:28:38 DATA:  test-backend-node-wasm.js result: performance: load: null total: 411 +2022-08-31 11:28:38 STATE: test-backend-node-wasm.js passed: default sync 1 female 0.97 +2022-08-31 11:28:38 INFO:  test-backend-node-wasm.js test: image process +2022-08-31 11:28:38 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-31 11:28:38 STATE: test-backend-node-wasm.js passed: image input null [1,256,256,3] +2022-08-31 11:28:38 INFO:  test-backend-node-wasm.js test: image null +2022-08-31 11:28:38 STATE: test-backend-node-wasm.js passed: invalid input could not convert input to tensor +2022-08-31 11:28:38 INFO:  test-backend-node-wasm.js test face similarity +2022-08-31 11:28:38 STATE: test-backend-node-wasm.js start face similarity +2022-08-31 11:28:39 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-31 11:28:39 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:40 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:40 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face similarity +2022-08-31 11:28:40 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} +2022-08-31 11:28:40 DATA:  test-backend-node-wasm.js result: performance: load: null total: 409 +2022-08-31 11:28:40 STATE: test-backend-node-wasm.js start face similarity +2022-08-31 11:28:40 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-31 11:28:40 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:40 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:40 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg face similarity +2022-08-31 11:28:40 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:28:40 DATA:  test-backend-node-wasm.js result: performance: load: null total: 305 +2022-08-31 11:28:40 STATE: test-backend-node-wasm.js start face similarity +2022-08-31 11:28:40 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-31 11:28:40 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:41 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:41 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg face similarity +2022-08-31 11:28:41 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} +2022-08-31 11:28:41 DATA:  test-backend-node-wasm.js result: performance: load: null total: 280 +2022-08-31 11:28:41 STATE: test-backend-node-wasm.js passed: face descriptor +2022-08-31 11:28:41 STATE: test-backend-node-wasm.js passed: face similarity {"similarity":[1,0.5266119940661309,0.4858842904087851],"descriptors":[1024,1024,1024]} +2022-08-31 11:28:41 INFO:  test-backend-node-wasm.js test object +2022-08-31 11:28:41 STATE: test-backend-node-wasm.js start object +2022-08-31 11:28:41 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-31 11:28:41 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:41 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:41 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg object +2022-08-31 11:28:41 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-31 11:28:41 DATA:  test-backend-node-wasm.js result: performance: load: null total: 303 +2022-08-31 11:28:41 STATE: test-backend-node-wasm.js passed: centernet +2022-08-31 11:28:41 STATE: test-backend-node-wasm.js start object +2022-08-31 11:28:42 WARN:  test-backend-node-wasm.js missing kernel ops {"title":"object","model":"nanodet","url":"https://vladmandic.github.io/human-models/models/nanodet.json","missing":["sparsetodense"],"backkend":"wasm"} +2022-08-31 11:28:42 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-31 11:28:42 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:43 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:43 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg object +2022-08-31 11:28:43 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:28:43 DATA:  test-backend-node-wasm.js result: performance: load: null total: 211 +2022-08-31 11:28:43 ERROR: test-backend-node-wasm.js failed: nanodet [] +2022-08-31 11:28:43 INFO:  test-backend-node-wasm.js test sensitive +2022-08-31 11:28:43 STATE: test-backend-node-wasm.js start sensitive +2022-08-31 11:28:44 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-31 11:28:44 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:45 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:45 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg sensitive +2022-08-31 11:28:45 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:28:45 DATA:  test-backend-node-wasm.js result: performance: load: null total: 297 +2022-08-31 11:28:45 STATE: test-backend-node-wasm.js passed: sensitive result match +2022-08-31 11:28:45 STATE: test-backend-node-wasm.js passed: sensitive face result match +2022-08-31 11:28:45 STATE: test-backend-node-wasm.js passed: sensitive face emotion result [{"score":0.46,"emotion":"neutral"},{"score":0.24,"emotion":"fear"},{"score":0.17,"emotion":"sad"}] +2022-08-31 11:28:45 STATE: test-backend-node-wasm.js passed: sensitive body result match +2022-08-31 11:28:45 STATE: test-backend-node-wasm.js passed: sensitive hand result match +2022-08-31 11:28:45 INFO:  test-backend-node-wasm.js test body +2022-08-31 11:28:45 STATE: test-backend-node-wasm.js start blazepose +2022-08-31 11:28:48 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-31 11:28:48 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:49 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:49 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg blazepose +2022-08-31 11:28:49 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.99,"keypoints":39} +2022-08-31 11:28:49 DATA:  test-backend-node-wasm.js result: performance: load: null total: 434 +2022-08-31 11:28:49 STATE: test-backend-node-wasm.js passed: blazepose +2022-08-31 11:28:49 STATE: test-backend-node-wasm.js start efficientpose +2022-08-31 11:28:50 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-31 11:28:50 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:50 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:50 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg efficientpose +2022-08-31 11:28:50 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.75,"keypoints":13} +2022-08-31 11:28:50 DATA:  test-backend-node-wasm.js result: performance: load: null total: 636 +2022-08-31 11:28:50 STATE: test-backend-node-wasm.js passed: efficientpose +2022-08-31 11:28:50 STATE: test-backend-node-wasm.js start posenet +2022-08-31 11:28:51 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-31 11:28:51 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:52 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:52 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg posenet +2022-08-31 11:28:52 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.96,"keypoints":16} +2022-08-31 11:28:52 DATA:  test-backend-node-wasm.js result: performance: load: null total: 267 +2022-08-31 11:28:52 STATE: test-backend-node-wasm.js passed: posenet +2022-08-31 11:28:52 STATE: test-backend-node-wasm.js start movenet +2022-08-31 11:28:52 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-31 11:28:52 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:52 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:52 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg movenet +2022-08-31 11:28:52 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:28:52 DATA:  test-backend-node-wasm.js result: performance: load: null total: 225 +2022-08-31 11:28:52 STATE: test-backend-node-wasm.js passed: movenet +2022-08-31 11:28:52 INFO:  test-backend-node-wasm.js test face matching +2022-08-31 11:28:52 STATE: test-backend-node-wasm.js passed: face database 40 +2022-08-31 11:28:52 STATE: test-backend-node-wasm.js passed: face match {"first":{"index":4,"similarity":0.7827852754786533}} {"second":{"index":4,"similarity":0.5660821189104794}} {"third":{"index":4,"similarity":0.45074189882665594}} +2022-08-31 11:28:52 INFO:  test-backend-node-wasm.js test face similarity alternative +2022-08-31 11:28:52 STATE: test-backend-node-wasm.js start face embeddings +2022-08-31 11:28:54 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-31 11:28:54 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:54 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:54 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-31 11:28:54 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} +2022-08-31 11:28:54 DATA:  test-backend-node-wasm.js result: performance: load: null total: 313 +2022-08-31 11:28:54 STATE: test-backend-node-wasm.js passed: mobilefacenet {"embedding":192} +2022-08-31 11:28:54 STATE: test-backend-node-wasm.js start face embeddings +2022-08-31 11:28:55 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-31 11:28:55 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:55 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:55 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-31 11:28:55 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3} +2022-08-31 11:28:55 DATA:  test-backend-node-wasm.js result: performance: load: null total: 295 +2022-08-31 11:28:55 STATE: test-backend-node-wasm.js passed: insightface {"embedding":512} +2022-08-31 11:28:55 INFO:  test-backend-node-wasm.js test face attention +2022-08-31 11:28:55 STATE: test-backend-node-wasm.js start face attention +2022-08-31 11:28:56 WARN:  test-backend-node-wasm.js missing kernel ops {"title":"face attention","model":"facemesh","url":"https://vladmandic.github.io/human-models/models/facemesh-attention.json","missing":["atan2"],"backkend":"wasm"} +2022-08-31 11:28:56 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-31 11:28:56 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:56 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:56 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face attention +2022-08-31 11:28:56 DATA:  test-backend-node-wasm.js result: face: 0 body: 1 hand: 1 gesture: 2 object: 0 person: 0 {} {} {"score":0.47,"keypoints":3} +2022-08-31 11:28:56 DATA:  test-backend-node-wasm.js result: performance: load: null total: 118 +2022-08-31 11:28:56 ERROR: test-backend-node-wasm.js failed: face attention {"annotations":0} +2022-08-31 11:28:56 INFO:  test-backend-node-wasm.js test detectors +2022-08-31 11:28:56 STATE: test-backend-node-wasm.js start detectors +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg detectors +2022-08-31 11:28:57 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:28:57 DATA:  test-backend-node-wasm.js result: performance: load: null total: 138 +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js passed: detector result face match +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js passed: detector result hand match +2022-08-31 11:28:57 INFO:  test-backend-node-wasm.js test: multi-instance +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js start multi instance +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js passed: detect: random multi instance +2022-08-31 11:28:57 DATA:  test-backend-node-wasm.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} +2022-08-31 11:28:57 DATA:  test-backend-node-wasm.js result: performance: load: null total: 108 +2022-08-31 11:28:57 INFO:  test-backend-node-wasm.js test: first instance +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js start multi instance +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-31 11:28:57 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} +2022-08-31 11:28:57 DATA:  test-backend-node-wasm.js result: performance: load: null total: 113 +2022-08-31 11:28:57 INFO:  test-backend-node-wasm.js test: second instance +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js start multi instance +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-31 11:28:57 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} +2022-08-31 11:28:57 DATA:  test-backend-node-wasm.js result: performance: load: null total: 120 +2022-08-31 11:28:57 INFO:  test-backend-node-wasm.js test: concurrent +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js start concurrent +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js start concurrent +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js start concurrent +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js start concurrent +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js start concurrent +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js start concurrent +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js start concurrent +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js start concurrent +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js start concurrent +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-31 11:28:57 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-31 11:28:58 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-31 11:28:58 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-31 11:28:58 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-31 11:28:58 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-31 11:28:58 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-31 11:28:58 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-31 11:28:58 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:58 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:58 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:59 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:59 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-31 11:28:59 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} +2022-08-31 11:28:59 DATA:  test-backend-node-wasm.js result: performance: load: null total: 940 +2022-08-31 11:28:59 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-31 11:28:59 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} +2022-08-31 11:28:59 DATA:  test-backend-node-wasm.js result: performance: load: null total: 940 +2022-08-31 11:28:59 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-31 11:28:59 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7} +2022-08-31 11:28:59 DATA:  test-backend-node-wasm.js result: performance: load: null total: 940 +2022-08-31 11:28:59 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:59 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:59 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-31 11:28:59 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} +2022-08-31 11:28:59 DATA:  test-backend-node-wasm.js result: performance: load: null total: 940 +2022-08-31 11:28:59 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-31 11:28:59 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} +2022-08-31 11:28:59 DATA:  test-backend-node-wasm.js result: performance: load: null total: 940 +2022-08-31 11:28:59 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-31 11:28:59 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3} +2022-08-31 11:28:59 DATA:  test-backend-node-wasm.js result: performance: load: null total: 940 +2022-08-31 11:28:59 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-31 11:28:59 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:28:59 DATA:  test-backend-node-wasm.js result: performance: load: null total: 940 +2022-08-31 11:28:59 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-31 11:28:59 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:28:59 DATA:  test-backend-node-wasm.js result: performance: load: null total: 940 +2022-08-31 11:28:59 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-31 11:28:59 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17} +2022-08-31 11:28:59 DATA:  test-backend-node-wasm.js result: performance: load: null total: 940 +2022-08-31 11:28:59 INFO:  test-backend-node-wasm.js test: monkey-patch +2022-08-31 11:28:59 STATE: test-backend-node-wasm.js event: image +2022-08-31 11:28:59 STATE: test-backend-node-wasm.js event: detect +2022-08-31 11:28:59 STATE: test-backend-node-wasm.js passed: monkey patch +2022-08-31 11:28:59 STATE: test-backend-node-wasm.js passed: segmentation [65536] +2022-08-31 11:28:59 STATE: test-backend-node-wasm.js passeed: equal usage +2022-08-31 11:28:59 INFO:  test-backend-node-wasm.js test: input compare +2022-08-31 11:28:59 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-31 11:29:00 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-31 11:29:00 STATE: test-backend-node-wasm.js passed: image compare 0 23.280073018790848 +2022-08-31 11:29:00 INFO:  test-backend-node-wasm.js events: {"image":29,"detect":29,"warmup":2} +2022-08-31 11:29:00 INFO:  test-backend-node-wasm.js tensors 15503 +2022-08-31 11:29:00 INFO:  test-backend-node-wasm.js test complete: 33408 ms +2022-08-31 11:29:00 STATE: all tests complete +2022-08-31 11:29:00 INFO:  status {"test":"../demo/nodejs/node.js","passed":1,"failed":0} +2022-08-31 11:29:00 INFO:  status {"test":"../demo/nodejs/node-simple.js","passed":1,"failed":0} +2022-08-31 11:29:00 INFO:  status {"test":"../demo/nodejs/node-fetch.js","passed":1,"failed":0} +2022-08-31 11:29:00 INFO:  status {"test":"../demo/nodejs/node-event.js","passed":1,"failed":0} +2022-08-31 11:29:00 INFO:  status {"test":"../demo/nodejs/node-similarity.js","passed":1,"failed":0} +2022-08-31 11:29:00 INFO:  status {"test":"../demo/nodejs/node-canvas.js","passed":1,"failed":0} +2022-08-31 11:29:00 INFO:  status {"test":"../demo/multithread/node-multiprocess.js","passed":1,"failed":0} +2022-08-31 11:29:00 INFO:  status {"test":"../demo/facematch/node-match.js","passed":1,"failed":0} +2022-08-31 11:29:00 INFO:  status {"test":"test-node-load.js","passed":1,"failed":0} +2022-08-31 11:29:00 INFO:  status {"test":"test-node-gear.js","passed":3,"failed":0} +2022-08-31 11:29:00 INFO:  status {"test":"test-backend-node.js","passed":125,"failed":0} +2022-08-31 11:29:00 INFO:  status {"test":"test-backend-node-gpu.js","passed":125,"failed":0} +2022-08-31 11:29:00 INFO:  status {"test":"test-backend-node-wasm.js","passed":124,"failed":2} +2022-08-31 11:29:00 INFO:  failures {"count":2} +2022-08-31 11:29:00 WARN:  failed {"test":"test-backend-node-wasm.js","message":["error",["failed: nanodet",[]]]} +2022-08-31 11:29:00 WARN:  failed {"test":"test-backend-node-wasm.js","message":["error",["failed: face attention",{"annotations":0}]]}