diff --git a/demo/nodejs/node-canvas.js b/demo/nodejs/node-canvas.js index fd0b20f2..c1359199 100644 --- a/demo/nodejs/node-canvas.js +++ b/demo/nodejs/node-canvas.js @@ -6,8 +6,11 @@ const fs = require('fs'); const process = require('process'); const log = require('@vladmandic/pilogger'); const canvas = require('canvas'); -require('@tensorflow/tfjs-node'); // for nodejs, `tfjs-node` or `tfjs-node-gpu` should be loaded before using Human -const Human = require('../../dist/human.node.js'); // this is 'const Human = require('../dist/human.node-gpu.js').default;' + +// eslint-disable-next-line import/no-extraneous-dependencies, no-unused-vars, @typescript-eslint/no-unused-vars +const tf = require('@tensorflow/tfjs-node'); // in nodejs environments tfjs-node is required to be loaded before human +// const faceapi = require('@vladmandic/face-api'); // use this when human is installed as module (majority of use cases) +const Human = require('../../dist/human.node.js'); // use this when using human in dev mode const config = { // just enable all and leave default settings debug: false, @@ -68,6 +71,7 @@ async function main() { const outputCanvas = new canvas.Canvas(inputImage.width, inputImage.height); // create canvas const outputCtx = outputCanvas.getContext('2d'); outputCtx.drawImage(result.canvas || inputImage, 0, 0); // draw input image onto canvas + // @ts-ignore canvas is not checked for typedefs human.draw.all(outputCanvas, result); // use human build-in method to draw results as overlays on canvas const outFile = fs.createWriteStream(output); // write canvas to new image file outFile.on('finish', () => log.state('Output image:', output, outputCanvas.width, outputCanvas.height)); diff --git a/demo/nodejs/node-event.js b/demo/nodejs/node-event.js index 79f10b3e..7d9485f2 100644 --- a/demo/nodejs/node-event.js +++ b/demo/nodejs/node-event.js @@ -8,17 +8,14 @@ const process = require('process'); let fetch; // fetch is dynamically imported later -// for NodeJS, `tfjs-node` or `tfjs-node-gpu` should be loaded before using Human -// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars -const tf = require('@tensorflow/tfjs-node'); // or const tf = require('@tensorflow/tfjs-node-gpu'); - -// load specific version of Human library that matches TensorFlow mode -const Human = require('../../dist/human.node.js').default; // or const Human = require('../dist/human.node-gpu.js').default; +// eslint-disable-next-line import/no-extraneous-dependencies, no-unused-vars, @typescript-eslint/no-unused-vars +const tf = require('@tensorflow/tfjs-node'); // in nodejs environments tfjs-node is required to be loaded before human +// const faceapi = require('@vladmandic/face-api'); // use this when human is installed as module (majority of use cases) +const Human = require('../../dist/human.node.js'); // use this when using human in dev mode let human = null; const myConfig = { - backend: 'tensorflow', modelBasePath: 'file://models/', debug: false, async: true, @@ -61,32 +58,34 @@ async function detect(input) { async function main() { log.header(); - human = new Human(myConfig); + human = new Human.Human(myConfig); - human.events.addEventListener('warmup', () => { - log.info('Event Warmup'); - }); + if (human.events) { + human.events.addEventListener('warmup', () => { + log.info('Event Warmup'); + }); - human.events.addEventListener('load', () => { - const loaded = Object.keys(human.models).filter((a) => human.models[a]); - log.info('Event Loaded:', loaded, human.tf.engine().memory()); - }); + human.events.addEventListener('load', () => { + const loaded = Object.keys(human.models).filter((a) => human.models[a]); + log.info('Event Loaded:', loaded, human.tf.engine().memory()); + }); - human.events.addEventListener('image', () => { - log.info('Event Image:', human.process.tensor.shape); - }); + human.events.addEventListener('image', () => { + log.info('Event Image:', human.process.tensor.shape); + }); - human.events.addEventListener('detect', () => { - log.data('Event Detected:'); - const persons = human.result.persons; - for (let i = 0; i < persons.length; i++) { - const face = persons[i].face; - const faceTxt = face ? `score:${face.score} age:${face.age} gender:${face.gender} iris:${face.iris}` : null; - const body = persons[i].body; - const bodyTxt = body ? `score:${body.score} keypoints:${body.keypoints?.length}` : null; - log.data(` #${i}: Face:${faceTxt} Body:${bodyTxt} LeftHand:${persons[i].hands.left ? 'yes' : 'no'} RightHand:${persons[i].hands.right ? 'yes' : 'no'} Gestures:${persons[i].gestures.length}`); - } - }); + human.events.addEventListener('detect', () => { + log.data('Event Detected:'); + const persons = human.result.persons; + for (let i = 0; i < persons.length; i++) { + const face = persons[i].face; + const faceTxt = face ? `score:${face.score} age:${face.age} gender:${face.gender} iris:${face.iris}` : null; + const body = persons[i].body; + const bodyTxt = body ? `score:${body.score} keypoints:${body.keypoints?.length}` : null; + log.data(` #${i}: Face:${faceTxt} Body:${bodyTxt} LeftHand:${persons[i].hands.left ? 'yes' : 'no'} RightHand:${persons[i].hands.right ? 'yes' : 'no'} Gestures:${persons[i].gestures.length}`); + } + }); + } await human.tf.ready(); // wait until tf is ready diff --git a/demo/nodejs/node-similarity.js b/demo/nodejs/node-similarity.js index 168e5f06..df607bd8 100644 --- a/demo/nodejs/node-similarity.js +++ b/demo/nodejs/node-similarity.js @@ -5,14 +5,15 @@ const log = require('@vladmandic/pilogger'); const fs = require('fs'); const process = require('process'); -// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars -const tf = require('@tensorflow/tfjs-node'); -const Human = require('../../dist/human.node.js').default; + +// eslint-disable-next-line import/no-extraneous-dependencies, no-unused-vars, @typescript-eslint/no-unused-vars +const tf = require('@tensorflow/tfjs-node'); // in nodejs environments tfjs-node is required to be loaded before human +// const faceapi = require('@vladmandic/face-api'); // use this when human is installed as module (majority of use cases) +const Human = require('../../dist/human.node.js'); // use this when using human in dev mode let human = null; const myConfig = { - backend: 'tensorflow', modelBasePath: 'file://models/', debug: true, face: { emotion: { enabled: false } }, @@ -22,7 +23,7 @@ const myConfig = { }; async function init() { - human = new Human(myConfig); + human = new Human.Human(myConfig); await human.tf.ready(); log.info('Human:', human.version); await human.load(); diff --git a/demo/nodejs/node-simple.js b/demo/nodejs/node-simple.js index 667e8309..f1c4f2a9 100644 --- a/demo/nodejs/node-simple.js +++ b/demo/nodejs/node-simple.js @@ -1,8 +1,12 @@ const fs = require('fs'); -const Human = require('../../dist/human.node.js').default; // this is same as `@vladmandic/human` but using relative paths + +// eslint-disable-next-line import/no-extraneous-dependencies, no-unused-vars, @typescript-eslint/no-unused-vars +const tf = require('@tensorflow/tfjs-node'); // in nodejs environments tfjs-node is required to be loaded before human +// const faceapi = require('@vladmandic/face-api'); // use this when human is installed as module (majority of use cases) +const Human = require('../../dist/human.node.js'); // use this when using human in dev mode async function main(inputFile) { - const human = new Human(); // create instance of human using default configuration + const human = new Human.Human(); // create instance of human using default configuration await human.load(); // optional as models would be loaded on-demand first time they are required await human.warmup(); // optional as model warmup is performed on-demand first time its executed const buffer = fs.readFileSync(inputFile); // read file data into buffer diff --git a/demo/nodejs/node-video.js b/demo/nodejs/node-video.js index 41431f75..f66fb4a1 100644 --- a/demo/nodejs/node-video.js +++ b/demo/nodejs/node-video.js @@ -16,18 +16,17 @@ const log = require('@vladmandic/pilogger'); // @ts-ignore pipe2jpeg is not installed by default // eslint-disable-next-line node/no-missing-require const Pipe2Jpeg = require('pipe2jpeg'); -// for NodeJS, `tfjs-node` or `tfjs-node-gpu` should be loaded before using Human -// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars -const tf = require('@tensorflow/tfjs-node'); // or const tf = require('@tensorflow/tfjs-node-gpu'); -// load specific version of Human library that matches TensorFlow mode -const Human = require('../../dist/human.node.js').default; // or const Human = require('../dist/human.node-gpu.js').default; + +// eslint-disable-next-line import/no-extraneous-dependencies, no-unused-vars, @typescript-eslint/no-unused-vars +const tf = require('@tensorflow/tfjs-node'); // in nodejs environments tfjs-node is required to be loaded before human +// const faceapi = require('@vladmandic/face-api'); // use this when human is installed as module (majority of use cases) +const Human = require('../../dist/human.node.js'); // use this when using human in dev mode let count = 0; // counter let busy = false; // busy flag const inputFile = './test.mp4'; const humanConfig = { - backend: 'tensorflow', modelBasePath: 'file://models/', debug: false, async: true, @@ -45,7 +44,7 @@ const humanConfig = { object: { enabled: false }, }; -const human = new Human(humanConfig); +const human = new Human.Human(humanConfig); const pipe2jpeg = new Pipe2Jpeg(); const ffmpegParams = [ @@ -65,10 +64,7 @@ const ffmpegParams = [ async function process(jpegBuffer) { if (busy) return; // skip processing if busy busy = true; - const decoded = tf.node.decodeJpeg(jpegBuffer, 3); // decode jpeg buffer to raw tensor - const tensor = tf.expandDims(decoded, 0); // almost all tf models use first dimension as batch number so we add it - tf.dispose(decoded); - + const tensor = human.tf.node.decodeJpeg(jpegBuffer, 3); // decode jpeg buffer to raw tensor log.state('input frame:', ++count, 'size:', jpegBuffer.length, 'decoded shape:', tensor.shape); const res = await human.detect(tensor); log.data('gesture', JSON.stringify(res.gesture)); diff --git a/demo/nodejs/node-webcam.js b/demo/nodejs/node-webcam.js index 70b1f094..53d409d1 100644 --- a/demo/nodejs/node-webcam.js +++ b/demo/nodejs/node-webcam.js @@ -11,11 +11,11 @@ const log = require('@vladmandic/pilogger'); // @ts-ignore node-webcam is not installed by default // eslint-disable-next-line node/no-missing-require const nodeWebCam = require('node-webcam'); -// for NodeJS, `tfjs-node` or `tfjs-node-gpu` should be loaded before using Human -// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars -const tf = require('@tensorflow/tfjs-node'); // or const tf = require('@tensorflow/tfjs-node-gpu'); -// load specific version of Human library that matches TensorFlow mode -const Human = require('../../dist/human.node.js').default; // or const Human = require('../dist/human.node-gpu.js').default; + +// eslint-disable-next-line import/no-extraneous-dependencies, no-unused-vars, @typescript-eslint/no-unused-vars +const tf = require('@tensorflow/tfjs-node'); // in nodejs environments tfjs-node is required to be loaded before human +// const faceapi = require('@vladmandic/face-api'); // use this when human is installed as module (majority of use cases) +const Human = require('../../dist/human.node.js'); // use this when using human in dev mode // options for node-webcam const tempFile = 'webcam-snap'; // node-webcam requires writting snapshot to a file, recommended to use tmpfs to avoid excessive disk writes @@ -27,10 +27,9 @@ const camera = nodeWebCam.create(optionsCamera); // options for human const optionsHuman = { - backend: 'tensorflow', modelBasePath: 'file://models/', }; -const human = new Human(optionsHuman); +const human = new Human.Human(optionsHuman); function buffer2tensor(buffer) { return human.tf.tidy(() => { @@ -67,8 +66,8 @@ async function detect() { if (result && result.face && result.face.length > 0) { for (let i = 0; i < result.face.length; i++) { const face = result.face[i]; - const emotion = face.emotion.reduce((prev, curr) => (prev.score > curr.score ? prev : curr)); - log.data(`detected face: #${i} boxScore:${face.boxScore} faceScore:${face.faceScore} age:${face.age} genderScore:${face.genderScore} gender:${face.gender} emotionScore:${emotion.score} emotion:${emotion.emotion} iris:${face.iris}`); + const emotion = face.emotion?.reduce((prev, curr) => (prev.score > curr.score ? prev : curr)); + log.data(`detected face: #${i} boxScore:${face.boxScore} faceScore:${face.faceScore} age:${face.age} genderScore:${face.genderScore} gender:${face.gender} emotionScore:${emotion?.score} emotion:${emotion?.emotion} iris:${face.iris}`); } } else { log.data(' Face: N/A'); diff --git a/demo/nodejs/node.js b/demo/nodejs/node.js index f187ba04..db282a12 100644 --- a/demo/nodejs/node.js +++ b/demo/nodejs/node.js @@ -9,12 +9,10 @@ const process = require('process'); let fetch; // fetch is dynamically imported later -// for NodeJS, `tfjs-node` or `tfjs-node-gpu` should be loaded before using Human -// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars -const tf = require('@tensorflow/tfjs-node'); // or const tf = require('@tensorflow/tfjs-node-gpu'); - -// load specific version of Human library that matches TensorFlow mode -const Human = require('../../dist/human.node.js').default; // or const Human = require('../dist/human.node-gpu.js').default; +// eslint-disable-next-line import/no-extraneous-dependencies, no-unused-vars, @typescript-eslint/no-unused-vars +const tf = require('@tensorflow/tfjs-node'); // in nodejs environments tfjs-node is required to be loaded before human +// const faceapi = require('@vladmandic/face-api'); // use this when human is installed as module (majority of use cases) +const Human = require('../../dist/human.node.js'); // use this when using human in dev mode let human = null; @@ -45,7 +43,7 @@ const myConfig = { async function init() { // create instance of human - human = new Human(myConfig); + human = new Human.Human(myConfig); // wait until tf is ready await human.tf.ready(); // pre-load models diff --git a/test/test.log b/test/test.log index 743d098b..3a2b44b3 100644 --- a/test/test.log +++ b/test/test.log @@ -1,684 +1,684 @@ -2021-12-30 12:37:51 INFO:  @vladmandic/human version 2.5.7 -2021-12-30 12:37:51 INFO:  User: vlado Platform: linux Arch: x64 Node: v17.2.0 -2021-12-30 12:37:51 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"] -2021-12-30 12:37:51 INFO:  demos: ["../demo/nodejs/node.js","../demo/nodejs/node-canvas.js","../demo/nodejs/node-env.js","../demo/nodejs/node-event.js","../demo/nodejs/node-multiprocess.js"] -2021-12-30 12:37:51 INFO:  -2021-12-30 12:37:51 INFO:  test-node.js start -2021-12-30 12:37:52 INFO:  test-node.js test: configuration validation -2021-12-30 12:37:52 STATE: test-node.js passed: configuration default validation [] -2021-12-30 12:37:52 STATE: test-node.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2021-12-30 12:37:52 INFO:  test-node.js test: model load -2021-12-30 12:37:52 STATE: test-node.js passed: models loaded 22 12 [{"name":"ssrnetage","loaded":false},{"name":"gear","loaded":false},{"name":"blazeposedetect","loaded":false},{"name":"blazepose","loaded":false},{"name":"centernet","loaded":true},{"name":"efficientpose","loaded":false},{"name":"mobilefacenet","loaded":false},{"name":"emotion","loaded":true},{"name":"facedetect","loaded":true},{"name":"faceiris","loaded":true},{"name":"facemesh","loaded":true},{"name":"faceres","loaded":true},{"name":"ssrnetgender","loaded":false},{"name":"handpose","loaded":false},{"name":"handskeleton","loaded":true},{"name":"handtrack","loaded":true},{"name":"liveness","loaded":true},{"name":"movenet","loaded":true},{"name":"nanodet","loaded":false},{"name":"posenet","loaded":false},{"name":"segmentation","loaded":true},{"name":"antispoof","loaded":true}] -2021-12-30 12:37:52 INFO:  test-node.js test: warmup -2021-12-30 12:37:52 STATE: test-node.js passed: create human -2021-12-30 12:37:52 INFO:  test-node.js human version: 2.5.7 -2021-12-30 12:37:52 INFO:  test-node.js platform: linux x64 agent: NodeJS v17.2.0 -2021-12-30 12:37:52 INFO:  test-node.js tfjs version: 3.12.0 -2021-12-30 12:37:52 INFO:  test-node.js tensorflow binding version: 2.7.0-dev20211101 -2021-12-30 12:37:52 STATE: test-node.js passed: set backend: tensorflow -2021-12-30 12:37:52 STATE: test-node.js tensors 1919 -2021-12-30 12:37:52 STATE: test-node.js passed: load models -2021-12-30 12:37:52 STATE: test-node.js result: defined models: 22 loaded models: 12 -2021-12-30 12:37:52 STATE: test-node.js passed: warmup: none default -2021-12-30 12:37:52 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2021-12-30 12:37:52 DATA:  test-node.js result: performance: load: null total: null -2021-12-30 12:37:52 STATE: test-node.js passed: warmup none result match -2021-12-30 12:37:52 STATE: test-node.js event: image -2021-12-30 12:37:53 STATE: test-node.js event: detect -2021-12-30 12:37:53 STATE: test-node.js event: warmup -2021-12-30 12:37:53 STATE: test-node.js passed: warmup: face default -2021-12-30 12:37:53 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4} -2021-12-30 12:37:53 DATA:  test-node.js result: performance: load: null total: 787 -2021-12-30 12:37:53 STATE: test-node.js passed: warmup face result match -2021-12-30 12:37:53 STATE: test-node.js event: image -2021-12-30 12:37:54 STATE: test-node.js event: detect -2021-12-30 12:37:54 STATE: test-node.js event: warmup -2021-12-30 12:37:54 STATE: test-node.js passed: warmup: body default -2021-12-30 12:37:54 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:37:54 DATA:  test-node.js result: performance: load: null total: 630 -2021-12-30 12:37:54 STATE: test-node.js passed: warmup body result match -2021-12-30 12:37:54 STATE: test-node.js details: {"face":{"boxScore":0.92,"faceScore":1,"age":29.6,"gender":"female","genderScore":0.89},"emotion":[{"score":0.35,"emotion":"fear"},{"score":0.28,"emotion":"angry"},{"score":0.15,"emotion":"sad"},{"score":0.1,"emotion":"surprise"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.52,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} -2021-12-30 12:37:54 INFO:  test-node.js test: details verification -2021-12-30 12:37:54 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2021-12-30 12:37:54 STATE: test-node.js event: image -2021-12-30 12:37:55 STATE: test-node.js event: detect -2021-12-30 12:37:55 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:37:55 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:37:55 DATA:  test-node.js result: performance: load: null total: 656 -2021-12-30 12:37:55 STATE: test-node.js passed: details face length 1 -2021-12-30 12:37:55 STATE: test-node.js passed: details face score 1 0.93 1 -2021-12-30 12:37:55 STATE: test-node.js passed: details face age/gender 29.6 female 0.91 73.26 -2021-12-30 12:37:55 STATE: test-node.js passed: details face arrays 4 478 1024 -2021-12-30 12:37:55 STATE: test-node.js passed: details face emotion 3 {"score":0.34,"emotion":"fear"} -2021-12-30 12:37:55 STATE: test-node.js passed: details face anti-spoofing 0.78 -2021-12-30 12:37:55 STATE: test-node.js passed: details face liveness 0.83 -2021-12-30 12:37:55 STATE: test-node.js passed: details body length 1 -2021-12-30 12:37:55 STATE: test-node.js passed: details body 0.92 17 6 -2021-12-30 12:37:55 STATE: test-node.js passed: details hand length 1 -2021-12-30 12:37:55 STATE: test-node.js passed: details hand 0.51 0.73 point -2021-12-30 12:37:55 STATE: test-node.js passed: details hand arrays 21 5 7 -2021-12-30 12:37:55 STATE: test-node.js passed: details gesture length 6 -2021-12-30 12:37:55 STATE: test-node.js passed: details gesture first {"face":0,"gesture":"facing right"} -2021-12-30 12:37:55 STATE: test-node.js passed: details object length 1 -2021-12-30 12:37:55 STATE: test-node.js passed: details object 0.72 person -2021-12-30 12:37:55 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996800} -2021-12-30 12:37:55 STATE: test-node.js event: image -2021-12-30 12:37:56 STATE: test-node.js event: detect -2021-12-30 12:37:56 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2021-12-30 12:37:56 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996800} -2021-12-30 12:37:56 STATE: test-node.js event: image -2021-12-30 12:37:57 STATE: test-node.js event: detect -2021-12-30 12:37:57 STATE: test-node.js passed: tensor shape: [1200,1200,4] dtype: float32 -2021-12-30 12:37:57 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2021-12-30 12:37:57 STATE: test-node.js event: image -2021-12-30 12:37:58 STATE: test-node.js event: detect -2021-12-30 12:37:58 STATE: test-node.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2021-12-30 12:37:58 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796864} -2021-12-30 12:37:58 STATE: test-node.js event: image -2021-12-30 12:37:59 STATE: test-node.js event: detect -2021-12-30 12:37:59 STATE: test-node.js passed: tensor shape: [1200,1200,3] dtype: float32 -2021-12-30 12:37:59 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2021-12-30 12:37:59 STATE: test-node.js event: image -2021-12-30 12:38:00 STATE: test-node.js event: detect -2021-12-30 12:38:00 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2021-12-30 12:38:00 INFO:  test-node.js test default -2021-12-30 12:38:00 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2021-12-30 12:38:00 STATE: test-node.js event: image -2021-12-30 12:38:01 STATE: test-node.js event: detect -2021-12-30 12:38:01 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:01 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:01 DATA:  test-node.js result: performance: load: null total: 588 -2021-12-30 12:38:01 STATE: test-node.js passed: default result face match 1 female 0.91 -2021-12-30 12:38:01 INFO:  test-node.js test sync -2021-12-30 12:38:01 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2021-12-30 12:38:01 STATE: test-node.js event: image -2021-12-30 12:38:01 STATE: test-node.js event: detect -2021-12-30 12:38:01 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:01 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:01 DATA:  test-node.js result: performance: load: null total: 560 -2021-12-30 12:38:01 STATE: test-node.js passed: default sync 1 female 0.91 -2021-12-30 12:38:01 INFO:  test-node.js test: image process -2021-12-30 12:38:01 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2021-12-30 12:38:01 STATE: test-node.js passed: image input null [1,256,256,3] -2021-12-30 12:38:01 INFO:  test-node.js test: image null -2021-12-30 12:38:01 STATE: test-node.js passed: invalid input could not convert input to tensor -2021-12-30 12:38:01 INFO:  test-node.js test face similarity -2021-12-30 12:38:02 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2021-12-30 12:38:02 STATE: test-node.js event: image -2021-12-30 12:38:02 STATE: test-node.js event: detect -2021-12-30 12:38:02 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default -2021-12-30 12:38:02 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} -2021-12-30 12:38:02 DATA:  test-node.js result: performance: load: null total: 555 -2021-12-30 12:38:02 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2021-12-30 12:38:02 STATE: test-node.js event: image -2021-12-30 12:38:03 STATE: test-node.js event: detect -2021-12-30 12:38:03 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:03 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:03 DATA:  test-node.js result: performance: load: null total: 571 -2021-12-30 12:38:03 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2021-12-30 12:38:03 STATE: test-node.js event: image -2021-12-30 12:38:04 STATE: test-node.js event: detect -2021-12-30 12:38:04 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default -2021-12-30 12:38:04 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} -2021-12-30 12:38:04 DATA:  test-node.js result: performance: load: null total: 501 -2021-12-30 12:38:04 STATE: test-node.js passed: face descriptor -2021-12-30 12:38:04 STATE: test-node.js passed: face similarity {"similarity":[1,0.5632803696747949,0.5194114176618805],"descriptors":[1024,1024,1024]} -2021-12-30 12:38:04 INFO:  test-node.js test face matching -2021-12-30 12:38:04 STATE: test-node.js passed: face database 57 -2021-12-30 12:38:04 STATE: test-node.js passed: face match {"first":{"index":4,"similarity":0.879792467245884}} {"second":{"index":4,"similarity":0.548081919955348}} {"third":{"index":4,"similarity":0.49996966464638193}} -2021-12-30 12:38:04 INFO:  test-node.js test object -2021-12-30 12:38:04 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2021-12-30 12:38:04 STATE: test-node.js event: image -2021-12-30 12:38:05 STATE: test-node.js event: detect -2021-12-30 12:38:05 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:05 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:05 DATA:  test-node.js result: performance: load: null total: 555 -2021-12-30 12:38:05 STATE: test-node.js passed: object result match -2021-12-30 12:38:05 INFO:  test-node.js test sensitive -2021-12-30 12:38:05 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2021-12-30 12:38:05 STATE: test-node.js event: image -2021-12-30 12:38:06 STATE: test-node.js event: detect -2021-12-30 12:38:06 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:06 DATA:  test-node.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:06 DATA:  test-node.js result: performance: load: null total: 597 -2021-12-30 12:38:06 STATE: test-node.js passed: sensitive result match -2021-12-30 12:38:06 STATE: test-node.js passed: sensitive face result match -2021-12-30 12:38:06 STATE: test-node.js passed: sensitive face emotion result [{"score":0.34,"emotion":"fear"},{"score":0.29,"emotion":"angry"},{"score":0.15,"emotion":"sad"}] -2021-12-30 12:38:06 STATE: test-node.js passed: sensitive body result match -2021-12-30 12:38:06 STATE: test-node.js passed: sensitive hand result match -2021-12-30 12:38:06 INFO:  test-node.js test detectors -2021-12-30 12:38:06 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2021-12-30 12:38:06 STATE: test-node.js event: image -2021-12-30 12:38:06 STATE: test-node.js event: detect -2021-12-30 12:38:06 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:06 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:06 DATA:  test-node.js result: performance: load: null total: 384 -2021-12-30 12:38:06 STATE: test-node.js passed: detector result face match -2021-12-30 12:38:06 STATE: test-node.js passed: detector result hand match -2021-12-30 12:38:06 INFO:  test-node.js test: multi-instance -2021-12-30 12:38:07 STATE: test-node.js event: image -2021-12-30 12:38:07 STATE: test-node.js event: detect -2021-12-30 12:38:07 STATE: test-node.js passed: detect: random default -2021-12-30 12:38:07 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0.08,"keypoints":15} -2021-12-30 12:38:07 DATA:  test-node.js result: performance: load: null total: 380 -2021-12-30 12:38:07 INFO:  test-node.js test: first instance -2021-12-30 12:38:07 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2021-12-30 12:38:07 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default -2021-12-30 12:38:07 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2021-12-30 12:38:07 DATA:  test-node.js result: performance: load: null total: 375 -2021-12-30 12:38:07 INFO:  test-node.js test: second instance -2021-12-30 12:38:08 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2021-12-30 12:38:08 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default -2021-12-30 12:38:08 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2021-12-30 12:38:08 DATA:  test-node.js result: performance: load: null total: 389 -2021-12-30 12:38:08 INFO:  test-node.js test: concurrent -2021-12-30 12:38:08 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2021-12-30 12:38:08 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2021-12-30 12:38:08 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2021-12-30 12:38:09 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2021-12-30 12:38:09 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2021-12-30 12:38:09 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2021-12-30 12:38:09 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2021-12-30 12:38:10 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2021-12-30 12:38:10 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2021-12-30 12:38:10 STATE: test-node.js event: image -2021-12-30 12:38:10 STATE: test-node.js event: image -2021-12-30 12:38:10 STATE: test-node.js event: image -2021-12-30 12:38:13 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default -2021-12-30 12:38:13 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2021-12-30 12:38:13 DATA:  test-node.js result: performance: load: null total: 3515 -2021-12-30 12:38:13 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default -2021-12-30 12:38:13 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2021-12-30 12:38:13 DATA:  test-node.js result: performance: load: null total: 3515 -2021-12-30 12:38:13 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default -2021-12-30 12:38:13 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} -2021-12-30 12:38:13 DATA:  test-node.js result: performance: load: null total: 3839 -2021-12-30 12:38:13 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default -2021-12-30 12:38:13 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} -2021-12-30 12:38:13 DATA:  test-node.js result: performance: load: null total: 3839 -2021-12-30 12:38:13 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:13 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:13 DATA:  test-node.js result: performance: load: null total: 3839 -2021-12-30 12:38:13 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:13 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:13 DATA:  test-node.js result: performance: load: null total: 3839 -2021-12-30 12:38:13 STATE: test-node.js event: detect -2021-12-30 12:38:13 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default -2021-12-30 12:38:13 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2021-12-30 12:38:13 DATA:  test-node.js result: performance: load: null total: 3292 -2021-12-30 12:38:13 STATE: test-node.js event: detect -2021-12-30 12:38:13 STATE: test-node.js event: detect -2021-12-30 12:38:13 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default -2021-12-30 12:38:13 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} -2021-12-30 12:38:13 DATA:  test-node.js result: performance: load: null total: 3292 -2021-12-30 12:38:13 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:13 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:13 DATA:  test-node.js result: performance: load: null total: 3292 -2021-12-30 12:38:13 INFO:  test-node.js test: monkey-patch -2021-12-30 12:38:13 STATE: test-node.js event: image -2021-12-30 12:38:13 STATE: test-node.js event: detect -2021-12-30 12:38:13 STATE: test-node.js passed: monkey patch -2021-12-30 12:38:13 STATE: test-node.js passed: segmentation [65536] -2021-12-30 12:38:13 STATE: test-node.js passeed: equal usage -2021-12-30 12:38:13 INFO:  test-node.js test: input compare -2021-12-30 12:38:13 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2021-12-30 12:38:14 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2021-12-30 12:38:14 STATE: test-node.js passed: image compare 0 23.275441687091504 -2021-12-30 12:38:14 INFO:  test-node.js events: {"image":21,"detect":21,"warmup":2} -2021-12-30 12:38:14 INFO:  test-node.js tensors 1925 -2021-12-30 12:38:14 INFO:  test-node.js test complete: 22064 ms -2021-12-30 12:38:14 INFO:  -2021-12-30 12:38:14 INFO:  test-node-gpu.js start -2021-12-30 12:38:16 INFO:  test-node-gpu.js test: configuration validation -2021-12-30 12:38:16 STATE: test-node-gpu.js passed: configuration default validation [] -2021-12-30 12:38:16 STATE: test-node-gpu.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2021-12-30 12:38:16 INFO:  test-node-gpu.js test: model load -2021-12-30 12:38:16 STATE: test-node-gpu.js passed: models loaded 22 12 [{"name":"ssrnetage","loaded":false},{"name":"gear","loaded":false},{"name":"blazeposedetect","loaded":false},{"name":"blazepose","loaded":false},{"name":"centernet","loaded":true},{"name":"efficientpose","loaded":false},{"name":"mobilefacenet","loaded":false},{"name":"emotion","loaded":true},{"name":"facedetect","loaded":true},{"name":"faceiris","loaded":true},{"name":"facemesh","loaded":true},{"name":"faceres","loaded":true},{"name":"ssrnetgender","loaded":false},{"name":"handpose","loaded":false},{"name":"handskeleton","loaded":true},{"name":"handtrack","loaded":true},{"name":"liveness","loaded":true},{"name":"movenet","loaded":true},{"name":"nanodet","loaded":false},{"name":"posenet","loaded":false},{"name":"segmentation","loaded":true},{"name":"antispoof","loaded":true}] -2021-12-30 12:38:16 INFO:  test-node-gpu.js test: warmup -2021-12-30 12:38:16 STATE: test-node-gpu.js passed: create human -2021-12-30 12:38:16 INFO:  test-node-gpu.js human version: 2.5.7 -2021-12-30 12:38:16 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v17.2.0 -2021-12-30 12:38:16 INFO:  test-node-gpu.js tfjs version: 3.12.0 -2021-12-30 12:38:16 INFO:  test-node-gpu.js tensorflow binding version: 2.7.0-dev20211101 -2021-12-30 12:38:16 STATE: test-node-gpu.js passed: set backend: tensorflow -2021-12-30 12:38:16 STATE: test-node-gpu.js tensors 1919 -2021-12-30 12:38:16 STATE: test-node-gpu.js passed: load models -2021-12-30 12:38:16 STATE: test-node-gpu.js result: defined models: 22 loaded models: 12 -2021-12-30 12:38:16 STATE: test-node-gpu.js passed: warmup: none default -2021-12-30 12:38:16 DATA:  test-node-gpu.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2021-12-30 12:38:16 DATA:  test-node-gpu.js result: performance: load: null total: null -2021-12-30 12:38:16 STATE: test-node-gpu.js passed: warmup none result match -2021-12-30 12:38:17 STATE: test-node-gpu.js event: image -2021-12-30 12:38:22 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:22 STATE: test-node-gpu.js event: warmup -2021-12-30 12:38:22 STATE: test-node-gpu.js passed: warmup: face default -2021-12-30 12:38:22 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4} -2021-12-30 12:38:22 DATA:  test-node-gpu.js result: performance: load: null total: 4947 -2021-12-30 12:38:22 STATE: test-node-gpu.js passed: warmup face result match -2021-12-30 12:38:22 STATE: test-node-gpu.js event: image -2021-12-30 12:38:23 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:23 STATE: test-node-gpu.js event: warmup -2021-12-30 12:38:23 STATE: test-node-gpu.js passed: warmup: body default -2021-12-30 12:38:23 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:23 DATA:  test-node-gpu.js result: performance: load: null total: 376 -2021-12-30 12:38:23 STATE: test-node-gpu.js passed: warmup body result match -2021-12-30 12:38:23 STATE: test-node-gpu.js details: {"face":{"boxScore":0.92,"faceScore":1,"age":29.6,"gender":"female","genderScore":0.89},"emotion":[{"score":0.35,"emotion":"fear"},{"score":0.28,"emotion":"angry"},{"score":0.15,"emotion":"sad"},{"score":0.1,"emotion":"surprise"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.52,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} -2021-12-30 12:38:23 INFO:  test-node-gpu.js test: details verification -2021-12-30 12:38:23 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2021-12-30 12:38:23 STATE: test-node-gpu.js event: image -2021-12-30 12:38:24 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:24 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:24 DATA:  test-node-gpu.js result: performance: load: null total: 294 -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: details face length 1 -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: details face score 1 0.93 1 -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: details face age/gender 29.6 female 0.91 73.26 -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: details face arrays 4 478 1024 -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: details face emotion 3 {"score":0.34,"emotion":"fear"} -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: details face anti-spoofing 0.78 -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: details face liveness 0.83 -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: details body length 1 -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: details body 0.92 17 6 -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: details hand length 1 -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: details hand 0.51 0.73 point -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: details hand arrays 21 5 7 -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: details gesture length 6 -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: details gesture first {"face":0,"gesture":"facing right"} -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: details object length 1 -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: details object 0.72 person -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} -2021-12-30 12:38:24 STATE: test-node-gpu.js event: image -2021-12-30 12:38:24 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:24 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2021-12-30 12:38:25 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} -2021-12-30 12:38:25 STATE: test-node-gpu.js event: image -2021-12-30 12:38:25 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:25 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,4] dtype: float32 -2021-12-30 12:38:25 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2021-12-30 12:38:25 STATE: test-node-gpu.js event: image -2021-12-30 12:38:26 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:26 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2021-12-30 12:38:26 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796928} -2021-12-30 12:38:26 STATE: test-node-gpu.js event: image -2021-12-30 12:38:26 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:26 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,3] dtype: float32 -2021-12-30 12:38:27 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2021-12-30 12:38:27 STATE: test-node-gpu.js event: image -2021-12-30 12:38:27 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:27 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2021-12-30 12:38:27 INFO:  test-node-gpu.js test default -2021-12-30 12:38:27 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2021-12-30 12:38:27 STATE: test-node-gpu.js event: image -2021-12-30 12:38:28 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:28 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:28 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:28 DATA:  test-node-gpu.js result: performance: load: null total: 285 -2021-12-30 12:38:28 STATE: test-node-gpu.js passed: default result face match 1 female 0.91 -2021-12-30 12:38:28 INFO:  test-node-gpu.js test sync -2021-12-30 12:38:28 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2021-12-30 12:38:28 STATE: test-node-gpu.js event: image -2021-12-30 12:38:28 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:28 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:28 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:28 DATA:  test-node-gpu.js result: performance: load: null total: 275 -2021-12-30 12:38:28 STATE: test-node-gpu.js passed: default sync 1 female 0.91 -2021-12-30 12:38:28 INFO:  test-node-gpu.js test: image process -2021-12-30 12:38:28 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2021-12-30 12:38:28 STATE: test-node-gpu.js passed: image input null [1,256,256,3] -2021-12-30 12:38:28 INFO:  test-node-gpu.js test: image null -2021-12-30 12:38:28 STATE: test-node-gpu.js passed: invalid input could not convert input to tensor -2021-12-30 12:38:28 INFO:  test-node-gpu.js test face similarity -2021-12-30 12:38:28 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2021-12-30 12:38:28 STATE: test-node-gpu.js event: image -2021-12-30 12:38:29 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:29 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default -2021-12-30 12:38:29 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} -2021-12-30 12:38:29 DATA:  test-node-gpu.js result: performance: load: null total: 233 -2021-12-30 12:38:29 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2021-12-30 12:38:29 STATE: test-node-gpu.js event: image -2021-12-30 12:38:29 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:29 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:29 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:29 DATA:  test-node-gpu.js result: performance: load: null total: 252 -2021-12-30 12:38:30 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} -2021-12-30 12:38:30 STATE: test-node-gpu.js event: image -2021-12-30 12:38:30 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:30 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default -2021-12-30 12:38:30 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} -2021-12-30 12:38:30 DATA:  test-node-gpu.js result: performance: load: null total: 235 -2021-12-30 12:38:30 STATE: test-node-gpu.js passed: face descriptor -2021-12-30 12:38:30 STATE: test-node-gpu.js passed: face similarity {"similarity":[1,0.5632807380127582,0.5194117219117728],"descriptors":[1024,1024,1024]} -2021-12-30 12:38:30 INFO:  test-node-gpu.js test face matching -2021-12-30 12:38:30 STATE: test-node-gpu.js passed: face database 57 -2021-12-30 12:38:30 STATE: test-node-gpu.js passed: face match {"first":{"index":4,"similarity":0.8797921758393706}} {"second":{"index":4,"similarity":0.5480818507563384}} {"third":{"index":4,"similarity":0.49996986015800404}} -2021-12-30 12:38:30 INFO:  test-node-gpu.js test object -2021-12-30 12:38:30 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2021-12-30 12:38:30 STATE: test-node-gpu.js event: image -2021-12-30 12:38:31 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:31 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:31 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:31 DATA:  test-node-gpu.js result: performance: load: null total: 356 -2021-12-30 12:38:31 STATE: test-node-gpu.js passed: object result match -2021-12-30 12:38:31 INFO:  test-node-gpu.js test sensitive -2021-12-30 12:38:31 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2021-12-30 12:38:31 STATE: test-node-gpu.js event: image -2021-12-30 12:38:31 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:31 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:31 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:31 DATA:  test-node-gpu.js result: performance: load: null total: 349 -2021-12-30 12:38:31 STATE: test-node-gpu.js passed: sensitive result match -2021-12-30 12:38:31 STATE: test-node-gpu.js passed: sensitive face result match -2021-12-30 12:38:31 STATE: test-node-gpu.js passed: sensitive face emotion result [{"score":0.34,"emotion":"fear"},{"score":0.29,"emotion":"angry"},{"score":0.15,"emotion":"sad"}] -2021-12-30 12:38:31 STATE: test-node-gpu.js passed: sensitive body result match -2021-12-30 12:38:31 STATE: test-node-gpu.js passed: sensitive hand result match -2021-12-30 12:38:31 INFO:  test-node-gpu.js test detectors -2021-12-30 12:38:32 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2021-12-30 12:38:32 STATE: test-node-gpu.js event: image -2021-12-30 12:38:32 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:32 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:32 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:32 DATA:  test-node-gpu.js result: performance: load: null total: 186 -2021-12-30 12:38:32 STATE: test-node-gpu.js passed: detector result face match -2021-12-30 12:38:32 STATE: test-node-gpu.js passed: detector result hand match -2021-12-30 12:38:32 INFO:  test-node-gpu.js test: multi-instance -2021-12-30 12:38:32 STATE: test-node-gpu.js event: image -2021-12-30 12:38:32 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:32 STATE: test-node-gpu.js passed: detect: random default -2021-12-30 12:38:32 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0.06,"keypoints":15} -2021-12-30 12:38:32 DATA:  test-node-gpu.js result: performance: load: null total: 167 -2021-12-30 12:38:32 INFO:  test-node-gpu.js test: first instance -2021-12-30 12:38:32 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} -2021-12-30 12:38:33 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default -2021-12-30 12:38:33 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2021-12-30 12:38:33 DATA:  test-node-gpu.js result: performance: load: null total: 193 -2021-12-30 12:38:33 INFO:  test-node-gpu.js test: second instance -2021-12-30 12:38:33 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} -2021-12-30 12:38:33 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default -2021-12-30 12:38:33 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2021-12-30 12:38:33 DATA:  test-node-gpu.js result: performance: load: null total: 162 -2021-12-30 12:38:33 INFO:  test-node-gpu.js test: concurrent -2021-12-30 12:38:33 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2021-12-30 12:38:33 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2021-12-30 12:38:33 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2021-12-30 12:38:34 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2021-12-30 12:38:34 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} -2021-12-30 12:38:34 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} -2021-12-30 12:38:34 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2021-12-30 12:38:35 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2021-12-30 12:38:35 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} -2021-12-30 12:38:35 STATE: test-node-gpu.js event: image -2021-12-30 12:38:35 STATE: test-node-gpu.js event: image -2021-12-30 12:38:35 STATE: test-node-gpu.js event: image -2021-12-30 12:38:36 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default -2021-12-30 12:38:36 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2021-12-30 12:38:36 DATA:  test-node-gpu.js result: performance: load: null total: 1829 -2021-12-30 12:38:36 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default -2021-12-30 12:38:36 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2021-12-30 12:38:36 DATA:  test-node-gpu.js result: performance: load: null total: 1829 -2021-12-30 12:38:36 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default -2021-12-30 12:38:36 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} -2021-12-30 12:38:36 DATA:  test-node-gpu.js result: performance: load: null total: 1935 -2021-12-30 12:38:36 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default -2021-12-30 12:38:36 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} -2021-12-30 12:38:36 DATA:  test-node-gpu.js result: performance: load: null total: 1935 -2021-12-30 12:38:36 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:36 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:36 DATA:  test-node-gpu.js result: performance: load: null total: 1935 -2021-12-30 12:38:36 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:36 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:36 DATA:  test-node-gpu.js result: performance: load: null total: 1935 -2021-12-30 12:38:36 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:36 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default -2021-12-30 12:38:36 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2021-12-30 12:38:36 DATA:  test-node-gpu.js result: performance: load: null total: 1379 -2021-12-30 12:38:36 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:36 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:36 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default -2021-12-30 12:38:36 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} -2021-12-30 12:38:36 DATA:  test-node-gpu.js result: performance: load: null total: 1379 -2021-12-30 12:38:36 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:36 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:36 DATA:  test-node-gpu.js result: performance: load: null total: 1379 -2021-12-30 12:38:36 INFO:  test-node-gpu.js test: monkey-patch -2021-12-30 12:38:36 STATE: test-node-gpu.js event: image -2021-12-30 12:38:36 STATE: test-node-gpu.js event: detect -2021-12-30 12:38:36 STATE: test-node-gpu.js passed: monkey patch -2021-12-30 12:38:37 STATE: test-node-gpu.js passed: segmentation [65536] -2021-12-30 12:38:37 STATE: test-node-gpu.js passeed: equal usage -2021-12-30 12:38:37 INFO:  test-node-gpu.js test: input compare -2021-12-30 12:38:37 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2021-12-30 12:38:37 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2021-12-30 12:38:37 STATE: test-node-gpu.js passed: image compare 0 23.275441687091504 -2021-12-30 12:38:37 INFO:  test-node-gpu.js events: {"image":21,"detect":21,"warmup":2} -2021-12-30 12:38:37 INFO:  test-node-gpu.js tensors 1925 -2021-12-30 12:38:37 INFO:  test-node-gpu.js test complete: 21298 ms -2021-12-30 12:38:38 INFO:  -2021-12-30 12:38:38 INFO:  test-node-wasm.js start -2021-12-30 12:38:39 STATE: test-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/ -2021-12-30 12:38:39 INFO:  test-node-wasm.js test: configuration validation -2021-12-30 12:38:39 STATE: test-node-wasm.js passed: configuration default validation [] -2021-12-30 12:38:39 STATE: test-node-wasm.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2021-12-30 12:38:39 INFO:  test-node-wasm.js test: model load -2021-12-30 12:38:41 STATE: test-node-wasm.js passed: models loaded 22 12 [{"name":"ssrnetage","loaded":false},{"name":"gear","loaded":false},{"name":"blazeposedetect","loaded":false},{"name":"blazepose","loaded":false},{"name":"centernet","loaded":true},{"name":"efficientpose","loaded":false},{"name":"mobilefacenet","loaded":false},{"name":"emotion","loaded":true},{"name":"facedetect","loaded":true},{"name":"faceiris","loaded":true},{"name":"facemesh","loaded":true},{"name":"faceres","loaded":true},{"name":"ssrnetgender","loaded":false},{"name":"handpose","loaded":false},{"name":"handskeleton","loaded":true},{"name":"handtrack","loaded":true},{"name":"liveness","loaded":true},{"name":"movenet","loaded":true},{"name":"nanodet","loaded":false},{"name":"posenet","loaded":false},{"name":"segmentation","loaded":true},{"name":"antispoof","loaded":true}] -2021-12-30 12:38:41 INFO:  test-node-wasm.js test: warmup -2021-12-30 12:38:41 STATE: test-node-wasm.js passed: create human -2021-12-30 12:38:41 INFO:  test-node-wasm.js human version: 2.5.7 -2021-12-30 12:38:41 INFO:  test-node-wasm.js platform: linux x64 agent: NodeJS v17.2.0 -2021-12-30 12:38:41 INFO:  test-node-wasm.js tfjs version: 3.12.0 -2021-12-30 12:38:41 STATE: test-node-wasm.js passed: set backend: wasm -2021-12-30 12:38:41 STATE: test-node-wasm.js tensors 1919 -2021-12-30 12:38:41 STATE: test-node-wasm.js passed: load models -2021-12-30 12:38:41 STATE: test-node-wasm.js result: defined models: 22 loaded models: 12 -2021-12-30 12:38:41 STATE: test-node-wasm.js passed: warmup: none default -2021-12-30 12:38:41 DATA:  test-node-wasm.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2021-12-30 12:38:41 DATA:  test-node-wasm.js result: performance: load: null total: null -2021-12-30 12:38:41 STATE: test-node-wasm.js passed: warmup none result match -2021-12-30 12:38:41 STATE: test-node-wasm.js event: image -2021-12-30 12:38:42 STATE: test-node-wasm.js event: detect -2021-12-30 12:38:42 STATE: test-node-wasm.js event: warmup -2021-12-30 12:38:42 STATE: test-node-wasm.js passed: warmup: face default -2021-12-30 12:38:42 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} -2021-12-30 12:38:42 DATA:  test-node-wasm.js result: performance: load: null total: 1111 -2021-12-30 12:38:42 STATE: test-node-wasm.js passed: warmup face result match -2021-12-30 12:38:42 STATE: test-node-wasm.js event: image -2021-12-30 12:38:43 STATE: test-node-wasm.js event: detect -2021-12-30 12:38:43 STATE: test-node-wasm.js event: warmup -2021-12-30 12:38:43 STATE: test-node-wasm.js passed: warmup: body default -2021-12-30 12:38:43 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:43 DATA:  test-node-wasm.js result: performance: load: null total: 744 -2021-12-30 12:38:43 STATE: test-node-wasm.js passed: warmup body result match -2021-12-30 12:38:43 STATE: test-node-wasm.js details: {"face":{"boxScore":0.93,"faceScore":1,"age":29.6,"gender":"female","genderScore":0.91},"emotion":[{"score":0.34,"emotion":"fear"},{"score":0.29,"emotion":"angry"},{"score":0.15,"emotion":"sad"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.51,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} -2021-12-30 12:38:43 INFO:  test-node-wasm.js test: details verification -2021-12-30 12:38:43 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2021-12-30 12:38:43 STATE: test-node-wasm.js event: image -2021-12-30 12:38:44 STATE: test-node-wasm.js event: detect -2021-12-30 12:38:44 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:44 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:44 DATA:  test-node-wasm.js result: performance: load: null total: 671 -2021-12-30 12:38:44 STATE: test-node-wasm.js passed: details face length 1 -2021-12-30 12:38:44 STATE: test-node-wasm.js passed: details face score 1 0.93 1 -2021-12-30 12:38:44 STATE: test-node-wasm.js passed: details face age/gender 29.6 female 0.91 73.26 -2021-12-30 12:38:44 STATE: test-node-wasm.js passed: details face arrays 4 478 1024 -2021-12-30 12:38:44 STATE: test-node-wasm.js passed: details face emotion 3 {"score":0.34,"emotion":"fear"} -2021-12-30 12:38:44 STATE: test-node-wasm.js passed: details face anti-spoofing 0.78 -2021-12-30 12:38:44 STATE: test-node-wasm.js passed: details face liveness 0.83 -2021-12-30 12:38:44 STATE: test-node-wasm.js passed: details body length 1 -2021-12-30 12:38:44 STATE: test-node-wasm.js passed: details body 0.92 17 6 -2021-12-30 12:38:44 STATE: test-node-wasm.js passed: details hand length 1 -2021-12-30 12:38:44 STATE: test-node-wasm.js passed: details hand 0.51 0.73 point -2021-12-30 12:38:44 STATE: test-node-wasm.js passed: details hand arrays 21 5 7 -2021-12-30 12:38:44 STATE: test-node-wasm.js passed: details gesture length 6 -2021-12-30 12:38:44 STATE: test-node-wasm.js passed: details gesture first {"face":0,"gesture":"facing right"} -2021-12-30 12:38:44 STATE: test-node-wasm.js passed: details object length 1 -2021-12-30 12:38:44 STATE: test-node-wasm.js passed: details object 0.72 person -2021-12-30 12:38:45 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1413675264} -2021-12-30 12:38:45 STATE: test-node-wasm.js event: image -2021-12-30 12:38:46 STATE: test-node-wasm.js event: detect -2021-12-30 12:38:46 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2021-12-30 12:38:46 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1413675264} -2021-12-30 12:38:46 STATE: test-node-wasm.js event: image -2021-12-30 12:38:47 STATE: test-node-wasm.js event: detect -2021-12-30 12:38:47 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,4] dtype: float32 -2021-12-30 12:38:48 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2021-12-30 12:38:48 STATE: test-node-wasm.js event: image -2021-12-30 12:38:48 STATE: test-node-wasm.js event: detect -2021-12-30 12:38:48 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2021-12-30 12:38:49 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1038921856} -2021-12-30 12:38:49 STATE: test-node-wasm.js event: image -2021-12-30 12:38:49 STATE: test-node-wasm.js event: detect -2021-12-30 12:38:49 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,3] dtype: float32 -2021-12-30 12:38:50 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2021-12-30 12:38:50 STATE: test-node-wasm.js event: image -2021-12-30 12:38:51 STATE: test-node-wasm.js event: detect -2021-12-30 12:38:51 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2021-12-30 12:38:51 INFO:  test-node-wasm.js test default -2021-12-30 12:38:51 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2021-12-30 12:38:51 STATE: test-node-wasm.js event: image -2021-12-30 12:38:52 STATE: test-node-wasm.js event: detect -2021-12-30 12:38:52 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:52 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:52 DATA:  test-node-wasm.js result: performance: load: null total: 662 -2021-12-30 12:38:52 STATE: test-node-wasm.js passed: default result face match 1 female 0.93 -2021-12-30 12:38:52 INFO:  test-node-wasm.js test sync -2021-12-30 12:38:53 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2021-12-30 12:38:53 STATE: test-node-wasm.js event: image -2021-12-30 12:38:53 STATE: test-node-wasm.js event: detect -2021-12-30 12:38:53 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:53 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:53 DATA:  test-node-wasm.js result: performance: load: null total: 661 -2021-12-30 12:38:53 STATE: test-node-wasm.js passed: default sync 1 female 0.93 -2021-12-30 12:38:53 INFO:  test-node-wasm.js test: image process -2021-12-30 12:38:53 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2021-12-30 12:38:53 STATE: test-node-wasm.js passed: image input null [1,256,256,3] -2021-12-30 12:38:53 INFO:  test-node-wasm.js test: image null -2021-12-30 12:38:53 STATE: test-node-wasm.js passed: invalid input could not convert input to tensor -2021-12-30 12:38:53 INFO:  test-node-wasm.js test face similarity -2021-12-30 12:38:53 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2021-12-30 12:38:53 STATE: test-node-wasm.js event: image -2021-12-30 12:38:54 STATE: test-node-wasm.js event: detect -2021-12-30 12:38:54 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default -2021-12-30 12:38:54 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} -2021-12-30 12:38:54 DATA:  test-node-wasm.js result: performance: load: null total: 622 -2021-12-30 12:38:54 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2021-12-30 12:38:54 STATE: test-node-wasm.js event: image -2021-12-30 12:38:55 STATE: test-node-wasm.js event: detect -2021-12-30 12:38:55 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:55 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:55 DATA:  test-node-wasm.js result: performance: load: null total: 721 -2021-12-30 12:38:55 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2021-12-30 12:38:55 STATE: test-node-wasm.js event: image -2021-12-30 12:38:56 STATE: test-node-wasm.js event: detect -2021-12-30 12:38:56 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default -2021-12-30 12:38:56 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} -2021-12-30 12:38:56 DATA:  test-node-wasm.js result: performance: load: null total: 615 -2021-12-30 12:38:56 STATE: test-node-wasm.js passed: face descriptor -2021-12-30 12:38:56 STATE: test-node-wasm.js passed: face similarity {"similarity":[1,0.5888036339038205,0.4689331535670693],"descriptors":[1024,1024,1024]} -2021-12-30 12:38:56 INFO:  test-node-wasm.js test face matching -2021-12-30 12:38:56 STATE: test-node-wasm.js passed: face database 57 -2021-12-30 12:38:56 STATE: test-node-wasm.js passed: face match {"first":{"index":4,"similarity":0.8797924799049534}} {"second":{"index":4,"similarity":0.573642308237338}} {"third":{"index":4,"similarity":0.45582039900188964}} -2021-12-30 12:38:56 INFO:  test-node-wasm.js test object -2021-12-30 12:38:57 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2021-12-30 12:38:57 STATE: test-node-wasm.js event: image -2021-12-30 12:38:57 STATE: test-node-wasm.js event: detect -2021-12-30 12:38:57 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:57 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:57 DATA:  test-node-wasm.js result: performance: load: null total: 704 -2021-12-30 12:38:57 STATE: test-node-wasm.js passed: object result match -2021-12-30 12:38:57 INFO:  test-node-wasm.js test sensitive -2021-12-30 12:38:58 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2021-12-30 12:38:58 STATE: test-node-wasm.js event: image -2021-12-30 12:38:59 STATE: test-node-wasm.js event: detect -2021-12-30 12:38:59 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:38:59 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:38:59 DATA:  test-node-wasm.js result: performance: load: null total: 714 -2021-12-30 12:38:59 STATE: test-node-wasm.js passed: sensitive result match -2021-12-30 12:38:59 STATE: test-node-wasm.js passed: sensitive face result match -2021-12-30 12:38:59 STATE: test-node-wasm.js passed: sensitive face emotion result [{"score":0.54,"emotion":"angry"},{"score":0.2,"emotion":"fear"},{"score":0.16,"emotion":"surprise"}] -2021-12-30 12:38:59 STATE: test-node-wasm.js passed: sensitive body result match -2021-12-30 12:38:59 STATE: test-node-wasm.js passed: sensitive hand result match -2021-12-30 12:38:59 INFO:  test-node-wasm.js test detectors -2021-12-30 12:38:59 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2021-12-30 12:38:59 STATE: test-node-wasm.js event: image -2021-12-30 12:39:00 STATE: test-node-wasm.js event: detect -2021-12-30 12:39:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:39:00 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:39:00 DATA:  test-node-wasm.js result: performance: load: null total: 476 -2021-12-30 12:39:00 STATE: test-node-wasm.js passed: detector result face match -2021-12-30 12:39:00 STATE: test-node-wasm.js passed: detector result hand match -2021-12-30 12:39:00 INFO:  test-node-wasm.js test: multi-instance -2021-12-30 12:39:00 STATE: test-node-wasm.js event: image -2021-12-30 12:39:00 STATE: test-node-wasm.js event: detect -2021-12-30 12:39:00 STATE: test-node-wasm.js passed: detect: random default -2021-12-30 12:39:00 DATA:  test-node-wasm.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0.07,"keypoints":15} -2021-12-30 12:39:00 DATA:  test-node-wasm.js result: performance: load: null total: 411 -2021-12-30 12:39:00 INFO:  test-node-wasm.js test: first instance -2021-12-30 12:39:00 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2021-12-30 12:39:01 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default -2021-12-30 12:39:01 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2021-12-30 12:39:01 DATA:  test-node-wasm.js result: performance: load: null total: 449 -2021-12-30 12:39:01 INFO:  test-node-wasm.js test: second instance -2021-12-30 12:39:01 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2021-12-30 12:39:02 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default -2021-12-30 12:39:02 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2021-12-30 12:39:02 DATA:  test-node-wasm.js result: performance: load: null total: 456 -2021-12-30 12:39:02 INFO:  test-node-wasm.js test: concurrent -2021-12-30 12:39:02 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2021-12-30 12:39:02 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2021-12-30 12:39:02 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2021-12-30 12:39:03 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2021-12-30 12:39:03 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2021-12-30 12:39:03 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2021-12-30 12:39:03 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2021-12-30 12:39:04 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2021-12-30 12:39:04 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2021-12-30 12:39:04 STATE: test-node-wasm.js event: image -2021-12-30 12:39:04 STATE: test-node-wasm.js event: image -2021-12-30 12:39:04 STATE: test-node-wasm.js event: image -2021-12-30 12:39:07 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default -2021-12-30 12:39:07 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2021-12-30 12:39:07 DATA:  test-node-wasm.js result: performance: load: null total: 4400 -2021-12-30 12:39:07 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default -2021-12-30 12:39:07 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2021-12-30 12:39:07 DATA:  test-node-wasm.js result: performance: load: null total: 4401 -2021-12-30 12:39:08 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default -2021-12-30 12:39:08 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} -2021-12-30 12:39:08 DATA:  test-node-wasm.js result: performance: load: null total: 4853 -2021-12-30 12:39:08 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default -2021-12-30 12:39:08 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} -2021-12-30 12:39:08 DATA:  test-node-wasm.js result: performance: load: null total: 4853 -2021-12-30 12:39:08 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:39:08 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:39:08 DATA:  test-node-wasm.js result: performance: load: null total: 4853 -2021-12-30 12:39:08 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:39:08 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:39:08 DATA:  test-node-wasm.js result: performance: load: null total: 4853 -2021-12-30 12:39:08 STATE: test-node-wasm.js event: detect -2021-12-30 12:39:08 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default -2021-12-30 12:39:08 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} -2021-12-30 12:39:08 DATA:  test-node-wasm.js result: performance: load: null total: 4070 -2021-12-30 12:39:08 STATE: test-node-wasm.js event: detect -2021-12-30 12:39:08 STATE: test-node-wasm.js event: detect -2021-12-30 12:39:08 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default -2021-12-30 12:39:08 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} -2021-12-30 12:39:08 DATA:  test-node-wasm.js result: performance: load: null total: 4070 -2021-12-30 12:39:08 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2021-12-30 12:39:08 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2021-12-30 12:39:08 DATA:  test-node-wasm.js result: performance: load: null total: 4070 -2021-12-30 12:39:08 INFO:  test-node-wasm.js test: monkey-patch -2021-12-30 12:39:08 STATE: test-node-wasm.js event: image -2021-12-30 12:39:08 STATE: test-node-wasm.js event: detect -2021-12-30 12:39:08 STATE: test-node-wasm.js passed: monkey patch -2021-12-30 12:39:08 STATE: test-node-wasm.js passed: segmentation [65536] -2021-12-30 12:39:08 STATE: test-node-wasm.js passeed: equal usage -2021-12-30 12:39:08 INFO:  test-node-wasm.js test: input compare -2021-12-30 12:39:08 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2021-12-30 12:39:09 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2021-12-30 12:39:09 STATE: test-node-wasm.js passed: image compare 0 23.280073018790848 -2021-12-30 12:39:09 INFO:  test-node-wasm.js events: {"image":21,"detect":21,"warmup":2} -2021-12-30 12:39:09 INFO:  test-node-wasm.js tensors 1927 -2021-12-30 12:39:09 INFO:  test-node-wasm.js test complete: 30351 ms -2021-12-30 12:39:09 INFO:  all tests complete -2021-12-30 12:39:09 INFO:  failed: {"count":0,"messages":[]} -2021-12-30 12:39:09 INFO:  status: {"test":"test-node.js","passed":101,"failed":0} -2021-12-30 12:39:09 INFO:  status: {"test":"test-node-gpu.js","passed":101,"failed":0} -2021-12-30 12:39:09 INFO:  status: {"test":"test-node-wasm.js","passed":102,"failed":0} +2021-12-31 14:00:16 INFO:  @vladmandic/human version 2.5.7 +2021-12-31 14:00:16 INFO:  User: vlado Platform: linux Arch: x64 Node: v17.2.0 +2021-12-31 14:00:16 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"] +2021-12-31 14:00:16 INFO:  demos: ["../demo/nodejs/node.js","../demo/nodejs/node-canvas.js","../demo/nodejs/node-env.js","../demo/nodejs/node-event.js","../demo/nodejs/node-multiprocess.js"] +2021-12-31 14:00:16 INFO:  +2021-12-31 14:00:16 INFO:  test-node.js start +2021-12-31 14:00:18 INFO:  test-node.js test: configuration validation +2021-12-31 14:00:18 STATE: test-node.js passed: configuration default validation [] +2021-12-31 14:00:18 STATE: test-node.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2021-12-31 14:00:18 INFO:  test-node.js test: model load +2021-12-31 14:00:18 STATE: test-node.js passed: models loaded 22 12 [{"name":"ssrnetage","loaded":false},{"name":"gear","loaded":false},{"name":"blazeposedetect","loaded":false},{"name":"blazepose","loaded":false},{"name":"centernet","loaded":true},{"name":"efficientpose","loaded":false},{"name":"mobilefacenet","loaded":false},{"name":"emotion","loaded":true},{"name":"facedetect","loaded":true},{"name":"faceiris","loaded":true},{"name":"facemesh","loaded":true},{"name":"faceres","loaded":true},{"name":"ssrnetgender","loaded":false},{"name":"handpose","loaded":false},{"name":"handskeleton","loaded":true},{"name":"handtrack","loaded":true},{"name":"liveness","loaded":true},{"name":"movenet","loaded":true},{"name":"nanodet","loaded":false},{"name":"posenet","loaded":false},{"name":"segmentation","loaded":true},{"name":"antispoof","loaded":true}] +2021-12-31 14:00:18 INFO:  test-node.js test: warmup +2021-12-31 14:00:18 STATE: test-node.js passed: create human +2021-12-31 14:00:18 INFO:  test-node.js human version: 2.5.7 +2021-12-31 14:00:18 INFO:  test-node.js platform: linux x64 agent: NodeJS v17.2.0 +2021-12-31 14:00:18 INFO:  test-node.js tfjs version: 3.12.0 +2021-12-31 14:00:18 INFO:  test-node.js tensorflow binding version: 2.7.0-dev20211101 +2021-12-31 14:00:18 STATE: test-node.js passed: set backend: tensorflow +2021-12-31 14:00:18 STATE: test-node.js tensors 1919 +2021-12-31 14:00:18 STATE: test-node.js passed: load models +2021-12-31 14:00:18 STATE: test-node.js result: defined models: 22 loaded models: 12 +2021-12-31 14:00:18 STATE: test-node.js passed: warmup: none default +2021-12-31 14:00:18 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2021-12-31 14:00:18 DATA:  test-node.js result: performance: load: null total: null +2021-12-31 14:00:18 STATE: test-node.js passed: warmup none result match +2021-12-31 14:00:18 STATE: test-node.js event: image +2021-12-31 14:00:19 STATE: test-node.js event: detect +2021-12-31 14:00:19 STATE: test-node.js event: warmup +2021-12-31 14:00:19 STATE: test-node.js passed: warmup: face default +2021-12-31 14:00:19 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4} +2021-12-31 14:00:19 DATA:  test-node.js result: performance: load: null total: 1080 +2021-12-31 14:00:19 STATE: test-node.js passed: warmup face result match +2021-12-31 14:00:19 STATE: test-node.js event: image +2021-12-31 14:00:20 STATE: test-node.js event: detect +2021-12-31 14:00:20 STATE: test-node.js event: warmup +2021-12-31 14:00:20 STATE: test-node.js passed: warmup: body default +2021-12-31 14:00:20 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:00:20 DATA:  test-node.js result: performance: load: null total: 693 +2021-12-31 14:00:20 STATE: test-node.js passed: warmup body result match +2021-12-31 14:00:20 STATE: test-node.js details: {"face":{"boxScore":0.92,"faceScore":1,"age":29.6,"gender":"female","genderScore":0.89},"emotion":[{"score":0.35,"emotion":"fear"},{"score":0.28,"emotion":"angry"},{"score":0.15,"emotion":"sad"},{"score":0.1,"emotion":"surprise"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.52,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} +2021-12-31 14:00:20 INFO:  test-node.js test: details verification +2021-12-31 14:00:21 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2021-12-31 14:00:21 STATE: test-node.js event: image +2021-12-31 14:00:21 STATE: test-node.js event: detect +2021-12-31 14:00:21 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:00:21 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:00:21 DATA:  test-node.js result: performance: load: null total: 761 +2021-12-31 14:00:21 STATE: test-node.js passed: details face length 1 +2021-12-31 14:00:21 STATE: test-node.js passed: details face score 1 0.93 1 +2021-12-31 14:00:21 STATE: test-node.js passed: details face age/gender 29.6 female 0.91 73.26 +2021-12-31 14:00:21 STATE: test-node.js passed: details face arrays 4 478 1024 +2021-12-31 14:00:21 STATE: test-node.js passed: details face emotion 3 {"score":0.34,"emotion":"fear"} +2021-12-31 14:00:21 STATE: test-node.js passed: details face anti-spoofing 0.78 +2021-12-31 14:00:21 STATE: test-node.js passed: details face liveness 0.83 +2021-12-31 14:00:21 STATE: test-node.js passed: details body length 1 +2021-12-31 14:00:21 STATE: test-node.js passed: details body 0.92 17 6 +2021-12-31 14:00:21 STATE: test-node.js passed: details hand length 1 +2021-12-31 14:00:21 STATE: test-node.js passed: details hand 0.51 0.73 point +2021-12-31 14:00:21 STATE: test-node.js passed: details hand arrays 21 5 7 +2021-12-31 14:00:21 STATE: test-node.js passed: details gesture length 6 +2021-12-31 14:00:21 STATE: test-node.js passed: details gesture first {"face":0,"gesture":"facing right"} +2021-12-31 14:00:21 STATE: test-node.js passed: details object length 1 +2021-12-31 14:00:21 STATE: test-node.js passed: details object 0.72 person +2021-12-31 14:00:22 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996800} +2021-12-31 14:00:22 STATE: test-node.js event: image +2021-12-31 14:00:22 STATE: test-node.js event: detect +2021-12-31 14:00:22 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2021-12-31 14:00:23 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996800} +2021-12-31 14:00:23 STATE: test-node.js event: image +2021-12-31 14:00:24 STATE: test-node.js event: detect +2021-12-31 14:00:24 STATE: test-node.js passed: tensor shape: [1200,1200,4] dtype: float32 +2021-12-31 14:00:24 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2021-12-31 14:00:24 STATE: test-node.js event: image +2021-12-31 14:00:25 STATE: test-node.js event: detect +2021-12-31 14:00:25 STATE: test-node.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2021-12-31 14:00:26 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796864} +2021-12-31 14:00:26 STATE: test-node.js event: image +2021-12-31 14:00:26 STATE: test-node.js event: detect +2021-12-31 14:00:26 STATE: test-node.js passed: tensor shape: [1200,1200,3] dtype: float32 +2021-12-31 14:00:27 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2021-12-31 14:00:27 STATE: test-node.js event: image +2021-12-31 14:00:27 STATE: test-node.js event: detect +2021-12-31 14:00:27 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2021-12-31 14:00:27 INFO:  test-node.js test default +2021-12-31 14:00:28 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2021-12-31 14:00:28 STATE: test-node.js event: image +2021-12-31 14:00:28 STATE: test-node.js event: detect +2021-12-31 14:00:28 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:00:28 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:00:28 DATA:  test-node.js result: performance: load: null total: 647 +2021-12-31 14:00:28 STATE: test-node.js passed: default result face match 1 female 0.91 +2021-12-31 14:00:28 INFO:  test-node.js test sync +2021-12-31 14:00:29 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2021-12-31 14:00:29 STATE: test-node.js event: image +2021-12-31 14:00:30 STATE: test-node.js event: detect +2021-12-31 14:00:30 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:00:30 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:00:30 DATA:  test-node.js result: performance: load: null total: 624 +2021-12-31 14:00:30 STATE: test-node.js passed: default sync 1 female 0.91 +2021-12-31 14:00:30 INFO:  test-node.js test: image process +2021-12-31 14:00:30 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2021-12-31 14:00:30 STATE: test-node.js passed: image input null [1,256,256,3] +2021-12-31 14:00:30 INFO:  test-node.js test: image null +2021-12-31 14:00:30 STATE: test-node.js passed: invalid input could not convert input to tensor +2021-12-31 14:00:30 INFO:  test-node.js test face similarity +2021-12-31 14:00:30 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2021-12-31 14:00:30 STATE: test-node.js event: image +2021-12-31 14:00:30 STATE: test-node.js event: detect +2021-12-31 14:00:30 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default +2021-12-31 14:00:30 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} +2021-12-31 14:00:30 DATA:  test-node.js result: performance: load: null total: 612 +2021-12-31 14:00:31 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2021-12-31 14:00:31 STATE: test-node.js event: image +2021-12-31 14:00:31 STATE: test-node.js event: detect +2021-12-31 14:00:31 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:00:31 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:00:31 DATA:  test-node.js result: performance: load: null total: 658 +2021-12-31 14:00:32 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2021-12-31 14:00:32 STATE: test-node.js event: image +2021-12-31 14:00:32 STATE: test-node.js event: detect +2021-12-31 14:00:32 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default +2021-12-31 14:00:32 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} +2021-12-31 14:00:32 DATA:  test-node.js result: performance: load: null total: 645 +2021-12-31 14:00:32 STATE: test-node.js passed: face descriptor +2021-12-31 14:00:32 STATE: test-node.js passed: face similarity {"similarity":[1,0.5632803696747949,0.5194114176618805],"descriptors":[1024,1024,1024]} +2021-12-31 14:00:32 INFO:  test-node.js test face matching +2021-12-31 14:00:32 STATE: test-node.js passed: face database 57 +2021-12-31 14:00:32 STATE: test-node.js passed: face match {"first":{"index":4,"similarity":0.879792467245884}} {"second":{"index":4,"similarity":0.548081919955348}} {"third":{"index":4,"similarity":0.49996966464638193}} +2021-12-31 14:00:32 INFO:  test-node.js test object +2021-12-31 14:00:33 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2021-12-31 14:00:33 STATE: test-node.js event: image +2021-12-31 14:00:33 STATE: test-node.js event: detect +2021-12-31 14:00:33 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:00:33 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:00:33 DATA:  test-node.js result: performance: load: null total: 711 +2021-12-31 14:00:33 STATE: test-node.js passed: object result match +2021-12-31 14:00:33 INFO:  test-node.js test sensitive +2021-12-31 14:00:34 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2021-12-31 14:00:34 STATE: test-node.js event: image +2021-12-31 14:00:35 STATE: test-node.js event: detect +2021-12-31 14:00:35 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:00:35 DATA:  test-node.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:00:35 DATA:  test-node.js result: performance: load: null total: 674 +2021-12-31 14:00:35 STATE: test-node.js passed: sensitive result match +2021-12-31 14:00:35 STATE: test-node.js passed: sensitive face result match +2021-12-31 14:00:35 STATE: test-node.js passed: sensitive face emotion result [{"score":0.34,"emotion":"fear"},{"score":0.29,"emotion":"angry"},{"score":0.15,"emotion":"sad"}] +2021-12-31 14:00:35 STATE: test-node.js passed: sensitive body result match +2021-12-31 14:00:35 STATE: test-node.js passed: sensitive hand result match +2021-12-31 14:00:35 INFO:  test-node.js test detectors +2021-12-31 14:00:35 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2021-12-31 14:00:35 STATE: test-node.js event: image +2021-12-31 14:00:36 STATE: test-node.js event: detect +2021-12-31 14:00:36 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:00:36 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:00:36 DATA:  test-node.js result: performance: load: null total: 600 +2021-12-31 14:00:36 STATE: test-node.js passed: detector result face match +2021-12-31 14:00:36 STATE: test-node.js passed: detector result hand match +2021-12-31 14:00:36 INFO:  test-node.js test: multi-instance +2021-12-31 14:00:36 STATE: test-node.js event: image +2021-12-31 14:00:37 STATE: test-node.js event: detect +2021-12-31 14:00:37 STATE: test-node.js passed: detect: random default +2021-12-31 14:00:37 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0.06,"keypoints":15} +2021-12-31 14:00:37 DATA:  test-node.js result: performance: load: null total: 576 +2021-12-31 14:00:37 INFO:  test-node.js test: first instance +2021-12-31 14:00:37 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2021-12-31 14:00:37 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default +2021-12-31 14:00:37 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2021-12-31 14:00:37 DATA:  test-node.js result: performance: load: null total: 477 +2021-12-31 14:00:37 INFO:  test-node.js test: second instance +2021-12-31 14:00:37 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2021-12-31 14:00:38 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default +2021-12-31 14:00:38 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2021-12-31 14:00:38 DATA:  test-node.js result: performance: load: null total: 481 +2021-12-31 14:00:38 INFO:  test-node.js test: concurrent +2021-12-31 14:00:38 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2021-12-31 14:00:38 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2021-12-31 14:00:39 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2021-12-31 14:00:39 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2021-12-31 14:00:40 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2021-12-31 14:00:40 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2021-12-31 14:00:40 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2021-12-31 14:00:40 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2021-12-31 14:00:41 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2021-12-31 14:00:41 STATE: test-node.js event: image +2021-12-31 14:00:41 STATE: test-node.js event: image +2021-12-31 14:00:41 STATE: test-node.js event: image +2021-12-31 14:00:44 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default +2021-12-31 14:00:44 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2021-12-31 14:00:44 DATA:  test-node.js result: performance: load: null total: 4238 +2021-12-31 14:00:44 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default +2021-12-31 14:00:44 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2021-12-31 14:00:44 DATA:  test-node.js result: performance: load: null total: 4238 +2021-12-31 14:00:44 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default +2021-12-31 14:00:44 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2021-12-31 14:00:44 DATA:  test-node.js result: performance: load: null total: 4606 +2021-12-31 14:00:44 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default +2021-12-31 14:00:44 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2021-12-31 14:00:44 DATA:  test-node.js result: performance: load: null total: 4606 +2021-12-31 14:00:44 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:00:44 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:00:44 DATA:  test-node.js result: performance: load: null total: 4606 +2021-12-31 14:00:44 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:00:44 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:00:44 DATA:  test-node.js result: performance: load: null total: 4606 +2021-12-31 14:00:44 STATE: test-node.js event: detect +2021-12-31 14:00:44 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default +2021-12-31 14:00:44 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2021-12-31 14:00:44 DATA:  test-node.js result: performance: load: null total: 3847 +2021-12-31 14:00:44 STATE: test-node.js event: detect +2021-12-31 14:00:44 STATE: test-node.js event: detect +2021-12-31 14:00:44 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default +2021-12-31 14:00:44 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2021-12-31 14:00:44 DATA:  test-node.js result: performance: load: null total: 3848 +2021-12-31 14:00:44 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:00:44 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:00:44 DATA:  test-node.js result: performance: load: null total: 3848 +2021-12-31 14:00:44 INFO:  test-node.js test: monkey-patch +2021-12-31 14:00:44 STATE: test-node.js event: image +2021-12-31 14:00:45 STATE: test-node.js event: detect +2021-12-31 14:00:45 STATE: test-node.js passed: monkey patch +2021-12-31 14:00:45 STATE: test-node.js passed: segmentation [65536] +2021-12-31 14:00:45 STATE: test-node.js passeed: equal usage +2021-12-31 14:00:45 INFO:  test-node.js test: input compare +2021-12-31 14:00:45 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2021-12-31 14:00:46 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2021-12-31 14:00:46 STATE: test-node.js passed: image compare 0 23.275441687091504 +2021-12-31 14:00:46 INFO:  test-node.js events: {"image":21,"detect":21,"warmup":2} +2021-12-31 14:00:46 INFO:  test-node.js tensors 1925 +2021-12-31 14:00:46 INFO:  test-node.js test complete: 28132 ms +2021-12-31 14:00:46 INFO:  +2021-12-31 14:00:46 INFO:  test-node-gpu.js start +2021-12-31 14:00:50 INFO:  test-node-gpu.js test: configuration validation +2021-12-31 14:00:50 STATE: test-node-gpu.js passed: configuration default validation [] +2021-12-31 14:00:50 STATE: test-node-gpu.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2021-12-31 14:00:50 INFO:  test-node-gpu.js test: model load +2021-12-31 14:00:50 STATE: test-node-gpu.js passed: models loaded 22 12 [{"name":"ssrnetage","loaded":false},{"name":"gear","loaded":false},{"name":"blazeposedetect","loaded":false},{"name":"blazepose","loaded":false},{"name":"centernet","loaded":true},{"name":"efficientpose","loaded":false},{"name":"mobilefacenet","loaded":false},{"name":"emotion","loaded":true},{"name":"facedetect","loaded":true},{"name":"faceiris","loaded":true},{"name":"facemesh","loaded":true},{"name":"faceres","loaded":true},{"name":"ssrnetgender","loaded":false},{"name":"handpose","loaded":false},{"name":"handskeleton","loaded":true},{"name":"handtrack","loaded":true},{"name":"liveness","loaded":true},{"name":"movenet","loaded":true},{"name":"nanodet","loaded":false},{"name":"posenet","loaded":false},{"name":"segmentation","loaded":true},{"name":"antispoof","loaded":true}] +2021-12-31 14:00:50 INFO:  test-node-gpu.js test: warmup +2021-12-31 14:00:50 STATE: test-node-gpu.js passed: create human +2021-12-31 14:00:50 INFO:  test-node-gpu.js human version: 2.5.7 +2021-12-31 14:00:50 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v17.2.0 +2021-12-31 14:00:50 INFO:  test-node-gpu.js tfjs version: 3.12.0 +2021-12-31 14:00:50 INFO:  test-node-gpu.js tensorflow binding version: 2.7.0-dev20211101 +2021-12-31 14:00:50 STATE: test-node-gpu.js passed: set backend: tensorflow +2021-12-31 14:00:50 STATE: test-node-gpu.js tensors 1919 +2021-12-31 14:00:50 STATE: test-node-gpu.js passed: load models +2021-12-31 14:00:50 STATE: test-node-gpu.js result: defined models: 22 loaded models: 12 +2021-12-31 14:00:50 STATE: test-node-gpu.js passed: warmup: none default +2021-12-31 14:00:50 DATA:  test-node-gpu.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2021-12-31 14:00:50 DATA:  test-node-gpu.js result: performance: load: null total: null +2021-12-31 14:00:50 STATE: test-node-gpu.js passed: warmup none result match +2021-12-31 14:00:52 STATE: test-node-gpu.js event: image +2021-12-31 14:00:59 STATE: test-node-gpu.js event: detect +2021-12-31 14:00:59 STATE: test-node-gpu.js event: warmup +2021-12-31 14:00:59 STATE: test-node-gpu.js passed: warmup: face default +2021-12-31 14:00:59 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4} +2021-12-31 14:00:59 DATA:  test-node-gpu.js result: performance: load: null total: 7366 +2021-12-31 14:00:59 STATE: test-node-gpu.js passed: warmup face result match +2021-12-31 14:00:59 STATE: test-node-gpu.js event: image +2021-12-31 14:01:00 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:00 STATE: test-node-gpu.js event: warmup +2021-12-31 14:01:00 STATE: test-node-gpu.js passed: warmup: body default +2021-12-31 14:01:00 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:00 DATA:  test-node-gpu.js result: performance: load: null total: 482 +2021-12-31 14:01:00 STATE: test-node-gpu.js passed: warmup body result match +2021-12-31 14:01:00 STATE: test-node-gpu.js details: {"face":{"boxScore":0.92,"faceScore":1,"age":29.6,"gender":"female","genderScore":0.89},"emotion":[{"score":0.35,"emotion":"fear"},{"score":0.28,"emotion":"angry"},{"score":0.15,"emotion":"sad"},{"score":0.1,"emotion":"surprise"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.52,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} +2021-12-31 14:01:00 INFO:  test-node-gpu.js test: details verification +2021-12-31 14:01:01 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2021-12-31 14:01:01 STATE: test-node-gpu.js event: image +2021-12-31 14:01:01 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:01 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:01:01 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:01 DATA:  test-node-gpu.js result: performance: load: null total: 543 +2021-12-31 14:01:01 STATE: test-node-gpu.js passed: details face length 1 +2021-12-31 14:01:01 STATE: test-node-gpu.js passed: details face score 1 0.93 1 +2021-12-31 14:01:01 STATE: test-node-gpu.js passed: details face age/gender 29.6 female 0.91 73.26 +2021-12-31 14:01:01 STATE: test-node-gpu.js passed: details face arrays 4 478 1024 +2021-12-31 14:01:01 STATE: test-node-gpu.js passed: details face emotion 3 {"score":0.34,"emotion":"fear"} +2021-12-31 14:01:01 STATE: test-node-gpu.js passed: details face anti-spoofing 0.78 +2021-12-31 14:01:01 STATE: test-node-gpu.js passed: details face liveness 0.83 +2021-12-31 14:01:01 STATE: test-node-gpu.js passed: details body length 1 +2021-12-31 14:01:01 STATE: test-node-gpu.js passed: details body 0.92 17 6 +2021-12-31 14:01:01 STATE: test-node-gpu.js passed: details hand length 1 +2021-12-31 14:01:01 STATE: test-node-gpu.js passed: details hand 0.51 0.73 point +2021-12-31 14:01:01 STATE: test-node-gpu.js passed: details hand arrays 21 5 7 +2021-12-31 14:01:01 STATE: test-node-gpu.js passed: details gesture length 6 +2021-12-31 14:01:01 STATE: test-node-gpu.js passed: details gesture first {"face":0,"gesture":"facing right"} +2021-12-31 14:01:01 STATE: test-node-gpu.js passed: details object length 1 +2021-12-31 14:01:01 STATE: test-node-gpu.js passed: details object 0.72 person +2021-12-31 14:01:02 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} +2021-12-31 14:01:02 STATE: test-node-gpu.js event: image +2021-12-31 14:01:02 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:02 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2021-12-31 14:01:03 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} +2021-12-31 14:01:03 STATE: test-node-gpu.js event: image +2021-12-31 14:01:03 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:03 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,4] dtype: float32 +2021-12-31 14:01:04 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2021-12-31 14:01:04 STATE: test-node-gpu.js event: image +2021-12-31 14:01:04 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:04 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2021-12-31 14:01:04 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796928} +2021-12-31 14:01:04 STATE: test-node-gpu.js event: image +2021-12-31 14:01:05 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:05 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,3] dtype: float32 +2021-12-31 14:01:05 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2021-12-31 14:01:05 STATE: test-node-gpu.js event: image +2021-12-31 14:01:06 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:06 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2021-12-31 14:01:06 INFO:  test-node-gpu.js test default +2021-12-31 14:01:07 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2021-12-31 14:01:07 STATE: test-node-gpu.js event: image +2021-12-31 14:01:07 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:07 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:01:07 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:07 DATA:  test-node-gpu.js result: performance: load: null total: 632 +2021-12-31 14:01:07 STATE: test-node-gpu.js passed: default result face match 1 female 0.91 +2021-12-31 14:01:07 INFO:  test-node-gpu.js test sync +2021-12-31 14:01:08 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2021-12-31 14:01:08 STATE: test-node-gpu.js event: image +2021-12-31 14:01:09 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:09 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:01:09 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:09 DATA:  test-node-gpu.js result: performance: load: null total: 444 +2021-12-31 14:01:09 STATE: test-node-gpu.js passed: default sync 1 female 0.91 +2021-12-31 14:01:09 INFO:  test-node-gpu.js test: image process +2021-12-31 14:01:09 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2021-12-31 14:01:09 STATE: test-node-gpu.js passed: image input null [1,256,256,3] +2021-12-31 14:01:09 INFO:  test-node-gpu.js test: image null +2021-12-31 14:01:09 STATE: test-node-gpu.js passed: invalid input could not convert input to tensor +2021-12-31 14:01:09 INFO:  test-node-gpu.js test face similarity +2021-12-31 14:01:09 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2021-12-31 14:01:09 STATE: test-node-gpu.js event: image +2021-12-31 14:01:09 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:09 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default +2021-12-31 14:01:09 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} +2021-12-31 14:01:09 DATA:  test-node-gpu.js result: performance: load: null total: 490 +2021-12-31 14:01:10 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2021-12-31 14:01:10 STATE: test-node-gpu.js event: image +2021-12-31 14:01:10 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:10 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:01:10 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:10 DATA:  test-node-gpu.js result: performance: load: null total: 594 +2021-12-31 14:01:11 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} +2021-12-31 14:01:11 STATE: test-node-gpu.js event: image +2021-12-31 14:01:11 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:11 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default +2021-12-31 14:01:11 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} +2021-12-31 14:01:11 DATA:  test-node-gpu.js result: performance: load: null total: 755 +2021-12-31 14:01:11 STATE: test-node-gpu.js passed: face descriptor +2021-12-31 14:01:11 STATE: test-node-gpu.js passed: face similarity {"similarity":[1,0.5632807380127582,0.5194117219117728],"descriptors":[1024,1024,1024]} +2021-12-31 14:01:11 INFO:  test-node-gpu.js test face matching +2021-12-31 14:01:11 STATE: test-node-gpu.js passed: face database 57 +2021-12-31 14:01:11 STATE: test-node-gpu.js passed: face match {"first":{"index":4,"similarity":0.8797921758393706}} {"second":{"index":4,"similarity":0.5480818507563384}} {"third":{"index":4,"similarity":0.49996986015800404}} +2021-12-31 14:01:11 INFO:  test-node-gpu.js test object +2021-12-31 14:01:12 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2021-12-31 14:01:12 STATE: test-node-gpu.js event: image +2021-12-31 14:01:13 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:13 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:01:13 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:13 DATA:  test-node-gpu.js result: performance: load: null total: 494 +2021-12-31 14:01:13 STATE: test-node-gpu.js passed: object result match +2021-12-31 14:01:13 INFO:  test-node-gpu.js test sensitive +2021-12-31 14:01:13 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2021-12-31 14:01:13 STATE: test-node-gpu.js event: image +2021-12-31 14:01:14 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:14 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:01:14 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:14 DATA:  test-node-gpu.js result: performance: load: null total: 441 +2021-12-31 14:01:14 STATE: test-node-gpu.js passed: sensitive result match +2021-12-31 14:01:14 STATE: test-node-gpu.js passed: sensitive face result match +2021-12-31 14:01:14 STATE: test-node-gpu.js passed: sensitive face emotion result [{"score":0.34,"emotion":"fear"},{"score":0.29,"emotion":"angry"},{"score":0.15,"emotion":"sad"}] +2021-12-31 14:01:14 STATE: test-node-gpu.js passed: sensitive body result match +2021-12-31 14:01:14 STATE: test-node-gpu.js passed: sensitive hand result match +2021-12-31 14:01:14 INFO:  test-node-gpu.js test detectors +2021-12-31 14:01:14 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2021-12-31 14:01:14 STATE: test-node-gpu.js event: image +2021-12-31 14:01:14 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:14 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:01:14 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:14 DATA:  test-node-gpu.js result: performance: load: null total: 235 +2021-12-31 14:01:14 STATE: test-node-gpu.js passed: detector result face match +2021-12-31 14:01:14 STATE: test-node-gpu.js passed: detector result hand match +2021-12-31 14:01:14 INFO:  test-node-gpu.js test: multi-instance +2021-12-31 14:01:15 STATE: test-node-gpu.js event: image +2021-12-31 14:01:15 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:15 STATE: test-node-gpu.js passed: detect: random default +2021-12-31 14:01:15 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0.06,"keypoints":15} +2021-12-31 14:01:15 DATA:  test-node-gpu.js result: performance: load: null total: 193 +2021-12-31 14:01:15 INFO:  test-node-gpu.js test: first instance +2021-12-31 14:01:15 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} +2021-12-31 14:01:15 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default +2021-12-31 14:01:15 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2021-12-31 14:01:15 DATA:  test-node-gpu.js result: performance: load: null total: 252 +2021-12-31 14:01:15 INFO:  test-node-gpu.js test: second instance +2021-12-31 14:01:15 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} +2021-12-31 14:01:16 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default +2021-12-31 14:01:16 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2021-12-31 14:01:16 DATA:  test-node-gpu.js result: performance: load: null total: 214 +2021-12-31 14:01:16 INFO:  test-node-gpu.js test: concurrent +2021-12-31 14:01:16 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2021-12-31 14:01:16 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2021-12-31 14:01:16 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2021-12-31 14:01:17 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2021-12-31 14:01:17 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} +2021-12-31 14:01:17 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} +2021-12-31 14:01:17 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2021-12-31 14:01:18 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2021-12-31 14:01:18 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289040} +2021-12-31 14:01:18 STATE: test-node-gpu.js event: image +2021-12-31 14:01:18 STATE: test-node-gpu.js event: image +2021-12-31 14:01:18 STATE: test-node-gpu.js event: image +2021-12-31 14:01:19 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default +2021-12-31 14:01:19 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2021-12-31 14:01:19 DATA:  test-node-gpu.js result: performance: load: null total: 2161 +2021-12-31 14:01:19 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default +2021-12-31 14:01:19 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2021-12-31 14:01:19 DATA:  test-node-gpu.js result: performance: load: null total: 2161 +2021-12-31 14:01:19 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default +2021-12-31 14:01:19 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2021-12-31 14:01:19 DATA:  test-node-gpu.js result: performance: load: null total: 2278 +2021-12-31 14:01:19 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default +2021-12-31 14:01:19 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2021-12-31 14:01:19 DATA:  test-node-gpu.js result: performance: load: null total: 2278 +2021-12-31 14:01:19 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:01:19 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:19 DATA:  test-node-gpu.js result: performance: load: null total: 2278 +2021-12-31 14:01:19 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:01:19 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:19 DATA:  test-node-gpu.js result: performance: load: null total: 2278 +2021-12-31 14:01:19 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:19 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default +2021-12-31 14:01:19 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2021-12-31 14:01:19 DATA:  test-node-gpu.js result: performance: load: null total: 1592 +2021-12-31 14:01:19 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:19 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:19 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default +2021-12-31 14:01:19 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2021-12-31 14:01:19 DATA:  test-node-gpu.js result: performance: load: null total: 1592 +2021-12-31 14:01:19 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:01:19 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:19 DATA:  test-node-gpu.js result: performance: load: null total: 1592 +2021-12-31 14:01:19 INFO:  test-node-gpu.js test: monkey-patch +2021-12-31 14:01:19 STATE: test-node-gpu.js event: image +2021-12-31 14:01:20 STATE: test-node-gpu.js event: detect +2021-12-31 14:01:20 STATE: test-node-gpu.js passed: monkey patch +2021-12-31 14:01:20 STATE: test-node-gpu.js passed: segmentation [65536] +2021-12-31 14:01:20 STATE: test-node-gpu.js passeed: equal usage +2021-12-31 14:01:20 INFO:  test-node-gpu.js test: input compare +2021-12-31 14:01:20 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2021-12-31 14:01:21 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2021-12-31 14:01:21 STATE: test-node-gpu.js passed: image compare 0 23.275441687091504 +2021-12-31 14:01:21 INFO:  test-node-gpu.js events: {"image":21,"detect":21,"warmup":2} +2021-12-31 14:01:21 INFO:  test-node-gpu.js tensors 1925 +2021-12-31 14:01:21 INFO:  test-node-gpu.js test complete: 30874 ms +2021-12-31 14:01:22 INFO:  +2021-12-31 14:01:22 INFO:  test-node-wasm.js start +2021-12-31 14:01:22 STATE: test-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/ +2021-12-31 14:01:22 INFO:  test-node-wasm.js test: configuration validation +2021-12-31 14:01:22 STATE: test-node-wasm.js passed: configuration default validation [] +2021-12-31 14:01:22 STATE: test-node-wasm.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2021-12-31 14:01:22 INFO:  test-node-wasm.js test: model load +2021-12-31 14:01:24 STATE: test-node-wasm.js passed: models loaded 22 12 [{"name":"ssrnetage","loaded":false},{"name":"gear","loaded":false},{"name":"blazeposedetect","loaded":false},{"name":"blazepose","loaded":false},{"name":"centernet","loaded":true},{"name":"efficientpose","loaded":false},{"name":"mobilefacenet","loaded":false},{"name":"emotion","loaded":true},{"name":"facedetect","loaded":true},{"name":"faceiris","loaded":true},{"name":"facemesh","loaded":true},{"name":"faceres","loaded":true},{"name":"ssrnetgender","loaded":false},{"name":"handpose","loaded":false},{"name":"handskeleton","loaded":true},{"name":"handtrack","loaded":true},{"name":"liveness","loaded":true},{"name":"movenet","loaded":true},{"name":"nanodet","loaded":false},{"name":"posenet","loaded":false},{"name":"segmentation","loaded":true},{"name":"antispoof","loaded":true}] +2021-12-31 14:01:24 INFO:  test-node-wasm.js test: warmup +2021-12-31 14:01:24 STATE: test-node-wasm.js passed: create human +2021-12-31 14:01:24 INFO:  test-node-wasm.js human version: 2.5.7 +2021-12-31 14:01:24 INFO:  test-node-wasm.js platform: linux x64 agent: NodeJS v17.2.0 +2021-12-31 14:01:24 INFO:  test-node-wasm.js tfjs version: 3.12.0 +2021-12-31 14:01:24 STATE: test-node-wasm.js passed: set backend: wasm +2021-12-31 14:01:24 STATE: test-node-wasm.js tensors 1919 +2021-12-31 14:01:24 STATE: test-node-wasm.js passed: load models +2021-12-31 14:01:24 STATE: test-node-wasm.js result: defined models: 22 loaded models: 12 +2021-12-31 14:01:24 STATE: test-node-wasm.js passed: warmup: none default +2021-12-31 14:01:24 DATA:  test-node-wasm.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2021-12-31 14:01:24 DATA:  test-node-wasm.js result: performance: load: null total: null +2021-12-31 14:01:24 STATE: test-node-wasm.js passed: warmup none result match +2021-12-31 14:01:24 STATE: test-node-wasm.js event: image +2021-12-31 14:01:26 STATE: test-node-wasm.js event: detect +2021-12-31 14:01:26 STATE: test-node-wasm.js event: warmup +2021-12-31 14:01:26 STATE: test-node-wasm.js passed: warmup: face default +2021-12-31 14:01:26 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} +2021-12-31 14:01:26 DATA:  test-node-wasm.js result: performance: load: null total: 1601 +2021-12-31 14:01:26 STATE: test-node-wasm.js passed: warmup face result match +2021-12-31 14:01:26 STATE: test-node-wasm.js event: image +2021-12-31 14:01:27 STATE: test-node-wasm.js event: detect +2021-12-31 14:01:27 STATE: test-node-wasm.js event: warmup +2021-12-31 14:01:27 STATE: test-node-wasm.js passed: warmup: body default +2021-12-31 14:01:27 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:27 DATA:  test-node-wasm.js result: performance: load: null total: 1009 +2021-12-31 14:01:27 STATE: test-node-wasm.js passed: warmup body result match +2021-12-31 14:01:27 STATE: test-node-wasm.js details: {"face":{"boxScore":0.93,"faceScore":1,"age":29.6,"gender":"female","genderScore":0.91},"emotion":[{"score":0.34,"emotion":"fear"},{"score":0.29,"emotion":"angry"},{"score":0.15,"emotion":"sad"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.51,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]} +2021-12-31 14:01:27 INFO:  test-node-wasm.js test: details verification +2021-12-31 14:01:28 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2021-12-31 14:01:28 STATE: test-node-wasm.js event: image +2021-12-31 14:01:29 STATE: test-node-wasm.js event: detect +2021-12-31 14:01:29 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:01:29 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:29 DATA:  test-node-wasm.js result: performance: load: null total: 930 +2021-12-31 14:01:29 STATE: test-node-wasm.js passed: details face length 1 +2021-12-31 14:01:29 STATE: test-node-wasm.js passed: details face score 1 0.93 1 +2021-12-31 14:01:29 STATE: test-node-wasm.js passed: details face age/gender 29.6 female 0.91 73.26 +2021-12-31 14:01:29 STATE: test-node-wasm.js passed: details face arrays 4 478 1024 +2021-12-31 14:01:29 STATE: test-node-wasm.js passed: details face emotion 3 {"score":0.34,"emotion":"fear"} +2021-12-31 14:01:29 STATE: test-node-wasm.js passed: details face anti-spoofing 0.78 +2021-12-31 14:01:29 STATE: test-node-wasm.js passed: details face liveness 0.83 +2021-12-31 14:01:29 STATE: test-node-wasm.js passed: details body length 1 +2021-12-31 14:01:29 STATE: test-node-wasm.js passed: details body 0.92 17 6 +2021-12-31 14:01:29 STATE: test-node-wasm.js passed: details hand length 1 +2021-12-31 14:01:29 STATE: test-node-wasm.js passed: details hand 0.51 0.73 point +2021-12-31 14:01:29 STATE: test-node-wasm.js passed: details hand arrays 21 5 7 +2021-12-31 14:01:29 STATE: test-node-wasm.js passed: details gesture length 6 +2021-12-31 14:01:29 STATE: test-node-wasm.js passed: details gesture first {"face":0,"gesture":"facing right"} +2021-12-31 14:01:29 STATE: test-node-wasm.js passed: details object length 1 +2021-12-31 14:01:29 STATE: test-node-wasm.js passed: details object 0.72 person +2021-12-31 14:01:29 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1413675264} +2021-12-31 14:01:29 STATE: test-node-wasm.js event: image +2021-12-31 14:01:30 STATE: test-node-wasm.js event: detect +2021-12-31 14:01:30 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2021-12-31 14:01:31 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1413675264} +2021-12-31 14:01:31 STATE: test-node-wasm.js event: image +2021-12-31 14:01:32 STATE: test-node-wasm.js event: detect +2021-12-31 14:01:32 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,4] dtype: float32 +2021-12-31 14:01:33 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2021-12-31 14:01:33 STATE: test-node-wasm.js event: image +2021-12-31 14:01:33 STATE: test-node-wasm.js event: detect +2021-12-31 14:01:33 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2021-12-31 14:01:34 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1038921856} +2021-12-31 14:01:34 STATE: test-node-wasm.js event: image +2021-12-31 14:01:35 STATE: test-node-wasm.js event: detect +2021-12-31 14:01:35 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,3] dtype: float32 +2021-12-31 14:01:35 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2021-12-31 14:01:35 STATE: test-node-wasm.js event: image +2021-12-31 14:01:36 STATE: test-node-wasm.js event: detect +2021-12-31 14:01:36 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2021-12-31 14:01:36 INFO:  test-node-wasm.js test default +2021-12-31 14:01:37 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2021-12-31 14:01:37 STATE: test-node-wasm.js event: image +2021-12-31 14:01:38 STATE: test-node-wasm.js event: detect +2021-12-31 14:01:38 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:01:38 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:38 DATA:  test-node-wasm.js result: performance: load: null total: 879 +2021-12-31 14:01:38 STATE: test-node-wasm.js passed: default result face match 1 female 0.93 +2021-12-31 14:01:38 INFO:  test-node-wasm.js test sync +2021-12-31 14:01:39 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2021-12-31 14:01:39 STATE: test-node-wasm.js event: image +2021-12-31 14:01:40 STATE: test-node-wasm.js event: detect +2021-12-31 14:01:40 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:01:40 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:40 DATA:  test-node-wasm.js result: performance: load: null total: 770 +2021-12-31 14:01:40 STATE: test-node-wasm.js passed: default sync 1 female 0.93 +2021-12-31 14:01:40 INFO:  test-node-wasm.js test: image process +2021-12-31 14:01:40 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2021-12-31 14:01:40 STATE: test-node-wasm.js passed: image input null [1,256,256,3] +2021-12-31 14:01:40 INFO:  test-node-wasm.js test: image null +2021-12-31 14:01:40 STATE: test-node-wasm.js passed: invalid input could not convert input to tensor +2021-12-31 14:01:40 INFO:  test-node-wasm.js test face similarity +2021-12-31 14:01:40 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2021-12-31 14:01:40 STATE: test-node-wasm.js event: image +2021-12-31 14:01:40 STATE: test-node-wasm.js event: detect +2021-12-31 14:01:40 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default +2021-12-31 14:01:40 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3} +2021-12-31 14:01:40 DATA:  test-node-wasm.js result: performance: load: null total: 681 +2021-12-31 14:01:41 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2021-12-31 14:01:41 STATE: test-node-wasm.js event: image +2021-12-31 14:01:42 STATE: test-node-wasm.js event: detect +2021-12-31 14:01:42 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:01:42 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:42 DATA:  test-node-wasm.js result: performance: load: null total: 865 +2021-12-31 14:01:42 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2021-12-31 14:01:42 STATE: test-node-wasm.js event: image +2021-12-31 14:01:43 STATE: test-node-wasm.js event: detect +2021-12-31 14:01:43 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default +2021-12-31 14:01:43 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7} +2021-12-31 14:01:43 DATA:  test-node-wasm.js result: performance: load: null total: 1097 +2021-12-31 14:01:43 STATE: test-node-wasm.js passed: face descriptor +2021-12-31 14:01:43 STATE: test-node-wasm.js passed: face similarity {"similarity":[1,0.5888036339038205,0.4689331535670693],"descriptors":[1024,1024,1024]} +2021-12-31 14:01:43 INFO:  test-node-wasm.js test face matching +2021-12-31 14:01:43 STATE: test-node-wasm.js passed: face database 57 +2021-12-31 14:01:43 STATE: test-node-wasm.js passed: face match {"first":{"index":4,"similarity":0.8797924799049534}} {"second":{"index":4,"similarity":0.573642308237338}} {"third":{"index":4,"similarity":0.45582039900188964}} +2021-12-31 14:01:43 INFO:  test-node-wasm.js test object +2021-12-31 14:01:44 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2021-12-31 14:01:44 STATE: test-node-wasm.js event: image +2021-12-31 14:01:46 STATE: test-node-wasm.js event: detect +2021-12-31 14:01:46 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:01:46 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:46 DATA:  test-node-wasm.js result: performance: load: null total: 1233 +2021-12-31 14:01:46 STATE: test-node-wasm.js passed: object result match +2021-12-31 14:01:46 INFO:  test-node-wasm.js test sensitive +2021-12-31 14:01:47 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2021-12-31 14:01:47 STATE: test-node-wasm.js event: image +2021-12-31 14:01:48 STATE: test-node-wasm.js event: detect +2021-12-31 14:01:48 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:01:48 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:48 DATA:  test-node-wasm.js result: performance: load: null total: 1058 +2021-12-31 14:01:48 STATE: test-node-wasm.js passed: sensitive result match +2021-12-31 14:01:48 STATE: test-node-wasm.js passed: sensitive face result match +2021-12-31 14:01:48 STATE: test-node-wasm.js passed: sensitive face emotion result [{"score":0.54,"emotion":"angry"},{"score":0.2,"emotion":"fear"},{"score":0.16,"emotion":"surprise"}] +2021-12-31 14:01:48 STATE: test-node-wasm.js passed: sensitive body result match +2021-12-31 14:01:48 STATE: test-node-wasm.js passed: sensitive hand result match +2021-12-31 14:01:48 INFO:  test-node-wasm.js test detectors +2021-12-31 14:01:49 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2021-12-31 14:01:49 STATE: test-node-wasm.js event: image +2021-12-31 14:01:50 STATE: test-node-wasm.js event: detect +2021-12-31 14:01:50 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:01:50 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:01:50 DATA:  test-node-wasm.js result: performance: load: null total: 590 +2021-12-31 14:01:50 STATE: test-node-wasm.js passed: detector result face match +2021-12-31 14:01:50 STATE: test-node-wasm.js passed: detector result hand match +2021-12-31 14:01:50 INFO:  test-node-wasm.js test: multi-instance +2021-12-31 14:01:50 STATE: test-node-wasm.js event: image +2021-12-31 14:01:51 STATE: test-node-wasm.js event: detect +2021-12-31 14:01:51 STATE: test-node-wasm.js passed: detect: random default +2021-12-31 14:01:51 DATA:  test-node-wasm.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0.06,"keypoints":15} +2021-12-31 14:01:51 DATA:  test-node-wasm.js result: performance: load: null total: 843 +2021-12-31 14:01:51 INFO:  test-node-wasm.js test: first instance +2021-12-31 14:01:51 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2021-12-31 14:01:52 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default +2021-12-31 14:01:52 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2021-12-31 14:01:52 DATA:  test-node-wasm.js result: performance: load: null total: 742 +2021-12-31 14:01:52 INFO:  test-node-wasm.js test: second instance +2021-12-31 14:01:52 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2021-12-31 14:01:53 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default +2021-12-31 14:01:53 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2021-12-31 14:01:53 DATA:  test-node-wasm.js result: performance: load: null total: 516 +2021-12-31 14:01:53 INFO:  test-node-wasm.js test: concurrent +2021-12-31 14:01:53 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2021-12-31 14:01:53 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2021-12-31 14:01:54 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2021-12-31 14:01:54 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2021-12-31 14:01:55 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2021-12-31 14:01:55 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2021-12-31 14:01:55 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2021-12-31 14:01:55 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2021-12-31 14:01:56 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2021-12-31 14:01:56 STATE: test-node-wasm.js event: image +2021-12-31 14:01:56 STATE: test-node-wasm.js event: image +2021-12-31 14:01:56 STATE: test-node-wasm.js event: image +2021-12-31 14:02:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default +2021-12-31 14:02:00 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2021-12-31 14:02:00 DATA:  test-node-wasm.js result: performance: load: null total: 5019 +2021-12-31 14:02:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default +2021-12-31 14:02:00 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2021-12-31 14:02:00 DATA:  test-node-wasm.js result: performance: load: null total: 5019 +2021-12-31 14:02:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default +2021-12-31 14:02:00 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2021-12-31 14:02:00 DATA:  test-node-wasm.js result: performance: load: null total: 5567 +2021-12-31 14:02:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default +2021-12-31 14:02:00 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2021-12-31 14:02:00 DATA:  test-node-wasm.js result: performance: load: null total: 5567 +2021-12-31 14:02:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:02:00 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:02:00 DATA:  test-node-wasm.js result: performance: load: null total: 5567 +2021-12-31 14:02:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:02:00 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:02:00 DATA:  test-node-wasm.js result: performance: load: null total: 5567 +2021-12-31 14:02:00 STATE: test-node-wasm.js event: detect +2021-12-31 14:02:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default +2021-12-31 14:02:00 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16} +2021-12-31 14:02:00 DATA:  test-node-wasm.js result: performance: load: null total: 4761 +2021-12-31 14:02:00 STATE: test-node-wasm.js event: detect +2021-12-31 14:02:00 STATE: test-node-wasm.js event: detect +2021-12-31 14:02:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default +2021-12-31 14:02:00 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} +2021-12-31 14:02:00 DATA:  test-node-wasm.js result: performance: load: null total: 4761 +2021-12-31 14:02:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2021-12-31 14:02:00 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2021-12-31 14:02:00 DATA:  test-node-wasm.js result: performance: load: null total: 4761 +2021-12-31 14:02:00 INFO:  test-node-wasm.js test: monkey-patch +2021-12-31 14:02:00 STATE: test-node-wasm.js event: image +2021-12-31 14:02:01 STATE: test-node-wasm.js event: detect +2021-12-31 14:02:01 STATE: test-node-wasm.js passed: monkey patch +2021-12-31 14:02:01 STATE: test-node-wasm.js passed: segmentation [65536] +2021-12-31 14:02:01 STATE: test-node-wasm.js passeed: equal usage +2021-12-31 14:02:01 INFO:  test-node-wasm.js test: input compare +2021-12-31 14:02:01 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2021-12-31 14:02:02 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2021-12-31 14:02:02 STATE: test-node-wasm.js passed: image compare 0 23.280073018790848 +2021-12-31 14:02:02 INFO:  test-node-wasm.js events: {"image":21,"detect":21,"warmup":2} +2021-12-31 14:02:02 INFO:  test-node-wasm.js tensors 1927 +2021-12-31 14:02:02 INFO:  test-node-wasm.js test complete: 39521 ms +2021-12-31 14:02:02 INFO:  all tests complete +2021-12-31 14:02:02 INFO:  failed: {"count":0,"messages":[]} +2021-12-31 14:02:02 INFO:  status: {"test":"test-node.js","passed":101,"failed":0} +2021-12-31 14:02:02 INFO:  status: {"test":"test-node-gpu.js","passed":101,"failed":0} +2021-12-31 14:02:02 INFO:  status: {"test":"test-node-wasm.js","passed":102,"failed":0}