/** * Result interface definition for **Human** library * * Contains all possible detection results */ export interface Result { /** Face results * Combined results of face detector, face mesh, age, gender, emotion, embedding, iris models * Some values may be null if specific model is not enabled * * Array of individual results with one object per detected face * Each result has: * - overal detection confidence value * - box detection confidence value * - mesh detection confidence value * - box as array of [x, y, width, height], normalized to image resolution * - boxRaw as array of [x, y, width, height], normalized to range 0..1 * - mesh as array of [x, y, z] points of face mesh, normalized to image resolution * - meshRaw as array of [x, y, z] points of face mesh, normalized to range 0..1 * - annotations as array of annotated face mesh points * - age as value * - gender as value * - genderConfidence as value * - emotion as array of possible emotions with their individual scores * - iris as distance value * - angle as object with values for roll, yaw and pitch angles */ face: Array<{ confidence: Number; boxConfidence: Number; faceConfidence: Number; box: [Number, Number, Number, Number]; boxRaw: [Number, Number, Number, Number]; mesh: Array<[Number, Number, Number]>; meshRaw: Array<[Number, Number, Number]>; annotations: Array<{ part: String; points: Array<[Number, Number, Number]>[]; }>; age: Number; gender: String; genderConfidence: Number; emotion: Array<{ score: Number; emotion: String; }>; embedding: Array; iris: Number; angle: { roll: Number; yaw: Number; pitch: Number; }; }>; /** Body results * * Array of individual results with one object per detected body * Each results has: * - body id number * - body part name * - part position with x,y,z coordinates * - body part score value * - body part presence value */ body: Array<{ id: Number; part: String; position: { x: Number; y: Number; z: Number; }; score: Number; presence: Number; }>; /** Hand results * * Array of individual results with one object per detected hand * Each result has: * - confidence as value * - box as array of [x, y, width, height], normalized to image resolution * - boxRaw as array of [x, y, width, height], normalized to range 0..1 * - landmarks as array of [x, y, z] points of hand, normalized to image resolution * - annotations as array of annotated face landmark points */ hand: Array<{ confidence: Number; box: [Number, Number, Number, Number]; boxRaw: [Number, Number, Number, Number]; landmarks: Array<[Number, Number, Number]>; annotations: Array<{ part: String; points: Array<[Number, Number, Number]>[]; }>; }>; /** Gesture results * * Array of individual results with one object per detected gesture * Each result has: * - part where gesture was detected * - gesture detected */ gesture: Array<{ part: String; gesture: String; }>; /** Object results * * Array of individual results with one object per detected gesture * Each result has: * - score as value * - label as detected class name * - center as array of [x, y], normalized to image resolution * - centerRaw as array of [x, y], normalized to range 0..1 * - box as array of [x, y, width, height], normalized to image resolution * - boxRaw as array of [x, y, width, height], normalized to range 0..1 */ object: Array<{ score: Number; strideSize: Number; class: Number; label: String; center: Number[]; centerRaw: Number[]; box: Number[]; boxRaw: Number[]; }>; performance: { any: any; }; canvas: OffscreenCanvas | HTMLCanvasElement; }