mirror of https://github.com/vladmandic/human
fix gear and ssrnet modules
parent
5cf1dac1d5
commit
1cb7b51924
|
@ -11,9 +11,7 @@
|
||||||
|
|
||||||
### **HEAD -> main** 2021/11/12 mandic00@live.com
|
### **HEAD -> main** 2021/11/12 mandic00@live.com
|
||||||
|
|
||||||
|
- implement optional face masking
|
||||||
### **origin/main** 2021/11/11 mandic00@live.com
|
|
||||||
|
|
||||||
- add similarity score range normalization
|
- add similarity score range normalization
|
||||||
- add faceid demo
|
- add faceid demo
|
||||||
- documentation overhaul
|
- documentation overhaul
|
||||||
|
|
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 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 it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -24,8 +24,8 @@ export async function load(config: Config): Promise<GraphModel> {
|
||||||
return model;
|
return model;
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function predict(image: Tensor, config: Config, idx, count) {
|
export async function predict(image: Tensor, config: Config, idx, count): Promise<number> {
|
||||||
if (!model) return null;
|
if (!model) return 0;
|
||||||
const skipTime = (config.face.antispoof?.skipTime || 0) > (now() - lastTime);
|
const skipTime = (config.face.antispoof?.skipTime || 0) > (now() - lastTime);
|
||||||
const skipFrame = skipped < (config.face.antispoof?.skipFrames || 0);
|
const skipFrame = skipped < (config.face.antispoof?.skipFrames || 0);
|
||||||
if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && cached[idx]) {
|
if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && cached[idx]) {
|
||||||
|
|
|
@ -12,6 +12,9 @@ import * as faceres from './faceres';
|
||||||
import * as mask from './mask';
|
import * as mask from './mask';
|
||||||
import * as antispoof from './antispoof';
|
import * as antispoof from './antispoof';
|
||||||
import * as liveness from './liveness';
|
import * as liveness from './liveness';
|
||||||
|
import * as gear from '../gear/gear';
|
||||||
|
import * as ssrnetAge from '../gear/ssrnet-age';
|
||||||
|
import * as ssrnetGender from '../gear/ssrnet-gender';
|
||||||
import type { FaceResult } from '../result';
|
import type { FaceResult } from '../result';
|
||||||
import type { Tensor } from '../tfjs/types';
|
import type { Tensor } from '../tfjs/types';
|
||||||
import type { Human } from '../human';
|
import type { Human } from '../human';
|
||||||
|
@ -95,18 +98,30 @@ export const detectFace = async (parent: Human /* instance of human */, input: T
|
||||||
parent.analyze('End Liveness:');
|
parent.analyze('End Liveness:');
|
||||||
|
|
||||||
// run gear, inherits face from blazeface
|
// run gear, inherits face from blazeface
|
||||||
/*
|
|
||||||
parent.analyze('Start GEAR:');
|
parent.analyze('Start GEAR:');
|
||||||
if (parent.config.async) {
|
if (parent.config.async) {
|
||||||
gearRes = parent.config.face.agegenderrace.enabled ? agegenderrace.predict(faces[i].tensor || tf.tensor([]), parent.config, i, faces.length) : {};
|
gearRes = parent.config.face['gear']?.enabled ? gear.predict(faces[i].tensor || tf.tensor([]), parent.config, i, faces.length) : {};
|
||||||
} else {
|
} else {
|
||||||
parent.state = 'run:gear';
|
parent.state = 'run:gear';
|
||||||
timeStamp = now();
|
timeStamp = now();
|
||||||
gearRes = parent.config.face.agegenderrace.enabled ? await agegenderrace.predict(faces[i].tensor || tf.tensor([]), parent.config, i, faces.length) : {};
|
gearRes = parent.config.face['gear']?.enabled ? await gear.predict(faces[i].tensor || tf.tensor([]), parent.config, i, faces.length) : {};
|
||||||
parent.performance.emotion = Math.trunc(now() - timeStamp);
|
parent.performance.emotion = Math.trunc(now() - timeStamp);
|
||||||
}
|
}
|
||||||
parent.analyze('End GEAR:');
|
parent.analyze('End GEAR:');
|
||||||
*/
|
|
||||||
|
// run gear, inherits face from blazeface
|
||||||
|
parent.analyze('Start SSRNet:');
|
||||||
|
if (parent.config.async) {
|
||||||
|
ageRes = parent.config.face['ssrnet']?.enabled ? ssrnetAge.predict(faces[i].tensor || tf.tensor([]), parent.config, i, faces.length) : {};
|
||||||
|
genderRes = parent.config.face['ssrnet']?.enabled ? ssrnetGender.predict(faces[i].tensor || tf.tensor([]), parent.config, i, faces.length) : {};
|
||||||
|
} else {
|
||||||
|
parent.state = 'run:ssrnet';
|
||||||
|
timeStamp = now();
|
||||||
|
ageRes = parent.config.face['ssrnet']?.enabled ? await ssrnetAge.predict(faces[i].tensor || tf.tensor([]), parent.config, i, faces.length) : {};
|
||||||
|
genderRes = parent.config.face['ssrnet']?.enabled ? await ssrnetGender.predict(faces[i].tensor || tf.tensor([]), parent.config, i, faces.length) : {};
|
||||||
|
parent.performance.emotion = Math.trunc(now() - timeStamp);
|
||||||
|
}
|
||||||
|
parent.analyze('End SSRNet:');
|
||||||
|
|
||||||
// run emotion, inherits face from blazeface
|
// run emotion, inherits face from blazeface
|
||||||
parent.analyze('Start Description:');
|
parent.analyze('Start Description:');
|
||||||
|
@ -124,9 +139,12 @@ export const detectFace = async (parent: Human /* instance of human */, input: T
|
||||||
if (parent.config.async) {
|
if (parent.config.async) {
|
||||||
[ageRes, genderRes, emotionRes, embeddingRes, descRes, gearRes, antispoofRes, livenessRes] = await Promise.all([ageRes, genderRes, emotionRes, embeddingRes, descRes, gearRes, antispoofRes, livenessRes]);
|
[ageRes, genderRes, emotionRes, embeddingRes, descRes, gearRes, antispoofRes, livenessRes] = await Promise.all([ageRes, genderRes, emotionRes, embeddingRes, descRes, gearRes, antispoofRes, livenessRes]);
|
||||||
}
|
}
|
||||||
|
|
||||||
parent.analyze('Finish Face:');
|
parent.analyze('Finish Face:');
|
||||||
|
|
||||||
|
// override age/gender if alternative models are used
|
||||||
|
if (parent.config.face['ssrnet']?.enabled && ageRes && genderRes) descRes = { age: ageRes.age, gender: genderRes.gender, genderScore: genderRes.genderScore };
|
||||||
|
if (parent.config.face['gear']?.enabled && gearRes) descRes = { age: gearRes.age, gender: gearRes.gender, genderScore: gearRes.genderScore, race: gearRes.race };
|
||||||
|
|
||||||
// calculate iris distance
|
// calculate iris distance
|
||||||
// iris: array[ center, left, top, right, bottom]
|
// iris: array[ center, left, top, right, bottom]
|
||||||
if (!parent.config.face.iris?.enabled && faces[i]?.annotations?.leftEyeIris && faces[i]?.annotations?.rightEyeIris) {
|
if (!parent.config.face.iris?.enabled && faces[i]?.annotations?.leftEyeIris && faces[i]?.annotations?.rightEyeIris) {
|
||||||
|
@ -146,20 +164,22 @@ export const detectFace = async (parent: Human /* instance of human */, input: T
|
||||||
// delete temp face image
|
// delete temp face image
|
||||||
if (faces[i].tensor) delete faces[i].tensor;
|
if (faces[i].tensor) delete faces[i].tensor;
|
||||||
// combine results
|
// combine results
|
||||||
faceRes.push({
|
const res: FaceResult = {
|
||||||
...faces[i],
|
...faces[i],
|
||||||
id: i,
|
id: i,
|
||||||
age: descRes?.age,
|
};
|
||||||
gender: descRes?.gender,
|
if (descRes?.age) res.age = descRes.age;
|
||||||
genderScore: descRes?.genderScore,
|
if (descRes?.gender) res.gender = descRes.gender;
|
||||||
embedding: descRes?.descriptor,
|
if (descRes?.genderScore) res.genderScore = descRes?.genderScore;
|
||||||
emotion: emotionRes,
|
if (descRes?.descriptor) res.embedding = descRes?.descriptor;
|
||||||
real: antispoofRes,
|
if (descRes?.race) res.race = descRes?.race;
|
||||||
live: livenessRes,
|
if (emotionRes) res.emotion = emotionRes;
|
||||||
iris: irisSize !== 0 ? Math.trunc(500 / irisSize / 11.7) / 100 : 0,
|
if (antispoofRes) res.real = antispoofRes;
|
||||||
rotation,
|
if (livenessRes) res.live = livenessRes;
|
||||||
tensor,
|
if (irisSize && irisSize !== 0) res.iris = Math.trunc(500 / irisSize / 11.7) / 100;
|
||||||
});
|
if (rotation) res.rotation = rotation;
|
||||||
|
if (tensor) res.tensor = tensor;
|
||||||
|
faceRes.push(res);
|
||||||
parent.analyze('End Face');
|
parent.analyze('End Face');
|
||||||
}
|
}
|
||||||
parent.analyze('End FaceMesh:');
|
parent.analyze('End FaceMesh:');
|
||||||
|
|
|
@ -62,8 +62,8 @@ export function enhance(input): Tensor {
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function predict(image: Tensor, config: Config, idx, count) {
|
export async function predict(image: Tensor, config: Config, idx, count): Promise<{ age: number, gender: string, genderScore: number, descriptor: number[] }> {
|
||||||
if (!model) return null;
|
if (!model) return { age: 0, gender: 'unknown', genderScore: 0, descriptor: [] };
|
||||||
const skipFrame = skipped < (config.face.description?.skipFrames || 0);
|
const skipFrame = skipped < (config.face.description?.skipFrames || 0);
|
||||||
const skipTime = (config.face.description?.skipTime || 0) > (now() - lastTime);
|
const skipTime = (config.face.description?.skipTime || 0) > (now() - lastTime);
|
||||||
if (config.skipAllowed && skipFrame && skipTime && (lastCount === count) && last[idx]?.age && (last[idx]?.age > 0)) {
|
if (config.skipAllowed && skipFrame && skipTime && (lastCount === count) && last[idx]?.age && (last[idx]?.age > 0)) {
|
||||||
|
|
|
@ -24,8 +24,8 @@ export async function load(config: Config): Promise<GraphModel> {
|
||||||
return model;
|
return model;
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function predict(image: Tensor, config: Config, idx, count) {
|
export async function predict(image: Tensor, config: Config, idx, count): Promise<number> {
|
||||||
if (!model) return null;
|
if (!model) return 0;
|
||||||
const skipTime = (config.face.liveness?.skipTime || 0) > (now() - lastTime);
|
const skipTime = (config.face.liveness?.skipTime || 0) > (now() - lastTime);
|
||||||
const skipFrame = skipped < (config.face.liveness?.skipFrames || 0);
|
const skipFrame = skipped < (config.face.liveness?.skipFrames || 0);
|
||||||
if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && cached[idx]) {
|
if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && cached[idx]) {
|
||||||
|
|
|
@ -12,7 +12,6 @@ import { env } from '../util/env';
|
||||||
|
|
||||||
const annotations = ['angry', 'disgust', 'fear', 'happy', 'sad', 'surprise', 'neutral'];
|
const annotations = ['angry', 'disgust', 'fear', 'happy', 'sad', 'surprise', 'neutral'];
|
||||||
let model: GraphModel | null;
|
let model: GraphModel | null;
|
||||||
// let last: Array<{ score: number, emotion: string }> = [];
|
|
||||||
const last: Array<Array<{ score: number, emotion: string }>> = [];
|
const last: Array<Array<{ score: number, emotion: string }>> = [];
|
||||||
let lastCount = 0;
|
let lastCount = 0;
|
||||||
let lastTime = 0;
|
let lastTime = 0;
|
||||||
|
@ -31,8 +30,8 @@ export async function load(config: Config): Promise<GraphModel> {
|
||||||
return model;
|
return model;
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function predict(image: Tensor, config: Config, idx, count) {
|
export async function predict(image: Tensor, config: Config, idx, count): Promise<Array<{ score: number, emotion: string }>> {
|
||||||
if (!model) return null;
|
if (!model) return [];
|
||||||
const skipFrame = skipped < (config.face.emotion?.skipFrames || 0);
|
const skipFrame = skipped < (config.face.emotion?.skipFrames || 0);
|
||||||
const skipTime = (config.face.emotion?.skipTime || 0) > (now() - lastTime);
|
const skipTime = (config.face.emotion?.skipTime || 0) > (now() - lastTime);
|
||||||
if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && last[idx] && (last[idx].length > 0)) {
|
if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && last[idx] && (last[idx].length > 0)) {
|
||||||
|
|
|
@ -1,81 +0,0 @@
|
||||||
/**
|
|
||||||
* GEAR [gender/emotion/age/race] model implementation
|
|
||||||
*
|
|
||||||
* Based on: [**GEAR Predictor**](https://github.com/Udolf15/GEAR-Predictor)
|
|
||||||
*
|
|
||||||
* Obsolete and replaced by `faceres` that performs age/gender/descriptor analysis
|
|
||||||
* Config placeholder: agegenderrace: { enabled: true, modelPath: 'gear.json' },
|
|
||||||
*/
|
|
||||||
|
|
||||||
import { log, join, now } from '../util/util';
|
|
||||||
import * as tf from '../../dist/tfjs.esm.js';
|
|
||||||
import type { Config } from '../config';
|
|
||||||
import type { GraphModel, Tensor } from '../tfjs/types';
|
|
||||||
import { env } from '../util/env';
|
|
||||||
|
|
||||||
let model: GraphModel | null;
|
|
||||||
|
|
||||||
let last = { age: 0 };
|
|
||||||
let lastTime = 0;
|
|
||||||
let skipped = Number.MAX_SAFE_INTEGER;
|
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
||||||
export async function load(config: Config | any) {
|
|
||||||
if (env.initial) model = null;
|
|
||||||
if (!model) {
|
|
||||||
model = await tf.loadGraphModel(join(config.modelBasePath, config.face.agegenderrace.modelPath)) as unknown as GraphModel;
|
|
||||||
if (!model || !model['modelUrl']) log('load model failed:', config.face.agegenderrace.modelPath);
|
|
||||||
else if (config.debug) log('load model:', model['modelUrl']);
|
|
||||||
} else if (config.debug) log('cached model:', model['modelUrl']);
|
|
||||||
return model;
|
|
||||||
}
|
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
||||||
export async function predict(image: Tensor, config: Config) {
|
|
||||||
if (!model) return null;
|
|
||||||
// @ts-ignore config disabled
|
|
||||||
const skipFrame = skipped < (config.face.agegenderrace?.skipFrames || 0);
|
|
||||||
// @ts-ignore config disabled
|
|
||||||
const skipTime = (config.face.agegenderrace?.skipTime || 0) > (now() - lastTime);
|
|
||||||
// @ts-ignore config disabled
|
|
||||||
if (config.skipAllowed && skipTime && skipFrame && last.age && (last.age > 0)) {
|
|
||||||
skipped++;
|
|
||||||
return last;
|
|
||||||
}
|
|
||||||
skipped = 0;
|
|
||||||
return new Promise(async (resolve) => {
|
|
||||||
if (!model?.inputs[0].shape) return;
|
|
||||||
const resize = tf.image.resizeBilinear(image, [model?.inputs[0].shape[2], model?.inputs[0].shape[1]], false);
|
|
||||||
// const enhance = tf.mul(resize, [255.0]);
|
|
||||||
|
|
||||||
let ageT;
|
|
||||||
let genderT;
|
|
||||||
let raceT;
|
|
||||||
const obj = { age: 0 };
|
|
||||||
|
|
||||||
// @ts-ignore array definition unavailable at compile time
|
|
||||||
if (config.face.agegenderrace.enabled) [ageT, genderT, raceT] = model.execute(resize, ['age_output', 'gender_output', 'race_output']);
|
|
||||||
lastTime = now();
|
|
||||||
tf.dispose(resize);
|
|
||||||
// tf.dispose(enhance);
|
|
||||||
|
|
||||||
if (ageT) {
|
|
||||||
// const data = await ageT.data();
|
|
||||||
// {0: 'below_20', 1: '21-25', 2: '26-30', 3: '31-40',4: '41-50', 5: '51-60', 6: 'Above60'}
|
|
||||||
}
|
|
||||||
if (genderT) {
|
|
||||||
// const data = await genderT.data();
|
|
||||||
}
|
|
||||||
if (raceT) {
|
|
||||||
// const data = await raceT.data();
|
|
||||||
// {0: 'white', 1: 'black', 2: 'asian', 3: 'indian', 4: 'others'}
|
|
||||||
}
|
|
||||||
|
|
||||||
tf.dispose(ageT);
|
|
||||||
tf.dispose(genderT);
|
|
||||||
tf.dispose(raceT);
|
|
||||||
|
|
||||||
last = obj;
|
|
||||||
resolve(obj);
|
|
||||||
});
|
|
||||||
}
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
/**
|
||||||
|
* GEAR [gender/emotion/age/race] model implementation
|
||||||
|
*
|
||||||
|
* Based on: [**GEAR Predictor**](https://github.com/Udolf15/GEAR-Predictor)
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { log, join, now } from '../util/util';
|
||||||
|
import * as tf from '../../dist/tfjs.esm.js';
|
||||||
|
import type { Config } from '../config';
|
||||||
|
import type { GraphModel, Tensor } from '../tfjs/types';
|
||||||
|
import { env } from '../util/env';
|
||||||
|
|
||||||
|
type GearType = { age: number, gender: string, genderScore: number, race: Array<{ score: number, race: string }> }
|
||||||
|
let model: GraphModel | null;
|
||||||
|
const last: Array<GearType> = [];
|
||||||
|
const raceNames = ['white', 'black', 'asian', 'indian', 'other'];
|
||||||
|
const ageWeights = [15, 23, 28, 35.5, 45.5, 55.5, 65];
|
||||||
|
let lastCount = 0;
|
||||||
|
let lastTime = 0;
|
||||||
|
let skipped = Number.MAX_SAFE_INTEGER;
|
||||||
|
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
|
export async function load(config: Config) {
|
||||||
|
if (env.initial) model = null;
|
||||||
|
if (!model) {
|
||||||
|
model = await tf.loadGraphModel(join(config.modelBasePath, config.face['gear'].modelPath)) as unknown as GraphModel;
|
||||||
|
if (!model || !model['modelUrl']) log('load model failed:', config.face['gear'].modelPath);
|
||||||
|
else if (config.debug) log('load model:', model['modelUrl']);
|
||||||
|
} else if (config.debug) log('cached model:', model['modelUrl']);
|
||||||
|
return model;
|
||||||
|
}
|
||||||
|
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
|
export async function predict(image: Tensor, config: Config, idx, count): Promise<GearType> {
|
||||||
|
if (!model) return { age: 0, gender: 'unknown', genderScore: 0, race: [] };
|
||||||
|
const skipFrame = skipped < (config.face['gear']?.skipFrames || 0);
|
||||||
|
const skipTime = (config.face['gear']?.skipTime || 0) > (now() - lastTime);
|
||||||
|
if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && last[idx]) {
|
||||||
|
skipped++;
|
||||||
|
return last[idx];
|
||||||
|
}
|
||||||
|
skipped = 0;
|
||||||
|
return new Promise(async (resolve) => {
|
||||||
|
if (!model?.inputs[0].shape) return;
|
||||||
|
const t: Record<string, Tensor> = {};
|
||||||
|
// t.resize = tf.image.resizeBilinear(image, [model?.inputs[0].shape[2], model?.inputs[0].shape[1]], false);
|
||||||
|
const box = [[0.0, 0.10, 0.90, 0.90]]; // empyrical values for top, left, bottom, right
|
||||||
|
t.resize = tf.image.cropAndResize(image, box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]);
|
||||||
|
const obj: GearType = { age: 0, gender: 'unknown', genderScore: 0, race: [] };
|
||||||
|
if (config.face['gear']?.enabled) [t.age, t.gender, t.race] = model.execute(t.resize, ['age_output', 'gender_output', 'race_output']) as Tensor[];
|
||||||
|
const gender = await t.gender.data();
|
||||||
|
obj.gender = gender[0] > gender[1] ? 'male' : 'female';
|
||||||
|
obj.genderScore = Math.round(100 * (gender[0] > gender[1] ? gender[0] : gender[1])) / 100;
|
||||||
|
const race = await t.race.data();
|
||||||
|
for (let i = 0; i < race.length; i++) {
|
||||||
|
if (race[i] > (config.face['gear']?.minConfidence || 0.2)) obj.race.push({ score: Math.round(100 * race[i]) / 100, race: raceNames[i] });
|
||||||
|
}
|
||||||
|
obj.race.sort((a, b) => b.score - a.score);
|
||||||
|
// {0: 'Below20', 1: '21-25', 2: '26-30', 3: '31-40',4: '41-50', 5: '51-60', 6: 'Above60'}
|
||||||
|
const ageDistribution = Array.from(await t.age.data());
|
||||||
|
const ageSorted = ageDistribution.map((a, i) => [ageWeights[i], a]).sort((a, b) => b[1] - a[1]);
|
||||||
|
let age = ageSorted[0][0]; // pick best starting point
|
||||||
|
for (let i = 1; i < ageSorted.length; i++) age += ageSorted[i][1] * (ageSorted[i][0] - age); // adjust with each other choice by weight
|
||||||
|
obj.age = Math.round(10 * age) / 10;
|
||||||
|
last[idx] = obj;
|
||||||
|
lastCount = count;
|
||||||
|
lastTime = now();
|
||||||
|
resolve(obj);
|
||||||
|
});
|
||||||
|
}
|
|
@ -2,8 +2,6 @@
|
||||||
* Age model implementation
|
* Age model implementation
|
||||||
*
|
*
|
||||||
* Based on: [**SSR-Net**](https://github.com/shamangary/SSR-Net)
|
* Based on: [**SSR-Net**](https://github.com/shamangary/SSR-Net)
|
||||||
*
|
|
||||||
* Obsolete and replaced by `faceres` that performs age/gender/descriptor analysis
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { log, join, now } from '../util/util';
|
import { log, join, now } from '../util/util';
|
||||||
|
@ -13,16 +11,17 @@ import type { GraphModel, Tensor } from '../tfjs/types';
|
||||||
import { env } from '../util/env';
|
import { env } from '../util/env';
|
||||||
|
|
||||||
let model: GraphModel | null;
|
let model: GraphModel | null;
|
||||||
let last = { age: 0 };
|
const last: Array<{ age: number }> = [];
|
||||||
|
let lastCount = 0;
|
||||||
let lastTime = 0;
|
let lastTime = 0;
|
||||||
let skipped = Number.MAX_SAFE_INTEGER;
|
let skipped = Number.MAX_SAFE_INTEGER;
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
export async function load(config: Config | any) {
|
export async function load(config: Config) {
|
||||||
if (env.initial) model = null;
|
if (env.initial) model = null;
|
||||||
if (!model) {
|
if (!model) {
|
||||||
model = await tf.loadGraphModel(join(config.modelBasePath, config.face.age.modelPath)) as unknown as GraphModel;
|
model = await tf.loadGraphModel(join(config.modelBasePath, config.face['ssrnet'].modelPathAge)) as unknown as GraphModel;
|
||||||
if (!model || !model['modelUrl']) log('load model failed:', config.face.age.modelPath);
|
if (!model || !model['modelUrl']) log('load model failed:', config.face['ssrnet'].modelPathAge);
|
||||||
else if (config.debug) log('load model:', model['modelUrl']);
|
else if (config.debug) log('load model:', model['modelUrl']);
|
||||||
} else {
|
} else {
|
||||||
if (config.debug) log('cached model:', model['modelUrl']);
|
if (config.debug) log('cached model:', model['modelUrl']);
|
||||||
|
@ -31,35 +30,30 @@ export async function load(config: Config | any) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
export async function predict(image: Tensor, config: Config | any) {
|
export async function predict(image: Tensor, config: Config, idx, count): Promise<{ age: number }> {
|
||||||
if (!model) return null;
|
if (!model) return { age: 0 };
|
||||||
const skipTime = (config.face.age?.skipTime || 0) > (now() - lastTime);
|
const skipFrame = skipped < (config.face['ssrnet']?.skipFrames || 0);
|
||||||
const skipFrame = skipped < (config.face.age?.skipFrames || 0);
|
const skipTime = (config.face['ssrnet']?.skipTime || 0) > (now() - lastTime);
|
||||||
if (config.skipAllowed && skipTime && skipFrame && last.age && (last.age > 0)) {
|
if (config.skipAllowed && skipFrame && skipTime && (lastCount === count) && last[idx]?.age && (last[idx]?.age > 0)) {
|
||||||
skipped++;
|
skipped++;
|
||||||
return last;
|
return last[idx];
|
||||||
}
|
}
|
||||||
skipped = 0;
|
skipped = 0;
|
||||||
return new Promise(async (resolve) => {
|
return new Promise(async (resolve) => {
|
||||||
if (!model?.inputs || !model.inputs[0] || !model.inputs[0].shape) return;
|
if (!model?.inputs || !model.inputs[0] || !model.inputs[0].shape) return;
|
||||||
const resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);
|
const t: Record<string, Tensor> = {};
|
||||||
const enhance = tf.mul(resize, [255.0]);
|
t.resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);
|
||||||
tf.dispose(resize);
|
t.enhance = tf.mul(t.resize, 255);
|
||||||
|
|
||||||
let ageT;
|
|
||||||
const obj = { age: 0 };
|
const obj = { age: 0 };
|
||||||
|
if (config.face['ssrnet'].enabled) t.age = model.execute(t.enhance) as Tensor;
|
||||||
if (config.face.age.enabled) ageT = model.execute(enhance);
|
if (t.age) {
|
||||||
lastTime = now();
|
const data = await t.age.data();
|
||||||
tf.dispose(enhance);
|
|
||||||
|
|
||||||
if (ageT) {
|
|
||||||
const data = await ageT.data();
|
|
||||||
obj.age = Math.trunc(10 * data[0]) / 10;
|
obj.age = Math.trunc(10 * data[0]) / 10;
|
||||||
}
|
}
|
||||||
tf.dispose(ageT);
|
Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));
|
||||||
|
last[idx] = obj;
|
||||||
last = obj;
|
lastCount = count;
|
||||||
|
lastTime = now();
|
||||||
resolve(obj);
|
resolve(obj);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,8 +2,6 @@
|
||||||
* Gender model implementation
|
* Gender model implementation
|
||||||
*
|
*
|
||||||
* Based on: [**SSR-Net**](https://github.com/shamangary/SSR-Net)
|
* Based on: [**SSR-Net**](https://github.com/shamangary/SSR-Net)
|
||||||
*
|
|
||||||
* Obsolete and replaced by `faceres` that performs age/gender/descriptor analysis
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { log, join, now } from '../util/util';
|
import { log, join, now } from '../util/util';
|
||||||
|
@ -13,10 +11,10 @@ import type { GraphModel, Tensor } from '../tfjs/types';
|
||||||
import { env } from '../util/env';
|
import { env } from '../util/env';
|
||||||
|
|
||||||
let model: GraphModel | null;
|
let model: GraphModel | null;
|
||||||
let last = { gender: '' };
|
const last: Array<{ gender: string, genderScore: number }> = [];
|
||||||
|
let lastCount = 0;
|
||||||
let lastTime = 0;
|
let lastTime = 0;
|
||||||
let skipped = Number.MAX_SAFE_INTEGER;
|
let skipped = Number.MAX_SAFE_INTEGER;
|
||||||
let alternative = false;
|
|
||||||
|
|
||||||
// tuning values
|
// tuning values
|
||||||
const rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when converting to grayscale
|
const rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when converting to grayscale
|
||||||
|
@ -25,85 +23,45 @@ const rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when
|
||||||
export async function load(config: Config | any) {
|
export async function load(config: Config | any) {
|
||||||
if (env.initial) model = null;
|
if (env.initial) model = null;
|
||||||
if (!model) {
|
if (!model) {
|
||||||
model = await tf.loadGraphModel(join(config.modelBasePath, config.face.gender.modelPath)) as unknown as GraphModel;
|
model = await tf.loadGraphModel(join(config.modelBasePath, config.face['ssrnet'].modelPathGender)) as unknown as GraphModel;
|
||||||
alternative = model.inputs[0].shape ? model.inputs[0]?.shape[3] === 1 : false;
|
if (!model || !model['modelUrl']) log('load model failed:', config.face['ssrnet'].modelPathGender);
|
||||||
if (!model || !model['modelUrl']) log('load model failed:', config.face.gender.modelPath);
|
|
||||||
else if (config.debug) log('load model:', model['modelUrl']);
|
else if (config.debug) log('load model:', model['modelUrl']);
|
||||||
} else if (config.debug) log('cached model:', model['modelUrl']);
|
} else if (config.debug) log('cached model:', model['modelUrl']);
|
||||||
return model;
|
return model;
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
export async function predict(image: Tensor, config: Config | any) {
|
export async function predict(image: Tensor, config: Config, idx, count): Promise<{ gender: string, genderScore: number }> {
|
||||||
if (!model) return null;
|
if (!model) return { gender: 'unknown', genderScore: 0 };
|
||||||
const skipTime = (config.face.gender?.skipTime || 0) > (now() - lastTime);
|
const skipFrame = skipped < (config.face['ssrnet']?.skipFrames || 0);
|
||||||
const skipFrame = skipped < (config.face.gender?.skipFrames || 0);
|
const skipTime = (config.face['ssrnet']?.skipTime || 0) > (now() - lastTime);
|
||||||
if (config.skipAllowed && skipTime && skipFrame && last.gender !== '') {
|
if (config.skipAllowed && skipFrame && skipTime && (lastCount === count) && last[idx]?.gender && (last[idx]?.genderScore > 0)) {
|
||||||
skipped++;
|
skipped++;
|
||||||
return last;
|
return last[idx];
|
||||||
}
|
}
|
||||||
skipped = 0;
|
skipped = 0;
|
||||||
return new Promise(async (resolve) => {
|
return new Promise(async (resolve) => {
|
||||||
if (!model?.inputs[0].shape) return;
|
if (!model?.inputs[0].shape) return;
|
||||||
const resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);
|
const t: Record<string, Tensor> = {};
|
||||||
let enhance;
|
t.resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);
|
||||||
if (alternative) {
|
t.enhance = tf.tidy(() => {
|
||||||
enhance = tf.tidy(() => {
|
const [red, green, blue] = tf.split(t.resize, 3, 3);
|
||||||
const [red, green, blue] = tf.split(resize, 3, 3);
|
const redNorm = tf.mul(red, rgb[0]);
|
||||||
const redNorm = tf.mul(red, rgb[0]);
|
const greenNorm = tf.mul(green, rgb[1]);
|
||||||
const greenNorm = tf.mul(green, rgb[1]);
|
const blueNorm = tf.mul(blue, rgb[2]);
|
||||||
const blueNorm = tf.mul(blue, rgb[2]);
|
const grayscale = tf.addN([redNorm, greenNorm, blueNorm]);
|
||||||
const grayscale = tf.addN([redNorm, greenNorm, blueNorm]);
|
const normalize = tf.mul(tf.sub(grayscale, 0.5), 2); // range grayscale:-1..1
|
||||||
const normalize = tf.mul(tf.sub(grayscale, 0.5), 2); // range grayscale:-1..1
|
return normalize;
|
||||||
return normalize;
|
});
|
||||||
});
|
const obj = { gender: '', genderScore: 0 };
|
||||||
} else {
|
if (config.face['ssrnet'].enabled) t.gender = model.execute(t.enhance) as Tensor;
|
||||||
enhance = tf.mul(resize, [255.0]); // range RGB:0..255
|
const data = await t.gender.data();
|
||||||
}
|
obj.gender = data[0] > data[1] ? 'female' : 'male'; // returns two values 0..1, bigger one is prediction
|
||||||
tf.dispose(resize);
|
obj.genderScore = data[0] > data[1] ? (Math.trunc(100 * data[0]) / 100) : (Math.trunc(100 * data[1]) / 100);
|
||||||
|
Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));
|
||||||
let genderT;
|
last[idx] = obj;
|
||||||
const obj = { gender: '', confidence: 0 };
|
lastCount = count;
|
||||||
|
|
||||||
if (config.face.gender.enabled) genderT = model.execute(enhance);
|
|
||||||
lastTime = now();
|
lastTime = now();
|
||||||
tf.dispose(enhance);
|
|
||||||
|
|
||||||
if (genderT) {
|
|
||||||
if (!Array.isArray(genderT)) {
|
|
||||||
const data = await genderT.data();
|
|
||||||
if (alternative) {
|
|
||||||
// returns two values 0..1, bigger one is prediction
|
|
||||||
if (data[0] > config.face.gender.minConfidence || data[1] > config.face.gender.minConfidence) {
|
|
||||||
obj.gender = data[0] > data[1] ? 'female' : 'male';
|
|
||||||
obj.confidence = data[0] > data[1] ? (Math.trunc(100 * data[0]) / 100) : (Math.trunc(100 * data[1]) / 100);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// returns one value 0..1, .5 is prediction threshold
|
|
||||||
const confidence = Math.trunc(200 * Math.abs((data[0] - 0.5))) / 100;
|
|
||||||
if (confidence > config.face.gender.minConfidence) {
|
|
||||||
obj.gender = data[0] <= 0.5 ? 'female' : 'male';
|
|
||||||
obj.confidence = Math.min(0.99, confidence);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
tf.dispose(genderT);
|
|
||||||
} else {
|
|
||||||
const gender = await genderT[0].data();
|
|
||||||
const confidence = Math.trunc(200 * Math.abs((gender[0] - 0.5))) / 100;
|
|
||||||
if (confidence > config.face.gender.minConfidence) {
|
|
||||||
obj.gender = gender[0] <= 0.5 ? 'female' : 'male';
|
|
||||||
obj.confidence = Math.min(0.99, confidence);
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
let age = (await genderT[1].argMax(1).data())[0];
|
|
||||||
const all = await genderT[1].data();
|
|
||||||
age = Math.round(all[age - 1] > all[age + 1] ? 10 * age - 100 * all[age - 1] : 10 * age + 100 * all[age + 1]) / 10;
|
|
||||||
const descriptor = await genderT[1].data();
|
|
||||||
*/
|
|
||||||
genderT.forEach((t) => tf.dispose(t));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
last = obj;
|
|
||||||
resolve(obj);
|
resolve(obj);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,9 @@
|
||||||
|
|
||||||
import { env } from './util/env';
|
import { env } from './util/env';
|
||||||
import { log } from './util/util';
|
import { log } from './util/util';
|
||||||
import * as agegenderrace from './gear/gear-agegenderrace';
|
import * as gear from './gear/gear';
|
||||||
|
import * as ssrnetAge from './gear/ssrnet-age';
|
||||||
|
import * as ssrnetGender from './gear/ssrnet-gender';
|
||||||
import * as antispoof from './face/antispoof';
|
import * as antispoof from './face/antispoof';
|
||||||
import * as blazeface from './face/blazeface';
|
import * as blazeface from './face/blazeface';
|
||||||
import * as blazepose from './body/blazepose';
|
import * as blazepose from './body/blazepose';
|
||||||
|
@ -31,8 +33,8 @@ import type { Human } from './human';
|
||||||
* - each model can be `null` if not loaded, instance of `GraphModel` if loaded or `Promise` if loading
|
* - each model can be `null` if not loaded, instance of `GraphModel` if loaded or `Promise` if loading
|
||||||
*/
|
*/
|
||||||
export class Models {
|
export class Models {
|
||||||
age: null | GraphModel | Promise<GraphModel> = null;
|
ssrnetage: null | GraphModel | Promise<GraphModel> = null;
|
||||||
agegenderrace: null | GraphModel | Promise<GraphModel> = null;
|
gear: null | GraphModel | Promise<GraphModel> = null;
|
||||||
blazeposedetect: null | GraphModel | Promise<GraphModel> = null;
|
blazeposedetect: null | GraphModel | Promise<GraphModel> = null;
|
||||||
blazepose: null | GraphModel | Promise<GraphModel> = null;
|
blazepose: null | GraphModel | Promise<GraphModel> = null;
|
||||||
centernet: null | GraphModel | Promise<GraphModel> = null;
|
centernet: null | GraphModel | Promise<GraphModel> = null;
|
||||||
|
@ -43,7 +45,7 @@ export class Models {
|
||||||
faceiris: null | GraphModel | Promise<GraphModel> = null;
|
faceiris: null | GraphModel | Promise<GraphModel> = null;
|
||||||
facemesh: null | GraphModel | Promise<GraphModel> = null;
|
facemesh: null | GraphModel | Promise<GraphModel> = null;
|
||||||
faceres: null | GraphModel | Promise<GraphModel> = null;
|
faceres: null | GraphModel | Promise<GraphModel> = null;
|
||||||
gender: null | GraphModel | Promise<GraphModel> = null;
|
ssrnetgender: null | GraphModel | Promise<GraphModel> = null;
|
||||||
handpose: null | GraphModel | Promise<GraphModel> = null;
|
handpose: null | GraphModel | Promise<GraphModel> = null;
|
||||||
handskeleton: null | GraphModel | Promise<GraphModel> = null;
|
handskeleton: null | GraphModel | Promise<GraphModel> = null;
|
||||||
handtrack: null | GraphModel | Promise<GraphModel> = null;
|
handtrack: null | GraphModel | Promise<GraphModel> = null;
|
||||||
|
@ -70,7 +72,6 @@ export async function load(instance: Human): Promise<void> {
|
||||||
if (instance.config.body.enabled && !instance.models.blazepose && instance.config.body?.modelPath?.includes('blazepose')) instance.models.blazepose = blazepose.loadPose(instance.config);
|
if (instance.config.body.enabled && !instance.models.blazepose && instance.config.body?.modelPath?.includes('blazepose')) instance.models.blazepose = blazepose.loadPose(instance.config);
|
||||||
if (instance.config.body.enabled && !instance.models.blazeposedetect && instance.config.body.detector?.modelPath && instance.config.body?.modelPath?.includes('blazepose')) instance.models.blazeposedetect = blazepose.loadDetect(instance.config);
|
if (instance.config.body.enabled && !instance.models.blazeposedetect && instance.config.body.detector?.modelPath && instance.config.body?.modelPath?.includes('blazepose')) instance.models.blazeposedetect = blazepose.loadDetect(instance.config);
|
||||||
if (instance.config.body.enabled && !instance.models.efficientpose && instance.config.body?.modelPath?.includes('efficientpose')) instance.models.efficientpose = efficientpose.load(instance.config);
|
if (instance.config.body.enabled && !instance.models.efficientpose && instance.config.body?.modelPath?.includes('efficientpose')) instance.models.efficientpose = efficientpose.load(instance.config);
|
||||||
if (instance.config.body.enabled && !instance.models.efficientpose && instance.config.body?.modelPath?.includes('efficientpose')) instance.models.efficientpose = efficientpose.load(instance.config);
|
|
||||||
if (instance.config.body.enabled && !instance.models.movenet && instance.config.body?.modelPath?.includes('movenet')) instance.models.movenet = movenet.load(instance.config);
|
if (instance.config.body.enabled && !instance.models.movenet && instance.config.body?.modelPath?.includes('movenet')) instance.models.movenet = movenet.load(instance.config);
|
||||||
if (instance.config.body.enabled && !instance.models.posenet && instance.config.body?.modelPath?.includes('posenet')) instance.models.posenet = posenet.load(instance.config);
|
if (instance.config.body.enabled && !instance.models.posenet && instance.config.body?.modelPath?.includes('posenet')) instance.models.posenet = posenet.load(instance.config);
|
||||||
if (instance.config.face.enabled && !instance.models.facedetect) instance.models.facedetect = blazeface.load(instance.config);
|
if (instance.config.face.enabled && !instance.models.facedetect) instance.models.facedetect = blazeface.load(instance.config);
|
||||||
|
@ -80,7 +81,9 @@ export async function load(instance: Human): Promise<void> {
|
||||||
if (instance.config.face.enabled && instance.config.face.emotion?.enabled && !instance.models.emotion) instance.models.emotion = emotion.load(instance.config);
|
if (instance.config.face.enabled && instance.config.face.emotion?.enabled && !instance.models.emotion) instance.models.emotion = emotion.load(instance.config);
|
||||||
if (instance.config.face.enabled && instance.config.face.iris?.enabled && !instance.models.faceiris) instance.models.faceiris = iris.load(instance.config);
|
if (instance.config.face.enabled && instance.config.face.iris?.enabled && !instance.models.faceiris) instance.models.faceiris = iris.load(instance.config);
|
||||||
if (instance.config.face.enabled && instance.config.face.mesh?.enabled && !instance.models.facemesh) instance.models.facemesh = facemesh.load(instance.config);
|
if (instance.config.face.enabled && instance.config.face.mesh?.enabled && !instance.models.facemesh) instance.models.facemesh = facemesh.load(instance.config);
|
||||||
if (instance.config.face.enabled && instance.config.face['agegenderrace']?.enabled && !instance.models.agegenderrace) instance.models.agegenderrace = agegenderrace.load(instance.config);
|
if (instance.config.face.enabled && instance.config.face['gear']?.enabled && !instance.models.gear) instance.models.gear = gear.load(instance.config);
|
||||||
|
if (instance.config.face.enabled && instance.config.face['ssrnet']?.enabled && !instance.models.ssrnetage) instance.models.ssrnetage = ssrnetAge.load(instance.config);
|
||||||
|
if (instance.config.face.enabled && instance.config.face['ssrnet']?.enabled && !instance.models.ssrnetgender) instance.models.ssrnetgender = ssrnetGender.load(instance.config);
|
||||||
if (instance.config.hand.enabled && !instance.models.handtrack && instance.config.hand.detector?.modelPath?.includes('handtrack')) instance.models.handtrack = handtrack.loadDetect(instance.config);
|
if (instance.config.hand.enabled && !instance.models.handtrack && instance.config.hand.detector?.modelPath?.includes('handtrack')) instance.models.handtrack = handtrack.loadDetect(instance.config);
|
||||||
if (instance.config.hand.enabled && instance.config.hand.landmarks && !instance.models.handskeleton && instance.config.hand.detector?.modelPath?.includes('handtrack')) instance.models.handskeleton = handtrack.loadSkeleton(instance.config);
|
if (instance.config.hand.enabled && instance.config.hand.landmarks && !instance.models.handskeleton && instance.config.hand.detector?.modelPath?.includes('handtrack')) instance.models.handskeleton = handtrack.loadSkeleton(instance.config);
|
||||||
if (instance.config.object.enabled && !instance.models.centernet && instance.config.object?.modelPath?.includes('centernet')) instance.models.centernet = centernet.load(instance.config);
|
if (instance.config.object.enabled && !instance.models.centernet && instance.config.object?.modelPath?.includes('centernet')) instance.models.centernet = centernet.load(instance.config);
|
||||||
|
|
|
@ -41,6 +41,8 @@ export interface FaceResult {
|
||||||
genderScore?: number,
|
genderScore?: number,
|
||||||
/** detected emotions */
|
/** detected emotions */
|
||||||
emotion?: Array<{ score: number, emotion: string }>,
|
emotion?: Array<{ score: number, emotion: string }>,
|
||||||
|
/** detected race */
|
||||||
|
race?: Array<{ score: number, race: string }>,
|
||||||
/** face descriptor */
|
/** face descriptor */
|
||||||
embedding?: Array<number>,
|
embedding?: Array<number>,
|
||||||
/** face iris distance from camera */
|
/** face iris distance from camera */
|
||||||
|
|
|
@ -1,26 +1,26 @@
|
||||||
2021-11-12 15:10:30 [36mINFO: [39m @vladmandic/human version 2.5.1
|
2021-11-13 12:09:51 [36mINFO: [39m @vladmandic/human version 2.5.1
|
||||||
2021-11-12 15:10:30 [36mINFO: [39m User: vlado Platform: linux Arch: x64 Node: v17.0.1
|
2021-11-13 12:09:51 [36mINFO: [39m User: vlado Platform: linux Arch: x64 Node: v17.0.1
|
||||||
2021-11-12 15:10:30 [36mINFO: [39m Application: {"name":"@vladmandic/human","version":"2.5.1"}
|
2021-11-13 12:09:51 [36mINFO: [39m Application: {"name":"@vladmandic/human","version":"2.5.1"}
|
||||||
2021-11-12 15:10:30 [36mINFO: [39m Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
|
2021-11-13 12:09:51 [36mINFO: [39m Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
|
||||||
2021-11-12 15:10:30 [36mINFO: [39m Toolchain: {"build":"0.6.3","esbuild":"0.13.13","typescript":"4.4.4","typedoc":"0.22.8","eslint":"8.2.0"}
|
2021-11-13 12:09:51 [36mINFO: [39m Toolchain: {"build":"0.6.3","esbuild":"0.13.13","typescript":"4.4.4","typedoc":"0.22.8","eslint":"8.2.0"}
|
||||||
2021-11-12 15:10:30 [36mINFO: [39m Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
|
2021-11-13 12:09:51 [36mINFO: [39m Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
|
||||||
2021-11-12 15:10:30 [35mSTATE:[39m Clean: {"locations":["dist/*","types/*","typedoc/*"]}
|
2021-11-13 12:09:51 [35mSTATE:[39m Clean: {"locations":["dist/*","types/*","typedoc/*"]}
|
||||||
2021-11-12 15:10:30 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
2021-11-13 12:09:51 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
|
||||||
2021-11-12 15:10:30 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":58,"inputBytes":530945,"outputBytes":448518}
|
2021-11-13 12:09:51 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":60,"inputBytes":538983,"outputBytes":457718}
|
||||||
2021-11-12 15:10:30 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
2021-11-13 12:09:51 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
|
||||||
2021-11-12 15:10:30 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":58,"inputBytes":530953,"outputBytes":448522}
|
2021-11-13 12:09:51 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":60,"inputBytes":538991,"outputBytes":457722}
|
||||||
2021-11-12 15:10:30 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
2021-11-13 12:09:51 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
|
||||||
2021-11-12 15:10:30 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":58,"inputBytes":531020,"outputBytes":448594}
|
2021-11-13 12:09:52 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":60,"inputBytes":539058,"outputBytes":457794}
|
||||||
2021-11-12 15:10:30 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
2021-11-13 12:09:52 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
|
||||||
2021-11-12 15:10:30 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
2021-11-13 12:09:52 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
|
||||||
2021-11-12 15:10:30 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":58,"inputBytes":530582,"outputBytes":450597}
|
2021-11-13 12:09:52 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":60,"inputBytes":538620,"outputBytes":459966}
|
||||||
2021-11-12 15:10:31 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2562703,"outputBytes":2497652}
|
2021-11-13 12:09:52 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2562703,"outputBytes":2497652}
|
||||||
2021-11-12 15:10:31 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":58,"inputBytes":3027322,"outputBytes":1616343}
|
2021-11-13 12:09:52 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":60,"inputBytes":3035360,"outputBytes":1621354}
|
||||||
2021-11-12 15:10:32 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":58,"inputBytes":3027322,"outputBytes":2954136}
|
2021-11-13 12:09:53 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":60,"inputBytes":3035360,"outputBytes":2963133}
|
||||||
2021-11-12 15:10:52 [35mSTATE:[39m Typings: {"input":"src/human.ts","output":"types","files":50}
|
2021-11-13 12:10:13 [35mSTATE:[39m Typings: {"input":"src/human.ts","output":"types","files":52}
|
||||||
2021-11-12 15:11:00 [35mSTATE:[39m TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":50,"generated":true}
|
2021-11-13 12:10:21 [35mSTATE:[39m TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":50,"generated":true}
|
||||||
2021-11-12 15:11:00 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5801,"outputBytes":3822}
|
2021-11-13 12:10:21 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5801,"outputBytes":3822}
|
||||||
2021-11-12 15:11:00 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":14654,"outputBytes":11518}
|
2021-11-13 12:10:21 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":14654,"outputBytes":11518}
|
||||||
2021-11-12 15:11:39 [35mSTATE:[39m Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":91,"errors":0,"warnings":0}
|
2021-11-13 12:11:00 [35mSTATE:[39m Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":92,"errors":0,"warnings":0}
|
||||||
2021-11-12 15:11:40 [35mSTATE:[39m ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
|
2021-11-13 12:11:01 [35mSTATE:[39m ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
|
||||||
2021-11-12 15:11:40 [36mINFO: [39m Done...
|
2021-11-13 12:11:01 [36mINFO: [39m Done...
|
||||||
|
|
|
@ -0,0 +1,81 @@
|
||||||
|
require('@tensorflow/tfjs-node');
|
||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
const log = require('@vladmandic/pilogger');
|
||||||
|
const Human = require('../dist/human.node.js').default;
|
||||||
|
|
||||||
|
process.env.TF_CPP_MIN_LOG_LEVEL = '2';
|
||||||
|
const humanConfig = {
|
||||||
|
backend: 'tensorflow',
|
||||||
|
face: {
|
||||||
|
detector: { enabled: true, modelPath: 'file://../human-models/models/blazeface-back.json', cropFactor: 1.6 },
|
||||||
|
mesh: { enabled: false },
|
||||||
|
iris: { enabled: false },
|
||||||
|
description: { enabled: true, modelPath: 'file://../human-models/models/faceres.json' },
|
||||||
|
gear: { enabled: true, modelPath: 'file://../human-models/models/gear.json' },
|
||||||
|
ssrnet: { enabled: true, modelPathAge: 'file://../human-models/models/age.json', modelPathGender: 'file://../human-models/models/gender.json' },
|
||||||
|
emotion: { enabled: false },
|
||||||
|
},
|
||||||
|
body: { enabled: false },
|
||||||
|
hand: { enabled: false },
|
||||||
|
object: { enabled: false },
|
||||||
|
gestures: { enabled: false },
|
||||||
|
};
|
||||||
|
const human = new Human(humanConfig);
|
||||||
|
|
||||||
|
function getImageTensor(imageFile) {
|
||||||
|
let tensor;
|
||||||
|
try {
|
||||||
|
const buffer = fs.readFileSync(imageFile);
|
||||||
|
tensor = human.tf.node.decodeImage(buffer, 3);
|
||||||
|
} catch (e) {
|
||||||
|
log.warn(`error loading image: ${imageFile}: ${e.message}`);
|
||||||
|
}
|
||||||
|
return tensor;
|
||||||
|
}
|
||||||
|
|
||||||
|
function printResult(obj) {
|
||||||
|
if (!obj || !obj.res || !obj.res.face || obj.res.face.length === 0) log.warn('no faces detected');
|
||||||
|
else obj.res.face.forEach((face, i) => log.data({ face: i, model: obj.model, image: obj.image, age: face.age, gender: face.gender, genderScore: face.genderScore, race: face.race }));
|
||||||
|
}
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
log.header();
|
||||||
|
if (process.argv.length !== 3) {
|
||||||
|
log.error('parameters: <input-image> or <input-folder> missing');
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
if (!fs.existsSync(process.argv[2])) {
|
||||||
|
log.error(`file not found: ${process.argv[2]}`);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
const stat = fs.statSync(process.argv[2]);
|
||||||
|
const files = [];
|
||||||
|
if (stat.isFile()) files.push(process.argv[2]);
|
||||||
|
else if (stat.isDirectory()) fs.readdirSync(process.argv[2]).forEach((f) => files.push(path.join(process.argv[2], f)));
|
||||||
|
log.data('input:', files);
|
||||||
|
await human.load();
|
||||||
|
let res;
|
||||||
|
for (const f of files) {
|
||||||
|
const tensor = getImageTensor(f);
|
||||||
|
if (!tensor) continue;
|
||||||
|
human.config.face.description.enabled = true;
|
||||||
|
human.config.face.gear.enabled = false;
|
||||||
|
human.config.face.ssrnet.enabled = false;
|
||||||
|
res = await human.detect(tensor);
|
||||||
|
printResult({ model: 'faceres', image: f, res });
|
||||||
|
human.config.face.description.enabled = false;
|
||||||
|
human.config.face.gear.enabled = true;
|
||||||
|
human.config.face.ssrnet.enabled = false;
|
||||||
|
res = await human.detect(tensor);
|
||||||
|
printResult({ model: 'gear', image: f, res });
|
||||||
|
human.config.face.description.enabled = false;
|
||||||
|
human.config.face.gear.enabled = false;
|
||||||
|
human.config.face.ssrnet.enabled = true;
|
||||||
|
res = await human.detect(tensor);
|
||||||
|
printResult({ model: 'ssrnet', image: f, res });
|
||||||
|
human.tf.dispose(tensor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
main();
|
1348
test/test.log
1348
test/test.log
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
|
@ -61,7 +61,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="ExternalCanvas" class="tsd-anchor"></a><h3>External<wbr/>Canvas</h3><div class="tsd-signature tsd-kind-icon">External<wbr/>Canvas<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">typeof </span><a href="classes/Env.html#Canvas" class="tsd-signature-type" data-tsd-kind="Property">Canvas</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/exports.ts#L34">src/exports.ts:34</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="ExternalCanvas" class="tsd-anchor"></a><h3>External<wbr/>Canvas</h3><div class="tsd-signature tsd-kind-icon">External<wbr/>Canvas<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">typeof </span><a href="classes/Env.html#Canvas" class="tsd-signature-type" data-tsd-kind="Property">Canvas</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/exports.ts#L34">src/exports.ts:34</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Defines possible externally defined canvas</p>
|
<p>Defines possible externally defined canvas</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="FaceGesture" class="tsd-anchor"></a><h3>Face<wbr/>Gesture</h3><div class="tsd-signature tsd-kind-icon">Face<wbr/>Gesture<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">`</span><span class="tsd-signature-type">facing </span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">"left"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"center"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"right"</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-type">blink </span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">"left"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"right"</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-type"> eye</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-type">mouth </span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-type">% open</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-type">head </span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">"up"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"down"</span><span class="tsd-signature-symbol">}</span><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/gesture/gesture.ts#L11">src/gesture/gesture.ts:11</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="GestureResult" class="tsd-anchor"></a><h3>Gesture<wbr/>Result</h3><div class="tsd-signature tsd-kind-icon">Gesture<wbr/>Result<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>face<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>gesture<span class="tsd-signature-symbol">: </span><a href="index.html#FaceGesture" class="tsd-signature-type" data-tsd-kind="Type alias">FaceGesture</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>gesture<span class="tsd-signature-symbol">: </span><a href="index.html#IrisGesture" class="tsd-signature-type" data-tsd-kind="Type alias">IrisGesture</a><span class="tsd-signature-symbol">; </span>iris<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>gesture<span class="tsd-signature-symbol">: </span><a href="index.html#BodyGesture" class="tsd-signature-type" data-tsd-kind="Type alias">BodyGesture</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>gesture<span class="tsd-signature-symbol">: </span><a href="index.html#HandGesture" class="tsd-signature-type" data-tsd-kind="Type alias">HandGesture</a><span class="tsd-signature-symbol">; </span>hand<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><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#L141">src/result.ts:141</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="FaceGesture" class="tsd-anchor"></a><h3>Face<wbr/>Gesture</h3><div class="tsd-signature tsd-kind-icon">Face<wbr/>Gesture<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">`</span><span class="tsd-signature-type">facing </span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">"left"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"center"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"right"</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-type">blink </span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">"left"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"right"</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-type"> eye</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-type">mouth </span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-type">% open</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-type">head </span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">"up"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"down"</span><span class="tsd-signature-symbol">}</span><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/gesture/gesture.ts#L11">src/gesture/gesture.ts:11</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="GestureResult" class="tsd-anchor"></a><h3>Gesture<wbr/>Result</h3><div class="tsd-signature tsd-kind-icon">Gesture<wbr/>Result<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>face<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>gesture<span class="tsd-signature-symbol">: </span><a href="index.html#FaceGesture" class="tsd-signature-type" data-tsd-kind="Type alias">FaceGesture</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>gesture<span class="tsd-signature-symbol">: </span><a href="index.html#IrisGesture" class="tsd-signature-type" data-tsd-kind="Type alias">IrisGesture</a><span class="tsd-signature-symbol">; </span>iris<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>gesture<span class="tsd-signature-symbol">: </span><a href="index.html#BodyGesture" class="tsd-signature-type" data-tsd-kind="Type alias">BodyGesture</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>gesture<span class="tsd-signature-symbol">: </span><a href="index.html#HandGesture" class="tsd-signature-type" data-tsd-kind="Type alias">HandGesture</a><span class="tsd-signature-symbol">; </span>hand<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><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#L143">src/result.ts:143</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Gesture combined results</p>
|
<p>Gesture combined results</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="HandGesture" class="tsd-anchor"></a><h3>Hand<wbr/>Gesture</h3><div class="tsd-signature tsd-kind-icon">Hand<wbr/>Gesture<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">"thumb"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"index"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"middle"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"ring"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"pinky"</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-type"> forward</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">"thumb"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"index"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"middle"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"ring"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"pinky"</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-type"> up</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"victory"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"thumbs up"</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/gesture/gesture.ts#L36">src/gesture/gesture.ts:36</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="ImageObjects" class="tsd-anchor"></a><h3>Image<wbr/>Objects</h3><div class="tsd-signature tsd-kind-icon">Image<wbr/>Objects<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ImageData</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">ImageBitmap</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/exports.ts#L32">src/exports.ts:32</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="HandGesture" class="tsd-anchor"></a><h3>Hand<wbr/>Gesture</h3><div class="tsd-signature tsd-kind-icon">Hand<wbr/>Gesture<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">"thumb"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"index"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"middle"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"ring"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"pinky"</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-type"> forward</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">"thumb"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"index"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"middle"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"ring"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"pinky"</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-type"> up</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"victory"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"thumbs up"</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/gesture/gesture.ts#L36">src/gesture/gesture.ts:36</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="ImageObjects" class="tsd-anchor"></a><h3>Image<wbr/>Objects</h3><div class="tsd-signature tsd-kind-icon">Image<wbr/>Objects<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ImageData</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">ImageBitmap</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/exports.ts#L32">src/exports.ts:32</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Defines all possible image objects</p>
|
<p>Defines all possible image objects</p>
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>BodyKeypoint | @vladmandic/human - v2.5.1</title><meta name="description" content="Documentation for @vladmandic/human - v2.5.1"/><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><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><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.5.1</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.5.1</a></li><li><a href="BodyKeypoint.html">BodyKeypoint</a></li></ul><h1>Interface BodyKeypoint</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">BodyKeypoint</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="BodyKeypoint.html#part" class="tsd-kind-icon">part</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyKeypoint.html#position" class="tsd-kind-icon">position</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyKeypoint.html#positionRaw" class="tsd-kind-icon">position<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyKeypoint.html#score" class="tsd-kind-icon">score</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 id="part" class="tsd-anchor"></a><h3>part</h3><div class="tsd-signature tsd-kind-icon">part<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/result.ts#L64">src/result.ts:64</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>BodyKeypoint | @vladmandic/human - v2.5.1</title><meta name="description" content="Documentation for @vladmandic/human - v2.5.1"/><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><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><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.5.1</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.5.1</a></li><li><a href="BodyKeypoint.html">BodyKeypoint</a></li></ul><h1>Interface BodyKeypoint</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">BodyKeypoint</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="BodyKeypoint.html#part" class="tsd-kind-icon">part</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyKeypoint.html#position" class="tsd-kind-icon">position</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyKeypoint.html#positionRaw" class="tsd-kind-icon">position<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyKeypoint.html#score" class="tsd-kind-icon">score</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 id="part" class="tsd-anchor"></a><h3>part</h3><div class="tsd-signature tsd-kind-icon">part<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/result.ts#L66">src/result.ts:66</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>body part name</p>
|
<p>body part name</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="position" class="tsd-anchor"></a><h3>position</h3><div class="tsd-signature tsd-kind-icon">position<span class="tsd-signature-symbol">:</span> <a href="../index.html#Point" class="tsd-signature-type" data-tsd-kind="Type alias">Point</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L66">src/result.ts:66</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="position" class="tsd-anchor"></a><h3>position</h3><div class="tsd-signature tsd-kind-icon">position<span class="tsd-signature-symbol">:</span> <a href="../index.html#Point" class="tsd-signature-type" data-tsd-kind="Type alias">Point</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L68">src/result.ts:68</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>body part position</p>
|
<p>body part position</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="positionRaw" class="tsd-anchor"></a><h3>position<wbr/>Raw</h3><div class="tsd-signature tsd-kind-icon">position<wbr/>Raw<span class="tsd-signature-symbol">:</span> <a href="../index.html#Point" class="tsd-signature-type" data-tsd-kind="Type alias">Point</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L68">src/result.ts:68</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="positionRaw" class="tsd-anchor"></a><h3>position<wbr/>Raw</h3><div class="tsd-signature tsd-kind-icon">position<wbr/>Raw<span class="tsd-signature-symbol">:</span> <a href="../index.html#Point" class="tsd-signature-type" data-tsd-kind="Type alias">Point</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L70">src/result.ts:70</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>body part position normalized to 0..1</p>
|
<p>body part position normalized to 0..1</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="score" class="tsd-anchor"></a><h3>score</h3><div class="tsd-signature tsd-kind-icon">score<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#L70">src/result.ts:70</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="score" class="tsd-anchor"></a><h3>score</h3><div class="tsd-signature tsd-kind-icon">score<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#L72">src/result.ts:72</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>body part detection score</p>
|
<p>body part detection score</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><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="BodyKeypoint.html" class="tsd-kind-icon">Body<wbr/>Keypoint</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyKeypoint.html#part" class="tsd-kind-icon">part</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyKeypoint.html#position" class="tsd-kind-icon">position</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyKeypoint.html#positionRaw" class="tsd-kind-icon">position<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyKeypoint.html#score" class="tsd-kind-icon">score</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>
|
</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><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="BodyKeypoint.html" class="tsd-kind-icon">Body<wbr/>Keypoint</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyKeypoint.html#part" class="tsd-kind-icon">part</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyKeypoint.html#position" class="tsd-kind-icon">position</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyKeypoint.html#positionRaw" class="tsd-kind-icon">position<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyKeypoint.html#score" class="tsd-kind-icon">score</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>
|
|
@ -1,15 +1,15 @@
|
||||||
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>BodyResult | @vladmandic/human - v2.5.1</title><meta name="description" content="Documentation for @vladmandic/human - v2.5.1"/><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><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><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.5.1</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.5.1</a></li><li><a href="BodyResult.html">BodyResult</a></li></ul><h1>Interface BodyResult</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">
|
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>BodyResult | @vladmandic/human - v2.5.1</title><meta name="description" content="Documentation for @vladmandic/human - v2.5.1"/><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><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><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.5.1</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.5.1</a></li><li><a href="BodyResult.html">BodyResult</a></li></ul><h1>Interface BodyResult</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>Body results</p>
|
<p>Body results</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">BodyResult</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="BodyResult.html#annotations" class="tsd-kind-icon">annotations</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#keypoints" class="tsd-kind-icon">keypoints</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#score" class="tsd-kind-icon">score</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 id="annotations" class="tsd-anchor"></a><h3>annotations</h3><div class="tsd-signature tsd-kind-icon">annotations<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><a href="../index.html#Point" class="tsd-signature-type" data-tsd-kind="Type alias">Point</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">[]</span><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#L86">src/result.ts:86</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">BodyResult</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="BodyResult.html#annotations" class="tsd-kind-icon">annotations</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#keypoints" class="tsd-kind-icon">keypoints</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#score" class="tsd-kind-icon">score</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 id="annotations" class="tsd-anchor"></a><h3>annotations</h3><div class="tsd-signature tsd-kind-icon">annotations<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><a href="../index.html#Point" class="tsd-signature-type" data-tsd-kind="Type alias">Point</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">[]</span><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#L88">src/result.ts:88</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected body keypoints combined into annotated parts</p>
|
<p>detected body keypoints combined into annotated parts</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="box" class="tsd-anchor"></a><h3>box</h3><div class="tsd-signature tsd-kind-icon">box<span class="tsd-signature-symbol">:</span> <a href="../index.html#Box" class="tsd-signature-type" data-tsd-kind="Type alias">Box</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L80">src/result.ts:80</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="box" class="tsd-anchor"></a><h3>box</h3><div class="tsd-signature tsd-kind-icon">box<span class="tsd-signature-symbol">:</span> <a href="../index.html#Box" class="tsd-signature-type" data-tsd-kind="Type alias">Box</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L82">src/result.ts:82</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected body box</p>
|
<p>detected body box</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="boxRaw" class="tsd-anchor"></a><h3>box<wbr/>Raw</h3><div class="tsd-signature tsd-kind-icon">box<wbr/>Raw<span class="tsd-signature-symbol">:</span> <a href="../index.html#Box" class="tsd-signature-type" data-tsd-kind="Type alias">Box</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L82">src/result.ts:82</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="boxRaw" class="tsd-anchor"></a><h3>box<wbr/>Raw</h3><div class="tsd-signature tsd-kind-icon">box<wbr/>Raw<span class="tsd-signature-symbol">:</span> <a href="../index.html#Box" class="tsd-signature-type" data-tsd-kind="Type alias">Box</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L84">src/result.ts:84</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected body box normalized to 0..1</p>
|
<p>detected body box normalized to 0..1</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="id" class="tsd-anchor"></a><h3>id</h3><div class="tsd-signature tsd-kind-icon">id<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#L76">src/result.ts:76</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="id" class="tsd-anchor"></a><h3>id</h3><div class="tsd-signature tsd-kind-icon">id<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#L78">src/result.ts:78</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>body id</p>
|
<p>body id</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="keypoints" class="tsd-anchor"></a><h3>keypoints</h3><div class="tsd-signature tsd-kind-icon">keypoints<span class="tsd-signature-symbol">:</span> <a href="BodyKeypoint.html" class="tsd-signature-type" data-tsd-kind="Interface">BodyKeypoint</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#L84">src/result.ts:84</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="keypoints" class="tsd-anchor"></a><h3>keypoints</h3><div class="tsd-signature tsd-kind-icon">keypoints<span class="tsd-signature-symbol">:</span> <a href="BodyKeypoint.html" class="tsd-signature-type" data-tsd-kind="Interface">BodyKeypoint</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#L86">src/result.ts:86</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected body keypoints</p>
|
<p>detected body keypoints</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="score" class="tsd-anchor"></a><h3>score</h3><div class="tsd-signature tsd-kind-icon">score<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#L78">src/result.ts:78</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="score" class="tsd-anchor"></a><h3>score</h3><div class="tsd-signature tsd-kind-icon">score<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#L80">src/result.ts:80</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>body detection score</p>
|
<p>body detection score</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><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="BodyResult.html" class="tsd-kind-icon">Body<wbr/>Result</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#annotations" class="tsd-kind-icon">annotations</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#keypoints" class="tsd-kind-icon">keypoints</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#score" class="tsd-kind-icon">score</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>
|
</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><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="BodyResult.html" class="tsd-kind-icon">Body<wbr/>Result</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#annotations" class="tsd-kind-icon">annotations</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#keypoints" class="tsd-kind-icon">keypoints</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="BodyResult.html#score" class="tsd-kind-icon">score</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>
|
|
@ -4,7 +4,7 @@
|
||||||
<li>Combined results of face detector, face mesh, age, gender, emotion, embedding, iris models</li>
|
<li>Combined results of face detector, face mesh, age, gender, emotion, embedding, iris models</li>
|
||||||
<li>Some values may be null if specific model is not enabled</li>
|
<li>Some values may be null if specific model is not enabled</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">FaceResult</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="FaceResult.html#age" class="tsd-kind-icon">age</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#annotations" class="tsd-kind-icon">annotations</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#boxScore" class="tsd-kind-icon">box<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#embedding" class="tsd-kind-icon">embedding</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#emotion" class="tsd-kind-icon">emotion</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#faceScore" class="tsd-kind-icon">face<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#gender" class="tsd-kind-icon">gender</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#genderScore" class="tsd-kind-icon">gender<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#iris" class="tsd-kind-icon">iris</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#live" class="tsd-kind-icon">live</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#mesh" class="tsd-kind-icon">mesh</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#meshRaw" class="tsd-kind-icon">mesh<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#real" class="tsd-kind-icon">real</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#rotation" class="tsd-kind-icon">rotation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#score" class="tsd-kind-icon">score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#tensor" class="tsd-kind-icon">tensor</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 id="age" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> age</h3><div class="tsd-signature tsd-kind-icon">age<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#L37">src/result.ts:37</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">FaceResult</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="FaceResult.html#age" class="tsd-kind-icon">age</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#annotations" class="tsd-kind-icon">annotations</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#boxScore" class="tsd-kind-icon">box<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#embedding" class="tsd-kind-icon">embedding</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#emotion" class="tsd-kind-icon">emotion</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#faceScore" class="tsd-kind-icon">face<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#gender" class="tsd-kind-icon">gender</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#genderScore" class="tsd-kind-icon">gender<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#iris" class="tsd-kind-icon">iris</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#live" class="tsd-kind-icon">live</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#mesh" class="tsd-kind-icon">mesh</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#meshRaw" class="tsd-kind-icon">mesh<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#race" class="tsd-kind-icon">race</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#real" class="tsd-kind-icon">real</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#rotation" class="tsd-kind-icon">rotation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#score" class="tsd-kind-icon">score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#tensor" class="tsd-kind-icon">tensor</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 id="age" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> age</h3><div class="tsd-signature tsd-kind-icon">age<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#L37">src/result.ts:37</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected age</p>
|
<p>detected age</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="annotations" class="tsd-anchor"></a><h3>annotations</h3><div class="tsd-signature tsd-kind-icon">annotations<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><a href="../index.html#Point" class="tsd-signature-type" data-tsd-kind="Type alias">Point</a><span class="tsd-signature-symbol">[]</span><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#L35">src/result.ts:35</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="annotations" class="tsd-anchor"></a><h3>annotations</h3><div class="tsd-signature tsd-kind-icon">annotations<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><a href="../index.html#Point" class="tsd-signature-type" data-tsd-kind="Type alias">Point</a><span class="tsd-signature-symbol">[]</span><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#L35">src/result.ts:35</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>mesh keypoints combined into annotated results</p>
|
<p>mesh keypoints combined into annotated results</p>
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
<p>detected face box normalized to 0..1</p>
|
<p>detected face box normalized to 0..1</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="boxScore" class="tsd-anchor"></a><h3>box<wbr/>Score</h3><div class="tsd-signature tsd-kind-icon">box<wbr/>Score<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#L23">src/result.ts:23</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="boxScore" class="tsd-anchor"></a><h3>box<wbr/>Score</h3><div class="tsd-signature tsd-kind-icon">box<wbr/>Score<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#L23">src/result.ts:23</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detection score</p>
|
<p>detection score</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="embedding" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> embedding</h3><div class="tsd-signature tsd-kind-icon">embedding<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><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#L45">src/result.ts:45</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="embedding" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> embedding</h3><div class="tsd-signature tsd-kind-icon">embedding<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><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#L47">src/result.ts:47</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>face descriptor</p>
|
<p>face descriptor</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="emotion" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> emotion</h3><div class="tsd-signature tsd-kind-icon">emotion<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{ </span>emotion<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>score<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><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#L43">src/result.ts:43</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="emotion" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> emotion</h3><div class="tsd-signature tsd-kind-icon">emotion<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{ </span>emotion<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>score<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><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#L43">src/result.ts:43</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected emotions</p>
|
<p>detected emotions</p>
|
||||||
|
@ -26,20 +26,22 @@
|
||||||
<p>gender detection score</p>
|
<p>gender detection score</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="id" class="tsd-anchor"></a><h3>id</h3><div class="tsd-signature tsd-kind-icon">id<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#L19">src/result.ts:19</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="id" class="tsd-anchor"></a><h3>id</h3><div class="tsd-signature tsd-kind-icon">id<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#L19">src/result.ts:19</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>face id</p>
|
<p>face id</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="iris" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> iris</h3><div class="tsd-signature tsd-kind-icon">iris<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#L47">src/result.ts:47</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="iris" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> iris</h3><div class="tsd-signature tsd-kind-icon">iris<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#L49">src/result.ts:49</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>face iris distance from camera</p>
|
<p>face iris distance from camera</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="live" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> live</h3><div class="tsd-signature tsd-kind-icon">live<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#L51">src/result.ts:51</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="live" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> live</h3><div class="tsd-signature tsd-kind-icon">live<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#L53">src/result.ts:53</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>face liveness result confidence</p>
|
<p>face liveness result confidence</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="mesh" class="tsd-anchor"></a><h3>mesh</h3><div class="tsd-signature tsd-kind-icon">mesh<span class="tsd-signature-symbol">:</span> <a href="../index.html#Point" class="tsd-signature-type" data-tsd-kind="Type alias">Point</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#L31">src/result.ts:31</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="mesh" class="tsd-anchor"></a><h3>mesh</h3><div class="tsd-signature tsd-kind-icon">mesh<span class="tsd-signature-symbol">:</span> <a href="../index.html#Point" class="tsd-signature-type" data-tsd-kind="Type alias">Point</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#L31">src/result.ts:31</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected face mesh</p>
|
<p>detected face mesh</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="meshRaw" class="tsd-anchor"></a><h3>mesh<wbr/>Raw</h3><div class="tsd-signature tsd-kind-icon">mesh<wbr/>Raw<span class="tsd-signature-symbol">:</span> <a href="../index.html#Point" class="tsd-signature-type" data-tsd-kind="Type alias">Point</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#L33">src/result.ts:33</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="meshRaw" class="tsd-anchor"></a><h3>mesh<wbr/>Raw</h3><div class="tsd-signature tsd-kind-icon">mesh<wbr/>Raw<span class="tsd-signature-symbol">:</span> <a href="../index.html#Point" class="tsd-signature-type" data-tsd-kind="Type alias">Point</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#L33">src/result.ts:33</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected face mesh normalized to 0..1</p>
|
<p>detected face mesh normalized to 0..1</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="real" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> real</h3><div class="tsd-signature tsd-kind-icon">real<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#L49">src/result.ts:49</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="race" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> race</h3><div class="tsd-signature tsd-kind-icon">race<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{ </span>race<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>score<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><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#L45">src/result.ts:45</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
|
<p>detected race</p>
|
||||||
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="real" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> real</h3><div class="tsd-signature tsd-kind-icon">real<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#L51">src/result.ts:51</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>face anti-spoofing result confidence</p>
|
<p>face anti-spoofing result confidence</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="rotation" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> rotation</h3><div class="tsd-signature tsd-kind-icon">rotation<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>angle<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>pitch<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>roll<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>yaw<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">; </span>gaze<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>bearing<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>strength<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">; </span>matrix<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><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#L53">src/result.ts:53</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="rotation" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> rotation</h3><div class="tsd-signature tsd-kind-icon">rotation<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>angle<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>pitch<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>roll<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>yaw<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">; </span>gaze<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>bearing<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>strength<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">; </span>matrix<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><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#L55">src/result.ts:55</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>face rotation details</p>
|
<p>face rotation details</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="score" class="tsd-anchor"></a><h3>score</h3><div class="tsd-signature tsd-kind-icon">score<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#L21">src/result.ts:21</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="score" class="tsd-anchor"></a><h3>score</h3><div class="tsd-signature tsd-kind-icon">score<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#L21">src/result.ts:21</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>overall face score</p>
|
<p>overall face score</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="tensor" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> tensor</h3><div class="tsd-signature tsd-kind-icon">tensor<span class="tsd-signature-symbol">?:</span> <a href="../classes/Tensor.html" class="tsd-signature-type" data-tsd-kind="Class">Tensor</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Rank</span><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#L59">src/result.ts:59</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="tensor" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> tensor</h3><div class="tsd-signature tsd-kind-icon">tensor<span class="tsd-signature-symbol">?:</span> <a href="../classes/Tensor.html" class="tsd-signature-type" data-tsd-kind="Class">Tensor</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Rank</span><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#L61">src/result.ts:61</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected face as tensor that can be used in further pipelines</p>
|
<p>detected face as tensor that can be used in further pipelines</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><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="FaceResult.html" class="tsd-kind-icon">Face<wbr/>Result</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#age" class="tsd-kind-icon">age</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#annotations" class="tsd-kind-icon">annotations</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#boxScore" class="tsd-kind-icon">box<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#embedding" class="tsd-kind-icon">embedding</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#emotion" class="tsd-kind-icon">emotion</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#faceScore" class="tsd-kind-icon">face<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#gender" class="tsd-kind-icon">gender</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#genderScore" class="tsd-kind-icon">gender<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#iris" class="tsd-kind-icon">iris</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#live" class="tsd-kind-icon">live</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#mesh" class="tsd-kind-icon">mesh</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#meshRaw" class="tsd-kind-icon">mesh<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#real" class="tsd-kind-icon">real</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#rotation" class="tsd-kind-icon">rotation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#score" class="tsd-kind-icon">score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#tensor" class="tsd-kind-icon">tensor</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>
|
</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><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="FaceResult.html" class="tsd-kind-icon">Face<wbr/>Result</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#age" class="tsd-kind-icon">age</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#annotations" class="tsd-kind-icon">annotations</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#boxScore" class="tsd-kind-icon">box<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#embedding" class="tsd-kind-icon">embedding</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#emotion" class="tsd-kind-icon">emotion</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#faceScore" class="tsd-kind-icon">face<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#gender" class="tsd-kind-icon">gender</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#genderScore" class="tsd-kind-icon">gender<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#iris" class="tsd-kind-icon">iris</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#live" class="tsd-kind-icon">live</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#mesh" class="tsd-kind-icon">mesh</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#meshRaw" class="tsd-kind-icon">mesh<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#race" class="tsd-kind-icon">race</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#real" class="tsd-kind-icon">real</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#rotation" class="tsd-kind-icon">rotation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#score" class="tsd-kind-icon">score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FaceResult.html#tensor" class="tsd-kind-icon">tensor</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>
|
|
@ -1,23 +1,23 @@
|
||||||
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>HandResult | @vladmandic/human - v2.5.1</title><meta name="description" content="Documentation for @vladmandic/human - v2.5.1"/><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><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><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.5.1</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.5.1</a></li><li><a href="HandResult.html">HandResult</a></li></ul><h1>Interface HandResult</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">
|
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>HandResult | @vladmandic/human - v2.5.1</title><meta name="description" content="Documentation for @vladmandic/human - v2.5.1"/><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><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><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.5.1</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.5.1</a></li><li><a href="HandResult.html">HandResult</a></li></ul><h1>Interface HandResult</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>Hand results</p>
|
<p>Hand results</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">HandResult</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="HandResult.html#annotations" class="tsd-kind-icon">annotations</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#boxScore" class="tsd-kind-icon">box<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#fingerScore" class="tsd-kind-icon">finger<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#keypoints" class="tsd-kind-icon">keypoints</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#label" class="tsd-kind-icon">label</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#landmarks" class="tsd-kind-icon">landmarks</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#score" class="tsd-kind-icon">score</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 id="annotations" class="tsd-anchor"></a><h3>annotations</h3><div class="tsd-signature tsd-kind-icon">annotations<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">"index"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"middle"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"pinky"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"ring"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"thumb"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"palm"</span><span class="tsd-signature-symbol">, </span><a href="../index.html#Point" class="tsd-signature-type" data-tsd-kind="Type alias">Point</a><span class="tsd-signature-symbol">[]</span><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#L108">src/result.ts:108</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">HandResult</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="HandResult.html#annotations" class="tsd-kind-icon">annotations</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#boxScore" class="tsd-kind-icon">box<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#fingerScore" class="tsd-kind-icon">finger<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#keypoints" class="tsd-kind-icon">keypoints</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#label" class="tsd-kind-icon">label</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#landmarks" class="tsd-kind-icon">landmarks</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#score" class="tsd-kind-icon">score</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 id="annotations" class="tsd-anchor"></a><h3>annotations</h3><div class="tsd-signature tsd-kind-icon">annotations<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">"index"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"middle"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"pinky"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"ring"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"thumb"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"palm"</span><span class="tsd-signature-symbol">, </span><a href="../index.html#Point" class="tsd-signature-type" data-tsd-kind="Type alias">Point</a><span class="tsd-signature-symbol">[]</span><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#L110">src/result.ts:110</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected hand keypoints combined into annotated parts</p>
|
<p>detected hand keypoints combined into annotated parts</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="box" class="tsd-anchor"></a><h3>box</h3><div class="tsd-signature tsd-kind-icon">box<span class="tsd-signature-symbol">:</span> <a href="../index.html#Box" class="tsd-signature-type" data-tsd-kind="Type alias">Box</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L100">src/result.ts:100</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="box" class="tsd-anchor"></a><h3>box</h3><div class="tsd-signature tsd-kind-icon">box<span class="tsd-signature-symbol">:</span> <a href="../index.html#Box" class="tsd-signature-type" data-tsd-kind="Type alias">Box</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L102">src/result.ts:102</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected hand box</p>
|
<p>detected hand box</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="boxRaw" class="tsd-anchor"></a><h3>box<wbr/>Raw</h3><div class="tsd-signature tsd-kind-icon">box<wbr/>Raw<span class="tsd-signature-symbol">:</span> <a href="../index.html#Box" class="tsd-signature-type" data-tsd-kind="Type alias">Box</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L102">src/result.ts:102</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="boxRaw" class="tsd-anchor"></a><h3>box<wbr/>Raw</h3><div class="tsd-signature tsd-kind-icon">box<wbr/>Raw<span class="tsd-signature-symbol">:</span> <a href="../index.html#Box" class="tsd-signature-type" data-tsd-kind="Type alias">Box</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L104">src/result.ts:104</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected hand box normalized to 0..1</p>
|
<p>detected hand box normalized to 0..1</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="boxScore" class="tsd-anchor"></a><h3>box<wbr/>Score</h3><div class="tsd-signature tsd-kind-icon">box<wbr/>Score<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#L96">src/result.ts:96</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="boxScore" class="tsd-anchor"></a><h3>box<wbr/>Score</h3><div class="tsd-signature tsd-kind-icon">box<wbr/>Score<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#L98">src/result.ts:98</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>hand detection score</p>
|
<p>hand detection score</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="fingerScore" class="tsd-anchor"></a><h3>finger<wbr/>Score</h3><div class="tsd-signature tsd-kind-icon">finger<wbr/>Score<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#L98">src/result.ts:98</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="fingerScore" class="tsd-anchor"></a><h3>finger<wbr/>Score</h3><div class="tsd-signature tsd-kind-icon">finger<wbr/>Score<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#L100">src/result.ts:100</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>hand skelton score</p>
|
<p>hand skelton score</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="id" class="tsd-anchor"></a><h3>id</h3><div class="tsd-signature tsd-kind-icon">id<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#L92">src/result.ts:92</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="id" class="tsd-anchor"></a><h3>id</h3><div class="tsd-signature tsd-kind-icon">id<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#L94">src/result.ts:94</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>hand id</p>
|
<p>hand id</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="keypoints" class="tsd-anchor"></a><h3>keypoints</h3><div class="tsd-signature tsd-kind-icon">keypoints<span class="tsd-signature-symbol">:</span> <a href="../index.html#Point" class="tsd-signature-type" data-tsd-kind="Type alias">Point</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#L104">src/result.ts:104</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="keypoints" class="tsd-anchor"></a><h3>keypoints</h3><div class="tsd-signature tsd-kind-icon">keypoints<span class="tsd-signature-symbol">:</span> <a href="../index.html#Point" class="tsd-signature-type" data-tsd-kind="Type alias">Point</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#L106">src/result.ts:106</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected hand keypoints</p>
|
<p>detected hand keypoints</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="label" class="tsd-anchor"></a><h3>label</h3><div class="tsd-signature tsd-kind-icon">label<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/result.ts#L106">src/result.ts:106</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="label" class="tsd-anchor"></a><h3>label</h3><div class="tsd-signature tsd-kind-icon">label<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/result.ts#L108">src/result.ts:108</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected hand class</p>
|
<p>detected hand class</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="landmarks" class="tsd-anchor"></a><h3>landmarks</h3><div class="tsd-signature tsd-kind-icon">landmarks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">"index"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"middle"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"pinky"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"ring"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"thumb"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-symbol">{ </span>curl<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"none"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"full"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"half"</span><span class="tsd-signature-symbol">; </span>direction<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"verticalUp"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"verticalDown"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"horizontalLeft"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"horizontalRight"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"diagonalUpRight"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"diagonalUpLeft"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"diagonalDownRight"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"diagonalDownLeft"</span><span class="tsd-signature-symbol"> }</span><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#L113">src/result.ts:113</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="landmarks" class="tsd-anchor"></a><h3>landmarks</h3><div class="tsd-signature tsd-kind-icon">landmarks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">"index"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"middle"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"pinky"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"ring"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"thumb"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-symbol">{ </span>curl<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"none"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"full"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"half"</span><span class="tsd-signature-symbol">; </span>direction<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"verticalUp"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"verticalDown"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"horizontalLeft"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"horizontalRight"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"diagonalUpRight"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"diagonalUpLeft"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"diagonalDownRight"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"diagonalDownLeft"</span><span class="tsd-signature-symbol"> }</span><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#L115">src/result.ts:115</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected hand parts annotated with part gestures</p>
|
<p>detected hand parts annotated with part gestures</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="score" class="tsd-anchor"></a><h3>score</h3><div class="tsd-signature tsd-kind-icon">score<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#L94">src/result.ts:94</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="score" class="tsd-anchor"></a><h3>score</h3><div class="tsd-signature tsd-kind-icon">score<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#L96">src/result.ts:96</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>hand overal score</p>
|
<p>hand overal score</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><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="HandResult.html" class="tsd-kind-icon">Hand<wbr/>Result</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#annotations" class="tsd-kind-icon">annotations</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#boxScore" class="tsd-kind-icon">box<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#fingerScore" class="tsd-kind-icon">finger<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#keypoints" class="tsd-kind-icon">keypoints</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#label" class="tsd-kind-icon">label</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#landmarks" class="tsd-kind-icon">landmarks</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#score" class="tsd-kind-icon">score</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>
|
</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><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="HandResult.html" class="tsd-kind-icon">Hand<wbr/>Result</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#annotations" class="tsd-kind-icon">annotations</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#boxScore" class="tsd-kind-icon">box<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#fingerScore" class="tsd-kind-icon">finger<wbr/>Score</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#keypoints" class="tsd-kind-icon">keypoints</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#label" class="tsd-kind-icon">label</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#landmarks" class="tsd-kind-icon">landmarks</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="HandResult.html#score" class="tsd-kind-icon">score</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>
|
|
@ -1,15 +1,15 @@
|
||||||
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ObjectResult | @vladmandic/human - v2.5.1</title><meta name="description" content="Documentation for @vladmandic/human - v2.5.1"/><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><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><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.5.1</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.5.1</a></li><li><a href="ObjectResult.html">ObjectResult</a></li></ul><h1>Interface ObjectResult</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">
|
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ObjectResult | @vladmandic/human - v2.5.1</title><meta name="description" content="Documentation for @vladmandic/human - v2.5.1"/><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><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><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.5.1</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.5.1</a></li><li><a href="ObjectResult.html">ObjectResult</a></li></ul><h1>Interface ObjectResult</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>Object results</p>
|
<p>Object results</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">ObjectResult</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="ObjectResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#class" class="tsd-kind-icon">class</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#label" class="tsd-kind-icon">label</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#score" class="tsd-kind-icon">score</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 id="box" class="tsd-anchor"></a><h3>box</h3><div class="tsd-signature tsd-kind-icon">box<span class="tsd-signature-symbol">:</span> <a href="../index.html#Box" class="tsd-signature-type" data-tsd-kind="Type alias">Box</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L130">src/result.ts:130</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">ObjectResult</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="ObjectResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#class" class="tsd-kind-icon">class</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#label" class="tsd-kind-icon">label</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#score" class="tsd-kind-icon">score</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 id="box" class="tsd-anchor"></a><h3>box</h3><div class="tsd-signature tsd-kind-icon">box<span class="tsd-signature-symbol">:</span> <a href="../index.html#Box" class="tsd-signature-type" data-tsd-kind="Type alias">Box</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L132">src/result.ts:132</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected object box</p>
|
<p>detected object box</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="boxRaw" class="tsd-anchor"></a><h3>box<wbr/>Raw</h3><div class="tsd-signature tsd-kind-icon">box<wbr/>Raw<span class="tsd-signature-symbol">:</span> <a href="../index.html#Box" class="tsd-signature-type" data-tsd-kind="Type alias">Box</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L132">src/result.ts:132</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="boxRaw" class="tsd-anchor"></a><h3>box<wbr/>Raw</h3><div class="tsd-signature tsd-kind-icon">box<wbr/>Raw<span class="tsd-signature-symbol">:</span> <a href="../index.html#Box" class="tsd-signature-type" data-tsd-kind="Type alias">Box</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L134">src/result.ts:134</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected object box normalized to 0..1</p>
|
<p>detected object box normalized to 0..1</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="class" class="tsd-anchor"></a><h3>class</h3><div class="tsd-signature tsd-kind-icon">class<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#L126">src/result.ts:126</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="class" class="tsd-anchor"></a><h3>class</h3><div class="tsd-signature tsd-kind-icon">class<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#L128">src/result.ts:128</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected object class id</p>
|
<p>detected object class id</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="id" class="tsd-anchor"></a><h3>id</h3><div class="tsd-signature tsd-kind-icon">id<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#L122">src/result.ts:122</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="id" class="tsd-anchor"></a><h3>id</h3><div class="tsd-signature tsd-kind-icon">id<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#L124">src/result.ts:124</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>object id</p>
|
<p>object id</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="label" class="tsd-anchor"></a><h3>label</h3><div class="tsd-signature tsd-kind-icon">label<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/result.ts#L128">src/result.ts:128</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="label" class="tsd-anchor"></a><h3>label</h3><div class="tsd-signature tsd-kind-icon">label<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/result.ts#L130">src/result.ts:130</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected object class name</p>
|
<p>detected object class name</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="score" class="tsd-anchor"></a><h3>score</h3><div class="tsd-signature tsd-kind-icon">score<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#L124">src/result.ts:124</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="score" class="tsd-anchor"></a><h3>score</h3><div class="tsd-signature tsd-kind-icon">score<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#L126">src/result.ts:126</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>object detection score</p>
|
<p>object detection score</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><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="ObjectResult.html" class="tsd-kind-icon">Object<wbr/>Result</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#class" class="tsd-kind-icon">class</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#label" class="tsd-kind-icon">label</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#score" class="tsd-kind-icon">score</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>
|
</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><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="ObjectResult.html" class="tsd-kind-icon">Object<wbr/>Result</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#class" class="tsd-kind-icon">class</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#label" class="tsd-kind-icon">label</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="ObjectResult.html#score" class="tsd-kind-icon">score</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>
|
|
@ -3,18 +3,18 @@
|
||||||
<ul>
|
<ul>
|
||||||
<li>Triggers combining all individual results into a virtual person object</li>
|
<li>Triggers combining all individual results into a virtual person object</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">PersonResult</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="PersonResult.html#body" class="tsd-kind-icon">body</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#face" class="tsd-kind-icon">face</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#gestures" class="tsd-kind-icon">gestures</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#hands" class="tsd-kind-icon">hands</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#id" class="tsd-kind-icon">id</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 id="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">null</span><span class="tsd-signature-symbol"> | </span><a href="BodyResult.html" class="tsd-signature-type" data-tsd-kind="Interface">BodyResult</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L156">src/result.ts:156</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">PersonResult</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="PersonResult.html#body" class="tsd-kind-icon">body</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#face" class="tsd-kind-icon">face</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#gestures" class="tsd-kind-icon">gestures</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#hands" class="tsd-kind-icon">hands</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#id" class="tsd-kind-icon">id</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 id="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">null</span><span class="tsd-signature-symbol"> | </span><a href="BodyResult.html" class="tsd-signature-type" data-tsd-kind="Interface">BodyResult</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L158">src/result.ts:158</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>body result that belongs to this person</p>
|
<p>body result that belongs to this person</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="box" class="tsd-anchor"></a><h3>box</h3><div class="tsd-signature tsd-kind-icon">box<span class="tsd-signature-symbol">:</span> <a href="../index.html#Box" class="tsd-signature-type" data-tsd-kind="Type alias">Box</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L162">src/result.ts:162</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="box" class="tsd-anchor"></a><h3>box</h3><div class="tsd-signature tsd-kind-icon">box<span class="tsd-signature-symbol">:</span> <a href="../index.html#Box" class="tsd-signature-type" data-tsd-kind="Type alias">Box</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L164">src/result.ts:164</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>box that defines the person</p>
|
<p>box that defines the person</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="boxRaw" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> box<wbr/>Raw</h3><div class="tsd-signature tsd-kind-icon">box<wbr/>Raw<span class="tsd-signature-symbol">?:</span> <a href="../index.html#Box" class="tsd-signature-type" data-tsd-kind="Type alias">Box</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L164">src/result.ts:164</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="boxRaw" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> box<wbr/>Raw</h3><div class="tsd-signature tsd-kind-icon">box<wbr/>Raw<span class="tsd-signature-symbol">?:</span> <a href="../index.html#Box" class="tsd-signature-type" data-tsd-kind="Type alias">Box</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L166">src/result.ts:166</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>box that defines the person normalized to 0..1</p>
|
<p>box that defines the person normalized to 0..1</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="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></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L154">src/result.ts:154</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="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></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L156">src/result.ts:156</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>face result that belongs to this person</p>
|
<p>face result that belongs to this person</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="gestures" class="tsd-anchor"></a><h3>gestures</h3><div class="tsd-signature tsd-kind-icon">gestures<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#L160">src/result.ts:160</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="gestures" class="tsd-anchor"></a><h3>gestures</h3><div class="tsd-signature tsd-kind-icon">gestures<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#L162">src/result.ts:162</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>detected gestures specific to this person</p>
|
<p>detected gestures specific to this person</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="hands" class="tsd-anchor"></a><h3>hands</h3><div class="tsd-signature tsd-kind-icon">hands<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>left<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><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>right<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><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#L158">src/result.ts:158</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="hands" class="tsd-anchor"></a><h3>hands</h3><div class="tsd-signature tsd-kind-icon">hands<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>left<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><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>right<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><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#L160">src/result.ts:160</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>left and right hand results that belong to this person</p>
|
<p>left and right hand results that belong to this person</p>
|
||||||
</div></div><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5>left<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="HandResult.html" class="tsd-signature-type" data-tsd-kind="Interface">HandResult</a></h5></li><li class="tsd-parameter"><h5>right<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="HandResult.html" class="tsd-signature-type" data-tsd-kind="Interface">HandResult</a></h5></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="id" class="tsd-anchor"></a><h3>id</h3><div class="tsd-signature tsd-kind-icon">id<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#L152">src/result.ts:152</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5>left<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="HandResult.html" class="tsd-signature-type" data-tsd-kind="Interface">HandResult</a></h5></li><li class="tsd-parameter"><h5>right<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="HandResult.html" class="tsd-signature-type" data-tsd-kind="Interface">HandResult</a></h5></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="id" class="tsd-anchor"></a><h3>id</h3><div class="tsd-signature tsd-kind-icon">id<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#L154">src/result.ts:154</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>person id</p>
|
<p>person id</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><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="PersonResult.html" class="tsd-kind-icon">Person<wbr/>Result</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#body" class="tsd-kind-icon">body</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#face" class="tsd-kind-icon">face</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#gestures" class="tsd-kind-icon">gestures</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#hands" class="tsd-kind-icon">hands</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#id" class="tsd-kind-icon">id</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>
|
</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><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="PersonResult.html" class="tsd-kind-icon">Person<wbr/>Result</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#body" class="tsd-kind-icon">body</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#box" class="tsd-kind-icon">box</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#boxRaw" class="tsd-kind-icon">box<wbr/>Raw</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#face" class="tsd-kind-icon">face</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#gestures" class="tsd-kind-icon">gestures</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#hands" class="tsd-kind-icon">hands</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="PersonResult.html#id" class="tsd-kind-icon">id</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>
|
|
@ -1,22 +1,22 @@
|
||||||
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Result | @vladmandic/human - v2.5.1</title><meta name="description" content="Documentation for @vladmandic/human - v2.5.1"/><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><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><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.5.1</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.5.1</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">
|
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Result | @vladmandic/human - v2.5.1</title><meta name="description" content="Documentation for @vladmandic/human - v2.5.1"/><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><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><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.5.1</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.5.1</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>
|
<p>Result interface definition for <strong>Human</strong> library</p>
|
||||||
</div><div><p>Contains all possible detection results</p>
|
</div><div><p>Contains all possible detection results</p>
|
||||||
</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 id="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#L176">src/result.ts:176</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</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 id="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#L178">src/result.ts:178</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p><a href="BodyResult.html">BodyResult</a>: detection & analysis results</p>
|
<p><a href="BodyResult.html">BodyResult</a>: detection & analysis results</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="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">OffscreenCanvas</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">HTMLCanvasElement</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L186">src/result.ts:186</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="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">OffscreenCanvas</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">HTMLCanvasElement</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L188">src/result.ts:188</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>
|
<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 id="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#L174">src/result.ts:174</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="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#L176">src/result.ts:176</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p><a href="FaceResult.html">FaceResult</a>: detection & analysis results</p>
|
<p><a href="FaceResult.html">FaceResult</a>: detection & analysis results</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="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#L180">src/result.ts:180</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="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#L182">src/result.ts:182</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p><a href="../index.html#GestureResult">GestureResult</a>: detection & analysis results</p>
|
<p><a href="../index.html#GestureResult">GestureResult</a>: detection & analysis results</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="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#L178">src/result.ts:178</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="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#L180">src/result.ts:180</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p><a href="HandResult.html">HandResult</a>: detection & analysis results</p>
|
<p><a href="HandResult.html">HandResult</a>: detection & analysis results</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="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#L182">src/result.ts:182</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="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#L184">src/result.ts:184</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p><a href="ObjectResult.html">ObjectResult</a>: detection & analysis results</p>
|
<p><a href="ObjectResult.html">ObjectResult</a>: detection & analysis results</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="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"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><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#L184">src/result.ts:184</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="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"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><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#L186">src/result.ts:186</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>global performance object with timing values for each operation</p>
|
<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 id="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#L190">src/result.ts:190</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="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#L192">src/result.ts:192</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>getter property that returns unified persons object</p>
|
<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 id="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#L188">src/result.ts:188</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="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#L190">src/result.ts:190</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>
|
<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><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</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>
|
</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><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</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>
|
|
@ -4,4 +4,4 @@
|
||||||
import type { Config } from '../config';
|
import type { Config } from '../config';
|
||||||
import type { GraphModel, Tensor } from '../tfjs/types';
|
import type { GraphModel, Tensor } from '../tfjs/types';
|
||||||
export declare function load(config: Config): Promise<GraphModel>;
|
export declare function load(config: Config): Promise<GraphModel>;
|
||||||
export declare function predict(image: Tensor, config: Config, idx: any, count: any): Promise<unknown>;
|
export declare function predict(image: Tensor, config: Config, idx: any, count: any): Promise<number>;
|
||||||
|
|
|
@ -10,4 +10,9 @@ import type { Tensor, GraphModel } from '../tfjs/types';
|
||||||
import type { Config } from '../config';
|
import type { Config } from '../config';
|
||||||
export declare function load(config: Config): Promise<GraphModel>;
|
export declare function load(config: Config): Promise<GraphModel>;
|
||||||
export declare function enhance(input: any): Tensor;
|
export declare function enhance(input: any): Tensor;
|
||||||
export declare function predict(image: Tensor, config: Config, idx: any, count: any): Promise<unknown>;
|
export declare function predict(image: Tensor, config: Config, idx: any, count: any): Promise<{
|
||||||
|
age: number;
|
||||||
|
gender: string;
|
||||||
|
genderScore: number;
|
||||||
|
descriptor: number[];
|
||||||
|
}>;
|
||||||
|
|
|
@ -4,4 +4,4 @@
|
||||||
import type { Config } from '../config';
|
import type { Config } from '../config';
|
||||||
import type { GraphModel, Tensor } from '../tfjs/types';
|
import type { GraphModel, Tensor } from '../tfjs/types';
|
||||||
export declare function load(config: Config): Promise<GraphModel>;
|
export declare function load(config: Config): Promise<GraphModel>;
|
||||||
export declare function predict(image: Tensor, config: Config, idx: any, count: any): Promise<unknown>;
|
export declare function predict(image: Tensor, config: Config, idx: any, count: any): Promise<number>;
|
||||||
|
|
|
@ -6,4 +6,7 @@
|
||||||
import type { Config } from '../config';
|
import type { Config } from '../config';
|
||||||
import type { GraphModel, Tensor } from '../tfjs/types';
|
import type { GraphModel, Tensor } from '../tfjs/types';
|
||||||
export declare function load(config: Config): Promise<GraphModel>;
|
export declare function load(config: Config): Promise<GraphModel>;
|
||||||
export declare function predict(image: Tensor, config: Config, idx: any, count: any): Promise<unknown>;
|
export declare function predict(image: Tensor, config: Config, idx: any, count: any): Promise<Array<{
|
||||||
|
score: number;
|
||||||
|
emotion: string;
|
||||||
|
}>>;
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
/**
|
|
||||||
* GEAR [gender/emotion/age/race] model implementation
|
|
||||||
*
|
|
||||||
* Based on: [**GEAR Predictor**](https://github.com/Udolf15/GEAR-Predictor)
|
|
||||||
*
|
|
||||||
* Obsolete and replaced by `faceres` that performs age/gender/descriptor analysis
|
|
||||||
* Config placeholder: agegenderrace: { enabled: true, modelPath: 'gear.json' },
|
|
||||||
*/
|
|
||||||
import type { Config } from '../config';
|
|
||||||
import type { GraphModel, Tensor } from '../tfjs/types';
|
|
||||||
export declare function load(config: Config | any): Promise<GraphModel>;
|
|
||||||
export declare function predict(image: Tensor, config: Config): Promise<unknown>;
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
/**
|
||||||
|
* GEAR [gender/emotion/age/race] model implementation
|
||||||
|
*
|
||||||
|
* Based on: [**GEAR Predictor**](https://github.com/Udolf15/GEAR-Predictor)
|
||||||
|
*/
|
||||||
|
import type { Config } from '../config';
|
||||||
|
import type { GraphModel, Tensor } from '../tfjs/types';
|
||||||
|
declare type GearType = {
|
||||||
|
age: number;
|
||||||
|
gender: string;
|
||||||
|
genderScore: number;
|
||||||
|
race: Array<{
|
||||||
|
score: number;
|
||||||
|
race: string;
|
||||||
|
}>;
|
||||||
|
};
|
||||||
|
export declare function load(config: Config): Promise<GraphModel>;
|
||||||
|
export declare function predict(image: Tensor, config: Config, idx: any, count: any): Promise<GearType>;
|
||||||
|
export {};
|
|
@ -0,0 +1,11 @@
|
||||||
|
/**
|
||||||
|
* Age model implementation
|
||||||
|
*
|
||||||
|
* Based on: [**SSR-Net**](https://github.com/shamangary/SSR-Net)
|
||||||
|
*/
|
||||||
|
import type { Config } from '../config';
|
||||||
|
import type { GraphModel, Tensor } from '../tfjs/types';
|
||||||
|
export declare function load(config: Config): Promise<GraphModel>;
|
||||||
|
export declare function predict(image: Tensor, config: Config, idx: any, count: any): Promise<{
|
||||||
|
age: number;
|
||||||
|
}>;
|
|
@ -0,0 +1,12 @@
|
||||||
|
/**
|
||||||
|
* Gender model implementation
|
||||||
|
*
|
||||||
|
* Based on: [**SSR-Net**](https://github.com/shamangary/SSR-Net)
|
||||||
|
*/
|
||||||
|
import type { Config } from '../config';
|
||||||
|
import type { GraphModel, Tensor } from '../tfjs/types';
|
||||||
|
export declare function load(config: Config | any): Promise<GraphModel>;
|
||||||
|
export declare function predict(image: Tensor, config: Config, idx: any, count: any): Promise<{
|
||||||
|
gender: string;
|
||||||
|
genderScore: number;
|
||||||
|
}>;
|
|
@ -10,8 +10,8 @@ import type { Human } from './human';
|
||||||
* - each model can be `null` if not loaded, instance of `GraphModel` if loaded or `Promise` if loading
|
* - each model can be `null` if not loaded, instance of `GraphModel` if loaded or `Promise` if loading
|
||||||
*/
|
*/
|
||||||
export declare class Models {
|
export declare class Models {
|
||||||
age: null | GraphModel | Promise<GraphModel>;
|
ssrnetage: null | GraphModel | Promise<GraphModel>;
|
||||||
agegenderrace: null | GraphModel | Promise<GraphModel>;
|
gear: null | GraphModel | Promise<GraphModel>;
|
||||||
blazeposedetect: null | GraphModel | Promise<GraphModel>;
|
blazeposedetect: null | GraphModel | Promise<GraphModel>;
|
||||||
blazepose: null | GraphModel | Promise<GraphModel>;
|
blazepose: null | GraphModel | Promise<GraphModel>;
|
||||||
centernet: null | GraphModel | Promise<GraphModel>;
|
centernet: null | GraphModel | Promise<GraphModel>;
|
||||||
|
@ -22,7 +22,7 @@ export declare class Models {
|
||||||
faceiris: null | GraphModel | Promise<GraphModel>;
|
faceiris: null | GraphModel | Promise<GraphModel>;
|
||||||
facemesh: null | GraphModel | Promise<GraphModel>;
|
facemesh: null | GraphModel | Promise<GraphModel>;
|
||||||
faceres: null | GraphModel | Promise<GraphModel>;
|
faceres: null | GraphModel | Promise<GraphModel>;
|
||||||
gender: null | GraphModel | Promise<GraphModel>;
|
ssrnetgender: null | GraphModel | Promise<GraphModel>;
|
||||||
handpose: null | GraphModel | Promise<GraphModel>;
|
handpose: null | GraphModel | Promise<GraphModel>;
|
||||||
handskeleton: null | GraphModel | Promise<GraphModel>;
|
handskeleton: null | GraphModel | Promise<GraphModel>;
|
||||||
handtrack: null | GraphModel | Promise<GraphModel>;
|
handtrack: null | GraphModel | Promise<GraphModel>;
|
||||||
|
|
|
@ -41,6 +41,11 @@ export interface FaceResult {
|
||||||
score: number;
|
score: number;
|
||||||
emotion: string;
|
emotion: string;
|
||||||
}>;
|
}>;
|
||||||
|
/** detected race */
|
||||||
|
race?: Array<{
|
||||||
|
score: number;
|
||||||
|
race: string;
|
||||||
|
}>;
|
||||||
/** face descriptor */
|
/** face descriptor */
|
||||||
embedding?: Array<number>;
|
embedding?: Array<number>;
|
||||||
/** face iris distance from camera */
|
/** face iris distance from camera */
|
||||||
|
|
Loading…
Reference in New Issue