pull/280/head
Vladimir Mandic 2022-02-14 07:53:28 -05:00
parent 089f2641e5
commit f7ecc00d90
11 changed files with 1594 additions and 883 deletions

View File

@ -9,17 +9,16 @@
## Changelog
### **HEAD -> main** 2022/02/10 mandic00@live.com
### **2.6.3** 2022/02/10 mandic00@live.com
### **origin/main** 2022/02/10 mandic00@live.com
- rebuild
### **2.6.2** 2022/02/07 mandic00@live.com
### **release: 2.6.1** 2022/01/20 mandic00@live.com
- release rebuild
### **2.6.1** 2022/01/20 mandic00@live.com
@ -36,9 +35,7 @@
### **2.5.7** 2021/12/27 mandic00@live.com
- fix posenet
### **release: 2.5.6** 2021/12/15 mandic00@live.com
- release refresh
### **2.5.6** 2021/12/15 mandic00@live.com
@ -87,9 +84,7 @@
- rebuild
- add type defs when working with relative path imports
- disable humangl backend if webgl 1.0 is detected
### **release: 2.5.1** 2021/11/08 mandic00@live.com
- add additional hand gestures
### **2.5.1** 2021/11/08 mandic00@live.com
@ -117,9 +112,7 @@
- add ts demo
- switch from es2018 to es2020 for main build
- switch to custom tfjs for demos
### **release: 2.4.1** 2021/10/25 mandic00@live.com
- release 2.4
### **2.4.1** 2021/10/25 mandic00@live.com
@ -153,17 +146,13 @@
- add node-match advanced example using worker thread pool
- package updates
- optimize image preprocessing
### **release: 2.3.2** 2021/10/11 mandic00@live.com
- set webgpu optimized flags
- major precision improvements to movenet and handtrack
- image processing fixes
- redesign body and hand caching and interpolation
- demo default config cleanup
- improve gaze and face angle visualizations in draw
### **release 2.3.1** 2021/10/06 mandic00@live.com
- release 2.3.1
### **2.3.1** 2021/10/06 mandic00@live.com
@ -173,7 +162,6 @@
- fix backend order initialization
- added docker notes
- breaking change: new similarity and match methods
- release candidate
- tweaked default values
- enable handtrack as default model
- redesign face processing
@ -203,9 +191,7 @@
### **2.2.2** 2021/09/17 mandic00@live.com
- experimental webgl status monitoring
### **release: 2.2.1** 2021/09/16 mandic00@live.com
- major release
### **2.2.1** 2021/09/16 mandic00@live.com
@ -289,9 +275,7 @@
- reorganize demos
- fix centernet box width & height
- add body segmentation sample
### **release: 2.0.1** 2021/06/08 mandic00@live.com
- add release notes
- release 2.0
### **2.0.1** 2021/06/08 mandic00@live.com
@ -375,9 +359,7 @@
### **1.8.2** 2021/05/04 mandic00@live.com
### **release 1.8 with major changes and tfjs 3.6.0** 2021/04/30 mandic00@live.com
- release 1.8 with major changes and tfjs 3.6.0
### **1.8.1** 2021/04/30 mandic00@live.com
@ -411,7 +393,6 @@
- added filter.flip feature
- added demo load image from http
- mobile demo optimization and iris gestures
- full test run
- full rebuild
- new look
- added benchmarks
@ -574,9 +555,6 @@
- remove blazeface-front, blazepose-upper, faceboxes
- remove blazeface-front and faceboxes
### **release: 1.0.1** 2021/03/09 mandic00@live.com
### **1.0.1** 2021/03/09 mandic00@live.com
- fix for face detector when mesh is disabled
@ -620,9 +598,6 @@
- embedding fix
- 0.20.5
- fix imagefx and add dev builds
### **0.20.4** 2021/02/19 mandic00@live.com
- 0.20.4
- 0.20.3
- rebuild

7
demo/faceid/index.js.map Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

7
dist/human.esm-nobundle.js.map vendored Normal file

File diff suppressed because one or more lines are too long

1312
dist/human.esm.js vendored

File diff suppressed because it is too large Load Diff

7
dist/human.esm.js.map vendored Normal file

File diff suppressed because one or more lines are too long

206
dist/human.js vendored

File diff suppressed because one or more lines are too long

170
dist/tfjs.esm.js vendored

File diff suppressed because one or more lines are too long

View File

@ -75,7 +75,7 @@
"canvas": "^2.9.0",
"dayjs": "^1.10.7",
"esbuild": "^0.14.21",
"eslint": "8.8.0",
"eslint": "8.9.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-html": "^6.2.0",
"eslint-plugin-import": "^2.25.4",

24
test/build.log Normal file
View File

@ -0,0 +1,24 @@
2022-02-14 07:52:23 INFO:  Application: {"name":"@vladmandic/human","version":"2.6.3"}
2022-02-14 07:52:23 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
2022-02-14 07:52:23 INFO:  Toolchain: {"build":"0.7.0","esbuild":"0.14.21","typescript":"4.5.5","typedoc":"0.22.11","eslint":"8.9.0"}
2022-02-14 07:52:23 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
2022-02-14 07:52:23 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]}
2022-02-14 07:52:23 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":644}
2022-02-14 07:52:23 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":64,"inputBytes":562626,"outputBytes":293604}
2022-02-14 07:52:23 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":648}
2022-02-14 07:52:23 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":64,"inputBytes":562630,"outputBytes":293608}
2022-02-14 07:52:23 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":685}
2022-02-14 07:52:23 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":64,"inputBytes":562667,"outputBytes":293647}
2022-02-14 07:52:23 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":394}
2022-02-14 07:52:23 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1068,"outputBytes":615}
2022-02-14 07:52:23 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":64,"inputBytes":562597,"outputBytes":292357}
2022-02-14 07:52:23 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1337647}
2022-02-14 07:52:23 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":64,"inputBytes":1899629,"outputBytes":1629209}
2022-02-14 07:52:23 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":64,"inputBytes":1899629,"outputBytes":2106801}
2022-02-14 07:52:27 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":112}
2022-02-14 07:52:29 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":69,"generated":true}
2022-02-14 07:52:29 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5863,"outputBytes":2915}
2022-02-14 07:52:29 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":7820}
2022-02-14 07:52:36 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":95,"errors":0,"warnings":0}
2022-02-14 07:52:36 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
2022-02-14 07:52:36 INFO:  Done...

684
test/test.log Normal file
View File

@ -0,0 +1,684 @@
2022-02-14 07:52:42 INFO:  @vladmandic/human version 2.6.3
2022-02-14 07:52:42 INFO:  User: vlado Platform: linux Arch: x64 Node: v17.4.0
2022-02-14 07:52:42 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"]
2022-02-14 07:52:42 INFO:  demos: ["../demo/nodejs/node.js","../demo/nodejs/node-canvas.js","../demo/nodejs/node-env.js","../demo/nodejs/node-event.js","../demo/nodejs/node-multiprocess.js"]
2022-02-14 07:52:42 INFO: 
2022-02-14 07:52:42 INFO:  test-node.js start
2022-02-14 07:52:43 INFO:  test-node.js test: configuration validation
2022-02-14 07:52:43 STATE: test-node.js passed: configuration default validation []
2022-02-14 07:52:43 STATE: test-node.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}]
2022-02-14 07:52:43 INFO:  test-node.js test: model load
2022-02-14 07:52:43 STATE: test-node.js passed: models loaded 22 12 [{"name":"ssrnetage","loaded":false},{"name":"gear","loaded":false},{"name":"blazeposedetect","loaded":false},{"name":"blazepose","loaded":false},{"name":"centernet","loaded":true},{"name":"efficientpose","loaded":false},{"name":"mobilefacenet","loaded":false},{"name":"emotion","loaded":true},{"name":"facedetect","loaded":true},{"name":"faceiris","loaded":true},{"name":"facemesh","loaded":true},{"name":"faceres","loaded":true},{"name":"ssrnetgender","loaded":false},{"name":"handpose","loaded":false},{"name":"handskeleton","loaded":true},{"name":"handtrack","loaded":true},{"name":"liveness","loaded":true},{"name":"movenet","loaded":true},{"name":"nanodet","loaded":false},{"name":"posenet","loaded":false},{"name":"segmentation","loaded":true},{"name":"antispoof","loaded":true}]
2022-02-14 07:52:43 INFO:  test-node.js test: warmup
2022-02-14 07:52:43 STATE: test-node.js passed: create human
2022-02-14 07:52:43 INFO:  test-node.js human version: 2.6.3
2022-02-14 07:52:43 INFO:  test-node.js platform: linux x64 agent: NodeJS v17.4.0
2022-02-14 07:52:43 INFO:  test-node.js tfjs version: 3.13.0
2022-02-14 07:52:43 INFO:  test-node.js tensorflow binding version: 2.7.0-dev20211101
2022-02-14 07:52:43 STATE: test-node.js passed: set backend: tensorflow
2022-02-14 07:52:43 STATE: test-node.js tensors 1919
2022-02-14 07:52:43 STATE: test-node.js passed: load models
2022-02-14 07:52:43 STATE: test-node.js result: defined models: 22 loaded models: 12
2022-02-14 07:52:43 STATE: test-node.js passed: warmup: none default
2022-02-14 07:52:43 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {}
2022-02-14 07:52:43 DATA:  test-node.js result: performance: load: null total: null
2022-02-14 07:52:43 STATE: test-node.js passed: warmup none result match
2022-02-14 07:52:43 STATE: test-node.js event: image
2022-02-14 07:52:43 STATE: test-node.js event: detect
2022-02-14 07:52:43 STATE: test-node.js event: warmup
2022-02-14 07:52:43 STATE: test-node.js passed: warmup: face default
2022-02-14 07:52:43 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4}
2022-02-14 07:52:43 DATA:  test-node.js result: performance: load: null total: 294
2022-02-14 07:52:43 STATE: test-node.js passed: warmup face result match
2022-02-14 07:52:43 STATE: test-node.js event: image
2022-02-14 07:52:43 STATE: test-node.js event: detect
2022-02-14 07:52:43 STATE: test-node.js event: warmup
2022-02-14 07:52:43 STATE: test-node.js passed: warmup: body default
2022-02-14 07:52:43 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}
2022-02-14 07:52:43 DATA:  test-node.js result: performance: load: null total: 217
2022-02-14 07:52:43 STATE: test-node.js passed: warmup body result match
2022-02-14 07:52:43 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"}]}
2022-02-14 07:52:43 INFO:  test-node.js test: details verification
2022-02-14 07:52:43 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-02-14 07:52:43 STATE: test-node.js event: image
2022-02-14 07:52:44 STATE: test-node.js event: detect
2022-02-14 07:52:44 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:52:44 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}
2022-02-14 07:52:44 DATA:  test-node.js result: performance: load: null total: 211
2022-02-14 07:52:44 STATE: test-node.js passed: details face length 1
2022-02-14 07:52:44 STATE: test-node.js passed: details face score 1 0.93 1
2022-02-14 07:52:44 STATE: test-node.js passed: details face age/gender 29.6 female 0.91 73.26
2022-02-14 07:52:44 STATE: test-node.js passed: details face arrays 4 478 1024
2022-02-14 07:52:44 STATE: test-node.js passed: details face emotion 3 {"score":0.34,"emotion":"fear"}
2022-02-14 07:52:44 STATE: test-node.js passed: details face anti-spoofing 0.78
2022-02-14 07:52:44 STATE: test-node.js passed: details face liveness 0.83
2022-02-14 07:52:44 STATE: test-node.js passed: details body length 1
2022-02-14 07:52:44 STATE: test-node.js passed: details body 0.92 17 6
2022-02-14 07:52:44 STATE: test-node.js passed: details hand length 1
2022-02-14 07:52:44 STATE: test-node.js passed: details hand 0.51 0.73 point
2022-02-14 07:52:44 STATE: test-node.js passed: details hand arrays 21 5 7
2022-02-14 07:52:44 STATE: test-node.js passed: details gesture length 6
2022-02-14 07:52:44 STATE: test-node.js passed: details gesture first {"face":0,"gesture":"facing right"}
2022-02-14 07:52:44 STATE: test-node.js passed: details object length 1
2022-02-14 07:52:44 STATE: test-node.js passed: details object 0.72 person
2022-02-14 07:52:44 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928}
2022-02-14 07:52:44 STATE: test-node.js event: image
2022-02-14 07:52:44 STATE: test-node.js event: detect
2022-02-14 07:52:44 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: float32
2022-02-14 07:52:44 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928}
2022-02-14 07:52:44 STATE: test-node.js event: image
2022-02-14 07:52:44 STATE: test-node.js event: detect
2022-02-14 07:52:44 STATE: test-node.js passed: tensor shape: [1200,1200,4] dtype: float32
2022-02-14 07:52:44 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-02-14 07:52:44 STATE: test-node.js event: image
2022-02-14 07:52:45 STATE: test-node.js event: detect
2022-02-14 07:52:45 STATE: test-node.js passed: tensor shape: [1,1200,1200,3] dtype: float32
2022-02-14 07:52:45 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796864}
2022-02-14 07:52:45 STATE: test-node.js event: image
2022-02-14 07:52:45 STATE: test-node.js event: detect
2022-02-14 07:52:45 STATE: test-node.js passed: tensor shape: [1200,1200,3] dtype: float32
2022-02-14 07:52:45 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871}
2022-02-14 07:52:45 STATE: test-node.js event: image
2022-02-14 07:52:45 STATE: test-node.js event: detect
2022-02-14 07:52:45 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: int32
2022-02-14 07:52:45 INFO:  test-node.js test default
2022-02-14 07:52:46 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-02-14 07:52:46 STATE: test-node.js event: image
2022-02-14 07:52:46 STATE: test-node.js event: detect
2022-02-14 07:52:46 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:52:46 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}
2022-02-14 07:52:46 DATA:  test-node.js result: performance: load: null total: 196
2022-02-14 07:52:46 STATE: test-node.js passed: default result face match 1 female 0.91
2022-02-14 07:52:46 INFO:  test-node.js test sync
2022-02-14 07:52:46 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-02-14 07:52:46 STATE: test-node.js event: image
2022-02-14 07:52:46 STATE: test-node.js event: detect
2022-02-14 07:52:46 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:52:46 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}
2022-02-14 07:52:46 DATA:  test-node.js result: performance: load: null total: 178
2022-02-14 07:52:46 STATE: test-node.js passed: default sync 1 female 0.91
2022-02-14 07:52:46 INFO:  test-node.js test: image process
2022-02-14 07:52:46 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-02-14 07:52:46 STATE: test-node.js passed: image input null [1,256,256,3]
2022-02-14 07:52:46 INFO:  test-node.js test: image null
2022-02-14 07:52:46 STATE: test-node.js passed: invalid input could not convert input to tensor
2022-02-14 07:52:46 INFO:  test-node.js test face similarity
2022-02-14 07:52:46 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-02-14 07:52:46 STATE: test-node.js event: image
2022-02-14 07:52:46 STATE: test-node.js event: detect
2022-02-14 07:52:46 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default
2022-02-14 07:52:46 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3}
2022-02-14 07:52:46 DATA:  test-node.js result: performance: load: null total: 171
2022-02-14 07:52:46 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-02-14 07:52:46 STATE: test-node.js event: image
2022-02-14 07:52:47 STATE: test-node.js event: detect
2022-02-14 07:52:47 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:52:47 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}
2022-02-14 07:52:47 DATA:  test-node.js result: performance: load: null total: 178
2022-02-14 07:52:47 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024}
2022-02-14 07:52:47 STATE: test-node.js event: image
2022-02-14 07:52:47 STATE: test-node.js event: detect
2022-02-14 07:52:47 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default
2022-02-14 07:52:47 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}
2022-02-14 07:52:47 DATA:  test-node.js result: performance: load: null total: 160
2022-02-14 07:52:47 STATE: test-node.js passed: face descriptor
2022-02-14 07:52:47 STATE: test-node.js passed: face similarity {"similarity":[1,0.5632803981762933,0.5194114531612539],"descriptors":[1024,1024,1024]}
2022-02-14 07:52:47 INFO:  test-node.js test face matching
2022-02-14 07:52:47 STATE: test-node.js passed: face database 40
2022-02-14 07:52:47 STATE: test-node.js passed: face match {"first":{"index":4,"similarity":0.8797924743573865}} {"second":{"index":4,"similarity":0.548081908581344}} {"third":{"index":4,"similarity":0.4999696807961951}}
2022-02-14 07:52:47 INFO:  test-node.js test object
2022-02-14 07:52:47 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-02-14 07:52:47 STATE: test-node.js event: image
2022-02-14 07:52:47 STATE: test-node.js event: detect
2022-02-14 07:52:47 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:52:47 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}
2022-02-14 07:52:47 DATA:  test-node.js result: performance: load: null total: 179
2022-02-14 07:52:47 STATE: test-node.js passed: object result match
2022-02-14 07:52:47 INFO:  test-node.js test sensitive
2022-02-14 07:52:47 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-02-14 07:52:47 STATE: test-node.js event: image
2022-02-14 07:52:48 STATE: test-node.js event: detect
2022-02-14 07:52:48 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:52:48 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}
2022-02-14 07:52:48 DATA:  test-node.js result: performance: load: null total: 204
2022-02-14 07:52:48 STATE: test-node.js passed: sensitive result match
2022-02-14 07:52:48 STATE: test-node.js passed: sensitive face result match
2022-02-14 07:52:48 STATE: test-node.js passed: sensitive face emotion result [{"score":0.34,"emotion":"fear"},{"score":0.29,"emotion":"angry"},{"score":0.15,"emotion":"sad"}]
2022-02-14 07:52:48 STATE: test-node.js passed: sensitive body result match
2022-02-14 07:52:48 STATE: test-node.js passed: sensitive hand result match
2022-02-14 07:52:48 INFO:  test-node.js test detectors
2022-02-14 07:52:48 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-02-14 07:52:48 STATE: test-node.js event: image
2022-02-14 07:52:48 STATE: test-node.js event: detect
2022-02-14 07:52:48 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:52:48 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-02-14 07:52:48 DATA:  test-node.js result: performance: load: null total: 127
2022-02-14 07:52:48 STATE: test-node.js passed: detector result face match
2022-02-14 07:52:48 STATE: test-node.js passed: detector result hand match
2022-02-14 07:52:48 INFO:  test-node.js test: multi-instance
2022-02-14 07:52:48 STATE: test-node.js event: image
2022-02-14 07:52:48 STATE: test-node.js event: detect
2022-02-14 07:52:48 STATE: test-node.js passed: detect: random default
2022-02-14 07:52:48 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0.06,"keypoints":15}
2022-02-14 07:52:48 DATA:  test-node.js result: performance: load: null total: 118
2022-02-14 07:52:48 INFO:  test-node.js test: first instance
2022-02-14 07:52:48 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024}
2022-02-14 07:52:48 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default
2022-02-14 07:52:48 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16}
2022-02-14 07:52:48 DATA:  test-node.js result: performance: load: null total: 117
2022-02-14 07:52:48 INFO:  test-node.js test: second instance
2022-02-14 07:52:48 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024}
2022-02-14 07:52:48 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default
2022-02-14 07:52:48 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16}
2022-02-14 07:52:48 DATA:  test-node.js result: performance: load: null total: 127
2022-02-14 07:52:48 INFO:  test-node.js test: concurrent
2022-02-14 07:52:48 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-02-14 07:52:48 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-02-14 07:52:49 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-02-14 07:52:49 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-02-14 07:52:49 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024}
2022-02-14 07:52:49 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024}
2022-02-14 07:52:49 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-02-14 07:52:49 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-02-14 07:52:49 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024}
2022-02-14 07:52:49 STATE: test-node.js event: image
2022-02-14 07:52:49 STATE: test-node.js event: image
2022-02-14 07:52:49 STATE: test-node.js event: image
2022-02-14 07:52:50 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default
2022-02-14 07:52:50 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16}
2022-02-14 07:52:50 DATA:  test-node.js result: performance: load: null total: 1265
2022-02-14 07:52:50 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default
2022-02-14 07:52:50 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16}
2022-02-14 07:52:50 DATA:  test-node.js result: performance: load: null total: 1265
2022-02-14 07:52:50 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default
2022-02-14 07:52:50 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17}
2022-02-14 07:52:50 DATA:  test-node.js result: performance: load: null total: 1376
2022-02-14 07:52:50 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default
2022-02-14 07:52:50 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17}
2022-02-14 07:52:50 DATA:  test-node.js result: performance: load: null total: 1376
2022-02-14 07:52:50 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:52:50 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-02-14 07:52:50 DATA:  test-node.js result: performance: load: null total: 1376
2022-02-14 07:52:50 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:52:50 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-02-14 07:52:50 DATA:  test-node.js result: performance: load: null total: 1376
2022-02-14 07:52:50 STATE: test-node.js event: detect
2022-02-14 07:52:50 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg default
2022-02-14 07:52:50 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16}
2022-02-14 07:52:50 DATA:  test-node.js result: performance: load: null total: 1154
2022-02-14 07:52:50 STATE: test-node.js event: detect
2022-02-14 07:52:50 STATE: test-node.js event: detect
2022-02-14 07:52:50 STATE: test-node.js passed: detect: samples/in/ai-face.jpg default
2022-02-14 07:52:50 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17}
2022-02-14 07:52:50 DATA:  test-node.js result: performance: load: null total: 1154
2022-02-14 07:52:50 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:52:50 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-02-14 07:52:50 DATA:  test-node.js result: performance: load: null total: 1154
2022-02-14 07:52:50 INFO:  test-node.js test: monkey-patch
2022-02-14 07:52:50 STATE: test-node.js event: image
2022-02-14 07:52:50 STATE: test-node.js event: detect
2022-02-14 07:52:50 STATE: test-node.js passed: monkey patch
2022-02-14 07:52:50 STATE: test-node.js passed: segmentation [65536]
2022-02-14 07:52:50 STATE: test-node.js passeed: equal usage
2022-02-14 07:52:50 INFO:  test-node.js test: input compare
2022-02-14 07:52:50 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-02-14 07:52:51 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-02-14 07:52:51 STATE: test-node.js passed: image compare 0 23.275441687091504
2022-02-14 07:52:51 INFO:  test-node.js events: {"image":21,"detect":21,"warmup":2}
2022-02-14 07:52:51 INFO:  test-node.js tensors 1925
2022-02-14 07:52:51 INFO:  test-node.js test complete: 8045 ms
2022-02-14 07:52:51 INFO: 
2022-02-14 07:52:51 INFO:  test-node-gpu.js start
2022-02-14 07:52:51 INFO:  test-node-gpu.js test: configuration validation
2022-02-14 07:52:51 STATE: test-node-gpu.js passed: configuration default validation []
2022-02-14 07:52:51 STATE: test-node-gpu.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}]
2022-02-14 07:52:51 INFO:  test-node-gpu.js test: model load
2022-02-14 07:52:52 STATE: test-node-gpu.js passed: models loaded 22 12 [{"name":"ssrnetage","loaded":false},{"name":"gear","loaded":false},{"name":"blazeposedetect","loaded":false},{"name":"blazepose","loaded":false},{"name":"centernet","loaded":true},{"name":"efficientpose","loaded":false},{"name":"mobilefacenet","loaded":false},{"name":"emotion","loaded":true},{"name":"facedetect","loaded":true},{"name":"faceiris","loaded":true},{"name":"facemesh","loaded":true},{"name":"faceres","loaded":true},{"name":"ssrnetgender","loaded":false},{"name":"handpose","loaded":false},{"name":"handskeleton","loaded":true},{"name":"handtrack","loaded":true},{"name":"liveness","loaded":true},{"name":"movenet","loaded":true},{"name":"nanodet","loaded":false},{"name":"posenet","loaded":false},{"name":"segmentation","loaded":true},{"name":"antispoof","loaded":true}]
2022-02-14 07:52:52 INFO:  test-node-gpu.js test: warmup
2022-02-14 07:52:52 STATE: test-node-gpu.js passed: create human
2022-02-14 07:52:52 INFO:  test-node-gpu.js human version: 2.6.3
2022-02-14 07:52:52 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v17.4.0
2022-02-14 07:52:52 INFO:  test-node-gpu.js tfjs version: 3.13.0
2022-02-14 07:52:52 INFO:  test-node-gpu.js tensorflow binding version: 2.7.0-dev20211101
2022-02-14 07:52:52 STATE: test-node-gpu.js passed: set backend: tensorflow
2022-02-14 07:52:52 STATE: test-node-gpu.js tensors 1919
2022-02-14 07:52:52 STATE: test-node-gpu.js passed: load models
2022-02-14 07:52:52 STATE: test-node-gpu.js result: defined models: 22 loaded models: 12
2022-02-14 07:52:52 STATE: test-node-gpu.js passed: warmup: none default
2022-02-14 07:52:52 DATA:  test-node-gpu.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {}
2022-02-14 07:52:52 DATA:  test-node-gpu.js result: performance: load: null total: null
2022-02-14 07:52:52 STATE: test-node-gpu.js passed: warmup none result match
2022-02-14 07:52:52 STATE: test-node-gpu.js event: image
2022-02-14 07:52:55 STATE: test-node-gpu.js event: detect
2022-02-14 07:52:55 STATE: test-node-gpu.js event: warmup
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: warmup: face default
2022-02-14 07:52:55 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4}
2022-02-14 07:52:55 DATA:  test-node-gpu.js result: performance: load: null total: 2733
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: warmup face result match
2022-02-14 07:52:55 STATE: test-node-gpu.js event: image
2022-02-14 07:52:55 STATE: test-node-gpu.js event: detect
2022-02-14 07:52:55 STATE: test-node-gpu.js event: warmup
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: warmup: body default
2022-02-14 07:52:55 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}
2022-02-14 07:52:55 DATA:  test-node-gpu.js result: performance: load: null total: 136
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: warmup body result match
2022-02-14 07:52:55 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"}]}
2022-02-14 07:52:55 INFO:  test-node-gpu.js test: details verification
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928}
2022-02-14 07:52:55 STATE: test-node-gpu.js event: image
2022-02-14 07:52:55 STATE: test-node-gpu.js event: detect
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:52:55 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}
2022-02-14 07:52:55 DATA:  test-node-gpu.js result: performance: load: null total: 125
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: details face length 1
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: details face score 1 0.93 1
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: details face age/gender 29.6 female 0.91 73.26
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: details face arrays 4 478 1024
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: details face emotion 3 {"score":0.34,"emotion":"fear"}
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: details face anti-spoofing 0.78
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: details face liveness 0.83
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: details body length 1
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: details body 0.92 17 6
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: details hand length 1
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: details hand 0.51 0.73 point
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: details hand arrays 21 5 7
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: details gesture length 6
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: details gesture first {"face":0,"gesture":"facing right"}
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: details object length 1
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: details object 0.72 person
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928}
2022-02-14 07:52:55 STATE: test-node-gpu.js event: image
2022-02-14 07:52:55 STATE: test-node-gpu.js event: detect
2022-02-14 07:52:55 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: float32
2022-02-14 07:52:56 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928}
2022-02-14 07:52:56 STATE: test-node-gpu.js event: image
2022-02-14 07:52:56 STATE: test-node-gpu.js event: detect
2022-02-14 07:52:56 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,4] dtype: float32
2022-02-14 07:52:56 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928}
2022-02-14 07:52:56 STATE: test-node-gpu.js event: image
2022-02-14 07:52:56 STATE: test-node-gpu.js event: detect
2022-02-14 07:52:56 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,3] dtype: float32
2022-02-14 07:52:56 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796928}
2022-02-14 07:52:56 STATE: test-node-gpu.js event: image
2022-02-14 07:52:56 STATE: test-node-gpu.js event: detect
2022-02-14 07:52:56 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,3] dtype: float32
2022-02-14 07:52:56 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871}
2022-02-14 07:52:56 STATE: test-node-gpu.js event: image
2022-02-14 07:52:57 STATE: test-node-gpu.js event: detect
2022-02-14 07:52:57 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: int32
2022-02-14 07:52:57 INFO:  test-node-gpu.js test default
2022-02-14 07:52:57 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928}
2022-02-14 07:52:57 STATE: test-node-gpu.js event: image
2022-02-14 07:52:57 STATE: test-node-gpu.js event: detect
2022-02-14 07:52:57 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:52:57 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}
2022-02-14 07:52:57 DATA:  test-node-gpu.js result: performance: load: null total: 121
2022-02-14 07:52:57 STATE: test-node-gpu.js passed: default result face match 1 female 0.91
2022-02-14 07:52:57 INFO:  test-node-gpu.js test sync
2022-02-14 07:52:57 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928}
2022-02-14 07:52:57 STATE: test-node-gpu.js event: image
2022-02-14 07:52:57 STATE: test-node-gpu.js event: detect
2022-02-14 07:52:57 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:52:57 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}
2022-02-14 07:52:57 DATA:  test-node-gpu.js result: performance: load: null total: 112
2022-02-14 07:52:57 STATE: test-node-gpu.js passed: default sync 1 female 0.91
2022-02-14 07:52:57 INFO:  test-node-gpu.js test: image process
2022-02-14 07:52:57 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-02-14 07:52:57 STATE: test-node-gpu.js passed: image input null [1,256,256,3]
2022-02-14 07:52:57 INFO:  test-node-gpu.js test: image null
2022-02-14 07:52:57 STATE: test-node-gpu.js passed: invalid input could not convert input to tensor
2022-02-14 07:52:57 INFO:  test-node-gpu.js test face similarity
2022-02-14 07:52:57 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-02-14 07:52:57 STATE: test-node-gpu.js event: image
2022-02-14 07:52:57 STATE: test-node-gpu.js event: detect
2022-02-14 07:52:57 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default
2022-02-14 07:52:57 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3}
2022-02-14 07:52:57 DATA:  test-node-gpu.js result: performance: load: null total: 107
2022-02-14 07:52:57 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928}
2022-02-14 07:52:57 STATE: test-node-gpu.js event: image
2022-02-14 07:52:58 STATE: test-node-gpu.js event: detect
2022-02-14 07:52:58 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:52:58 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}
2022-02-14 07:52:58 DATA:  test-node-gpu.js result: performance: load: null total: 113
2022-02-14 07:52:58 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056}
2022-02-14 07:52:58 STATE: test-node-gpu.js event: image
2022-02-14 07:52:58 STATE: test-node-gpu.js event: detect
2022-02-14 07:52:58 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default
2022-02-14 07:52:58 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}
2022-02-14 07:52:58 DATA:  test-node-gpu.js result: performance: load: null total: 99
2022-02-14 07:52:58 STATE: test-node-gpu.js passed: face descriptor
2022-02-14 07:52:58 STATE: test-node-gpu.js passed: face similarity {"similarity":[1,0.5630556935525979,0.5193764698386258],"descriptors":[1024,1024,1024]}
2022-02-14 07:52:58 INFO:  test-node-gpu.js test face matching
2022-02-14 07:52:58 STATE: test-node-gpu.js passed: face database 40
2022-02-14 07:52:58 STATE: test-node-gpu.js passed: face match {"first":{"index":4,"similarity":0.8799972012493786}} {"second":{"index":4,"similarity":0.5479612754605243}} {"third":{"index":4,"similarity":0.5000142632384791}}
2022-02-14 07:52:58 INFO:  test-node-gpu.js test object
2022-02-14 07:52:58 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928}
2022-02-14 07:52:58 STATE: test-node-gpu.js event: image
2022-02-14 07:52:58 STATE: test-node-gpu.js event: detect
2022-02-14 07:52:58 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:52:58 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}
2022-02-14 07:52:58 DATA:  test-node-gpu.js result: performance: load: null total: 112
2022-02-14 07:52:58 STATE: test-node-gpu.js passed: object result match
2022-02-14 07:52:58 INFO:  test-node-gpu.js test sensitive
2022-02-14 07:52:58 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928}
2022-02-14 07:52:58 STATE: test-node-gpu.js event: image
2022-02-14 07:52:58 STATE: test-node-gpu.js event: detect
2022-02-14 07:52:58 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:52:58 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}
2022-02-14 07:52:58 DATA:  test-node-gpu.js result: performance: load: null total: 145
2022-02-14 07:52:58 STATE: test-node-gpu.js passed: sensitive result match
2022-02-14 07:52:58 STATE: test-node-gpu.js passed: sensitive face result match
2022-02-14 07:52:58 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"}]
2022-02-14 07:52:58 STATE: test-node-gpu.js passed: sensitive body result match
2022-02-14 07:52:58 STATE: test-node-gpu.js passed: sensitive hand result match
2022-02-14 07:52:58 INFO:  test-node-gpu.js test detectors
2022-02-14 07:52:58 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928}
2022-02-14 07:52:58 STATE: test-node-gpu.js event: image
2022-02-14 07:52:59 STATE: test-node-gpu.js event: detect
2022-02-14 07:52:59 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:52:59 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-02-14 07:52:59 DATA:  test-node-gpu.js result: performance: load: null total: 68
2022-02-14 07:52:59 STATE: test-node-gpu.js passed: detector result face match
2022-02-14 07:52:59 STATE: test-node-gpu.js passed: detector result hand match
2022-02-14 07:52:59 INFO:  test-node-gpu.js test: multi-instance
2022-02-14 07:52:59 STATE: test-node-gpu.js event: image
2022-02-14 07:52:59 STATE: test-node-gpu.js event: detect
2022-02-14 07:52:59 STATE: test-node-gpu.js passed: detect: random default
2022-02-14 07:52:59 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0.07,"keypoints":15}
2022-02-14 07:52:59 DATA:  test-node-gpu.js result: performance: load: null total: 62
2022-02-14 07:52:59 INFO:  test-node-gpu.js test: first instance
2022-02-14 07:52:59 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056}
2022-02-14 07:52:59 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default
2022-02-14 07:52:59 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16}
2022-02-14 07:52:59 DATA:  test-node-gpu.js result: performance: load: null total: 63
2022-02-14 07:52:59 INFO:  test-node-gpu.js test: second instance
2022-02-14 07:52:59 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056}
2022-02-14 07:52:59 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default
2022-02-14 07:52:59 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16}
2022-02-14 07:52:59 DATA:  test-node-gpu.js result: performance: load: null total: 61
2022-02-14 07:52:59 INFO:  test-node-gpu.js test: concurrent
2022-02-14 07:52:59 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-02-14 07:52:59 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-02-14 07:52:59 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928}
2022-02-14 07:52:59 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928}
2022-02-14 07:52:59 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056}
2022-02-14 07:52:59 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056}
2022-02-14 07:52:59 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-02-14 07:53:00 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928}
2022-02-14 07:53:00 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056}
2022-02-14 07:53:00 STATE: test-node-gpu.js event: image
2022-02-14 07:53:00 STATE: test-node-gpu.js event: image
2022-02-14 07:53:00 STATE: test-node-gpu.js event: image
2022-02-14 07:53:00 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default
2022-02-14 07:53:00 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16}
2022-02-14 07:53:00 DATA:  test-node-gpu.js result: performance: load: null total: 694
2022-02-14 07:53:00 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default
2022-02-14 07:53:00 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16}
2022-02-14 07:53:00 DATA:  test-node-gpu.js result: performance: load: null total: 694
2022-02-14 07:53:00 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default
2022-02-14 07:53:00 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17}
2022-02-14 07:53:00 DATA:  test-node-gpu.js result: performance: load: null total: 738
2022-02-14 07:53:00 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default
2022-02-14 07:53:00 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17}
2022-02-14 07:53:00 DATA:  test-node-gpu.js result: performance: load: null total: 738
2022-02-14 07:53:00 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:53:00 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-02-14 07:53:00 DATA:  test-node-gpu.js result: performance: load: null total: 738
2022-02-14 07:53:00 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:53:00 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-02-14 07:53:00 DATA:  test-node-gpu.js result: performance: load: null total: 738
2022-02-14 07:53:00 STATE: test-node-gpu.js event: detect
2022-02-14 07:53:00 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg default
2022-02-14 07:53:00 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16}
2022-02-14 07:53:00 DATA:  test-node-gpu.js result: performance: load: null total: 515
2022-02-14 07:53:00 STATE: test-node-gpu.js event: detect
2022-02-14 07:53:00 STATE: test-node-gpu.js event: detect
2022-02-14 07:53:00 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg default
2022-02-14 07:53:00 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17}
2022-02-14 07:53:00 DATA:  test-node-gpu.js result: performance: load: null total: 516
2022-02-14 07:53:00 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:53:00 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-02-14 07:53:00 DATA:  test-node-gpu.js result: performance: load: null total: 516
2022-02-14 07:53:00 INFO:  test-node-gpu.js test: monkey-patch
2022-02-14 07:53:00 STATE: test-node-gpu.js event: image
2022-02-14 07:53:00 STATE: test-node-gpu.js event: detect
2022-02-14 07:53:00 STATE: test-node-gpu.js passed: monkey patch
2022-02-14 07:53:00 STATE: test-node-gpu.js passed: segmentation [65536]
2022-02-14 07:53:00 STATE: test-node-gpu.js passeed: equal usage
2022-02-14 07:53:00 INFO:  test-node-gpu.js test: input compare
2022-02-14 07:53:00 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-02-14 07:53:01 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928}
2022-02-14 07:53:01 STATE: test-node-gpu.js passed: image compare 0 23.275441687091504
2022-02-14 07:53:01 INFO:  test-node-gpu.js events: {"image":21,"detect":21,"warmup":2}
2022-02-14 07:53:01 INFO:  test-node-gpu.js tensors 1925
2022-02-14 07:53:01 INFO:  test-node-gpu.js test complete: 9211 ms
2022-02-14 07:53:01 INFO: 
2022-02-14 07:53:01 INFO:  test-node-wasm.js start
2022-02-14 07:53:02 STATE: test-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/
2022-02-14 07:53:02 INFO:  test-node-wasm.js test: configuration validation
2022-02-14 07:53:02 STATE: test-node-wasm.js passed: configuration default validation []
2022-02-14 07:53:02 STATE: test-node-wasm.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}]
2022-02-14 07:53:02 INFO:  test-node-wasm.js test: model load
2022-02-14 07:53:03 STATE: test-node-wasm.js passed: models loaded 22 12 [{"name":"ssrnetage","loaded":false},{"name":"gear","loaded":false},{"name":"blazeposedetect","loaded":false},{"name":"blazepose","loaded":false},{"name":"centernet","loaded":true},{"name":"efficientpose","loaded":false},{"name":"mobilefacenet","loaded":false},{"name":"emotion","loaded":true},{"name":"facedetect","loaded":true},{"name":"faceiris","loaded":true},{"name":"facemesh","loaded":true},{"name":"faceres","loaded":true},{"name":"ssrnetgender","loaded":false},{"name":"handpose","loaded":false},{"name":"handskeleton","loaded":true},{"name":"handtrack","loaded":true},{"name":"liveness","loaded":true},{"name":"movenet","loaded":true},{"name":"nanodet","loaded":false},{"name":"posenet","loaded":false},{"name":"segmentation","loaded":true},{"name":"antispoof","loaded":true}]
2022-02-14 07:53:03 INFO:  test-node-wasm.js test: warmup
2022-02-14 07:53:03 STATE: test-node-wasm.js passed: create human
2022-02-14 07:53:03 INFO:  test-node-wasm.js human version: 2.6.3
2022-02-14 07:53:03 INFO:  test-node-wasm.js platform: linux x64 agent: NodeJS v17.4.0
2022-02-14 07:53:03 INFO:  test-node-wasm.js tfjs version: 3.13.0
2022-02-14 07:53:03 STATE: test-node-wasm.js passed: set backend: wasm
2022-02-14 07:53:03 STATE: test-node-wasm.js tensors 1919
2022-02-14 07:53:03 STATE: test-node-wasm.js passed: load models
2022-02-14 07:53:03 STATE: test-node-wasm.js result: defined models: 22 loaded models: 12
2022-02-14 07:53:03 STATE: test-node-wasm.js passed: warmup: none default
2022-02-14 07:53:03 DATA:  test-node-wasm.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {}
2022-02-14 07:53:03 DATA:  test-node-wasm.js result: performance: load: null total: null
2022-02-14 07:53:03 STATE: test-node-wasm.js passed: warmup none result match
2022-02-14 07:53:03 STATE: test-node-wasm.js event: image
2022-02-14 07:53:03 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:03 STATE: test-node-wasm.js event: warmup
2022-02-14 07:53:03 STATE: test-node-wasm.js passed: warmup: face default
2022-02-14 07:53:03 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3}
2022-02-14 07:53:03 DATA:  test-node-wasm.js result: performance: load: null total: 515
2022-02-14 07:53:03 STATE: test-node-wasm.js passed: warmup face result match
2022-02-14 07:53:03 STATE: test-node-wasm.js event: image
2022-02-14 07:53:04 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:04 STATE: test-node-wasm.js event: warmup
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: warmup: body default
2022-02-14 07:53:04 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-02-14 07:53:04 DATA:  test-node-wasm.js result: performance: load: null total: 353
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: warmup body result match
2022-02-14 07:53:04 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"}]}
2022-02-14 07:53:04 INFO:  test-node-wasm.js test: details verification
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856}
2022-02-14 07:53:04 STATE: test-node-wasm.js event: image
2022-02-14 07:53:04 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:53:04 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-02-14 07:53:04 DATA:  test-node-wasm.js result: performance: load: null total: 329
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: details face length 1
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: details face score 1 0.93 1
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: details face age/gender 29.6 female 0.91 73.26
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: details face arrays 4 478 1024
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: details face emotion 3 {"score":0.34,"emotion":"fear"}
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: details face anti-spoofing 0.78
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: details face liveness 0.83
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: details body length 1
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: details body 0.92 17 6
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: details hand length 1
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: details hand 0.51 0.73 point
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: details hand arrays 21 5 7
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: details gesture length 6
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: details gesture first {"face":0,"gesture":"facing right"}
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: details object length 1
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: details object 0.72 person
2022-02-14 07:53:04 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1413675264}
2022-02-14 07:53:05 STATE: test-node-wasm.js event: image
2022-02-14 07:53:05 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:05 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: float32
2022-02-14 07:53:05 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1413675264}
2022-02-14 07:53:05 STATE: test-node-wasm.js event: image
2022-02-14 07:53:05 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:05 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,4] dtype: float32
2022-02-14 07:53:06 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856}
2022-02-14 07:53:06 STATE: test-node-wasm.js event: image
2022-02-14 07:53:06 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:06 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,3] dtype: float32
2022-02-14 07:53:06 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1038921856}
2022-02-14 07:53:06 STATE: test-node-wasm.js event: image
2022-02-14 07:53:06 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:06 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,3] dtype: float32
2022-02-14 07:53:07 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871}
2022-02-14 07:53:07 STATE: test-node-wasm.js event: image
2022-02-14 07:53:07 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:07 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: int32
2022-02-14 07:53:07 INFO:  test-node-wasm.js test default
2022-02-14 07:53:07 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856}
2022-02-14 07:53:07 STATE: test-node-wasm.js event: image
2022-02-14 07:53:08 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:08 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:53:08 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}
2022-02-14 07:53:08 DATA:  test-node-wasm.js result: performance: load: null total: 318
2022-02-14 07:53:08 STATE: test-node-wasm.js passed: default result face match 1 female 0.93
2022-02-14 07:53:08 INFO:  test-node-wasm.js test sync
2022-02-14 07:53:08 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856}
2022-02-14 07:53:08 STATE: test-node-wasm.js event: image
2022-02-14 07:53:08 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:08 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:53:08 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}
2022-02-14 07:53:08 DATA:  test-node-wasm.js result: performance: load: null total: 326
2022-02-14 07:53:08 STATE: test-node-wasm.js passed: default sync 1 female 0.93
2022-02-14 07:53:08 INFO:  test-node-wasm.js test: image process
2022-02-14 07:53:08 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856}
2022-02-14 07:53:08 STATE: test-node-wasm.js passed: image input null [1,256,256,3]
2022-02-14 07:53:08 INFO:  test-node-wasm.js test: image null
2022-02-14 07:53:08 STATE: test-node-wasm.js passed: invalid input could not convert input to tensor
2022-02-14 07:53:08 INFO:  test-node-wasm.js test face similarity
2022-02-14 07:53:08 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856}
2022-02-14 07:53:08 STATE: test-node-wasm.js event: image
2022-02-14 07:53:08 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:08 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default
2022-02-14 07:53:08 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3}
2022-02-14 07:53:08 DATA:  test-node-wasm.js result: performance: load: null total: 299
2022-02-14 07:53:09 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856}
2022-02-14 07:53:09 STATE: test-node-wasm.js event: image
2022-02-14 07:53:09 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:09 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:53:09 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}
2022-02-14 07:53:09 DATA:  test-node-wasm.js result: performance: load: null total: 310
2022-02-14 07:53:09 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104}
2022-02-14 07:53:09 STATE: test-node-wasm.js event: image
2022-02-14 07:53:09 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:09 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default
2022-02-14 07:53:09 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}
2022-02-14 07:53:09 DATA:  test-node-wasm.js result: performance: load: null total: 289
2022-02-14 07:53:09 STATE: test-node-wasm.js passed: face descriptor
2022-02-14 07:53:09 STATE: test-node-wasm.js passed: face similarity {"similarity":[1,0.5888036339038205,0.4689331535670693],"descriptors":[1024,1024,1024]}
2022-02-14 07:53:09 INFO:  test-node-wasm.js test face matching
2022-02-14 07:53:09 STATE: test-node-wasm.js passed: face database 40
2022-02-14 07:53:09 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}}
2022-02-14 07:53:09 INFO:  test-node-wasm.js test object
2022-02-14 07:53:09 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856}
2022-02-14 07:53:09 STATE: test-node-wasm.js event: image
2022-02-14 07:53:10 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:10 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:53:10 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}
2022-02-14 07:53:10 DATA:  test-node-wasm.js result: performance: load: null total: 313
2022-02-14 07:53:10 STATE: test-node-wasm.js passed: object result match
2022-02-14 07:53:10 INFO:  test-node-wasm.js test sensitive
2022-02-14 07:53:10 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856}
2022-02-14 07:53:10 STATE: test-node-wasm.js event: image
2022-02-14 07:53:10 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:10 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:53:10 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}
2022-02-14 07:53:10 DATA:  test-node-wasm.js result: performance: load: null total: 341
2022-02-14 07:53:10 STATE: test-node-wasm.js passed: sensitive result match
2022-02-14 07:53:10 STATE: test-node-wasm.js passed: sensitive face result match
2022-02-14 07:53:10 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"}]
2022-02-14 07:53:10 STATE: test-node-wasm.js passed: sensitive body result match
2022-02-14 07:53:10 STATE: test-node-wasm.js passed: sensitive hand result match
2022-02-14 07:53:10 INFO:  test-node-wasm.js test detectors
2022-02-14 07:53:11 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856}
2022-02-14 07:53:11 STATE: test-node-wasm.js event: image
2022-02-14 07:53:11 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:11 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:53:11 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-02-14 07:53:11 DATA:  test-node-wasm.js result: performance: load: null total: 226
2022-02-14 07:53:11 STATE: test-node-wasm.js passed: detector result face match
2022-02-14 07:53:11 STATE: test-node-wasm.js passed: detector result hand match
2022-02-14 07:53:11 INFO:  test-node-wasm.js test: multi-instance
2022-02-14 07:53:11 STATE: test-node-wasm.js event: image
2022-02-14 07:53:11 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:11 STATE: test-node-wasm.js passed: detect: random default
2022-02-14 07:53:11 DATA:  test-node-wasm.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0.07,"keypoints":15}
2022-02-14 07:53:11 DATA:  test-node-wasm.js result: performance: load: null total: 207
2022-02-14 07:53:11 INFO:  test-node-wasm.js test: first instance
2022-02-14 07:53:11 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104}
2022-02-14 07:53:11 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default
2022-02-14 07:53:11 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16}
2022-02-14 07:53:11 DATA:  test-node-wasm.js result: performance: load: null total: 214
2022-02-14 07:53:11 INFO:  test-node-wasm.js test: second instance
2022-02-14 07:53:11 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104}
2022-02-14 07:53:12 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default
2022-02-14 07:53:12 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16}
2022-02-14 07:53:12 DATA:  test-node-wasm.js result: performance: load: null total: 211
2022-02-14 07:53:12 INFO:  test-node-wasm.js test: concurrent
2022-02-14 07:53:12 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856}
2022-02-14 07:53:12 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856}
2022-02-14 07:53:12 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856}
2022-02-14 07:53:12 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856}
2022-02-14 07:53:12 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104}
2022-02-14 07:53:12 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104}
2022-02-14 07:53:12 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856}
2022-02-14 07:53:12 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856}
2022-02-14 07:53:13 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104}
2022-02-14 07:53:13 STATE: test-node-wasm.js event: image
2022-02-14 07:53:13 STATE: test-node-wasm.js event: image
2022-02-14 07:53:13 STATE: test-node-wasm.js event: image
2022-02-14 07:53:14 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default
2022-02-14 07:53:14 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16}
2022-02-14 07:53:14 DATA:  test-node-wasm.js result: performance: load: null total: 1986
2022-02-14 07:53:14 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default
2022-02-14 07:53:14 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16}
2022-02-14 07:53:14 DATA:  test-node-wasm.js result: performance: load: null total: 1986
2022-02-14 07:53:14 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default
2022-02-14 07:53:14 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17}
2022-02-14 07:53:14 DATA:  test-node-wasm.js result: performance: load: null total: 2189
2022-02-14 07:53:14 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default
2022-02-14 07:53:14 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17}
2022-02-14 07:53:14 DATA:  test-node-wasm.js result: performance: load: null total: 2189
2022-02-14 07:53:14 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:53:14 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-02-14 07:53:14 DATA:  test-node-wasm.js result: performance: load: null total: 2189
2022-02-14 07:53:14 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:53:14 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-02-14 07:53:14 DATA:  test-node-wasm.js result: performance: load: null total: 2189
2022-02-14 07:53:14 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:14 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg default
2022-02-14 07:53:14 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 1 person: 1 {"score":0.96} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":16}
2022-02-14 07:53:14 DATA:  test-node-wasm.js result: performance: load: null total: 1885
2022-02-14 07:53:14 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:14 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:14 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg default
2022-02-14 07:53:14 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 2 object: 1 person: 1 {"score":0.91} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17}
2022-02-14 07:53:14 DATA:  test-node-wasm.js result: performance: load: null total: 1885
2022-02-14 07:53:14 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default
2022-02-14 07:53:14 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 1 person: 1 {"score":0.93} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-02-14 07:53:14 DATA:  test-node-wasm.js result: performance: load: null total: 1885
2022-02-14 07:53:14 INFO:  test-node-wasm.js test: monkey-patch
2022-02-14 07:53:14 STATE: test-node-wasm.js event: image
2022-02-14 07:53:15 STATE: test-node-wasm.js event: detect
2022-02-14 07:53:15 STATE: test-node-wasm.js passed: monkey patch
2022-02-14 07:53:15 STATE: test-node-wasm.js passed: segmentation [65536]
2022-02-14 07:53:15 STATE: test-node-wasm.js passeed: equal usage
2022-02-14 07:53:15 INFO:  test-node-wasm.js test: input compare
2022-02-14 07:53:15 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856}
2022-02-14 07:53:15 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856}
2022-02-14 07:53:15 STATE: test-node-wasm.js passed: image compare 0 23.280073018790848
2022-02-14 07:53:15 INFO:  test-node-wasm.js events: {"image":21,"detect":21,"warmup":2}
2022-02-14 07:53:15 INFO:  test-node-wasm.js tensors 1927
2022-02-14 07:53:15 INFO:  test-node-wasm.js test complete: 13247 ms
2022-02-14 07:53:15 INFO:  all tests complete
2022-02-14 07:53:15 INFO:  failed: {"count":0,"messages":[]}
2022-02-14 07:53:15 INFO:  status: {"test":"test-node.js","passed":101,"failed":0}
2022-02-14 07:53:15 INFO:  status: {"test":"test-node-gpu.js","passed":101,"failed":0}
2022-02-14 07:53:15 INFO:  status: {"test":"test-node-wasm.js","passed":102,"failed":0}