updated build platform and typedoc theme

pull/193/head
Vladimir Mandic 2021-09-18 19:09:02 -04:00
parent e169152ef1
commit 6b03eb4287
47 changed files with 3297 additions and 35224 deletions

View File

@ -11,6 +11,7 @@
### **HEAD -> main** 2021/09/17 mandic00@live.com ### **HEAD -> main** 2021/09/17 mandic00@live.com
- webgl exception handling
### **2.2.2** 2021/09/17 mandic00@live.com ### **2.2.2** 2021/09/17 mandic00@live.com

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -23,7 +23,7 @@
"scripts": { "scripts": {
"start": "node --no-warnings demo/nodejs/node.js", "start": "node --no-warnings demo/nodejs/node.js",
"dev": "build --profile development", "dev": "build --profile development",
"build": "build --profile production", "build": "rimraf test/build.log && build --profile production",
"test": "node --no-warnings --unhandled-rejections=strict --trace-uncaught test/test.js", "test": "node --no-warnings --unhandled-rejections=strict --trace-uncaught test/test.js",
"lint": "eslint src demo test", "lint": "eslint src demo test",
"scan": "npx auditjs@latest ossi --dev --quiet" "scan": "npx auditjs@latest ossi --dev --quiet"
@ -69,7 +69,7 @@
"@types/node": "^16.9.2", "@types/node": "^16.9.2",
"@typescript-eslint/eslint-plugin": "^4.31.1", "@typescript-eslint/eslint-plugin": "^4.31.1",
"@typescript-eslint/parser": "^4.31.1", "@typescript-eslint/parser": "^4.31.1",
"@vladmandic/build": "^0.4.1", "@vladmandic/build": "^0.5.1",
"@vladmandic/pilogger": "^0.3.2", "@vladmandic/pilogger": "^0.3.2",
"canvas": "^2.8.0", "canvas": "^2.8.0",
"dayjs": "^1.10.7", "dayjs": "^1.10.7",
@ -81,9 +81,10 @@
"eslint-plugin-node": "^11.1.0", "eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^5.1.0", "eslint-plugin-promise": "^5.1.0",
"node-fetch": "^3.0.0", "node-fetch": "^3.0.0",
"rimraf": "^3.0.2",
"seedrandom": "^3.0.5", "seedrandom": "^3.0.5",
"tslib": "^2.3.1", "tslib": "^2.3.1",
"typedoc": "0.22.3", "typedoc": "0.22.4",
"typescript": "4.4.3" "typescript": "4.4.3"
} }
} }

View File

@ -34,10 +34,7 @@ export function reset(instance) {
}; };
} }
/** Load method preloads all instance.configured models on-demand /** Load method preloads all instance.configured models on-demand */
* - Not explicitly required as any required model is load implicitly on it's first run
* @param userinstance.config?: {@link instance.config}
*/
export async function load(instance) { export async function load(instance) {
if (env.initial) reset(instance); if (env.initial) reset(instance);
if (instance.config.async) { // load models concurrently if (instance.config.async) { // load models concurrently

View File

@ -181,7 +181,7 @@ export interface Result {
hand: Array<HandResult>, hand: Array<HandResult>,
/** {@link GestureResult}: detection & analysis results */ /** {@link GestureResult}: detection & analysis results */
gesture: Array<GestureResult>, gesture: Array<GestureResult>,
/** {@link ItemResult}: detection & analysis results */ /** {@link ObjectResult}: detection & analysis results */
object: Array<ObjectResult> object: Array<ObjectResult>
/** global performance object with timing values for each operation */ /** global performance object with timing values for each operation */
performance: Record<string, unknown>, performance: Record<string, unknown>,

File diff suppressed because it is too large Load Diff

View File

@ -144,12 +144,15 @@ async function test(Human, inputConfig) {
return; return;
} }
const t0 = process.hrtime.bigint(); const t0 = process.hrtime.bigint();
const human = new Human(config); let human;
// test event emitter
human = new Human(config);
human.events.addEventListener('warmup', () => events('warmup')); human.events.addEventListener('warmup', () => events('warmup'));
human.events.addEventListener('image', () => events('image')); human.events.addEventListener('image', () => events('image'));
human.events.addEventListener('detect', () => events('detect')); human.events.addEventListener('detect', () => events('detect'));
// await human.tf.ready(); // test warmup sequences
await testInstance(human); await testInstance(human);
config.warmup = 'none'; config.warmup = 'none';
await testWarmup(human, 'default'); await testWarmup(human, 'default');
@ -158,33 +161,63 @@ async function test(Human, inputConfig) {
config.warmup = 'body'; config.warmup = 'body';
await testWarmup(human, 'default'); await testWarmup(human, 'default');
// test default config
log('info', 'test default'); log('info', 'test default');
human = new Human(config);
await testDetect(human, 'samples/ai-body.jpg', 'default'); await testDetect(human, 'samples/ai-body.jpg', 'default');
// test detectors only
log('info', 'test detectors');
config.face = { mesh: { enabled: false }, iris: { enabled: false }, hand: { landmarks: false } };
human = new Human(config);
await testDetect(human, 'samples/ai-body.jpg', 'default');
// test posenet and movenet
log('info', 'test body variants'); log('info', 'test body variants');
config.body = { modelPath: 'posenet.json' }; config.body = { modelPath: 'posenet.json' };
await testDetect(human, 'samples/ai-body.jpg', 'posenet'); await testDetect(human, 'samples/ai-body.jpg', 'posenet');
config.body = { modelPath: 'movenet-lightning.json' }; config.body = { modelPath: 'movenet-lightning.json' };
await testDetect(human, 'samples/ai-body.jpg', 'movenet'); await testDetect(human, 'samples/ai-body.jpg', 'movenet');
// test multiple instances
const first = new Human(config);
const second = new Human(config);
await testDetect(human, null, 'default'); await testDetect(human, null, 'default');
log('info', 'test: first instance'); log('info', 'test: first instance');
await testDetect(human, 'samples/ai-upper.jpg', 'default'); await testDetect(first, 'samples/ai-upper.jpg', 'default');
log('info', 'test: second instance'); log('info', 'test: second instance');
const second = new Human(config);
await testDetect(second, 'samples/ai-upper.jpg', 'default'); await testDetect(second, 'samples/ai-upper.jpg', 'default');
// test async multiple instances
log('info', 'test: concurrent'); log('info', 'test: concurrent');
await Promise.all([ await Promise.all([
testDetect(human, 'samples/ai-face.jpg', 'default'), testDetect(human, 'samples/ai-face.jpg', 'default'),
testDetect(first, 'samples/ai-face.jpg', 'default'),
testDetect(second, 'samples/ai-face.jpg', 'default'), testDetect(second, 'samples/ai-face.jpg', 'default'),
testDetect(human, 'samples/ai-body.jpg', 'default'), testDetect(human, 'samples/ai-body.jpg', 'default'),
testDetect(first, 'samples/ai-body.jpg', 'default'),
testDetect(second, 'samples/ai-body.jpg', 'default'), testDetect(second, 'samples/ai-body.jpg', 'default'),
testDetect(human, 'samples/ai-upper.jpg', 'default'), testDetect(human, 'samples/ai-upper.jpg', 'default'),
testDetect(first, 'samples/ai-upper.jpg', 'default'),
testDetect(second, 'samples/ai-upper.jpg', 'default'), testDetect(second, 'samples/ai-upper.jpg', 'default'),
]); ]);
// tests end
const t1 = process.hrtime.bigint(); const t1 = process.hrtime.bigint();
// check tensor leaks
const leak = human.tf.engine().state.numTensors - tensors; const leak = human.tf.engine().state.numTensors - tensors;
if (leak === 0) log('state', 'passeed: no memory leak'); if (leak === 0) log('state', 'passeed: no memory leak');
else log('error', 'failed: memory leak', leak); else log('error', 'failed: memory leak', leak);
// check if all instances reported same
const tensors1 = human.tf.engine().state.numTensors;
const tensors2 = first.tf.engine().state.numTensors;
const tensors3 = second.tf.engine().state.numTensors;
if (tensors1 === tensors2 && tensors1 === tensors3 && tensors2 === tensors3) log('state', 'passeed: equal usage');
else log('error', 'failed: equal usage', tensors1, tensors2, tensors3);
// report end
log('info', 'events:', evt); log('info', 'events:', evt);
log('info', 'test complete:', Math.trunc(Number(t1 - t0) / 1000 / 1000), 'ms'); log('info', 'test complete:', Math.trunc(Number(t1 - t0) / 1000 / 1000), 'ms');
} }

View File

@ -1,291 +1,297 @@
2021-09-17 14:29:35 INFO:  @vladmandic/human version 2.2.2 2021-09-18 19:06:19 INFO:  @vladmandic/human version 2.2.2
2021-09-17 14:29:35 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.5.0 2021-09-18 19:06:19 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.5.0
2021-09-17 14:29:35 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"] 2021-09-18 19:06:19 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"]
2021-09-17 14:29:35 INFO:  2021-09-18 19:06:19 INFO: 
2021-09-17 14:29:35 INFO:  test-node.js start 2021-09-18 19:06:19 INFO:  test-node.js start
2021-09-17 14:29:36 STATE: test-node.js passed: create human 2021-09-18 19:06:20 STATE: test-node.js passed: create human
2021-09-17 14:29:36 INFO:  test-node.js human version: 2.2.2 2021-09-18 19:06:20 INFO:  test-node.js human version: 2.2.2
2021-09-17 14:29:36 INFO:  test-node.js platform: linux x64 agent: NodeJS v16.5.0 2021-09-18 19:06:20 INFO:  test-node.js platform: linux x64 agent: NodeJS v16.5.0
2021-09-17 14:29:36 INFO:  test-node.js tfjs version: 3.9.0 2021-09-18 19:06:20 INFO:  test-node.js tfjs version: 3.9.0
2021-09-17 14:29:37 STATE: test-node.js passed: set backend: tensorflow 2021-09-18 19:06:20 STATE: test-node.js passed: set backend: tensorflow
2021-09-17 14:29:37 STATE: test-node.js tensors 573 2021-09-18 19:06:20 STATE: test-node.js tensors 573
2021-09-17 14:29:37 STATE: test-node.js passed: load models 2021-09-18 19:06:20 STATE: test-node.js passed: load models
2021-09-17 14:29:37 STATE: test-node.js result: defined models: 14 loaded models: 3 2021-09-18 19:06:20 STATE: test-node.js result: defined models: 14 loaded models: 3
2021-09-17 14:29:37 STATE: test-node.js passed: warmup: none default 2021-09-18 19:06:20 STATE: test-node.js passed: warmup: none default
2021-09-17 14:29:37 STATE: test-node.js event: image 2021-09-18 19:06:20 STATE: test-node.js event: image
2021-09-17 14:29:37 STATE: test-node.js event: detect 2021-09-18 19:06:21 STATE: test-node.js event: detect
2021-09-17 14:29:37 STATE: test-node.js event: warmup 2021-09-18 19:06:21 STATE: test-node.js event: warmup
2021-09-17 14:29:37 STATE: test-node.js passed: warmup: face default 2021-09-18 19:06:21 STATE: test-node.js passed: warmup: face default
2021-09-17 14:29:37 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":23.6,"gender":"female"} {} {} 2021-09-18 19:06:21 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":23.6,"gender":"female"} {} {}
2021-09-17 14:29:37 DATA:  test-node.js result: performance: load: 121 total: 616 2021-09-18 19:06:21 DATA:  test-node.js result: performance: load: 121 total: 577
2021-09-17 14:29:37 STATE: test-node.js event: image 2021-09-18 19:06:21 STATE: test-node.js event: image
2021-09-17 14:29:38 STATE: test-node.js event: detect 2021-09-18 19:06:21 STATE: test-node.js event: detect
2021-09-17 14:29:38 STATE: test-node.js event: warmup 2021-09-18 19:06:21 STATE: test-node.js event: warmup
2021-09-17 14:29:38 STATE: test-node.js passed: warmup: body default 2021-09-18 19:06:21 STATE: test-node.js passed: warmup: body default
2021-09-17 14:29:38 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 2 object: 0 person: 1 {"score":1,"age":29.5,"gender":"female"} {} {} 2021-09-18 19:06:21 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 2 object: 0 person: 1 {"score":1,"age":29.5,"gender":"female"} {} {}
2021-09-17 14:29:38 DATA:  test-node.js result: performance: load: 121 total: 314 2021-09-18 19:06:21 DATA:  test-node.js result: performance: load: 121 total: 320
2021-09-17 14:29:38 INFO:  test-node.js test default 2021-09-18 19:06:21 INFO:  test-node.js test default
2021-09-17 14:29:38 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-09-18 19:06:22 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:38 STATE: test-node.js event: image 2021-09-18 19:06:22 STATE: test-node.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:29:39 STATE: test-node.js event: detect 2021-09-18 19:06:22 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 2 object: 0 person: 1 {"score":1,"age":29.5,"gender":"female"} {} {}
2021-09-17 14:29:39 STATE: test-node.js passed: detect: samples/ai-body.jpg default 2021-09-18 19:06:22 DATA:  test-node.js result: performance: load: 0 total: 264
2021-09-17 14:29:39 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 2 object: 0 person: 1 {"score":1,"age":29.5,"gender":"female"} {} {} 2021-09-18 19:06:22 INFO:  test-node.js test detectors
2021-09-17 14:29:39 DATA:  test-node.js result: performance: load: 121 total: 258 2021-09-18 19:06:23 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:39 INFO:  test-node.js test body variants 2021-09-18 19:06:23 STATE: test-node.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:29:39 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-09-18 19:06:23 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.93,"age":29.5,"gender":"female"} {} {}
2021-09-17 14:29:39 STATE: test-node.js event: image 2021-09-18 19:06:23 DATA:  test-node.js result: performance: load: 1 total: 85
2021-09-17 14:29:40 STATE: test-node.js event: detect 2021-09-18 19:06:23 INFO:  test-node.js test body variants
2021-09-17 14:29:40 STATE: test-node.js passed: detect: samples/ai-body.jpg posenet 2021-09-18 19:06:24 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:40 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 2 object: 0 person: 1 {"score":1,"age":29.5,"gender":"female"} {} {} 2021-09-18 19:06:24 STATE: test-node.js passed: detect: samples/ai-body.jpg posenet
2021-09-17 14:29:40 DATA:  test-node.js result: performance: load: 121 total: 162 2021-09-18 19:06:24 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.93,"age":29.5,"gender":"female"} {} {}
2021-09-17 14:29:40 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-09-18 19:06:24 DATA:  test-node.js result: performance: load: 1 total: 102
2021-09-17 14:29:40 STATE: test-node.js event: image 2021-09-18 19:06:25 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:41 STATE: test-node.js event: detect 2021-09-18 19:06:25 STATE: test-node.js passed: detect: samples/ai-body.jpg movenet
2021-09-17 14:29:41 STATE: test-node.js passed: detect: samples/ai-body.jpg movenet 2021-09-18 19:06:25 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.93,"age":29.5,"gender":"female"} {} {}
2021-09-17 14:29:41 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 2 object: 0 person: 1 {"score":1,"age":29.5,"gender":"female"} {} {} 2021-09-18 19:06:25 DATA:  test-node.js result: performance: load: 1 total: 90
2021-09-17 14:29:41 DATA:  test-node.js result: performance: load: 121 total: 140 2021-09-18 19:06:25 STATE: test-node.js passed: detect: random default
2021-09-17 14:29:41 STATE: test-node.js event: image 2021-09-18 19:06:25 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {}
2021-09-17 14:29:41 STATE: test-node.js event: detect 2021-09-18 19:06:25 DATA:  test-node.js result: performance: load: 1 total: 77
2021-09-17 14:29:41 STATE: test-node.js passed: detect: random default 2021-09-18 19:06:25 INFO:  test-node.js test: first instance
2021-09-17 14:29:41 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} 2021-09-18 19:06:25 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:29:41 DATA:  test-node.js result: performance: load: 121 total: 52 2021-09-18 19:06:26 STATE: test-node.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:29:41 INFO:  test-node.js test: first instance 2021-09-18 19:06:26 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 0 person: 1 {"score":0.96,"age":29.5,"gender":"female"} {} {"score":0.69,"keypoints":10}
2021-09-17 14:29:41 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3] 2021-09-18 19:06:26 DATA:  test-node.js result: performance: load: 44 total: 286
2021-09-17 14:29:41 STATE: test-node.js event: image 2021-09-18 19:06:26 INFO:  test-node.js test: second instance
2021-09-17 14:29:41 STATE: test-node.js event: detect 2021-09-18 19:06:26 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:29:41 STATE: test-node.js passed: detect: samples/ai-upper.jpg default 2021-09-18 19:06:26 STATE: test-node.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:29:41 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} 2021-09-18 19:06:26 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 0 person: 1 {"score":0.96,"age":29.5,"gender":"female"} {} {"score":0.69,"keypoints":10}
2021-09-17 14:29:41 DATA:  test-node.js result: performance: load: 121 total: 0 2021-09-18 19:06:26 DATA:  test-node.js result: performance: load: 0 total: 73
2021-09-17 14:29:41 INFO:  test-node.js test: second instance 2021-09-18 19:06:26 INFO:  test-node.js test: concurrent
2021-09-17 14:29:41 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3] 2021-09-18 19:06:26 STATE: test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-17 14:29:42 STATE: test-node.js passed: detect: samples/ai-upper.jpg default 2021-09-18 19:06:26 STATE: test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-17 14:29:42 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":29.5,"gender":"female"} {} {"score":0.69,"keypoints":10} 2021-09-18 19:06:26 STATE: test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-17 14:29:42 DATA:  test-node.js result: performance: load: 62 total: 282 2021-09-18 19:06:27 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:42 INFO:  test-node.js test: concurrent 2021-09-18 19:06:28 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:42 STATE: test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3] 2021-09-18 19:06:29 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:42 STATE: test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3] 2021-09-18 19:06:29 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:29:43 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-09-18 19:06:29 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:29:43 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-09-18 19:06:30 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:29:44 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3] 2021-09-18 19:06:31 STATE: test-node.js passed: detect: samples/ai-face.jpg default
2021-09-17 14:29:44 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3] 2021-09-18 19:06:31 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.91,"age":23.6,"gender":"female"} {} {}
2021-09-17 14:29:44 STATE: test-node.js event: image 2021-09-18 19:06:31 DATA:  test-node.js result: performance: load: 1 total: 1598
2021-09-17 14:29:44 STATE: test-node.js event: image 2021-09-18 19:06:32 STATE: test-node.js passed: detect: samples/ai-face.jpg default
2021-09-17 14:29:44 STATE: test-node.js event: image 2021-09-18 19:06:32 DATA:  test-node.js result: face: 2 body: 1 hand: 0 gesture: 0 object: 0 person: 2 {"score":0.91,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":4}
2021-09-17 14:29:45 STATE: test-node.js passed: detect: samples/ai-body.jpg default 2021-09-18 19:06:32 DATA:  test-node.js result: performance: load: 44 total: 2782
2021-09-17 14:29:45 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 1 object: 0 person: 0 {} {} {"score":0.69,"keypoints":10} 2021-09-18 19:06:32 STATE: test-node.js passed: detect: samples/ai-face.jpg default
2021-09-17 14:29:45 DATA:  test-node.js result: performance: load: 62 total: 552 2021-09-18 19:06:32 DATA:  test-node.js result: face: 3 body: 1 hand: 0 gesture: 0 object: 0 person: 3 {"score":0.91,"age":29.2,"gender":"male"} {} {"score":0.47,"keypoints":4}
2021-09-17 14:29:45 STATE: test-node.js passed: detect: samples/ai-upper.jpg default 2021-09-18 19:06:32 DATA:  test-node.js result: performance: load: 0 total: 2839
2021-09-17 14:29:45 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":29.5,"gender":"female"} {} {"score":0.69,"keypoints":10} 2021-09-18 19:06:33 STATE: test-node.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:29:45 DATA:  test-node.js result: performance: load: 62 total: 635 2021-09-18 19:06:33 DATA:  test-node.js result: face: 4 body: 0 hand: 0 gesture: 0 object: 0 person: 4 {"score":0.91,"age":29.2,"gender":"male"} {} {}
2021-09-17 14:29:45 STATE: test-node.js passed: detect: samples/ai-face.jpg default 2021-09-18 19:06:33 DATA:  test-node.js result: performance: load: 1 total: 3302
2021-09-17 14:29:45 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 5 object: 0 person: 1 {"score":0.42,"age":29.5,"gender":"female"} {} {"score":0.47,"keypoints":4} 2021-09-18 19:06:34 STATE: test-node.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:29:45 DATA:  test-node.js result: performance: load: 62 total: 782 2021-09-18 19:06:34 DATA:  test-node.js result: face: 5 body: 1 hand: 0 gesture: 1 object: 0 person: 5 {"score":0.91,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:29:45 STATE: test-node.js event: detect 2021-09-18 19:06:34 DATA:  test-node.js result: performance: load: 44 total: 4027
2021-09-17 14:29:45 STATE: test-node.js passed: detect: samples/ai-body.jpg default 2021-09-18 19:06:34 STATE: test-node.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:29:45 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} 2021-09-18 19:06:34 DATA:  test-node.js result: face: 6 body: 1 hand: 0 gesture: 1 object: 0 person: 6 {"score":0.91,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:29:45 DATA:  test-node.js result: performance: load: 121 total: 1137 2021-09-18 19:06:34 DATA:  test-node.js result: performance: load: 0 total: 4066
2021-09-17 14:29:45 STATE: test-node.js event: detect 2021-09-18 19:06:34 STATE: test-node.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:29:45 STATE: test-node.js passed: detect: samples/ai-upper.jpg default 2021-09-18 19:06:34 DATA:  test-node.js result: face: 7 body: 0 hand: 0 gesture: 0 object: 0 person: 7 {"score":0.91,"age":29.2,"gender":"male"} {} {}
2021-09-17 14:29:45 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 2 object: 0 person: 1 {"score":1,"age":29.5,"gender":"female"} {} {} 2021-09-18 19:06:34 DATA:  test-node.js result: performance: load: 1 total: 4331
2021-09-17 14:29:45 DATA:  test-node.js result: performance: load: 121 total: 1369 2021-09-18 19:06:34 STATE: test-node.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:29:45 STATE: test-node.js event: detect 2021-09-18 19:06:34 DATA:  test-node.js result: face: 8 body: 1 hand: 0 gesture: 1 object: 0 person: 8 {"score":0.91,"age":29.2,"gender":"male"} {} {"score":0.69,"keypoints":10}
2021-09-17 14:29:45 STATE: test-node.js passed: detect: samples/ai-face.jpg default 2021-09-18 19:06:34 DATA:  test-node.js result: performance: load: 44 total: 4601
2021-09-17 14:29:45 DATA:  test-node.js result: face: 2 body: 0 hand: 0 gesture: 9 object: 0 person: 2 {"score":1,"age":23.6,"gender":"female"} {} {} 2021-09-18 19:06:34 STATE: test-node.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:29:45 DATA:  test-node.js result: performance: load: 121 total: 1453 2021-09-18 19:06:34 DATA:  test-node.js result: face: 9 body: 1 hand: 0 gesture: 1 object: 0 person: 9 {"score":0.91,"age":29.2,"gender":"male"} {} {"score":0.69,"keypoints":10}
2021-09-17 14:29:45 STATE: test-node.js passeed: no memory leak 2021-09-18 19:06:34 DATA:  test-node.js result: performance: load: 0 total: 4601
2021-09-17 14:29:45 INFO:  test-node.js events: {"image":10,"detect":10,"warmup":2} 2021-09-18 19:06:34 STATE: test-node.js passeed: no memory leak
2021-09-17 14:29:45 INFO:  test-node.js test complete: 8981 ms 2021-09-18 19:06:34 STATE: test-node.js passeed: equal usage
2021-09-17 14:29:45 INFO:  2021-09-18 19:06:34 INFO:  test-node.js events: {"image":2,"detect":2,"warmup":2}
2021-09-17 14:29:45 INFO:  test-node-gpu.js start 2021-09-18 19:06:34 INFO:  test-node.js test complete: 14111 ms
2021-09-17 14:29:47 WARN:  test-node-gpu.js stderr: 2021-09-17 14:29:47.030520: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory 2021-09-18 19:06:34 INFO: 
2021-09-17 14:29:47 WARN:  test-node-gpu.js stderr: 2021-09-17 14:29:47.286695: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory 2021-09-18 19:06:34 INFO:  test-node-gpu.js start
2021-09-17 14:29:47 WARN:  test-node-gpu.js stderr: 2021-09-17 14:29:47.286735: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (wyse): /proc/driver/nvidia/version does not exist 2021-09-18 19:06:35 WARN:  test-node-gpu.js stderr: 2021-09-18 19:06:35.339859: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory
2021-09-17 14:29:47 STATE: test-node-gpu.js passed: create human 2021-09-18 19:06:35 WARN:  test-node-gpu.js stderr: 2021-09-18 19:06:35.517226: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory
2021-09-17 14:29:47 INFO:  test-node-gpu.js human version: 2.2.2 2021-09-18 19:06:35 WARN:  test-node-gpu.js stderr: 2021-09-18 19:06:35.517278: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (wyse): /proc/driver/nvidia/version does not exist
2021-09-17 14:29:47 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v16.5.0 2021-09-18 19:06:35 STATE: test-node-gpu.js passed: create human
2021-09-17 14:29:47 INFO:  test-node-gpu.js tfjs version: 3.9.0 2021-09-18 19:06:35 INFO:  test-node-gpu.js human version: 2.2.2
2021-09-17 14:29:47 STATE: test-node-gpu.js passed: set backend: tensorflow 2021-09-18 19:06:35 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v16.5.0
2021-09-17 14:29:47 STATE: test-node-gpu.js tensors 1456 2021-09-18 19:06:35 INFO:  test-node-gpu.js tfjs version: 3.9.0
2021-09-17 14:29:47 STATE: test-node-gpu.js passed: load models 2021-09-18 19:06:35 STATE: test-node-gpu.js passed: set backend: tensorflow
2021-09-17 14:29:47 STATE: test-node-gpu.js result: defined models: 14 loaded models: 7 2021-09-18 19:06:35 STATE: test-node-gpu.js tensors 1456
2021-09-17 14:29:47 STATE: test-node-gpu.js passed: warmup: none default 2021-09-18 19:06:35 STATE: test-node-gpu.js passed: load models
2021-09-17 14:29:47 STATE: test-node-gpu.js event: image 2021-09-18 19:06:35 STATE: test-node-gpu.js result: defined models: 14 loaded models: 7
2021-09-17 14:29:49 STATE: test-node-gpu.js event: detect 2021-09-18 19:06:35 STATE: test-node-gpu.js passed: warmup: none default
2021-09-17 14:29:49 STATE: test-node-gpu.js event: warmup 2021-09-18 19:06:35 STATE: test-node-gpu.js event: image
2021-09-17 14:29:49 STATE: test-node-gpu.js passed: warmup: face default 2021-09-18 19:06:37 STATE: test-node-gpu.js event: detect
2021-09-17 14:29:49 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4} 2021-09-18 19:06:37 STATE: test-node-gpu.js event: warmup
2021-09-17 14:29:49 DATA:  test-node-gpu.js result: performance: load: 288 total: 1336 2021-09-18 19:06:37 STATE: test-node-gpu.js passed: warmup: face default
2021-09-17 14:29:49 STATE: test-node-gpu.js event: image 2021-09-18 19:06:37 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4}
2021-09-17 14:29:50 STATE: test-node-gpu.js event: detect 2021-09-18 19:06:37 DATA:  test-node-gpu.js result: performance: load: 289 total: 1125
2021-09-17 14:29:50 STATE: test-node-gpu.js event: warmup 2021-09-18 19:06:37 STATE: test-node-gpu.js event: image
2021-09-17 14:29:50 STATE: test-node-gpu.js passed: warmup: body default 2021-09-18 19:06:38 STATE: test-node-gpu.js event: detect
2021-09-17 14:29:50 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 2021-09-18 19:06:38 STATE: test-node-gpu.js event: warmup
2021-09-17 14:29:50 DATA:  test-node-gpu.js result: performance: load: 288 total: 1064 2021-09-18 19:06:38 STATE: test-node-gpu.js passed: warmup: body default
2021-09-17 14:29:50 INFO:  test-node-gpu.js test default 2021-09-18 19:06:38 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-09-17 14:29:51 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-09-18 19:06:38 DATA:  test-node-gpu.js result: performance: load: 289 total: 1084
2021-09-17 14:29:51 STATE: test-node-gpu.js event: image 2021-09-18 19:06:38 INFO:  test-node-gpu.js test default
2021-09-17 14:29:51 STATE: test-node-gpu.js event: detect 2021-09-18 19:06:39 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:51 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default 2021-09-18 19:06:39 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:29:51 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 2021-09-18 19:06:39 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-09-17 14:29:51 DATA:  test-node-gpu.js result: performance: load: 288 total: 545 2021-09-18 19:06:39 DATA:  test-node-gpu.js result: performance: load: 6 total: 591
2021-09-17 14:29:51 INFO:  test-node-gpu.js test body variants 2021-09-18 19:06:39 INFO:  test-node-gpu.js test detectors
2021-09-17 14:29:52 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-09-18 19:06:40 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:52 STATE: test-node-gpu.js event: image 2021-09-18 19:06:41 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:29:52 STATE: test-node-gpu.js event: detect 2021-09-18 19:06:41 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 1 person: 1 {"score":0.93,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-09-17 14:29:52 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg posenet 2021-09-18 19:06:41 DATA:  test-node-gpu.js result: performance: load: 2 total: 592
2021-09-17 14:29:52 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.96,"keypoints":16} 2021-09-18 19:06:41 INFO:  test-node-gpu.js test body variants
2021-09-17 14:29:52 DATA:  test-node-gpu.js result: performance: load: 288 total: 278 2021-09-18 19:06:41 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:53 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-09-18 19:06:42 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg posenet
2021-09-17 14:29:53 STATE: test-node-gpu.js event: image 2021-09-18 19:06:42 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 1 person: 1 {"score":0.93,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.96,"keypoints":16}
2021-09-17 14:29:53 STATE: test-node-gpu.js event: detect 2021-09-18 19:06:42 DATA:  test-node-gpu.js result: performance: load: 35 total: 185
2021-09-17 14:29:53 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg movenet 2021-09-18 19:06:42 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:53 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 2021-09-18 19:06:43 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg movenet
2021-09-17 14:29:53 DATA:  test-node-gpu.js result: performance: load: 288 total: 264 2021-09-18 19:06:43 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 1 person: 1 {"score":0.93,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-09-17 14:29:54 STATE: test-node-gpu.js event: image 2021-09-18 19:06:43 DATA:  test-node-gpu.js result: performance: load: 35 total: 75
2021-09-17 14:29:54 STATE: test-node-gpu.js event: detect 2021-09-18 19:06:43 STATE: test-node-gpu.js passed: detect: random default
2021-09-17 14:29:54 STATE: test-node-gpu.js passed: detect: random default 2021-09-18 19:06:43 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 1 person: 0 {} {"score":0.72,"class":"person"} {"score":0,"keypoints":0}
2021-09-17 14:29:54 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} 2021-09-18 19:06:43 DATA:  test-node-gpu.js result: performance: load: 35 total: 155
2021-09-17 14:29:54 DATA:  test-node-gpu.js result: performance: load: 288 total: 576 2021-09-18 19:06:43 INFO:  test-node-gpu.js test: first instance
2021-09-17 14:29:54 INFO:  test-node-gpu.js test: first instance 2021-09-18 19:06:43 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:29:54 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3] 2021-09-18 19:06:43 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:29:54 STATE: test-node-gpu.js event: image 2021-09-18 19:06:43 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 1 person: 1 {"score":0.96,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-17 14:29:55 STATE: test-node-gpu.js event: detect 2021-09-18 19:06:43 DATA:  test-node-gpu.js result: performance: load: 4 total: 340
2021-09-17 14:29:55 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default 2021-09-18 19:06:43 INFO:  test-node-gpu.js test: second instance
2021-09-17 14:29:55 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10} 2021-09-18 19:06:44 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:29:55 DATA:  test-node-gpu.js result: performance: load: 288 total: 806 2021-09-18 19:06:44 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:29:55 INFO:  test-node-gpu.js test: second instance 2021-09-18 19:06:44 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 1 person: 1 {"score":0.96,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-17 14:29:55 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3] 2021-09-18 19:06:44 DATA:  test-node-gpu.js result: performance: load: 3 total: 230
2021-09-17 14:29:56 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default 2021-09-18 19:06:44 INFO:  test-node-gpu.js test: concurrent
2021-09-17 14:29:56 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10} 2021-09-18 19:06:44 STATE: test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-17 14:29:56 DATA:  test-node-gpu.js result: performance: load: 3 total: 349 2021-09-18 19:06:44 STATE: test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-17 14:29:56 INFO:  test-node-gpu.js test: concurrent 2021-09-18 19:06:44 STATE: test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-17 14:29:56 STATE: test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3] 2021-09-18 19:06:45 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:56 STATE: test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3] 2021-09-18 19:06:46 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:57 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-09-18 19:06:47 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:58 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-09-18 19:06:47 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:29:58 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3] 2021-09-18 19:06:47 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:29:58 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3] 2021-09-18 19:06:48 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:29:58 STATE: test-node-gpu.js event: image 2021-09-18 19:06:52 STATE: test-node-gpu.js passed: detect: samples/ai-face.jpg default
2021-09-17 14:29:58 STATE: test-node-gpu.js event: image 2021-09-18 19:06:52 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 1 person: 1 {"score":0.91,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":10}
2021-09-17 14:29:58 STATE: test-node-gpu.js event: image 2021-09-18 19:06:52 DATA:  test-node-gpu.js result: performance: load: 35 total: 3949
2021-09-17 14:30:00 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default 2021-09-18 19:06:52 STATE: test-node-gpu.js passed: detect: samples/ai-face.jpg default
2021-09-17 14:30:00 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 1 object: 1 person: 0 {} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10} 2021-09-18 19:06:52 DATA:  test-node-gpu.js result: face: 2 body: 1 hand: 0 gesture: 1 object: 1 person: 2 {"score":0.91,"age":23.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-17 14:30:00 DATA:  test-node-gpu.js result: performance: load: 3 total: 1921 2021-09-18 19:06:52 DATA:  test-node-gpu.js result: performance: load: 7 total: 4514
2021-09-17 14:30:00 STATE: test-node-gpu.js passed: detect: samples/ai-face.jpg default 2021-09-18 19:06:53 STATE: test-node-gpu.js passed: detect: samples/ai-face.jpg default
2021-09-17 14:30:00 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 6 object: 1 person: 1 {"score":0.42,"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10} 2021-09-18 19:06:53 DATA:  test-node-gpu.js result: face: 3 body: 1 hand: 0 gesture: 1 object: 1 person: 3 {"score":0.91,"age":29.2,"gender":"male"} {"score":0.72,"class":"person"} {"score":0.47,"keypoints":10}
2021-09-17 14:30:00 DATA:  test-node-gpu.js result: performance: load: 3 total: 1928 2021-09-18 19:06:53 DATA:  test-node-gpu.js result: performance: load: 7 total: 4975
2021-09-17 14:30:00 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default 2021-09-18 19:06:53 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:30:00 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10} 2021-09-18 19:06:53 DATA:  test-node-gpu.js result: face: 4 body: 1 hand: 0 gesture: 1 object: 1 person: 4 {"score":0.91,"age":29.2,"gender":"male"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":10}
2021-09-17 14:30:00 DATA:  test-node-gpu.js result: performance: load: 3 total: 1928 2021-09-18 19:06:53 DATA:  test-node-gpu.js result: performance: load: 35 total: 5373
2021-09-17 14:30:01 STATE: test-node-gpu.js event: detect 2021-09-18 19:06:53 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:30:01 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default 2021-09-18 19:06:53 DATA:  test-node-gpu.js result: face: 5 body: 1 hand: 0 gesture: 1 object: 1 person: 5 {"score":0.91,"age":29.2,"gender":"male"} {"score":0.72,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-17 14:30:01 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 1 object: 1 person: 0 {} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":10} 2021-09-18 19:06:53 DATA:  test-node-gpu.js result: performance: load: 7 total: 5730
2021-09-17 14:30:01 DATA:  test-node-gpu.js result: performance: load: 288 total: 2633 2021-09-18 19:06:54 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:30:01 STATE: test-node-gpu.js event: detect 2021-09-18 19:06:54 DATA:  test-node-gpu.js result: face: 6 body: 1 hand: 0 gesture: 1 object: 1 person: 6 {"score":0.91,"age":29.2,"gender":"male"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":10}
2021-09-17 14:30:01 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default 2021-09-18 19:06:54 DATA:  test-node-gpu.js result: performance: load: 7 total: 5956
2021-09-17 14:30:01 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10} 2021-09-18 19:06:54 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:30:01 DATA:  test-node-gpu.js result: performance: load: 288 total: 2792 2021-09-18 19:06:54 DATA:  test-node-gpu.js result: face: 7 body: 1 hand: 0 gesture: 1 object: 1 person: 7 {"score":0.91,"age":29.2,"gender":"male"} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-17 14:30:01 STATE: test-node-gpu.js event: detect 2021-09-18 19:06:54 DATA:  test-node-gpu.js result: performance: load: 35 total: 6115
2021-09-17 14:30:01 STATE: test-node-gpu.js passed: detect: samples/ai-face.jpg default 2021-09-18 19:06:54 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:30:01 DATA:  test-node-gpu.js result: face: 2 body: 1 hand: 0 gesture: 10 object: 1 person: 2 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":10} 2021-09-18 19:06:54 DATA:  test-node-gpu.js result: face: 8 body: 1 hand: 0 gesture: 1 object: 1 person: 8 {"score":0.91,"age":29.2,"gender":"male"} {"score":0.72,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-17 14:30:01 DATA:  test-node-gpu.js result: performance: load: 288 total: 2869 2021-09-18 19:06:54 DATA:  test-node-gpu.js result: performance: load: 7 total: 6200
2021-09-17 14:30:01 STATE: test-node-gpu.js passeed: no memory leak 2021-09-18 19:06:54 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:30:01 INFO:  test-node-gpu.js events: {"image":10,"detect":10,"warmup":2} 2021-09-18 19:06:54 DATA:  test-node-gpu.js result: face: 9 body: 1 hand: 0 gesture: 1 object: 1 person: 9 {"score":0.91,"age":29.2,"gender":"male"} {"score":0.72,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-17 14:30:01 INFO:  test-node-gpu.js test complete: 14214 ms 2021-09-18 19:06:54 DATA:  test-node-gpu.js result: performance: load: 7 total: 6201
2021-09-17 14:30:01 INFO:  2021-09-18 19:06:54 STATE: test-node-gpu.js passeed: no memory leak
2021-09-17 14:30:01 INFO:  test-node-wasm.js start 2021-09-18 19:06:54 STATE: test-node-gpu.js passeed: equal usage
2021-09-17 14:30:02 STATE: test-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/ 2021-09-18 19:06:54 INFO:  test-node-gpu.js events: {"image":2,"detect":2,"warmup":2}
2021-09-17 14:30:02 STATE: test-node-wasm.js passed: create human 2021-09-18 19:06:54 INFO:  test-node-gpu.js test complete: 18686 ms
2021-09-17 14:30:02 INFO:  test-node-wasm.js human version: 2.2.2 2021-09-18 19:06:54 INFO: 
2021-09-17 14:30:02 INFO:  test-node-wasm.js platform: linux x64 agent: NodeJS v16.5.0 2021-09-18 19:06:54 INFO:  test-node-wasm.js start
2021-09-17 14:30:02 INFO:  test-node-wasm.js tfjs version: 3.9.0 2021-09-18 19:06:54 STATE: test-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/
2021-09-17 14:30:05 STATE: test-node-wasm.js passed: set backend: wasm 2021-09-18 19:06:54 STATE: test-node-wasm.js passed: create human
2021-09-17 14:30:05 STATE: test-node-wasm.js tensors 1189 2021-09-18 19:06:54 INFO:  test-node-wasm.js human version: 2.2.2
2021-09-17 14:30:05 STATE: test-node-wasm.js passed: load models 2021-09-18 19:06:54 INFO:  test-node-wasm.js platform: linux x64 agent: NodeJS v16.5.0
2021-09-17 14:30:05 STATE: test-node-wasm.js result: defined models: 14 loaded models: 6 2021-09-18 19:06:54 INFO:  test-node-wasm.js tfjs version: 3.9.0
2021-09-17 14:30:05 STATE: test-node-wasm.js passed: warmup: none default 2021-09-18 19:06:56 STATE: test-node-wasm.js passed: set backend: wasm
2021-09-17 14:30:05 STATE: test-node-wasm.js event: image 2021-09-18 19:06:56 STATE: test-node-wasm.js tensors 1189
2021-09-17 14:30:06 STATE: test-node-wasm.js event: detect 2021-09-18 19:06:56 STATE: test-node-wasm.js passed: load models
2021-09-17 14:30:06 STATE: test-node-wasm.js event: warmup 2021-09-18 19:06:56 STATE: test-node-wasm.js result: defined models: 14 loaded models: 6
2021-09-17 14:30:06 STATE: test-node-wasm.js passed: warmup: face default 2021-09-18 19:06:56 STATE: test-node-wasm.js passed: warmup: none default
2021-09-17 14:30:06 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":23.6,"gender":"female"} {} {"score":0.47,"keypoints":4} 2021-09-18 19:06:57 STATE: test-node-wasm.js event: image
2021-09-17 14:30:06 DATA:  test-node-wasm.js result: performance: load: 2643 total: 1096 2021-09-18 19:06:57 STATE: test-node-wasm.js event: detect
2021-09-17 14:30:09 STATE: test-node-wasm.js event: image 2021-09-18 19:06:57 STATE: test-node-wasm.js event: warmup
2021-09-17 14:30:10 STATE: test-node-wasm.js event: detect 2021-09-18 19:06:57 STATE: test-node-wasm.js passed: warmup: face default
2021-09-17 14:30:10 STATE: test-node-wasm.js event: warmup 2021-09-18 19:06:57 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":23.6,"gender":"female"} {} {"score":0.47,"keypoints":4}
2021-09-17 14:30:10 STATE: test-node-wasm.js passed: warmup: body default 2021-09-18 19:06:57 DATA:  test-node-wasm.js result: performance: load: 1917 total: 1032
2021-09-17 14:30:10 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17} 2021-09-18 19:07:01 STATE: test-node-wasm.js event: image
2021-09-17 14:30:10 DATA:  test-node-wasm.js result: performance: load: 2643 total: 2622 2021-09-18 19:07:02 STATE: test-node-wasm.js event: detect
2021-09-17 14:30:10 INFO:  test-node-wasm.js test default 2021-09-18 19:07:02 STATE: test-node-wasm.js event: warmup
2021-09-17 14:30:12 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-09-18 19:07:02 STATE: test-node-wasm.js passed: warmup: body default
2021-09-17 14:30:13 STATE: test-node-wasm.js event: image 2021-09-18 19:07:02 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:14 STATE: test-node-wasm.js event: detect 2021-09-18 19:07:02 DATA:  test-node-wasm.js result: performance: load: 1917 total: 2626
2021-09-17 14:30:14 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default 2021-09-18 19:07:02 INFO:  test-node-wasm.js test default
2021-09-17 14:30:14 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17} 2021-09-18 19:07:03 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:30:14 DATA:  test-node-wasm.js result: performance: load: 2643 total: 2315 2021-09-18 19:07:06 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:30:14 INFO:  test-node-wasm.js test body variants 2021-09-18 19:07:06 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:16 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-09-18 19:07:06 DATA:  test-node-wasm.js result: performance: load: 4 total: 2293
2021-09-17 14:30:17 STATE: test-node-wasm.js event: image 2021-09-18 19:07:06 INFO:  test-node-wasm.js test detectors
2021-09-17 14:30:18 STATE: test-node-wasm.js event: detect 2021-09-18 19:07:07 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:30:18 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg posenet 2021-09-18 19:07:09 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:30:18 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.96,"keypoints":16} 2021-09-18 19:07:09 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 0 person: 1 {"score":0.93,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:18 DATA:  test-node-wasm.js result: performance: load: 2643 total: 1834 2021-09-18 19:07:09 DATA:  test-node-wasm.js result: performance: load: 15 total: 2300
2021-09-17 14:30:19 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-09-18 19:07:09 INFO:  test-node-wasm.js test body variants
2021-09-17 14:30:21 STATE: test-node-wasm.js event: image 2021-09-18 19:07:11 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:30:21 STATE: test-node-wasm.js event: detect 2021-09-18 19:07:13 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg posenet
2021-09-17 14:30:21 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg movenet 2021-09-18 19:07:13 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 0 person: 1 {"score":0.93,"age":28.5,"gender":"female"} {} {"score":0.96,"keypoints":16}
2021-09-17 14:30:21 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17} 2021-09-18 19:07:13 DATA:  test-node-wasm.js result: performance: load: 316 total: 1938
2021-09-17 14:30:21 DATA:  test-node-wasm.js result: performance: load: 2643 total: 1818 2021-09-18 19:07:15 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:30:23 STATE: test-node-wasm.js event: image 2021-09-18 19:07:16 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg movenet
2021-09-17 14:30:23 STATE: test-node-wasm.js event: detect 2021-09-18 19:07:16 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 0 person: 1 {"score":0.93,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:23 STATE: test-node-wasm.js passed: detect: random default 2021-09-18 19:07:16 DATA:  test-node-wasm.js result: performance: load: 316 total: 1751
2021-09-17 14:30:23 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17} 2021-09-18 19:07:18 STATE: test-node-wasm.js passed: detect: random default
2021-09-17 14:30:23 DATA:  test-node-wasm.js result: performance: load: 2643 total: 1655 2021-09-18 19:07:18 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 0 person: 1 {"score":0.93,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:23 INFO:  test-node-wasm.js test: first instance 2021-09-18 19:07:18 DATA:  test-node-wasm.js result: performance: load: 316 total: 1734
2021-09-17 14:30:23 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3] 2021-09-18 19:07:18 INFO:  test-node-wasm.js test: first instance
2021-09-17 14:30:25 STATE: test-node-wasm.js event: image 2021-09-18 19:07:19 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:30:25 STATE: test-node-wasm.js event: detect 2021-09-18 19:07:21 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:30:25 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default 2021-09-18 19:07:21 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 0 person: 1 {"score":0.93,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:25 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17} 2021-09-18 19:07:21 DATA:  test-node-wasm.js result: performance: load: 6 total: 2225
2021-09-17 14:30:25 DATA:  test-node-wasm.js result: performance: load: 2643 total: 1725 2021-09-18 19:07:21 INFO:  test-node-wasm.js test: second instance
2021-09-17 14:30:25 INFO:  test-node-wasm.js test: second instance 2021-09-18 19:07:22 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:30:26 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3] 2021-09-18 19:07:24 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:30:28 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default 2021-09-18 19:07:24 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 0 person: 1 {"score":0.93,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:28 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17} 2021-09-18 19:07:24 DATA:  test-node-wasm.js result: performance: load: 3 total: 2260
2021-09-17 14:30:28 DATA:  test-node-wasm.js result: performance: load: 4 total: 2203 2021-09-18 19:07:24 INFO:  test-node-wasm.js test: concurrent
2021-09-17 14:30:28 INFO:  test-node-wasm.js test: concurrent 2021-09-18 19:07:24 STATE: test-node-wasm.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-17 14:30:28 STATE: test-node-wasm.js passed: load image: samples/ai-face.jpg [1,256,256,3] 2021-09-18 19:07:24 STATE: test-node-wasm.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-17 14:30:28 STATE: test-node-wasm.js passed: load image: samples/ai-face.jpg [1,256,256,3] 2021-09-18 19:07:24 STATE: test-node-wasm.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-17 14:30:30 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-09-18 19:07:26 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:30:31 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-09-18 19:07:27 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:30:32 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3] 2021-09-18 19:07:29 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:30:32 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3] 2021-09-18 19:07:30 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:30:34 STATE: test-node-wasm.js event: image 2021-09-18 19:07:30 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:30:37 STATE: test-node-wasm.js event: image 2021-09-18 19:07:31 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:30:40 STATE: test-node-wasm.js event: image 2021-09-18 19:07:47 STATE: test-node-wasm.js passed: detect: samples/ai-face.jpg default
2021-09-17 14:30:42 STATE: test-node-wasm.js passed: detect: samples/ai-face.jpg default 2021-09-18 19:07:47 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 0 person: 1 {"score":0.93,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:42 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17} 2021-09-18 19:07:47 DATA:  test-node-wasm.js result: performance: load: 316 total: 15299
2021-09-17 14:30:42 DATA:  test-node-wasm.js result: performance: load: 4 total: 10299 2021-09-18 19:07:50 STATE: test-node-wasm.js passed: detect: samples/ai-face.jpg default
2021-09-17 14:30:42 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default 2021-09-18 19:07:50 DATA:  test-node-wasm.js result: face: 2 body: 1 hand: 0 gesture: 1 object: 0 person: 2 {"score":0.93,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:42 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17} 2021-09-18 19:07:50 DATA:  test-node-wasm.js result: performance: load: 6 total: 19352
2021-09-17 14:30:42 DATA:  test-node-wasm.js result: performance: load: 4 total: 10299 2021-09-18 19:07:50 STATE: test-node-wasm.js passed: detect: samples/ai-face.jpg default
2021-09-17 14:30:42 STATE: test-node-wasm.js event: detect 2021-09-18 19:07:50 DATA:  test-node-wasm.js result: face: 3 body: 1 hand: 0 gesture: 1 object: 0 person: 3 {"score":0.93,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:42 STATE: test-node-wasm.js event: detect 2021-09-18 19:07:50 DATA:  test-node-wasm.js result: performance: load: 3 total: 19421
2021-09-17 14:30:42 STATE: test-node-wasm.js event: detect 2021-09-18 19:07:52 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:30:42 STATE: test-node-wasm.js passed: detect: samples/ai-face.jpg default 2021-09-18 19:07:52 DATA:  test-node-wasm.js result: face: 4 body: 1 hand: 0 gesture: 1 object: 0 person: 4 {"score":0.93,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:42 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17} 2021-09-18 19:07:52 DATA:  test-node-wasm.js result: performance: load: 316 total: 21349
2021-09-17 14:30:43 DATA:  test-node-wasm.js result: performance: load: 2643 total: 10301 2021-09-18 19:07:52 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:30:43 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default 2021-09-18 19:07:52 DATA:  test-node-wasm.js result: face: 5 body: 1 hand: 0 gesture: 1 object: 0 person: 5 {"score":0.93,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:43 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17} 2021-09-18 19:07:52 DATA:  test-node-wasm.js result: performance: load: 6 total: 21394
2021-09-17 14:30:43 DATA:  test-node-wasm.js result: performance: load: 2643 total: 10301 2021-09-18 19:07:53 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:30:43 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default 2021-09-18 19:07:53 DATA:  test-node-wasm.js result: face: 6 body: 1 hand: 0 gesture: 1 object: 0 person: 6 {"score":0.93,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:43 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17} 2021-09-18 19:07:53 DATA:  test-node-wasm.js result: performance: load: 3 total: 22600
2021-09-17 14:30:43 DATA:  test-node-wasm.js result: performance: load: 2643 total: 10301 2021-09-18 19:07:53 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:30:43 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default 2021-09-18 19:07:53 DATA:  test-node-wasm.js result: face: 7 body: 1 hand: 0 gesture: 1 object: 0 person: 7 {"score":0.93,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:43 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17} 2021-09-18 19:07:53 DATA:  test-node-wasm.js result: performance: load: 316 total: 22621
2021-09-17 14:30:43 DATA:  test-node-wasm.js result: performance: load: 4 total: 10302 2021-09-18 19:07:54 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:30:43 STATE: test-node-wasm.js passeed: no memory leak 2021-09-18 19:07:54 DATA:  test-node-wasm.js result: face: 8 body: 1 hand: 0 gesture: 1 object: 0 person: 8 {"score":0.93,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:43 INFO:  test-node-wasm.js events: {"image":10,"detect":10,"warmup":2} 2021-09-18 19:07:54 DATA:  test-node-wasm.js result: performance: load: 6 total: 23178
2021-09-17 14:30:43 INFO:  test-node-wasm.js test complete: 40564 ms 2021-09-18 19:07:54 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:30:43 INFO:  2021-09-18 19:07:54 DATA:  test-node-wasm.js result: face: 9 body: 1 hand: 0 gesture: 1 object: 0 person: 9 {"score":0.93,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:43 INFO:  status: {"passed":88,"failed":0} 2021-09-18 19:07:54 DATA:  test-node-wasm.js result: performance: load: 3 total: 23179
2021-09-18 19:07:54 STATE: test-node-wasm.js passeed: no memory leak
2021-09-18 19:07:54 STATE: test-node-wasm.js passeed: equal usage
2021-09-18 19:07:54 INFO:  test-node-wasm.js events: {"image":2,"detect":2,"warmup":2}
2021-09-18 19:07:54 INFO:  test-node-wasm.js test complete: 59343 ms
2021-09-18 19:07:54 INFO: 
2021-09-18 19:07:54 INFO:  status: {"passed":112,"failed":0}

1
typedoc/.nojekyll Normal file
View File

@ -0,0 +1 @@
TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,22 @@
:root {
--light-code-background: #FFFFFF;
--dark-code-background: #1E1E1E;
}
@media (prefers-color-scheme: light) { :root {
--code-background: var(--light-code-background);
} }
@media (prefers-color-scheme: dark) { :root {
--code-background: var(--dark-code-background);
} }
body.light {
--code-background: var(--light-code-background);
}
body.dark {
--code-background: var(--dark-code-background);
}
pre, code { background: var(--code-background); }

1043
typedoc/assets/icons.css Normal file

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

File diff suppressed because one or more lines are too long

52
typedoc/assets/main.js Normal file

File diff suppressed because one or more lines are too long

1384
typedoc/assets/style.css Normal file

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 480 B

After

Width:  |  Height:  |  Size: 480 B

View File

Before

Width:  |  Height:  |  Size: 855 B

After

Width:  |  Height:  |  Size: 855 B

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,497 +1,40 @@
<!doctype html> <!DOCTYPE html><html class="default no-js"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Config | @vladmandic/human - v2.2.2</title><meta name="description" content="Documentation for @vladmandic/human - v2.2.2"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@vladmandic/human - v2.2.2</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../index.html">@vladmandic/human - v2.2.2</a></li><li><a href="Config.html">Config</a></li></ul><h1>Interface Config</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
<html class="default no-js"> <p>Configuration interface definition for <strong>Human</strong> library</p>
<head> </div><div><p>Contains all configurable parameters</p>
<meta charset="utf-8"> </div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">Config</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#async" class="tsd-kind-icon">async</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#backend" class="tsd-kind-icon">backend</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#body" class="tsd-kind-icon">body</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#cacheSensitivity" class="tsd-kind-icon">cache<wbr/>Sensitivity</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#debug" class="tsd-kind-icon">debug</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#face" class="tsd-kind-icon">face</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#filter" class="tsd-kind-icon">filter</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#gesture" class="tsd-kind-icon">gesture</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#hand" class="tsd-kind-icon">hand</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#modelBasePath" class="tsd-kind-icon">model<wbr/>Base<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#object" class="tsd-kind-icon">object</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#segmentation" class="tsd-kind-icon">segmentation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#skipFrame" class="tsd-kind-icon">skip<wbr/>Frame</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#warmup" class="tsd-kind-icon">warmup</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#wasmPath" class="tsd-kind-icon">wasm<wbr/>Path</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="async" class="tsd-anchor"></a><h3>async</h3><div class="tsd-signature tsd-kind-icon">async<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L199">config.ts:199</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <p>Perform model loading and inference concurrently or sequentially</p>
<title>Config | @vladmandic/human - v2.2.2</title> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="backend" class="tsd-anchor"></a><h3>backend</h3><div class="tsd-signature tsd-kind-icon">backend<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;cpu&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;wasm&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;webgl&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;humangl&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;tensorflow&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;webgpu&quot;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L189">config.ts:189</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<meta name="description" content="Documentation for @vladmandic/human - v2.2.2"> <p>Backend used for TFJS operations</p>
<meta name="viewport" content="width=device-width, initial-scale=1"> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="body" class="tsd-anchor"></a><h3>body</h3><div class="tsd-signature tsd-kind-icon">body<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="BodyConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">BodyConfig</a><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L235">config.ts:235</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="cacheSensitivity" class="tsd-anchor"></a><h3>cache<wbr/>Sensitivity</h3><div class="tsd-signature tsd-kind-icon">cache<wbr/>Sensitivity<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L217">config.ts:217</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<link rel="stylesheet" href="../assets/css/main.css"> <p>Cache sensitivity</p>
<script async src="../assets/js/search.js" id="search-script"></script> <ul>
</head> <li>values 0..1 where 0.01 means reset cache if input changed more than 1%</li>
<body> <li>set to 0 to disable caching</li>
<header> </ul>
<div class="tsd-page-toolbar"> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="debug" class="tsd-anchor"></a><h3>debug</h3><div class="tsd-signature tsd-kind-icon">debug<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L196">config.ts:196</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<div class="container"> <p>Print debug statements to console</p>
<div class="table-wrap"> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="face" class="tsd-anchor"></a><h3>face</h3><div class="tsd-signature tsd-kind-icon">face<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="FaceConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">FaceConfig</a><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L233">config.ts:233</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="filter" class="tsd-anchor"></a><h3>filter</h3><div class="tsd-signature tsd-kind-icon">filter<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="FilterConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">FilterConfig</a><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L228">config.ts:228</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base=".."> <p>Run input through image filters before inference</p>
<div class="field"> <ul>
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label> <li>image filters run with near-zero latency as they are executed on the GPU</li>
<input id="tsd-search-field" type="text" /> </ul>
</div> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="gesture" class="tsd-anchor"></a><h3>gesture</h3><div class="tsd-signature tsd-kind-icon">gesture<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="GestureConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">GestureConfig</a><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L231">config.ts:231</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="hand" class="tsd-anchor"></a><h3>hand</h3><div class="tsd-signature tsd-kind-icon">hand<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="HandConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">HandConfig</a><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L237">config.ts:237</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="modelBasePath" class="tsd-anchor"></a><h3>model<wbr/>Base<wbr/>Path</h3><div class="tsd-signature tsd-kind-icon">model<wbr/>Base<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L211">config.ts:211</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<ul class="results"> <p>Base model path (typically starting with file://, http:// or https://) for all models</p>
<li class="state loading">Preparing search index...</li> <ul>
<li class="state failure">The search index is not available</li> <li>individual modelPath values are relative to this path</li>
</ul> </ul>
<a href="../index.html" class="title">@vladmandic/human - v2.2.2</a> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="object" class="tsd-anchor"></a><h3>object</h3><div class="tsd-signature tsd-kind-icon">object<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="ObjectConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">ObjectConfig</a><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L239">config.ts:239</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="segmentation" class="tsd-anchor"></a><h3>segmentation</h3><div class="tsd-signature tsd-kind-icon">segmentation<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="SegmentationConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">SegmentationConfig</a><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L241">config.ts:241</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="skipFrame" class="tsd-anchor"></a><h3>skip<wbr/>Frame</h3><div class="tsd-signature tsd-kind-icon">skip<wbr/>Frame<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L223">config.ts:223</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
</div> <p>Cache sensitivity</p>
<div class="table-cell" id="tsd-widgets"> <ul>
<div id="tsd-filter"> <li>values 0..1 where 0.01 means reset cache if input changed more than 1%</li>
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a> <li>set to 0 to disable caching</li>
<div class="tsd-filter-group"> </ul>
<div class="tsd-select" id="tsd-filter-visibility"> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="warmup" class="tsd-anchor"></a><h3>warmup</h3><div class="tsd-signature tsd-kind-icon">warmup<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;none&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;face&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;full&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;body&quot;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L205">config.ts:205</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<span class="tsd-select-label">All</span> <p>What to use for <code>human.warmup()</code></p>
<ul class="tsd-select-list"> <ul>
<li data-value="public">Public</li> <li>warmup pre-initializes all models for faster inference but can take significant time on startup</li>
<li data-value="protected">Public/Protected</li> <li>only used for <code>webgl</code> and <code>humangl</code> backends</li>
<li data-value="private" class="selected">All</li> </ul>
</ul> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="wasmPath" class="tsd-anchor"></a><h3>wasm<wbr/>Path</h3><div class="tsd-signature tsd-kind-icon">wasm<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L193">config.ts:193</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
</div> <p>Path to *.wasm files if backend is set to <code>wasm</code></p>
<input type="checkbox" id="tsd-filter-inherited" checked /> </div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="Config.html" class="tsd-kind-icon">Config</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#async" class="tsd-kind-icon">async</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#backend" class="tsd-kind-icon">backend</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#body" class="tsd-kind-icon">body</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#cacheSensitivity" class="tsd-kind-icon">cache<wbr/>Sensitivity</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#debug" class="tsd-kind-icon">debug</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#face" class="tsd-kind-icon">face</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#filter" class="tsd-kind-icon">filter</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#gesture" class="tsd-kind-icon">gesture</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#hand" class="tsd-kind-icon">hand</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#modelBasePath" class="tsd-kind-icon">model<wbr/>Base<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#object" class="tsd-kind-icon">object</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#segmentation" class="tsd-kind-icon">segmentation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#skipFrame" class="tsd-kind-icon">skip<wbr/>Frame</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#warmup" class="tsd-kind-icon">warmup</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#wasmPath" class="tsd-kind-icon">wasm<wbr/>Path</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../index.html">@vladmandic/human - v2.2.2</a>
</li>
<li>
<a href="Config.html">Config</a>
</li>
</ul>
<h1>Interface Config</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Configuration interface definition for <strong>Human</strong> library</p>
</div>
<p>Contains all configurable parameters</p>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">Config</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#async" class="tsd-kind-icon">async</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#backend" class="tsd-kind-icon">backend</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#body" class="tsd-kind-icon">body</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#cacheSensitivity" class="tsd-kind-icon">cache<wbr>Sensitivity</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#debug" class="tsd-kind-icon">debug</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#face" class="tsd-kind-icon">face</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#filter" class="tsd-kind-icon">filter</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#gesture" class="tsd-kind-icon">gesture</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#hand" class="tsd-kind-icon">hand</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#modelBasePath" class="tsd-kind-icon">model<wbr>Base<wbr>Path</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#object" class="tsd-kind-icon">object</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#segmentation" class="tsd-kind-icon">segmentation</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#skipFrame" class="tsd-kind-icon">skip<wbr>Frame</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#warmup" class="tsd-kind-icon">warmup</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#wasmPath" class="tsd-kind-icon">wasm<wbr>Path</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="async" class="tsd-anchor"></a>
<h3>async</h3>
<div class="tsd-signature tsd-kind-icon">async<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L199">config.ts:199</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Perform model loading and inference concurrently or sequentially</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="backend" class="tsd-anchor"></a>
<h3>backend</h3>
<div class="tsd-signature tsd-kind-icon">backend<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;cpu&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;wasm&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;webgl&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;humangl&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;tensorflow&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;webgpu&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L189">config.ts:189</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Backend used for TFJS operations</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="body" class="tsd-anchor"></a>
<h3>body</h3>
<div class="tsd-signature tsd-kind-icon">body<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="BodyConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">BodyConfig</a><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L235">config.ts:235</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="cacheSensitivity" class="tsd-anchor"></a>
<h3>cache<wbr>Sensitivity</h3>
<div class="tsd-signature tsd-kind-icon">cache<wbr>Sensitivity<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L217">config.ts:217</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Cache sensitivity</p>
<ul>
<li>values 0..1 where 0.01 means reset cache if input changed more than 1%</li>
<li>set to 0 to disable caching</li>
</ul>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="debug" class="tsd-anchor"></a>
<h3>debug</h3>
<div class="tsd-signature tsd-kind-icon">debug<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L196">config.ts:196</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Print debug statements to console</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="face" class="tsd-anchor"></a>
<h3>face</h3>
<div class="tsd-signature tsd-kind-icon">face<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="FaceConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">FaceConfig</a><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L233">config.ts:233</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="filter" class="tsd-anchor"></a>
<h3>filter</h3>
<div class="tsd-signature tsd-kind-icon">filter<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="FilterConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">FilterConfig</a><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L228">config.ts:228</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Run input through image filters before inference</p>
<ul>
<li>image filters run with near-zero latency as they are executed on the GPU</li>
</ul>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="gesture" class="tsd-anchor"></a>
<h3>gesture</h3>
<div class="tsd-signature tsd-kind-icon">gesture<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="GestureConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">GestureConfig</a><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L231">config.ts:231</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="hand" class="tsd-anchor"></a>
<h3>hand</h3>
<div class="tsd-signature tsd-kind-icon">hand<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="HandConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">HandConfig</a><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L237">config.ts:237</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="modelBasePath" class="tsd-anchor"></a>
<h3>model<wbr>Base<wbr>Path</h3>
<div class="tsd-signature tsd-kind-icon">model<wbr>Base<wbr>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L211">config.ts:211</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Base model path (typically starting with file://, http:// or https://) for all models</p>
<ul>
<li>individual modelPath values are relative to this path</li>
</ul>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="object" class="tsd-anchor"></a>
<h3>object</h3>
<div class="tsd-signature tsd-kind-icon">object<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="ObjectConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">ObjectConfig</a><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L239">config.ts:239</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="segmentation" class="tsd-anchor"></a>
<h3>segmentation</h3>
<div class="tsd-signature tsd-kind-icon">segmentation<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="SegmentationConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">SegmentationConfig</a><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L241">config.ts:241</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="skipFrame" class="tsd-anchor"></a>
<h3>skip<wbr>Frame</h3>
<div class="tsd-signature tsd-kind-icon">skip<wbr>Frame<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L223">config.ts:223</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Cache sensitivity</p>
<ul>
<li>values 0..1 where 0.01 means reset cache if input changed more than 1%</li>
<li>set to 0 to disable caching</li>
</ul>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="warmup" class="tsd-anchor"></a>
<h3>warmup</h3>
<div class="tsd-signature tsd-kind-icon">warmup<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;none&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;face&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;full&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;body&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L205">config.ts:205</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>What to use for <code>human.warmup()</code></p>
<ul>
<li>warmup pre-initializes all models for faster inference but can take significant time on startup</li>
<li>only used for <code>webgl</code> and <code>humangl</code> backends</li>
</ul>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="wasmPath" class="tsd-anchor"></a>
<h3>wasm<wbr>Path</h3>
<div class="tsd-signature tsd-kind-icon">wasm<wbr>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L193">config.ts:193</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Path to *.wasm files if backend is set to <code>wasm</code></p>
</div>
</div>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class=" ">
<a href="../index.html">Exports</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-reference">
<a href="../index.html#default" class="tsd-kind-icon">default</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/Human.html" class="tsd-kind-icon">Human</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyConfig.html" class="tsd-kind-icon">Body<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyResult.html" class="tsd-kind-icon">Body<wbr>Result</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-interface">
<a href="Config.html" class="tsd-kind-icon">Config</a>
<ul>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#async" class="tsd-kind-icon">async</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#backend" class="tsd-kind-icon">backend</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#body" class="tsd-kind-icon">body</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#cacheSensitivity" class="tsd-kind-icon">cache<wbr>Sensitivity</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#debug" class="tsd-kind-icon">debug</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#face" class="tsd-kind-icon">face</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#filter" class="tsd-kind-icon">filter</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#gesture" class="tsd-kind-icon">gesture</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#hand" class="tsd-kind-icon">hand</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#modelBasePath" class="tsd-kind-icon">model<wbr>Base<wbr>Path</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#object" class="tsd-kind-icon">object</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#segmentation" class="tsd-kind-icon">segmentation</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#skipFrame" class="tsd-kind-icon">skip<wbr>Frame</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#warmup" class="tsd-kind-icon">warmup</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#wasmPath" class="tsd-kind-icon">wasm<wbr>Path</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-interface">
<a href="DrawOptions.html" class="tsd-kind-icon">Draw<wbr>Options</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceConfig.html" class="tsd-kind-icon">Face<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDescriptionConfig.html" class="tsd-kind-icon">Face<wbr>Description<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDetectorConfig.html" class="tsd-kind-icon">Face<wbr>Detector<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceEmotionConfig.html" class="tsd-kind-icon">Face<wbr>Emotion<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceIrisConfig.html" class="tsd-kind-icon">Face<wbr>Iris<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceMeshConfig.html" class="tsd-kind-icon">Face<wbr>Mesh<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceResult.html" class="tsd-kind-icon">Face<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="FilterConfig.html" class="tsd-kind-icon">Filter<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="GestureConfig.html" class="tsd-kind-icon">Gesture<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="HandConfig.html" class="tsd-kind-icon">Hand<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="HandResult.html" class="tsd-kind-icon">Hand<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectConfig.html" class="tsd-kind-icon">Object<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectResult.html" class="tsd-kind-icon">Object<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="PersonResult.html" class="tsd-kind-icon">Person<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="Result.html" class="tsd-kind-icon">Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="SegmentationConfig.html" class="tsd-kind-icon">Segmentation<wbr>Config</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Error" class="tsd-kind-icon">Error</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Events" class="tsd-kind-icon">Events</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#GestureResult" class="tsd-kind-icon">Gesture<wbr>Result</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Input" class="tsd-kind-icon">Input</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#TensorFlow" class="tsd-kind-icon">Tensor<wbr>Flow</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#defaults" class="tsd-kind-icon">defaults</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#env" class="tsd-kind-icon">env</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer>
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,573 +1,50 @@
<!doctype html> <!DOCTYPE html><html class="default no-js"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>FilterConfig | @vladmandic/human - v2.2.2</title><meta name="description" content="Documentation for @vladmandic/human - v2.2.2"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@vladmandic/human - v2.2.2</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../index.html">@vladmandic/human - v2.2.2</a></li><li><a href="FilterConfig.html">FilterConfig</a></li></ul><h1>Interface FilterConfig</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
<html class="default no-js"> <p>Run input through image filters before inference</p>
<head> <ul>
<meta charset="utf-8"> <li>image filters run with near-zero latency as they are executed on the GPU</li>
<meta http-equiv="X-UA-Compatible" content="IE=edge"> </ul>
<title>FilterConfig | @vladmandic/human - v2.2.2</title> </div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">FilterConfig</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#blur" class="tsd-kind-icon">blur</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#brightness" class="tsd-kind-icon">brightness</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#contrast" class="tsd-kind-icon">contrast</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#enabled" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#flip" class="tsd-kind-icon">flip</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#height" class="tsd-kind-icon">height</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#hue" class="tsd-kind-icon">hue</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#kodachrome" class="tsd-kind-icon">kodachrome</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#negative" class="tsd-kind-icon">negative</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#pixelate" class="tsd-kind-icon">pixelate</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#polaroid" class="tsd-kind-icon">polaroid</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#return" class="tsd-kind-icon">return</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#saturation" class="tsd-kind-icon">saturation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#sepia" class="tsd-kind-icon">sepia</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#sharpness" class="tsd-kind-icon">sharpness</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#technicolor" class="tsd-kind-icon">technicolor</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#vintage" class="tsd-kind-icon">vintage</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#width" class="tsd-kind-icon">width</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="blur" class="tsd-anchor"></a><h3>blur</h3><div class="tsd-signature tsd-kind-icon">blur<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L155">config.ts:155</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<meta name="description" content="Documentation for @vladmandic/human - v2.2.2"> <p>Range: 0 (no blur) to N (blur radius in pixels)</p>
<meta name="viewport" content="width=device-width, initial-scale=1"> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="brightness" class="tsd-anchor"></a><h3>brightness</h3><div class="tsd-signature tsd-kind-icon">brightness<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L149">config.ts:149</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<link rel="stylesheet" href="../assets/css/main.css"> <p>Range: -1 (darken) to 1 (lighten)</p>
<script async src="../assets/js/search.js" id="search-script"></script> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="contrast" class="tsd-anchor"></a><h3>contrast</h3><div class="tsd-signature tsd-kind-icon">contrast<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L151">config.ts:151</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
</head> <p>Range: -1 (reduce contrast) to 1 (increase contrast)</p>
<body> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="enabled" class="tsd-anchor"></a><h3>enabled</h3><div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L131">config.ts:131</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="flip" class="tsd-anchor"></a><h3>flip</h3><div class="tsd-signature tsd-kind-icon">flip<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L147">config.ts:147</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<header> <p>Flip input as mirror image</p>
<div class="tsd-page-toolbar"> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="height" class="tsd-anchor"></a><h3>height</h3><div class="tsd-signature tsd-kind-icon">height<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L143">config.ts:143</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<div class="container"> <p>Resize input height</p>
<div class="table-wrap"> <ul>
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base=".."> <li>if both width and height are set to 0, there is no resizing</li>
<div class="field"> <li>if just one is set, second one is scaled automatically</li>
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label> <li>if both are set, values are used as-is</li>
<input id="tsd-search-field" type="text" /> </ul>
</div> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="hue" class="tsd-anchor"></a><h3>hue</h3><div class="tsd-signature tsd-kind-icon">hue<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L159">config.ts:159</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<ul class="results"> <p>Range: 0 (no change) to 360 (hue rotation in degrees)</p>
<li class="state loading">Preparing search index...</li> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="kodachrome" class="tsd-anchor"></a><h3>kodachrome</h3><div class="tsd-signature tsd-kind-icon">kodachrome<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L167">config.ts:167</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<li class="state failure">The search index is not available</li> <p>Image kodachrome colors</p>
</ul> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="negative" class="tsd-anchor"></a><h3>negative</h3><div class="tsd-signature tsd-kind-icon">negative<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L161">config.ts:161</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<a href="../index.html" class="title">@vladmandic/human - v2.2.2</a> <p>Image negative</p>
</div> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="pixelate" class="tsd-anchor"></a><h3>pixelate</h3><div class="tsd-signature tsd-kind-icon">pixelate<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L173">config.ts:173</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<div class="table-cell" id="tsd-widgets"> <p>Range: 0 (no pixelate) to N (number of pixels to pixelate)</p>
<div id="tsd-filter"> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="polaroid" class="tsd-anchor"></a><h3>polaroid</h3><div class="tsd-signature tsd-kind-icon">polaroid<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L171">config.ts:171</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a> <p>Image polaroid camera effect</p>
<div class="tsd-filter-group"> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="return" class="tsd-anchor"></a><h3>return</h3><div class="tsd-signature tsd-kind-icon">return<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L145">config.ts:145</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<div class="tsd-select" id="tsd-filter-visibility"> <p>Return processed canvas imagedata in result</p>
<span class="tsd-select-label">All</span> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="saturation" class="tsd-anchor"></a><h3>saturation</h3><div class="tsd-signature tsd-kind-icon">saturation<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L157">config.ts:157</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<ul class="tsd-select-list"> <p>Range: -1 (reduce saturation) to 1 (increase saturation)</p>
<li data-value="public">Public</li> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="sepia" class="tsd-anchor"></a><h3>sepia</h3><div class="tsd-signature tsd-kind-icon">sepia<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L163">config.ts:163</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<li data-value="protected">Public/Protected</li> <p>Image sepia colors</p>
<li data-value="private" class="selected">All</li> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="sharpness" class="tsd-anchor"></a><h3>sharpness</h3><div class="tsd-signature tsd-kind-icon">sharpness<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L153">config.ts:153</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
</ul> <p>Range: 0 (no sharpening) to 1 (maximum sharpening)</p>
</div> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="technicolor" class="tsd-anchor"></a><h3>technicolor</h3><div class="tsd-signature tsd-kind-icon">technicolor<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L169">config.ts:169</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<input type="checkbox" id="tsd-filter-inherited" checked /> <p>Image technicolor colors</p>
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="vintage" class="tsd-anchor"></a><h3>vintage</h3><div class="tsd-signature tsd-kind-icon">vintage<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L165">config.ts:165</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
</div> <p>Image vintage colors</p>
</div> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="width" class="tsd-anchor"></a><h3>width</h3><div class="tsd-signature tsd-kind-icon">width<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L137">config.ts:137</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a> <p>Resize input width</p>
</div> <ul>
</div> <li>if both width and height are set to 0, there is no resizing</li>
</div> <li>if just one is set, second one is scaled automatically</li>
</div> <li>if both are set, values are used as-is</li>
<div class="tsd-page-title"> </ul>
<div class="container"> </div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="FilterConfig.html" class="tsd-kind-icon">Filter<wbr/>Config</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#blur" class="tsd-kind-icon">blur</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#brightness" class="tsd-kind-icon">brightness</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#contrast" class="tsd-kind-icon">contrast</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#enabled" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#flip" class="tsd-kind-icon">flip</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#height" class="tsd-kind-icon">height</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#hue" class="tsd-kind-icon">hue</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#kodachrome" class="tsd-kind-icon">kodachrome</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#negative" class="tsd-kind-icon">negative</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#pixelate" class="tsd-kind-icon">pixelate</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#polaroid" class="tsd-kind-icon">polaroid</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#return" class="tsd-kind-icon">return</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#saturation" class="tsd-kind-icon">saturation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#sepia" class="tsd-kind-icon">sepia</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#sharpness" class="tsd-kind-icon">sharpness</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#technicolor" class="tsd-kind-icon">technicolor</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#vintage" class="tsd-kind-icon">vintage</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#width" class="tsd-kind-icon">width</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
<ul class="tsd-breadcrumb">
<li>
<a href="../index.html">@vladmandic/human - v2.2.2</a>
</li>
<li>
<a href="FilterConfig.html">FilterConfig</a>
</li>
</ul>
<h1>Interface FilterConfig</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Run input through image filters before inference</p>
<ul>
<li>image filters run with near-zero latency as they are executed on the GPU</li>
</ul>
</div>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">FilterConfig</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#blur" class="tsd-kind-icon">blur</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#brightness" class="tsd-kind-icon">brightness</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#contrast" class="tsd-kind-icon">contrast</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#enabled" class="tsd-kind-icon">enabled</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#flip" class="tsd-kind-icon">flip</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#height" class="tsd-kind-icon">height</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#hue" class="tsd-kind-icon">hue</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#kodachrome" class="tsd-kind-icon">kodachrome</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#negative" class="tsd-kind-icon">negative</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#pixelate" class="tsd-kind-icon">pixelate</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#polaroid" class="tsd-kind-icon">polaroid</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#return" class="tsd-kind-icon">return</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#saturation" class="tsd-kind-icon">saturation</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#sepia" class="tsd-kind-icon">sepia</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#sharpness" class="tsd-kind-icon">sharpness</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#technicolor" class="tsd-kind-icon">technicolor</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#vintage" class="tsd-kind-icon">vintage</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#width" class="tsd-kind-icon">width</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="blur" class="tsd-anchor"></a>
<h3>blur</h3>
<div class="tsd-signature tsd-kind-icon">blur<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L155">config.ts:155</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Range: 0 (no blur) to N (blur radius in pixels)</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="brightness" class="tsd-anchor"></a>
<h3>brightness</h3>
<div class="tsd-signature tsd-kind-icon">brightness<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L149">config.ts:149</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Range: -1 (darken) to 1 (lighten)</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="contrast" class="tsd-anchor"></a>
<h3>contrast</h3>
<div class="tsd-signature tsd-kind-icon">contrast<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L151">config.ts:151</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Range: -1 (reduce contrast) to 1 (increase contrast)</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="enabled" class="tsd-anchor"></a>
<h3>enabled</h3>
<div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L131">config.ts:131</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="flip" class="tsd-anchor"></a>
<h3>flip</h3>
<div class="tsd-signature tsd-kind-icon">flip<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L147">config.ts:147</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Flip input as mirror image</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="height" class="tsd-anchor"></a>
<h3>height</h3>
<div class="tsd-signature tsd-kind-icon">height<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L143">config.ts:143</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Resize input height</p>
<ul>
<li>if both width and height are set to 0, there is no resizing</li>
<li>if just one is set, second one is scaled automatically</li>
<li>if both are set, values are used as-is</li>
</ul>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="hue" class="tsd-anchor"></a>
<h3>hue</h3>
<div class="tsd-signature tsd-kind-icon">hue<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L159">config.ts:159</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Range: 0 (no change) to 360 (hue rotation in degrees)</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="kodachrome" class="tsd-anchor"></a>
<h3>kodachrome</h3>
<div class="tsd-signature tsd-kind-icon">kodachrome<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L167">config.ts:167</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Image kodachrome colors</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="negative" class="tsd-anchor"></a>
<h3>negative</h3>
<div class="tsd-signature tsd-kind-icon">negative<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L161">config.ts:161</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Image negative</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="pixelate" class="tsd-anchor"></a>
<h3>pixelate</h3>
<div class="tsd-signature tsd-kind-icon">pixelate<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L173">config.ts:173</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Range: 0 (no pixelate) to N (number of pixels to pixelate)</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="polaroid" class="tsd-anchor"></a>
<h3>polaroid</h3>
<div class="tsd-signature tsd-kind-icon">polaroid<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L171">config.ts:171</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Image polaroid camera effect</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="return" class="tsd-anchor"></a>
<h3>return</h3>
<div class="tsd-signature tsd-kind-icon">return<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L145">config.ts:145</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Return processed canvas imagedata in result</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="saturation" class="tsd-anchor"></a>
<h3>saturation</h3>
<div class="tsd-signature tsd-kind-icon">saturation<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L157">config.ts:157</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Range: -1 (reduce saturation) to 1 (increase saturation)</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="sepia" class="tsd-anchor"></a>
<h3>sepia</h3>
<div class="tsd-signature tsd-kind-icon">sepia<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L163">config.ts:163</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Image sepia colors</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="sharpness" class="tsd-anchor"></a>
<h3>sharpness</h3>
<div class="tsd-signature tsd-kind-icon">sharpness<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L153">config.ts:153</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Range: 0 (no sharpening) to 1 (maximum sharpening)</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="technicolor" class="tsd-anchor"></a>
<h3>technicolor</h3>
<div class="tsd-signature tsd-kind-icon">technicolor<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L169">config.ts:169</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Image technicolor colors</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="vintage" class="tsd-anchor"></a>
<h3>vintage</h3>
<div class="tsd-signature tsd-kind-icon">vintage<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L165">config.ts:165</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Image vintage colors</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="width" class="tsd-anchor"></a>
<h3>width</h3>
<div class="tsd-signature tsd-kind-icon">width<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L137">config.ts:137</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Resize input width</p>
<ul>
<li>if both width and height are set to 0, there is no resizing</li>
<li>if just one is set, second one is scaled automatically</li>
<li>if both are set, values are used as-is</li>
</ul>
</div>
</div>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class=" ">
<a href="../index.html">Exports</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-reference">
<a href="../index.html#default" class="tsd-kind-icon">default</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/Human.html" class="tsd-kind-icon">Human</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyConfig.html" class="tsd-kind-icon">Body<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyResult.html" class="tsd-kind-icon">Body<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="Config.html" class="tsd-kind-icon">Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="DrawOptions.html" class="tsd-kind-icon">Draw<wbr>Options</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceConfig.html" class="tsd-kind-icon">Face<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDescriptionConfig.html" class="tsd-kind-icon">Face<wbr>Description<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDetectorConfig.html" class="tsd-kind-icon">Face<wbr>Detector<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceEmotionConfig.html" class="tsd-kind-icon">Face<wbr>Emotion<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceIrisConfig.html" class="tsd-kind-icon">Face<wbr>Iris<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceMeshConfig.html" class="tsd-kind-icon">Face<wbr>Mesh<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceResult.html" class="tsd-kind-icon">Face<wbr>Result</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-interface">
<a href="FilterConfig.html" class="tsd-kind-icon">Filter<wbr>Config</a>
<ul>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#blur" class="tsd-kind-icon">blur</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#brightness" class="tsd-kind-icon">brightness</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#contrast" class="tsd-kind-icon">contrast</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#enabled" class="tsd-kind-icon">enabled</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#flip" class="tsd-kind-icon">flip</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#height" class="tsd-kind-icon">height</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#hue" class="tsd-kind-icon">hue</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#kodachrome" class="tsd-kind-icon">kodachrome</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#negative" class="tsd-kind-icon">negative</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#pixelate" class="tsd-kind-icon">pixelate</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#polaroid" class="tsd-kind-icon">polaroid</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#return" class="tsd-kind-icon">return</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#saturation" class="tsd-kind-icon">saturation</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#sepia" class="tsd-kind-icon">sepia</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#sharpness" class="tsd-kind-icon">sharpness</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#technicolor" class="tsd-kind-icon">technicolor</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#vintage" class="tsd-kind-icon">vintage</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#width" class="tsd-kind-icon">width</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-interface">
<a href="GestureConfig.html" class="tsd-kind-icon">Gesture<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="HandConfig.html" class="tsd-kind-icon">Hand<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="HandResult.html" class="tsd-kind-icon">Hand<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectConfig.html" class="tsd-kind-icon">Object<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectResult.html" class="tsd-kind-icon">Object<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="PersonResult.html" class="tsd-kind-icon">Person<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="Result.html" class="tsd-kind-icon">Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="SegmentationConfig.html" class="tsd-kind-icon">Segmentation<wbr>Config</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Error" class="tsd-kind-icon">Error</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Events" class="tsd-kind-icon">Events</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#GestureResult" class="tsd-kind-icon">Gesture<wbr>Result</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Input" class="tsd-kind-icon">Input</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#TensorFlow" class="tsd-kind-icon">Tensor<wbr>Flow</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#defaults" class="tsd-kind-icon">defaults</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#env" class="tsd-kind-icon">env</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer>
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
</body>
</html>

View File

@ -1,237 +1,3 @@
<!doctype html> <!DOCTYPE html><html class="default no-js"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>GestureConfig | @vladmandic/human - v2.2.2</title><meta name="description" content="Documentation for @vladmandic/human - v2.2.2"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@vladmandic/human - v2.2.2</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../index.html">@vladmandic/human - v2.2.2</a></li><li><a href="GestureConfig.html">GestureConfig</a></li></ul><h1>Interface GestureConfig</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
<html class="default no-js"> <p>Controlls gesture detection</p>
<head> </div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">GestureConfig</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="GestureConfig.html#enabled" class="tsd-kind-icon">enabled</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="enabled" class="tsd-anchor"></a><h3>enabled</h3><div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L178">config.ts:178</a></li></ul></aside></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="GestureConfig.html" class="tsd-kind-icon">Gesture<wbr/>Config</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="GestureConfig.html#enabled" class="tsd-kind-icon">enabled</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>GestureConfig | @vladmandic/human - v2.2.2</title>
<meta name="description" content="Documentation for @vladmandic/human - v2.2.2">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
<script async src="../assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">@vladmandic/human - v2.2.2</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../index.html">@vladmandic/human - v2.2.2</a>
</li>
<li>
<a href="GestureConfig.html">GestureConfig</a>
</li>
</ul>
<h1>Interface GestureConfig</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Controlls gesture detection</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">GestureConfig</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="GestureConfig.html#enabled" class="tsd-kind-icon">enabled</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="enabled" class="tsd-anchor"></a>
<h3>enabled</h3>
<div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L178">config.ts:178</a></li>
</ul>
</aside>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class=" ">
<a href="../index.html">Exports</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-reference">
<a href="../index.html#default" class="tsd-kind-icon">default</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/Human.html" class="tsd-kind-icon">Human</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyConfig.html" class="tsd-kind-icon">Body<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyResult.html" class="tsd-kind-icon">Body<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="Config.html" class="tsd-kind-icon">Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="DrawOptions.html" class="tsd-kind-icon">Draw<wbr>Options</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceConfig.html" class="tsd-kind-icon">Face<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDescriptionConfig.html" class="tsd-kind-icon">Face<wbr>Description<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDetectorConfig.html" class="tsd-kind-icon">Face<wbr>Detector<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceEmotionConfig.html" class="tsd-kind-icon">Face<wbr>Emotion<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceIrisConfig.html" class="tsd-kind-icon">Face<wbr>Iris<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceMeshConfig.html" class="tsd-kind-icon">Face<wbr>Mesh<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceResult.html" class="tsd-kind-icon">Face<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="FilterConfig.html" class="tsd-kind-icon">Filter<wbr>Config</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-interface">
<a href="GestureConfig.html" class="tsd-kind-icon">Gesture<wbr>Config</a>
<ul>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="GestureConfig.html#enabled" class="tsd-kind-icon">enabled</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-interface">
<a href="HandConfig.html" class="tsd-kind-icon">Hand<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="HandResult.html" class="tsd-kind-icon">Hand<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectConfig.html" class="tsd-kind-icon">Object<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectResult.html" class="tsd-kind-icon">Object<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="PersonResult.html" class="tsd-kind-icon">Person<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="Result.html" class="tsd-kind-icon">Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="SegmentationConfig.html" class="tsd-kind-icon">Segmentation<wbr>Config</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Error" class="tsd-kind-icon">Error</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Events" class="tsd-kind-icon">Events</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#GestureResult" class="tsd-kind-icon">Gesture<wbr>Result</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Input" class="tsd-kind-icon">Input</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#TensorFlow" class="tsd-kind-icon">Tensor<wbr>Flow</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#defaults" class="tsd-kind-icon">defaults</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#env" class="tsd-kind-icon">env</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer>
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,395 +1,22 @@
<!doctype html> <!DOCTYPE html><html class="default no-js"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Result | @vladmandic/human - v2.2.2</title><meta name="description" content="Documentation for @vladmandic/human - v2.2.2"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@vladmandic/human - v2.2.2</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../index.html">@vladmandic/human - v2.2.2</a></li><li><a href="Result.html">Result</a></li></ul><h1>Interface Result</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
<html class="default no-js"> <p>Result interface definition for <strong>Human</strong> library</p>
<head> </div><div><p>Contains all possible detection results</p>
<meta charset="utf-8"> </div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">Result</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#body" class="tsd-kind-icon">body</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#canvas" class="tsd-kind-icon">canvas</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#face" class="tsd-kind-icon">face</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#gesture" class="tsd-kind-icon">gesture</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#hand" class="tsd-kind-icon">hand</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#object" class="tsd-kind-icon">object</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#performance" class="tsd-kind-icon">performance</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#persons" class="tsd-kind-icon">persons</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#timestamp" class="tsd-kind-icon">timestamp</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="body" class="tsd-anchor"></a><h3>body</h3><div class="tsd-signature tsd-kind-icon">body<span class="tsd-signature-symbol">:</span> <a href="BodyResult.html" class="tsd-signature-type" data-tsd-kind="Interface">BodyResult</a><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L179">result.ts:179</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <p><a href="BodyResult.html">BodyResult</a>: detection &amp; analysis results</p>
<title>Result | @vladmandic/human - v2.2.2</title> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="canvas" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> canvas</h3><div class="tsd-signature tsd-kind-icon">canvas<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">HTMLCanvasElement</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">OffscreenCanvas</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L189">result.ts:189</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<meta name="description" content="Documentation for @vladmandic/human - v2.2.2"> <p>optional processed canvas that can be used to draw input on screen</p>
<meta name="viewport" content="width=device-width, initial-scale=1"> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="face" class="tsd-anchor"></a><h3>face</h3><div class="tsd-signature tsd-kind-icon">face<span class="tsd-signature-symbol">:</span> <a href="FaceResult.html" class="tsd-signature-type" data-tsd-kind="Interface">FaceResult</a><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L177">result.ts:177</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<link rel="stylesheet" href="../assets/css/main.css"> <p><a href="FaceResult.html">FaceResult</a>: detection &amp; analysis results</p>
<script async src="../assets/js/search.js" id="search-script"></script> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="gesture" class="tsd-anchor"></a><h3>gesture</h3><div class="tsd-signature tsd-kind-icon">gesture<span class="tsd-signature-symbol">:</span> <a href="../index.html#GestureResult" class="tsd-signature-type" data-tsd-kind="Type alias">GestureResult</a><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L183">result.ts:183</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
</head> <p><a href="../index.html#GestureResult">GestureResult</a>: detection &amp; analysis results</p>
<body> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="hand" class="tsd-anchor"></a><h3>hand</h3><div class="tsd-signature tsd-kind-icon">hand<span class="tsd-signature-symbol">:</span> <a href="HandResult.html" class="tsd-signature-type" data-tsd-kind="Interface">HandResult</a><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L181">result.ts:181</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<header> <p><a href="HandResult.html">HandResult</a>: detection &amp; analysis results</p>
<div class="tsd-page-toolbar"> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="object" class="tsd-anchor"></a><h3>object</h3><div class="tsd-signature tsd-kind-icon">object<span class="tsd-signature-symbol">:</span> <a href="ObjectResult.html" class="tsd-signature-type" data-tsd-kind="Interface">ObjectResult</a><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L185">result.ts:185</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<div class="container"> <p><a href="ObjectResult.html">ObjectResult</a>: detection &amp; analysis results</p>
<div class="table-wrap"> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="performance" class="tsd-anchor"></a><h3>performance</h3><div class="tsd-signature tsd-kind-icon">performance<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L187">result.ts:187</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base=".."> <p>global performance object with timing values for each operation</p>
<div class="field"> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="persons" class="tsd-anchor"></a><h3>persons</h3><div class="tsd-signature tsd-kind-icon">persons<span class="tsd-signature-symbol">:</span> <a href="PersonResult.html" class="tsd-signature-type" data-tsd-kind="Interface">PersonResult</a><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L193">result.ts:193</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label> <p>getter property that returns unified persons object</p>
<input id="tsd-search-field" type="text" /> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="timestamp" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagReadonly">Readonly</span> timestamp</h3><div class="tsd-signature tsd-kind-icon">timestamp<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L191">result.ts:191</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
</div> <p>timestamp of detection representing the milliseconds elapsed since the UNIX epoch</p>
<ul class="results"> </div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="Result.html" class="tsd-kind-icon">Result</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#body" class="tsd-kind-icon">body</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#canvas" class="tsd-kind-icon">canvas</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#face" class="tsd-kind-icon">face</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#gesture" class="tsd-kind-icon">gesture</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#hand" class="tsd-kind-icon">hand</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#object" class="tsd-kind-icon">object</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#performance" class="tsd-kind-icon">performance</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#persons" class="tsd-kind-icon">persons</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#timestamp" class="tsd-kind-icon">timestamp</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">@vladmandic/human - v2.2.2</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../index.html">@vladmandic/human - v2.2.2</a>
</li>
<li>
<a href="Result.html">Result</a>
</li>
</ul>
<h1>Interface Result</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Result interface definition for <strong>Human</strong> library</p>
</div>
<p>Contains all possible detection results</p>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">Result</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#body" class="tsd-kind-icon">body</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#canvas" class="tsd-kind-icon">canvas</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#face" class="tsd-kind-icon">face</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#gesture" class="tsd-kind-icon">gesture</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#hand" class="tsd-kind-icon">hand</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#object" class="tsd-kind-icon">object</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#performance" class="tsd-kind-icon">performance</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#persons" class="tsd-kind-icon">persons</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#timestamp" class="tsd-kind-icon">timestamp</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="body" class="tsd-anchor"></a>
<h3>body</h3>
<div class="tsd-signature tsd-kind-icon">body<span class="tsd-signature-symbol">:</span> <a href="BodyResult.html" class="tsd-signature-type" data-tsd-kind="Interface">BodyResult</a><span class="tsd-signature-symbol">[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L179">result.ts:179</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p><a href="BodyResult.html">BodyResult</a>: detection &amp; analysis results</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="canvas" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> canvas</h3>
<div class="tsd-signature tsd-kind-icon">canvas<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">HTMLCanvasElement</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">OffscreenCanvas</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L189">result.ts:189</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>optional processed canvas that can be used to draw input on screen</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="face" class="tsd-anchor"></a>
<h3>face</h3>
<div class="tsd-signature tsd-kind-icon">face<span class="tsd-signature-symbol">:</span> <a href="FaceResult.html" class="tsd-signature-type" data-tsd-kind="Interface">FaceResult</a><span class="tsd-signature-symbol">[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L177">result.ts:177</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p><a href="FaceResult.html">FaceResult</a>: detection &amp; analysis results</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="gesture" class="tsd-anchor"></a>
<h3>gesture</h3>
<div class="tsd-signature tsd-kind-icon">gesture<span class="tsd-signature-symbol">:</span> <a href="../index.html#GestureResult" class="tsd-signature-type" data-tsd-kind="Type alias">GestureResult</a><span class="tsd-signature-symbol">[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L183">result.ts:183</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p><a href="../index.html#GestureResult">GestureResult</a>: detection &amp; analysis results</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="hand" class="tsd-anchor"></a>
<h3>hand</h3>
<div class="tsd-signature tsd-kind-icon">hand<span class="tsd-signature-symbol">:</span> <a href="HandResult.html" class="tsd-signature-type" data-tsd-kind="Interface">HandResult</a><span class="tsd-signature-symbol">[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L181">result.ts:181</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p><a href="HandResult.html">HandResult</a>: detection &amp; analysis results</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="object" class="tsd-anchor"></a>
<h3>object</h3>
<div class="tsd-signature tsd-kind-icon">object<span class="tsd-signature-symbol">:</span> <a href="ObjectResult.html" class="tsd-signature-type" data-tsd-kind="Interface">ObjectResult</a><span class="tsd-signature-symbol">[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L185">result.ts:185</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>{@link ItemResult}: detection &amp; analysis results</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="performance" class="tsd-anchor"></a>
<h3>performance</h3>
<div class="tsd-signature tsd-kind-icon">performance<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L187">result.ts:187</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>global performance object with timing values for each operation</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="persons" class="tsd-anchor"></a>
<h3>persons</h3>
<div class="tsd-signature tsd-kind-icon">persons<span class="tsd-signature-symbol">:</span> <a href="PersonResult.html" class="tsd-signature-type" data-tsd-kind="Interface">PersonResult</a><span class="tsd-signature-symbol">[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L193">result.ts:193</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>getter property that returns unified persons object</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="timestamp" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagReadonly">Readonly</span> timestamp</h3>
<div class="tsd-signature tsd-kind-icon">timestamp<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L191">result.ts:191</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>timestamp of detection representing the milliseconds elapsed since the UNIX epoch</p>
</div>
</div>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class=" ">
<a href="../index.html">Exports</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-reference">
<a href="../index.html#default" class="tsd-kind-icon">default</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/Human.html" class="tsd-kind-icon">Human</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyConfig.html" class="tsd-kind-icon">Body<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyResult.html" class="tsd-kind-icon">Body<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="Config.html" class="tsd-kind-icon">Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="DrawOptions.html" class="tsd-kind-icon">Draw<wbr>Options</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceConfig.html" class="tsd-kind-icon">Face<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDescriptionConfig.html" class="tsd-kind-icon">Face<wbr>Description<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDetectorConfig.html" class="tsd-kind-icon">Face<wbr>Detector<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceEmotionConfig.html" class="tsd-kind-icon">Face<wbr>Emotion<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceIrisConfig.html" class="tsd-kind-icon">Face<wbr>Iris<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceMeshConfig.html" class="tsd-kind-icon">Face<wbr>Mesh<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceResult.html" class="tsd-kind-icon">Face<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="FilterConfig.html" class="tsd-kind-icon">Filter<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="GestureConfig.html" class="tsd-kind-icon">Gesture<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="HandConfig.html" class="tsd-kind-icon">Hand<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="HandResult.html" class="tsd-kind-icon">Hand<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectConfig.html" class="tsd-kind-icon">Object<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectResult.html" class="tsd-kind-icon">Object<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="PersonResult.html" class="tsd-kind-icon">Person<wbr>Result</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-interface">
<a href="Result.html" class="tsd-kind-icon">Result</a>
<ul>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Result.html#body" class="tsd-kind-icon">body</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Result.html#canvas" class="tsd-kind-icon">canvas</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Result.html#face" class="tsd-kind-icon">face</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Result.html#gesture" class="tsd-kind-icon">gesture</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Result.html#hand" class="tsd-kind-icon">hand</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Result.html#object" class="tsd-kind-icon">object</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Result.html#performance" class="tsd-kind-icon">performance</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Result.html#persons" class="tsd-kind-icon">persons</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Result.html#timestamp" class="tsd-kind-icon">timestamp</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-interface">
<a href="SegmentationConfig.html" class="tsd-kind-icon">Segmentation<wbr>Config</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Error" class="tsd-kind-icon">Error</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Events" class="tsd-kind-icon">Events</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#GestureResult" class="tsd-kind-icon">Gesture<wbr>Result</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Input" class="tsd-kind-icon">Input</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#TensorFlow" class="tsd-kind-icon">Tensor<wbr>Flow</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#defaults" class="tsd-kind-icon">defaults</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#env" class="tsd-kind-icon">env</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer>
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
</body>
</html>

View File

@ -1,259 +1,11 @@
<!doctype html> <!DOCTYPE html><html class="default no-js"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>SegmentationConfig | @vladmandic/human - v2.2.2</title><meta name="description" content="Documentation for @vladmandic/human - v2.2.2"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@vladmandic/human - v2.2.2</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../index.html">@vladmandic/human - v2.2.2</a></li><li><a href="SegmentationConfig.html">SegmentationConfig</a></li></ul><h1>Interface SegmentationConfig</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
<html class="default no-js"> <p>Controlls and configures all body segmentation module
<head> removes background from input containing person
<meta charset="utf-8"> if segmentation is enabled it will run as preprocessing task before any other model
<meta http-equiv="X-UA-Compatible" content="IE=edge"> alternatively leave it disabled and use it on-demand using human.segmentation method which can
<title>SegmentationConfig | @vladmandic/human - v2.2.2</title> remove background or replace it with user-provided background</p>
<meta name="description" content="Documentation for @vladmandic/human - v2.2.2"> </div><div><ul>
<meta name="viewport" content="width=device-width, initial-scale=1"> <li>enabled: true/false</li>
<link rel="stylesheet" href="../assets/css/main.css"> <li>modelPath: object detection model, can be absolute path or relative to modelBasePath</li>
<script async src="../assets/js/search.js" id="search-script"></script> </ul>
</head> </div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">SegmentationConfig</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="SegmentationConfig.html#enabled" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="SegmentationConfig.html#modelPath" class="tsd-kind-icon">model<wbr/>Path</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="enabled" class="tsd-anchor"></a><h3>enabled</h3><div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L123">config.ts:123</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="modelPath" class="tsd-anchor"></a><h3>model<wbr/>Path</h3><div class="tsd-signature tsd-kind-icon">model<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L124">config.ts:124</a></li></ul></aside></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="SegmentationConfig.html" class="tsd-kind-icon">Segmentation<wbr/>Config</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="SegmentationConfig.html#enabled" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="SegmentationConfig.html#modelPath" class="tsd-kind-icon">model<wbr/>Path</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">@vladmandic/human - v2.2.2</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../index.html">@vladmandic/human - v2.2.2</a>
</li>
<li>
<a href="SegmentationConfig.html">SegmentationConfig</a>
</li>
</ul>
<h1>Interface SegmentationConfig</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Controlls and configures all body segmentation module
removes background from input containing person
if segmentation is enabled it will run as preprocessing task before any other model
alternatively leave it disabled and use it on-demand using human.segmentation method which can
remove background or replace it with user-provided background</p>
</div>
<ul>
<li>enabled: true/false</li>
<li>modelPath: object detection model, can be absolute path or relative to modelBasePath</li>
</ul>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">SegmentationConfig</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="SegmentationConfig.html#enabled" class="tsd-kind-icon">enabled</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="SegmentationConfig.html#modelPath" class="tsd-kind-icon">model<wbr>Path</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="enabled" class="tsd-anchor"></a>
<h3>enabled</h3>
<div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L123">config.ts:123</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="modelPath" class="tsd-anchor"></a>
<h3>model<wbr>Path</h3>
<div class="tsd-signature tsd-kind-icon">model<wbr>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L124">config.ts:124</a></li>
</ul>
</aside>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class=" ">
<a href="../index.html">Exports</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-reference">
<a href="../index.html#default" class="tsd-kind-icon">default</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/Human.html" class="tsd-kind-icon">Human</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyConfig.html" class="tsd-kind-icon">Body<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyResult.html" class="tsd-kind-icon">Body<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="Config.html" class="tsd-kind-icon">Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="DrawOptions.html" class="tsd-kind-icon">Draw<wbr>Options</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceConfig.html" class="tsd-kind-icon">Face<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDescriptionConfig.html" class="tsd-kind-icon">Face<wbr>Description<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDetectorConfig.html" class="tsd-kind-icon">Face<wbr>Detector<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceEmotionConfig.html" class="tsd-kind-icon">Face<wbr>Emotion<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceIrisConfig.html" class="tsd-kind-icon">Face<wbr>Iris<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceMeshConfig.html" class="tsd-kind-icon">Face<wbr>Mesh<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceResult.html" class="tsd-kind-icon">Face<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="FilterConfig.html" class="tsd-kind-icon">Filter<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="GestureConfig.html" class="tsd-kind-icon">Gesture<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="HandConfig.html" class="tsd-kind-icon">Hand<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="HandResult.html" class="tsd-kind-icon">Hand<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectConfig.html" class="tsd-kind-icon">Object<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectResult.html" class="tsd-kind-icon">Object<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="PersonResult.html" class="tsd-kind-icon">Person<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="Result.html" class="tsd-kind-icon">Result</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-interface">
<a href="SegmentationConfig.html" class="tsd-kind-icon">Segmentation<wbr>Config</a>
<ul>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="SegmentationConfig.html#enabled" class="tsd-kind-icon">enabled</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="SegmentationConfig.html#modelPath" class="tsd-kind-icon">model<wbr>Path</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-type-alias">
<a href="../index.html#Error" class="tsd-kind-icon">Error</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Events" class="tsd-kind-icon">Events</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#GestureResult" class="tsd-kind-icon">Gesture<wbr>Result</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Input" class="tsd-kind-icon">Input</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#TensorFlow" class="tsd-kind-icon">Tensor<wbr>Flow</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#defaults" class="tsd-kind-icon">defaults</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#env" class="tsd-kind-icon">env</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer>
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
</body>
</html>

View File

@ -1,8 +1,5 @@
export declare function reset(instance: any): void; export declare function reset(instance: any): void;
/** Load method preloads all instance.configured models on-demand /** Load method preloads all instance.configured models on-demand */
* - Not explicitly required as any required model is load implicitly on it's first run
* @param userinstance.config?: {@link instance.config}
*/
export declare function load(instance: any): Promise<void>; export declare function load(instance: any): Promise<void>;
export declare function validate(instance: any): Promise<void>; export declare function validate(instance: any): Promise<void>;
//# sourceMappingURL=models.d.ts.map //# sourceMappingURL=models.d.ts.map

View File

@ -1 +1 @@
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAgBA,wBAAgB,KAAK,CAAC,QAAQ,KAAA,QAkB7B;AAED;;;EAGE;AACF,wBAAsB,IAAI,CAAC,QAAQ,KAAA,iBA4ClC;AAED,wBAAsB,QAAQ,CAAC,QAAQ,KAAA,iBA4CtC"} {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAgBA,wBAAgB,KAAK,CAAC,QAAQ,KAAA,QAkB7B;AAED,oEAAoE;AACpE,wBAAsB,IAAI,CAAC,QAAQ,KAAA,iBA4ClC;AAED,wBAAsB,QAAQ,CAAC,QAAQ,KAAA,iBA4CtC"}

View File

@ -191,7 +191,7 @@ export interface Result {
hand: Array<HandResult>; hand: Array<HandResult>;
/** {@link GestureResult}: detection & analysis results */ /** {@link GestureResult}: detection & analysis results */
gesture: Array<GestureResult>; gesture: Array<GestureResult>;
/** {@link ItemResult}: detection & analysis results */ /** {@link ObjectResult}: detection & analysis results */
object: Array<ObjectResult>; object: Array<ObjectResult>;
/** global performance object with timing values for each operation */ /** global performance object with timing values for each operation */
performance: Record<string, unknown>; performance: Record<string, unknown>;

View File

@ -1 +1 @@
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/result.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE5F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACrC,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACxC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QACpD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACjF,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7C,CAAA;IACD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACpC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACvC,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAA;CACH;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,SAAS,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C,WAAW,EAAE,MAAM,CACjB,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EACxD,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAChC,CAAC;IACF,SAAS,EAAE,MAAM,CACf,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,EAC/C;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;QAAC,SAAS,EAAE,YAAY,GAAG,cAAc,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,kBAAkB,CAAA;KAAE,CACtM,CAAC;CACH;AAED;;;;;;;;;;;EAWE;AACF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,oBAAY,aAAa,GACvB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACtC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAA;AAE5C;;;;;;;;;;;EAWE;AACF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;KAAE,CAAC;IAC7D,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC/B,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,uDAAuD;IACvD,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACxB,uDAAuD;IACvD,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACxB,uDAAuD;IACvD,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACxB,0DAA0D;IAC1D,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC9B,uDAAuD;IACvD,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;IAC3B,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,yEAAyE;IACzE,MAAM,CAAC,EAAE,eAAe,GAAG,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IAChE,wFAAwF;IACxF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;CAC9B"} {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/result.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE5F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACrC,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACxC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QACpD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACjF,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7C,CAAA;IACD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACpC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACvC,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAA;CACH;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,SAAS,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C,WAAW,EAAE,MAAM,CACjB,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EACxD,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAChC,CAAC;IACF,SAAS,EAAE,MAAM,CACf,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,EAC/C;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;QAAC,SAAS,EAAE,YAAY,GAAG,cAAc,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,kBAAkB,CAAA;KAAE,CACtM,CAAC;CACH;AAED;;;;;;;;;;;EAWE;AACF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,oBAAY,aAAa,GACvB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACtC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAA;AAE5C;;;;;;;;;;;EAWE;AACF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;KAAE,CAAC;IAC7D,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC/B,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,uDAAuD;IACvD,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACxB,uDAAuD;IACvD,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACxB,uDAAuD;IACvD,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACxB,0DAA0D;IAC1D,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC9B,yDAAyD;IACzD,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;IAC3B,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,yEAAyE;IACzE,MAAM,CAAC,EAAE,eAAe,GAAG,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IAChE,wFAAwF;IACxF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;CAC9B"}