Compare commits
16 Commits
Author | SHA1 | Date |
---|---|---|
![]() |
189226d63a | |
![]() |
f587b44f66 | |
![]() |
e3f11b8533 | |
![]() |
171d17cadf | |
![]() |
e4cdf624c9 | |
![]() |
c633f9fbe4 | |
![]() |
ffc3c40362 | |
![]() |
a8193f9077 | |
![]() |
155f07dccd | |
![]() |
2f0469fe6e | |
![]() |
697b265337 | |
![]() |
4719b81587 | |
![]() |
fc9a39ea13 | |
![]() |
438897c5a2 | |
![]() |
f4d4780267 | |
![]() |
a5c767fdff |
|
@ -6,7 +6,7 @@
|
|||
"output": "build.log"
|
||||
},
|
||||
"profiles": {
|
||||
"production": ["clean", "compile", "typings", "typedoc", "lint", "changelog"],
|
||||
"production": ["compile", "typings", "typedoc", "lint", "changelog"],
|
||||
"development": ["serve", "watch", "compile"]
|
||||
},
|
||||
"clean": {
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
"plugin:import/warnings",
|
||||
"plugin:node/recommended",
|
||||
"plugin:promise/recommended",
|
||||
"plugin:json/recommended-with-comments",
|
||||
"plugin:@typescript-eslint/eslint-recommended",
|
||||
"plugin:@typescript-eslint/recommended",
|
||||
"airbnb-base"
|
||||
|
@ -29,6 +28,8 @@
|
|||
"@typescript-eslint/ban-ts-comment": "off",
|
||||
"@typescript-eslint/explicit-module-boundary-types": "off",
|
||||
"@typescript-eslint/no-var-requires": "off",
|
||||
"@typescript-eslint/no-empty-object-type": "off",
|
||||
"@typescript-eslint/no-require-imports": "off",
|
||||
"camelcase": "off",
|
||||
"class-methods-use-this": "off",
|
||||
"default-param-last": "off",
|
||||
|
|
1
.npmrc
1
.npmrc
|
@ -2,3 +2,4 @@ force=true
|
|||
production=true
|
||||
legacy-peer-deps=true
|
||||
strict-peer-dependencies=false
|
||||
node-options='--no-deprecation'
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"typescript.tsdk": "node_modules/typescript/lib"
|
||||
}
|
27
CHANGELOG.md
27
CHANGELOG.md
|
@ -1,6 +1,6 @@
|
|||
# @vladmandic/face-api
|
||||
|
||||
Version: **1.7.12**
|
||||
Version: **1.7.15**
|
||||
Description: **FaceAPI: AI-powered Face Detection & Rotation Tracking, Face Description & Recognition, Age & Gender & Emotion Prediction for Browser and NodeJS using TensorFlow/JS**
|
||||
|
||||
Author: **Vladimir Mandic <mandic00@live.com>**
|
||||
|
@ -9,12 +9,31 @@
|
|||
|
||||
## Changelog
|
||||
|
||||
### **1.7.15** 2025/02/05 mandic00@live.com
|
||||
|
||||
|
||||
### **origin/master** 2024/09/10 mandic00@live.com
|
||||
|
||||
|
||||
### **1.7.14** 2024/09/10 mandic00@live.com
|
||||
|
||||
- rebuild
|
||||
- merge pull request #188 from rebser/master
|
||||
- fixing leaking eventhandlers when using htmlcanvaselement
|
||||
- rebuild types
|
||||
- rebuild
|
||||
|
||||
### **1.7.13** 2024/01/17 mandic00@live.com
|
||||
|
||||
- merge pull request #186 from khwalkowicz/master
|
||||
- feat: enable noimplicitany
|
||||
|
||||
### **release: 1.7.12** 2023/06/12 mandic00@live.com
|
||||
|
||||
|
||||
### **1.7.12** 2023/06/12 mandic00@live.com
|
||||
|
||||
|
||||
### **origin/master** 2023/05/08 mandic00@live.com
|
||||
|
||||
|
||||
### **1.7.11** 2023/05/08 mandic00@live.com
|
||||
|
||||
|
||||
|
|
11
README.md
11
README.md
|
@ -104,8 +104,11 @@ NodeJS examples are:
|
|||
2021-03-14 08:42:09 STATE: Main: worker exit: 1888019 0
|
||||
```
|
||||
|
||||
Note that `@tensorflow/tfjs-node` or `@tensorflow/tfjs-node-gpu`
|
||||
must be installed before using any **NodeJS** examples
|
||||
### NodeJS Notes
|
||||
- Supported NodeJS versions are **14** up to **22**
|
||||
NodeJS version **23** and higher are not supported due to incompatibility with TensorFlow/JS
|
||||
- `@tensorflow/tfjs-node` or `@tensorflow/tfjs-node-gpu`
|
||||
must be installed before using any **NodeJS** examples
|
||||
|
||||
<br><hr><br>
|
||||
|
||||
|
@ -469,11 +472,11 @@ but extends it with newer AI models, additional detection details, compatibility
|
|||
Compared to [face-api.js](https://github.com/justadudewhohacks/face-api.js) version **0.22.2**:
|
||||
|
||||
- Compatible with `TensorFlow/JS 2.0+, 3.0+ and 4.0+`
|
||||
Currently using **`TensorFlow/JS` 4.3**
|
||||
Currently using **`TensorFlow/JS` 4.16**
|
||||
Original `face-api.js` is based on `TFJS` **1.7.4**
|
||||
- Compatible with `WebGL`, `CPU` and `WASM` TFJS Browser backends
|
||||
- Compatible with both `tfjs-node` and `tfjs-node-gpu` TFJS NodeJS backends
|
||||
- Updated all type castings for TypeScript type checking to `TypeScript 4.8`
|
||||
- Updated all type castings for TypeScript type checking to `TypeScript 5.3`
|
||||
- Switched bundling from `UMD` to `ESM` + `CommonJS` with fallback to `IIFE`
|
||||
Resulting code is optimized per-platform instead of being universal
|
||||
Fully tree shakable when imported as an `ESM` module
|
||||
|
|
|
@ -93,6 +93,7 @@ async function main() {
|
|||
log.header();
|
||||
log.info('FaceAPI single-process test');
|
||||
|
||||
// eslint-disable-next-line node/no-extraneous-import
|
||||
fetch = (await import('node-fetch')).default; // eslint-disable-line node/no-missing-import
|
||||
|
||||
await faceapi.tf.setBackend('tensorflow');
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,9 @@
|
|||
export declare const version: {
|
||||
'tfjs-core': string;
|
||||
'tfjs-backend-cpu': string;
|
||||
'tfjs-backend-webgl': string;
|
||||
'tfjs-data': string;
|
||||
'tfjs-layers': string;
|
||||
'tfjs-converter': string;
|
||||
tfjs: string;
|
||||
};
|
|
@ -4,4 +4,4 @@
|
|||
author: <https://github.com/vladmandic>'
|
||||
*/
|
||||
|
||||
var e="4.7.0";var s="4.7.0";var t="4.7.0";var n="4.7.0";var i="4.7.0";var w={tfjs:e,"tfjs-core":e,"tfjs-converter":s,"tfjs-backend-cpu":t,"tfjs-backend-webgl":n,"tfjs-backend-wasm":i};export{w as version};
|
||||
var e="4.22.0";var s="4.22.0";var t="4.22.0";var n="4.22.0";var i="4.22.0";var w={tfjs:e,"tfjs-core":e,"tfjs-converter":s,"tfjs-backend-cpu":t,"tfjs-backend-webgl":n,"tfjs-backend-wasm":i};export{w as version};
|
||||
|
|
62
package.json
62
package.json
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@vladmandic/face-api",
|
||||
"version": "1.7.12",
|
||||
"version": "1.7.15",
|
||||
"description": "FaceAPI: AI-powered Face Detection & Rotation Tracking, Face Description & Recognition, Age & Gender & Emotion Prediction for Browser and NodeJS using TensorFlow/JS",
|
||||
"sideEffects": false,
|
||||
"main": "dist/face-api.node.js",
|
||||
|
@ -22,8 +22,8 @@
|
|||
},
|
||||
"scripts": {
|
||||
"start": "node --no-warnings demo/node.js",
|
||||
"dev": "build --profile development",
|
||||
"build": "node build.js",
|
||||
"dev": "build --profile development",
|
||||
"lint": "eslint src/ demo/",
|
||||
"test": "node --trace-warnings test/test-node.js",
|
||||
"scan": "npx auditjs@latest ossi --dev --quiet"
|
||||
|
@ -42,36 +42,38 @@
|
|||
"tfjs"
|
||||
],
|
||||
"devDependencies": {
|
||||
"@canvas/image": "^1.0.1",
|
||||
"@microsoft/api-extractor": "^7.35.2",
|
||||
"@tensorflow/tfjs": "^4.7.0",
|
||||
"@tensorflow/tfjs-backend-cpu": "^4.7.0",
|
||||
"@tensorflow/tfjs-backend-wasm": "^4.7.0",
|
||||
"@tensorflow/tfjs-backend-webgl": "^4.7.0",
|
||||
"@tensorflow/tfjs-backend-webgpu": "4.7.0",
|
||||
"@tensorflow/tfjs-converter": "^4.7.0",
|
||||
"@tensorflow/tfjs-core": "^4.7.0",
|
||||
"@tensorflow/tfjs-data": "^4.7.0",
|
||||
"@tensorflow/tfjs-layers": "^4.7.0",
|
||||
"@tensorflow/tfjs-node": "^4.7.0",
|
||||
"@tensorflow/tfjs-node-gpu": "^4.7.0",
|
||||
"@types/node": "^20.3.0",
|
||||
"@types/offscreencanvas": "^2019.7.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.59.9",
|
||||
"@typescript-eslint/parser": "^5.59.9",
|
||||
"@vladmandic/build": "^0.9.2",
|
||||
"@vladmandic/pilogger": "^0.4.8",
|
||||
"esbuild": "^0.18.1",
|
||||
"eslint": "^8.42.0",
|
||||
"@canvas/image": "^2.0.0",
|
||||
"@microsoft/api-extractor": "^7.49.2",
|
||||
"@tensorflow/tfjs": "^4.22.0",
|
||||
"@tensorflow/tfjs-backend-cpu": "^4.22.0",
|
||||
"@tensorflow/tfjs-backend-wasm": "^4.22.0",
|
||||
"@tensorflow/tfjs-backend-webgl": "^4.22.0",
|
||||
"@tensorflow/tfjs-backend-webgpu": "4.22.0",
|
||||
"@tensorflow/tfjs-converter": "^4.22.0",
|
||||
"@tensorflow/tfjs-core": "^4.22.0",
|
||||
"@tensorflow/tfjs-data": "^4.22.0",
|
||||
"@tensorflow/tfjs-layers": "^4.22.0",
|
||||
"@tensorflow/tfjs-node": "^4.22.0",
|
||||
"@tensorflow/tfjs-node-gpu": "^4.22.0",
|
||||
"@types/node": "^22.13.1",
|
||||
"@types/offscreencanvas": "^2019.7.3",
|
||||
"@typescript-eslint/eslint-plugin": "^8.5.0",
|
||||
"@typescript-eslint/parser": "^8.5.0",
|
||||
"@vladmandic/build": "^0.10.2",
|
||||
"@vladmandic/pilogger": "^0.5.1",
|
||||
"ajv": "^8.17.1",
|
||||
"esbuild": "^0.24.2",
|
||||
"eslint": "8.57.0",
|
||||
"eslint-config-airbnb-base": "^15.0.0",
|
||||
"eslint-plugin-import": "^2.27.5",
|
||||
"eslint-plugin-json": "^3.1.0",
|
||||
"eslint-plugin-import": "^2.30.0",
|
||||
"eslint-plugin-json": "^4.0.1",
|
||||
"eslint-plugin-node": "^11.1.0",
|
||||
"eslint-plugin-promise": "^6.1.1",
|
||||
"rimraf": "^5.0.1",
|
||||
"eslint-plugin-promise": "^7.1.0",
|
||||
"node-fetch": "^3.3.2",
|
||||
"rimraf": "^6.0.1",
|
||||
"seedrandom": "^3.0.5",
|
||||
"tslib": "^2.5.3",
|
||||
"typedoc": "^0.24.8",
|
||||
"typescript": "5.1.3"
|
||||
"tslib": "^2.8.1",
|
||||
"typedoc": "^0.27.6",
|
||||
"typescript": "5.7.3"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -102,7 +102,8 @@ export abstract class NeuralNetwork<TNetParams> {
|
|||
}
|
||||
const { readFile } = env.getEnv();
|
||||
const { manifestUri, modelBaseUri } = getModelUris(filePath, this.getDefaultModelName());
|
||||
const fetchWeightsFromDisk = (filePaths: string[]) => Promise.all(filePaths.map((fp) => readFile(fp).then((buf) => buf.buffer)));
|
||||
const fetchWeightsFromDisk = (filePaths: string[]) => Promise.all(filePaths.map((fp) => readFile(fp).then((buf) => (typeof buf === 'string' ? Buffer.from(buf) : buf.buffer))));
|
||||
// @ts-ignore async-vs-sync mismatch
|
||||
const loadWeights = tf['io'].weightsLoaderFactory(fetchWeightsFromDisk);
|
||||
const manifest = JSON.parse((await readFile(manifestUri)).toString());
|
||||
const weightMap = await loadWeights(manifest, modelBaseUri);
|
||||
|
|
|
@ -4,7 +4,10 @@ import { isMediaLoaded } from './isMediaLoaded';
|
|||
export function awaitMediaLoaded(media: HTMLImageElement | HTMLVideoElement | HTMLCanvasElement) {
|
||||
// eslint-disable-next-line consistent-return
|
||||
return new Promise((resolve, reject) => {
|
||||
if (media instanceof env.getEnv().Canvas || isMediaLoaded(media)) resolve(null);
|
||||
if (media instanceof env.getEnv().Canvas || isMediaLoaded(media)) {
|
||||
resolve(null);
|
||||
return;
|
||||
}
|
||||
|
||||
function onError(e: Event) {
|
||||
if (!e.currentTarget) return;
|
||||
|
|
|
@ -5,7 +5,7 @@ export function createFileSystem(fs?: any): FileSystem {
|
|||
let requireFsError = '';
|
||||
if (!fs && isNodejs()) {
|
||||
try {
|
||||
// eslint-disable-next-line global-require
|
||||
// eslint-disable-next-line global-require, @typescript-eslint/no-require-imports
|
||||
fs = require('fs');
|
||||
} catch (err) {
|
||||
requireFsError = (err as any).toString();
|
||||
|
@ -13,7 +13,8 @@ export function createFileSystem(fs?: any): FileSystem {
|
|||
}
|
||||
|
||||
const readFile = fs
|
||||
? (filePath: string) => new Promise((resolve, reject) => { fs.readFile(filePath, (err: any, buffer) => (err ? reject(err) : resolve(buffer))); })
|
||||
// eslint-disable-next-line no-undef
|
||||
? (filePath: string) => new Promise<string | Buffer>((resolve, reject) => { fs.readFile(filePath, (err: NodeJS.ErrnoException | null, buffer: string | Buffer) => (err ? reject(err) : resolve(buffer))); })
|
||||
: () => { throw new Error(`readFile - failed to require fs in nodejs environment with error: ${requireFsError}`); };
|
||||
return { readFile };
|
||||
}
|
||||
|
|
|
@ -3,11 +3,9 @@ import { createFileSystem } from './createFileSystem';
|
|||
import { Environment } from './types';
|
||||
|
||||
export function createNodejsEnv(): Environment {
|
||||
// eslint-disable-next-line dot-notation
|
||||
const Canvas = global['Canvas'] || global.HTMLCanvasElement;
|
||||
const Canvas: (new () => HTMLCanvasElement) = (global as any)['Canvas'] || global.HTMLCanvasElement;
|
||||
const Image = global.Image || global.HTMLImageElement;
|
||||
// eslint-disable-next-line dot-notation
|
||||
const Video = global['Video'] || global.HTMLVideoElement;
|
||||
const Video: (new () => HTMLVideoElement) = (global as any)['Video'] || global.HTMLVideoElement;
|
||||
|
||||
const createCanvasElement = () => {
|
||||
if (Canvas) return new Canvas();
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
export type FileSystem = {
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
readFile: (filePath: string) => Promise<any>
|
||||
}
|
||||
readFile: (filePath: string) => Promise<string | Buffer>;
|
||||
};
|
||||
|
||||
export type Environment = FileSystem & {
|
||||
Canvas: typeof HTMLCanvasElement
|
||||
CanvasRenderingContext2D: typeof CanvasRenderingContext2D
|
||||
Image: typeof HTMLImageElement
|
||||
ImageData: typeof ImageData
|
||||
Video: typeof HTMLVideoElement
|
||||
createCanvasElement: () => HTMLCanvasElement
|
||||
createImageElement: () => HTMLImageElement
|
||||
createVideoElement: () => HTMLVideoElement
|
||||
Canvas: typeof HTMLCanvasElement;
|
||||
CanvasRenderingContext2D: typeof CanvasRenderingContext2D;
|
||||
Image: typeof HTMLImageElement;
|
||||
ImageData: typeof ImageData;
|
||||
Video: typeof HTMLVideoElement;
|
||||
createCanvasElement: () => HTMLCanvasElement;
|
||||
createImageElement: () => HTMLImageElement;
|
||||
createVideoElement: () => HTMLVideoElement;
|
||||
// eslint-disable-next-line no-undef, no-unused-vars
|
||||
fetch: (url: string, init?: RequestInit) => Promise<Response>
|
||||
}
|
||||
fetch: (url: string, init?: RequestInit) => Promise<Response>;
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
export const FACE_EXPRESSION_LABELS = ['neutral', 'happy', 'sad', 'angry', 'fearful', 'disgusted', 'surprised'];
|
||||
export const FACE_EXPRESSION_LABELS = ['neutral', 'happy', 'sad', 'angry', 'fearful', 'disgusted', 'surprised'] as const;
|
||||
|
||||
export class FaceExpressions {
|
||||
public neutral = 0;
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import { Point } from '../classes';
|
||||
import { FaceDetection } from '../classes/FaceDetection';
|
||||
import { FaceLandmarks } from '../classes/FaceLandmarks';
|
||||
import { FaceLandmarks68 } from '../classes/FaceLandmarks68';
|
||||
|
@ -22,20 +23,17 @@ export function isWithFaceLandmarks(
|
|||
): obj is WithFaceLandmarks<WithFaceDetection<{}>, FaceLandmarks> {
|
||||
return (
|
||||
isWithFaceDetection(obj)
|
||||
// eslint-disable-next-line dot-notation
|
||||
&& obj['landmarks'] instanceof FaceLandmarks
|
||||
// eslint-disable-next-line dot-notation
|
||||
&& obj['unshiftedLandmarks'] instanceof FaceLandmarks
|
||||
// eslint-disable-next-line dot-notation
|
||||
&& obj['alignedRect'] instanceof FaceDetection
|
||||
&& (obj as any)['landmarks'] instanceof FaceLandmarks
|
||||
&& (obj as any)['unshiftedLandmarks'] instanceof FaceLandmarks
|
||||
&& (obj as any)['alignedRect'] instanceof FaceDetection
|
||||
);
|
||||
}
|
||||
|
||||
function calculateFaceAngle(mesh) {
|
||||
function calculateFaceAngle(mesh: FaceLandmarks) {
|
||||
// Helper to convert radians to degrees
|
||||
// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
|
||||
const degrees = (radians) => (radians * 180) / Math.PI;
|
||||
const calcLengthBetweenTwoPoints = (a, b) => Math.sqrt((a._x - b._x) ** 2 + (a._y - b._y) ** 2);
|
||||
const degrees = (radians: number) => (radians * 180) / Math.PI;
|
||||
const calcLengthBetweenTwoPoints = (a: Point, b: Point) => Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2);
|
||||
|
||||
const angle = {
|
||||
roll: <number | undefined>undefined,
|
||||
|
@ -43,54 +41,51 @@ function calculateFaceAngle(mesh) {
|
|||
yaw: <number | undefined>undefined,
|
||||
};
|
||||
|
||||
const calcYaw = (leftPoint, midPoint, rightPoint) => {
|
||||
const calcYaw = (leftPoint: Point, midPoint: Point, rightPoint: Point) => {
|
||||
// Calc x-distance from left side of the face ("ear") to facial midpoint ("nose")
|
||||
const leftToMidpoint = Math.floor(leftPoint._x - midPoint._x);
|
||||
const leftToMidpoint = Math.floor(leftPoint.x - midPoint.x);
|
||||
// Calc x-distance from facial midpoint ("nose") to the right side of the face ("ear")
|
||||
const rightToMidpoint = Math.floor(midPoint._x - rightPoint._x);
|
||||
const rightToMidpoint = Math.floor(midPoint.x - rightPoint.x);
|
||||
// Difference in distances coincidentally approximates to angles
|
||||
return leftToMidpoint - rightToMidpoint;
|
||||
};
|
||||
|
||||
const calcRoll = (lever, pivot) => {
|
||||
const calcRoll = (lever: Point, pivot: Point) => {
|
||||
// When rolling, the head seems to pivot from the nose/lips/chin area.
|
||||
// So, we'll choose any two points from the facial midline, where the first point should be the pivot, and the other "lever"
|
||||
// Plan/Execution: get the hypotenuse & opposite sides of a 90deg triangle ==> Calculate angle in radians
|
||||
const hypotenuse = Math.hypot(pivot._x - lever._x, pivot._y - lever._y);
|
||||
const opposite = pivot._y - lever._y;
|
||||
const hypotenuse = Math.hypot(pivot.x - lever.x, pivot.y - lever.y);
|
||||
const opposite = pivot.y - lever.y;
|
||||
const angleInRadians = Math.asin(opposite / hypotenuse);
|
||||
const angleInDegrees = degrees(angleInRadians);
|
||||
const normalizeAngle = Math.floor(90 - angleInDegrees);
|
||||
// If lever more to the left of the pivot, then we're tilting left
|
||||
// "-" is negative direction. "+", or absence of a sign is positive direction
|
||||
const tiltDirection = pivot._x - lever._x < 0 ? -1 : 1;
|
||||
const tiltDirection = pivot.x - lever.x < 0 ? -1 : 1;
|
||||
const result = normalizeAngle * tiltDirection;
|
||||
return result;
|
||||
};
|
||||
|
||||
const calcPitch = (leftPoint, midPoint, rightPoint) => {
|
||||
const calcPitch = (leftPoint: Point, midPoint: Point, rightPoint: Point) => {
|
||||
// Theory: While pitching, the nose is the most salient point --> That's what we'll use to make a trianle.
|
||||
// The "base" is between point that don't move when we pitch our head (i.e. an imaginary line running ear to ear through the nose).
|
||||
// Executuin: Get the opposite & adjacent lengths of the triangle from the ear's perspective. Use it to get angle.
|
||||
|
||||
const base = calcLengthBetweenTwoPoints(leftPoint, rightPoint);
|
||||
// adjecent is base/2 technically.
|
||||
const baseCoords = {
|
||||
_x: (leftPoint._x + rightPoint._x) / 2,
|
||||
_y: (leftPoint._y + rightPoint._y) / 2,
|
||||
};
|
||||
const baseCoords = new Point((leftPoint.x + rightPoint.x) / 2, (leftPoint.y + rightPoint.y) / 2);
|
||||
const midToBaseLength = calcLengthBetweenTwoPoints(midPoint, baseCoords);
|
||||
const angleInRadians = Math.atan(midToBaseLength / base);
|
||||
const angleInDegrees = Math.floor(degrees(angleInRadians));
|
||||
// Account for directionality.
|
||||
// pitch forwards (_i.e. tilting your head forwards) is positive (or no sign); backward is negative.
|
||||
const direction = baseCoords._y - midPoint._y < 0 ? -1 : 1;
|
||||
const direction = baseCoords.y - midPoint.y < 0 ? -1 : 1;
|
||||
const result = angleInDegrees * direction;
|
||||
return result;
|
||||
};
|
||||
|
||||
if (!mesh || !mesh._positions || mesh._positions.length !== 68) return angle;
|
||||
const pt = mesh._positions;
|
||||
if (!mesh || !mesh.positions || mesh.positions.length !== 68) return angle;
|
||||
const pt = mesh.positions;
|
||||
angle.roll = calcRoll(pt[27], pt[66]);
|
||||
angle.pitch = calcPitch(pt[14], pt[30], pt[2]);
|
||||
angle.yaw = calcYaw(pt[14], pt[33], pt[2]);
|
||||
|
|
|
@ -19,7 +19,7 @@ import { extractParams } from './extractParams';
|
|||
import { extractParamsFromWeightMap } from './extractParamsFromWeightMap';
|
||||
import { leaky } from './leaky';
|
||||
import { ITinyYolov2Options, TinyYolov2Options } from './TinyYolov2Options';
|
||||
import { DefaultTinyYolov2NetParams, MobilenetParams, TinyYolov2NetParams } from './types';
|
||||
import { DefaultTinyYolov2NetParams, MobilenetParams, TinyYolov2ExtractBoxesResult, TinyYolov2NetParams } from './types';
|
||||
|
||||
export class TinyYolov2Base extends NeuralNetwork<TinyYolov2NetParams> {
|
||||
public static DEFAULT_FILTER_SIZES = [3, 16, 32, 64, 128, 256, 512, 1024, 1024];
|
||||
|
@ -183,9 +183,9 @@ export class TinyYolov2Base extends NeuralNetwork<TinyYolov2NetParams> {
|
|||
return [boxes, scores, classScores];
|
||||
});
|
||||
|
||||
const results = [] as any;
|
||||
const scoresData = await scoresTensor.array();
|
||||
const boxesData = await boxesTensor.array();
|
||||
const results: TinyYolov2ExtractBoxesResult[] = [];
|
||||
const scoresData = await scoresTensor.array() as number[][][][];
|
||||
const boxesData = await boxesTensor.array() as number[][][][];
|
||||
for (let row = 0; row < numCells; row++) {
|
||||
for (let col = 0; col < numCells; col++) {
|
||||
for (let anchor = 0; anchor < numBoxes; anchor++) {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import * as tf from '../../dist/tfjs.esm';
|
||||
import { BoundingBox } from '../classes';
|
||||
|
||||
import { ConvParams } from '../common/index';
|
||||
import { SeparableConvParams } from '../common/types';
|
||||
|
@ -38,3 +39,13 @@ export type DefaultTinyYolov2NetParams = {
|
|||
}
|
||||
|
||||
export type TinyYolov2NetParams = DefaultTinyYolov2NetParams | MobilenetParams
|
||||
|
||||
export type TinyYolov2ExtractBoxesResult = {
|
||||
box: BoundingBox;
|
||||
score: number;
|
||||
classScore: number;
|
||||
label: number;
|
||||
row: number;
|
||||
col: number;
|
||||
anchor: number;
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ export function extractParams(weights: Float32Array, numMainBlocks: number): { p
|
|||
reduction_block_1: entry_flow_reduction_block_1,
|
||||
};
|
||||
|
||||
const middle_flow = {};
|
||||
const middle_flow: Record<`main_block_${number}`, MainBlockParams> = {};
|
||||
range(numMainBlocks, 0, 1).forEach((idx) => {
|
||||
middle_flow[`main_block_${idx}`] = extractMainBlockParams(128, `middle_flow/main_block_${idx}`);
|
||||
});
|
||||
|
|
|
@ -58,7 +58,7 @@ export function extractParamsFromWeightMap(
|
|||
reduction_block_1: entry_flow_reduction_block_1,
|
||||
};
|
||||
|
||||
const middle_flow = {};
|
||||
const middle_flow: Record<`main_block_${number}`, MainBlockParams> = {};
|
||||
range(numMainBlocks, 0, 1).forEach((idx) => {
|
||||
middle_flow[`main_block_${idx}`] = extractMainBlockParams(`middle_flow/main_block_${idx}`);
|
||||
});
|
||||
|
|
|
@ -18,7 +18,7 @@ export type TinyXceptionParams = {
|
|||
reduction_block_0: ReductionBlockParams
|
||||
reduction_block_1: ReductionBlockParams
|
||||
}
|
||||
middle_flow: any,
|
||||
middle_flow: Record<`main_block_${number}`, MainBlockParams>,
|
||||
exit_flow: {
|
||||
reduction_block: ReductionBlockParams
|
||||
separable_conv: SeparableConvParams
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
"experimentalDecorators": true,
|
||||
"importHelpers": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noImplicitAny": false,
|
||||
"noImplicitAny": true,
|
||||
"noImplicitOverride": true,
|
||||
"noImplicitReturns": true,
|
||||
"noImplicitThis": true,
|
||||
|
@ -32,7 +32,7 @@
|
|||
"strictBindCallApply": true,
|
||||
"strictFunctionTypes": true,
|
||||
"strictNullChecks": true,
|
||||
"strictPropertyInitialization": true,
|
||||
"strictPropertyInitialization": true
|
||||
},
|
||||
"formatCodeOptions": { "indentSize": 2, "tabSize": 2 },
|
||||
"include": ["src"],
|
||||
|
@ -48,7 +48,6 @@
|
|||
"theme": "default",
|
||||
"readme": "none",
|
||||
"out": "typedoc",
|
||||
"logLevel": "Verbose",
|
||||
"logger": "none",
|
||||
"logLevel": "Verbose"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
window.hierarchyData = "eJyVWMtu2zgU/ReumVbiU/SumaBFgTYN2mCAQZEFIzGJJjKVUnTTQeF/H1CqbVLWg9wkcHB4z+NeX1H5DUzb2g5svmOBBMQUEYhwISCiVECUFwVElFOIWEYg4hRBJDIMcYZzSAqUQ1TwDOaYIUg4xXcQGPXQqNLWre7A5jdA7oeWWwU2wD4ACJ5rXYENgWBnGrAB27baNap7ax/ePNltAyAoG9l1Dt1VFw584U53L7JUYA8Bw7lX8W9pannfqGPdHBWHyn2dofIBNksx/GEPgXPi1b9VumvNSvUBdJGvVIdgp+sfO3Utt+pGGqX72NEdBOVT3VRGabD5znB+t4fABe/J+Hhl5Out+mXf16qpvrwM6R5UIcoOqmptlXmQpereVka+vpk8OKvzeBoEmlAu6CBKUE/UoqaJpHpBSXqOXUGIE4/53aP6oHSlzLWyS4w+LoIEF8LP/LLd6arWj5ftr5WofWhyuFgQiAgfEsbC9zmlYMJmDPvJJeE0oFgpvVZywgxnwi0I1juiNAj1qt4q3UWMr4dMjpQyNHAH3+UJ6gnHEbSnLGmQ5cf3slRXyqqybvWaPR+bbpAXg0Hub4ljSevzT3gMgBE2WUbGNj9JXW2leV5tYwBONsoyfjco4COj5wJmjK6TTw0yowQiJoYZZpTMsdNoehoTtGBzRKyIZmJFBBWnaNzTz9KWTzH97IHJveR02HGc0pHJkHjG3jKpZ4z5C+eTvFeNqlbW3AmVNCQCD44KnnmUX+7/VaWN+iKOoEnkhx0gMuw38qattV1rYg9KbqDI2B9Gf0pDwgmTy2Snxgnsz8WNUVVd2tXW+bh1Endv9dP6qsrVsBwmOSvC6fEZ6H57pAHnhKNFvpMTko93/2EBrNyKRtAIKorm9h8rEsh6cMqMO499gByLkYCvqmwfde2+NREKQnSEY4F8wr/a7UvbuReIW9k9L5GFyCSvgiBIspxDkonBtSBoJGJn1fDs7kpTv9jWdI7mUnaLL0DLJ9NEshxiUdBBH8vP9b1rmgmiCHnTB2N6VdBzGd9q/diMLEcKmTu6LsW1z79w9nvdFYpq0wQ8pTckwwSSjPUrx304U/In4dWGnKNjrDN2RnhKMo4yxMeQimIy7+NVKC33s2NJ+ecohySn/fu7+zCXf8AS3YfgVEQ0OT0XcMo3UcPMwQgZGGVzbygRe9vHRpCRzB+Hb131ub2vG6WV/ZkvUYXIpKZjlPX9ZsEj8rbW/530tybivyMzRyJcc4pH1P+0TfsTRZIG4CTvDJHeexHM+rXaGdlcK/vamsXRCoBJV1/ECXR3Aug6frff7/8H6ry9zQ=="
|
|
@ -1,22 +1,92 @@
|
|||
:root {
|
||||
--light-hl-0: #0000FF;
|
||||
--dark-hl-0: #569CD6;
|
||||
--light-hl-1: #000000;
|
||||
--dark-hl-1: #D4D4D4;
|
||||
--light-hl-2: #0070C1;
|
||||
--dark-hl-2: #4FC1FF;
|
||||
--light-hl-3: #795E26;
|
||||
--dark-hl-3: #DCDCAA;
|
||||
--light-hl-4: #098658;
|
||||
--dark-hl-4: #B5CEA8;
|
||||
--light-hl-5: #001080;
|
||||
--dark-hl-5: #9CDCFE;
|
||||
--light-hl-6: #AF00DB;
|
||||
--dark-hl-6: #C586C0;
|
||||
--light-hl-7: #008000;
|
||||
--dark-hl-7: #6A9955;
|
||||
--light-hl-8: #A31515;
|
||||
--dark-hl-8: #CE9178;
|
||||
--light-hl-9: #267F99;
|
||||
--dark-hl-9: #4EC9B0;
|
||||
--light-code-background: #FFFFFF;
|
||||
--dark-code-background: #1E1E1E;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: light) { :root {
|
||||
--hl-0: var(--light-hl-0);
|
||||
--hl-1: var(--light-hl-1);
|
||||
--hl-2: var(--light-hl-2);
|
||||
--hl-3: var(--light-hl-3);
|
||||
--hl-4: var(--light-hl-4);
|
||||
--hl-5: var(--light-hl-5);
|
||||
--hl-6: var(--light-hl-6);
|
||||
--hl-7: var(--light-hl-7);
|
||||
--hl-8: var(--light-hl-8);
|
||||
--hl-9: var(--light-hl-9);
|
||||
--code-background: var(--light-code-background);
|
||||
} }
|
||||
|
||||
@media (prefers-color-scheme: dark) { :root {
|
||||
--hl-0: var(--dark-hl-0);
|
||||
--hl-1: var(--dark-hl-1);
|
||||
--hl-2: var(--dark-hl-2);
|
||||
--hl-3: var(--dark-hl-3);
|
||||
--hl-4: var(--dark-hl-4);
|
||||
--hl-5: var(--dark-hl-5);
|
||||
--hl-6: var(--dark-hl-6);
|
||||
--hl-7: var(--dark-hl-7);
|
||||
--hl-8: var(--dark-hl-8);
|
||||
--hl-9: var(--dark-hl-9);
|
||||
--code-background: var(--dark-code-background);
|
||||
} }
|
||||
|
||||
:root[data-theme='light'] {
|
||||
--hl-0: var(--light-hl-0);
|
||||
--hl-1: var(--light-hl-1);
|
||||
--hl-2: var(--light-hl-2);
|
||||
--hl-3: var(--light-hl-3);
|
||||
--hl-4: var(--light-hl-4);
|
||||
--hl-5: var(--light-hl-5);
|
||||
--hl-6: var(--light-hl-6);
|
||||
--hl-7: var(--light-hl-7);
|
||||
--hl-8: var(--light-hl-8);
|
||||
--hl-9: var(--light-hl-9);
|
||||
--code-background: var(--light-code-background);
|
||||
}
|
||||
|
||||
:root[data-theme='dark'] {
|
||||
--hl-0: var(--dark-hl-0);
|
||||
--hl-1: var(--dark-hl-1);
|
||||
--hl-2: var(--dark-hl-2);
|
||||
--hl-3: var(--dark-hl-3);
|
||||
--hl-4: var(--dark-hl-4);
|
||||
--hl-5: var(--dark-hl-5);
|
||||
--hl-6: var(--dark-hl-6);
|
||||
--hl-7: var(--dark-hl-7);
|
||||
--hl-8: var(--dark-hl-8);
|
||||
--hl-9: var(--dark-hl-9);
|
||||
--code-background: var(--dark-code-background);
|
||||
}
|
||||
|
||||
.hl-0 { color: var(--hl-0); }
|
||||
.hl-1 { color: var(--hl-1); }
|
||||
.hl-2 { color: var(--hl-2); }
|
||||
.hl-3 { color: var(--hl-3); }
|
||||
.hl-4 { color: var(--hl-4); }
|
||||
.hl-5 { color: var(--hl-5); }
|
||||
.hl-6 { color: var(--hl-6); }
|
||||
.hl-7 { color: var(--hl-7); }
|
||||
.hl-8 { color: var(--hl-8); }
|
||||
.hl-9 { color: var(--hl-9); }
|
||||
pre, code { background: var(--code-background); }
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 12 KiB |
File diff suppressed because one or more lines are too long
|
@ -0,0 +1 @@
|
|||
window.navigationData = "eJydnNty4zYSht9F15PJ2mPPzs6dj4lTtuyyVM6mUqkURLYk7FCAAoKyPFv77lsQSREAuxtwLq3++wOJYzcA+vf/Tizs7eTrpDTidfJhshV2Pfk62eiyqaD+0f36cW031eTD5JtU5eTr2YdJsZZVaUBNvv5+dL9QxVqbJ11LK7UaQKCaTYcJJSH1y/8+HFHXRrxe6v3AKCpR1/3DdNbQ/eQUATxuXTk1z+lEKdytKOBeqHIjzDeOGOjeBU0/LSZPFTGHvb2VUJUM96jJhqWfNZZy6DuqvaSyYJai6MF3XJudnn+OmXz9ovR0HSPl0PWClsHXTcjvn+lmvzVQ105+p7aNHYqwb9u4k8TiqIB//OufJ+enXF9MFxFKUwXMnds1WCgs/waYMAV3jldaWd2YgblsVItouZ4mxH0+i0hD4SxskCV4UXuw0EibQUamJIJ7VP5wMuL+4ZHtcrwI2GXWErAw+rUGg/p3tixOuBIN7+NhxstSUD1LozdPcg8VWi8eZxBm0S7qN1VkIw9qhmt11jP2MrbZpEarXeqsGr/Sm61bluHCGPF22SyXfjP2k3vLw7Ts7P74s1Bl5QO9WbFlHjXcVHivBTvBtihPxcEedAnVhbFyKQrL8UJhPvJOLXU21omT6F9mj9MU0WmSoJnVBh6EEiu2UUZaDvwMfzVQ22uwQlZcfYZCDjkTO7jSailXDG4QpVDPUDeVTaBaEYeaGyGVVKvkk4VCDvkryNXa1g9CySXU9kZZ88aAMTkbovSDaxZMXu2qG42/2WjGGq+3boSNhrRP8wQp1qN6MnrlFrwrUVULUXzDkWNdiuxak31KT5BitTV+LazAUYM9j/ST0c2WQx0EeaxjP4g75JgaSVP8bv25lRVQS5TUH30Vs9Z1sp/n86duBkgiPS0DLrQqhAUlggWJeWDCIS7iQ7vsuXAEtgacSzkJyt2+HWZIrqROwgVyUOgSuvahUYEsFzezBsQmE9qKGTSorCcNZImg6gE22p/qYtagyQLN6OAsgI0nuQC4AuvNYMyrRkIeGS74t9qEyznCRj3+RiF8tXBe7ynMhTDvfyvPiy/Mm635FvGFPLLto7MtFDzR0zHAtbVbGuOsjLOs3WQ3K9awARriqxhYJeu2lpnXGjQcSIsyOd49EYPa6B0kZsujhMEYWMnagnHD7lk3FtCMv+WNtRngQwyYCR60LDjj1T0Rg3pta9m9D5hbUVh27sTUHFzaNRoyjbihMB/JT0OImM1356BqjW81tKYo7/VTFaG8KLPdn7bLj+5nek86Ls/LiVtTvK0SJsEvwkixqAAF9EYOMBUbKNuSHgQWO4aC5IbcQXhyjYB6Ux7ilEacZiI+0YhPmYgzGnGWiTinEeeZiHv5DUiIM6YwN9OXwX/X9YoD42b6Ejp/8v3kRqyA8DzYGN8dmDo4sAm8OyvjL8qSGNWiLJnZQexWT1pTk2Jn5RIKYYv1VBsqvj3audxBkGmIM3Geldxevr2IqqHWa0+RzF4oxMHIe+9OqepvjWyusLXrV1m7/RMaE6k4ntxRDLnjEos9FTjBnguaYL8VqryWGyo6GQRc+iArqhM6ExfTCPvQUL6tkfXeM/2/s3L+dNFsuVtBtfRWcK1roGoIR2diPeu12FLjpLMy/nUhKkFFJK2R84atMG4+Y3t5pOJ4crXRkuS0Vs6/kgVVFwdbyvcTWXZr5fz10m7EnvJvrZy/DTboQm872pQLfZsF5dksuEOSKPAKXFvjD6dJ/xOq0nozcioWM8jO05szGGTj9eYMxhnPOEswZEllDc7EelZUx3UmztMIVW91Tbr3dobRKK73dVbG/zsYTS0UBxubbjQ2ONXos43Dz1knbIXebBvrzhfcbOcWJVDkgXCLJV34bY0rcAcGT1oqNK5o2aGO3ZnIeVRfxcJudqA4jLOzgNtK4/FSTzgIWEScyo0ZWAaJQvwEisLEmRQKOs0AxfkUCvqUAYqzKhR0lgGKc6sI9CIqWU6bzQLfT+hZniyNezJ6IRaVtBKdxQKmp+XCE6FW6MTUsg5mzl03Cp2QO3dnZqeWn0CVfgW1GxLtr/R+xMUKWskUvOHQbyr4Vm5X4dI9nVQr9LadZ+QZqC/r094hcPHWXNTfxu6hPUVqLFxUlbvkcg11YeTWalPTYFKeUQ7idSlqZFuH12eUNJNqVUX+7DtRDlxZ7S2mrjaON4TwYmhtdgk55Ezi6CHwZmDEeWVksd/BHFopq7oJ+XvKycMnqUgUcGQRa39IaHtmd2tuDAnM2Rx09osVKdpw5Y7EBZJ8HlJZ7B2/Matv9s9fyGcLJPm8uVRvGcxOlstNEt/BImov63p1IDxPgM6zSZ+/JFCfv6RYD25jEqccTFn+2PU8z5hiPEOhV0qyIyjUcMR7sYAKSjQQGGwZhGi1JGmRjj03ARvdNu5ZvYX3boyopmBftUEm0cDMcR4X/4HCMrNfJOBYUWbXE5BELvIzUMrCEu3kWznKMxRI4e5XzmtWlw96IStQYHcnY//Qnk8iv0NAZRzXTXPDuoGd9MWK99DI5ySEKfZvutK7UxzX2vII7HMFEo53h6YR3r3FOzKViD+mQKIMn0NFGhHmWKPBWPNBviKJQtajmEWsSQgsmv5jELIERJBo/PsAZA6InMPh6/uOh3Dkmhh5Pitj9EVwpkv64ES3DKEXK7hQZZsHd9Nb0B/aA1pclTqpvRyfPra4S/zYcUxwBw2/SrsmSSNBingNS9FUdqijKdgnYYR/PtaiaWXyhFrtpNFqA2r0/Y5nSlGCAP222zGJeajoXeRRV0LAeD8ac2UFs7fawqiZBkuKcZdcFVoipUvxj0MOb/TInKJNwT42FvlO62jIIOBPkt3bhg6KX26O7fm8m701orCXeg91/GFAzB5r88sh6+BvjL35A5RS3FSAjb7AmCSNo+KOggfFCOEZal3toCRJsSBFdFPdxWp0f6b7Occ7zAowUKjIZ47C9hiJhu00Ed0gCJnkFgFNRcKUkEkFKSgx3pYeUNjW9JgByrsNMtwpAhVdBQkuE91eXN38efPvp+eb2ezucfrn/cXlzf0M4+BKBq3Av8U6gNzvjBtzPSrjblS3pYkdD/Q25mihl1DZ0xjG5VEoGksmxlgqrQiRr0Lawyx0uHOKnonEGga3OHyWMdd34d22gRUIGFCB7cRjQFTIgQ0IC1dC7QTawr49E3N7+EahlCLFOwqTYHq7NCbz26YEmtpJwuDcjhKCT3d7TJfE0pl+DOYzfgJNj6ZYw+DK4EQEg4WKJCr9rfhY9j6oe69MsJMm4RlPm/+kwzkHTRs0DA6aopIlCHUtaysUzhuJOODegipHwY8H8wVZoPRMR2nfgR+FRDQdDY4YeOK/JZDi7ALYrkVIs+BxzIRRsegpxrl0gxz5vj0P017WSME6FYNcgi3W5Ho8WFOIX2q84xyNKcC0/ygLfadIkoI9mvnaaPQfTvj2FOZFlqBJyMGauLellfvjtGQeCJHx0EOMwN/gGqu4WziufdueMtd06IPIklA9+6sRBu1agYADKReTw4y+ohsqOJRGbztLzd10ljWeonv+NZ2nYyg6lA4ELIhZXI7GJCA56yOyLGhitkeFWWB2lkdkSSg9u/t2BuM+lTzezCI/CRyrEsigzlnsWJmBHuo9yY6kGfC+9pPoQPgOsIs1s+FHcUYBXjKT5MfaBD5MaFg6Ik3A46SGxaPijALaBCeJ9mQJaLuWB18+hrijgAUVXSaKzgmemYFs3HEMv6JGEg4m1eVCox9kdCbGWWn1IPazZtsPOgwzErFAsxGV/I4uFUcjA9iKklvGPTMHaQ/h/HM5FDaWMVDTjsDvkLHkUFoWX8vv3T8PIpiegAe5XfNoSz3gHO0Mpl43y2XV/n8TDOPbOQwdSGV86JTcvgkVia9W0ps2sSYJpLdqBisP0ePjDw+i8bOPALFzF9Xdtl50wDVgQsUI9cf/ASvHfOE="
|
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 one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,68 +1,3 @@
|
|||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Gender | @vladmandic/face-api - v1.7.12</title><meta name="description" content="Documentation for @vladmandic/face-api - v1.7.12"/><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.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar">
|
||||
<div class="tsd-toolbar-contents container">
|
||||
<div class="table-cell" id="tsd-search" data-base="..">
|
||||
<div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div>
|
||||
<div class="field">
|
||||
<div id="tsd-toolbar-links"></div></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/face-api - v1.7.12</a></div>
|
||||
<div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></svg></a></div></div></header>
|
||||
<div class="container container-main">
|
||||
<div class="col-8 col-content">
|
||||
<div class="tsd-page-title">
|
||||
<ul class="tsd-breadcrumb">
|
||||
<li><a href="../index.html">@vladmandic/face-api - v1.7.12</a></li>
|
||||
<li><a href="Gender.html">Gender</a></li></ul>
|
||||
<h1>Enumeration Gender</h1></div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/master/src/ageGenderNet/types.ts#L6">ageGenderNet/types.ts:6</a></li></ul></aside>
|
||||
<section class="tsd-panel-group tsd-index-group">
|
||||
<section class="tsd-panel tsd-index-panel">
|
||||
<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
|
||||
<h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex=0><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-text)"></path></svg> Index</h5></summary>
|
||||
<div class="tsd-accordion-details">
|
||||
<section class="tsd-index-section">
|
||||
<h3 class="tsd-index-heading">Enumeration Members</h3>
|
||||
<div class="tsd-index-list"><a href="Gender.html#FEMALE" class="tsd-index-link tsd-kind-enum-member tsd-parent-kind-enum"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-1024-path"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)" id="icon-1024-text"></path></svg><span>FEMALE</span></a>
|
||||
<a href="Gender.html#MALE" class="tsd-index-link tsd-kind-enum-member tsd-parent-kind-enum"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>MALE</span></a>
|
||||
</div></section></div></details></section></section>
|
||||
<section class="tsd-panel-group tsd-member-group">
|
||||
<h2>Enumeration Members</h2>
|
||||
<section class="tsd-panel tsd-member tsd-kind-enum-member tsd-parent-kind-enum"><a id="FEMALE" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link"><span>FEMALE</span><a href="#FEMALE" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="icon-anchor-a"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" id="icon-anchor-b"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" id="icon-anchor-c"></path></svg></a></h3>
|
||||
<div class="tsd-signature">FEMALE<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"female"</span></div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/master/src/ageGenderNet/types.ts#L8">ageGenderNet/types.ts:8</a></li></ul></aside></section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-enum-member tsd-parent-kind-enum"><a id="MALE" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link"><span>MALE</span><a href="#MALE" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
|
||||
<div class="tsd-signature">MALE<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"male"</span></div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/master/src/ageGenderNet/types.ts#L10">ageGenderNet/types.ts:10</a></li></ul></aside></section></section></div>
|
||||
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
|
||||
<div class="tsd-navigation settings">
|
||||
<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
|
||||
<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Settings</h3></summary>
|
||||
<div class="tsd-accordion-details">
|
||||
<div class="tsd-filter-visibility">
|
||||
<h4 class="uppercase">Member Visibility</h4><form>
|
||||
<ul id="tsd-filter-options">
|
||||
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></form></div>
|
||||
<div class="tsd-theme-toggle">
|
||||
<h4 class="uppercase">Theme</h4><select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
|
||||
<nav class="tsd-navigation primary">
|
||||
<details class="tsd-index-accordion" open><summary class="tsd-accordion-summary">
|
||||
<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Modules</h3></summary>
|
||||
<div class="tsd-accordion-details">
|
||||
<ul>
|
||||
<li><a href="../index.html">@vladmandic/face-<wbr/>api -<wbr/> v1.7.12</a>
|
||||
<ul>
|
||||
<li class="tsd-kind-namespace"><a href="../modules/draw.html">draw</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="../modules/utils.html">utils</a></li></ul></li></ul></div></details></nav>
|
||||
<nav class="tsd-navigation secondary menu-sticky">
|
||||
<ul>
|
||||
<li class="current tsd-kind-enum"><a href="Gender.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-enum)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-8-path"></rect><path d="M9.45 16V7.24H14.49V8.224H10.518V10.936H14.07V11.908H10.518V15.016H14.49V16H9.45Z" fill="var(--color-text)" id="icon-8-text"></path></svg><span>Gender</span></a>
|
||||
<ul>
|
||||
<li class="tsd-kind-enum-member tsd-parent-kind-enum"><a href="Gender.html#FEMALE" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>FEMALE</a></li>
|
||||
<li class="tsd-kind-enum-member tsd-parent-kind-enum"><a href="Gender.html#MALE" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>MALE</a></li></ul></li></ul></nav></div></div>
|
||||
<div class="overlay"></div><script src="../assets/main.js"></script></body></html>
|
||||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Gender | @vladmandic/face-api - v1.7.15</title><meta name="description" content="Documentation for @vladmandic/face-api"/><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 defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></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/face-api - v1.7.15</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../index.html">@vladmandic/face-api</a></li><li><a href="Gender.html">Gender</a></li></ul><h1>Enumeration Gender</h1></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/face-api/blob/master/src/ageGenderNet/types.ts#L6">src/ageGenderNet/types.ts:6</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Enumeration Members</h3><div class="tsd-index-list"><a href="Gender.html#female" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-16"></use></svg><span>FEMALE</span></a>
|
||||
<a href="Gender.html#male" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-16"></use></svg><span>MALE</span></a>
|
||||
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Enumeration Members"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Enumeration Members</h2></summary><section><section class="tsd-panel tsd-member"><a id="female" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>FEMALE</span><a href="#female" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-enum-member">FEMALE</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"female"</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/face-api/blob/master/src/ageGenderNet/types.ts#L8">src/ageGenderNet/types.ts:8</a></li></ul></aside></section><section class="tsd-panel tsd-member"><a id="male" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>MALE</span><a href="#male" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-enum-member">MALE</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"male"</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/face-api/blob/master/src/ageGenderNet/types.ts#L10">src/ageGenderNet/types.ts:10</a></li></ul></aside></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Enumeration Members"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Enumeration Members</summary><div><a href="#female" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-16"></use></svg><span>FEMALE</span></a><a href="#male" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-16"></use></svg><span>MALE</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">@vladmandic/face-api - v1.7.15</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,210 +1,6 @@
|
|||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>computeFaceDescriptor | @vladmandic/face-api - v1.7.12</title><meta name="description" content="Documentation for @vladmandic/face-api - v1.7.12"/><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.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar">
|
||||
<div class="tsd-toolbar-contents container">
|
||||
<div class="table-cell" id="tsd-search" data-base="..">
|
||||
<div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div>
|
||||
<div class="field">
|
||||
<div id="tsd-toolbar-links"></div></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/face-api - v1.7.12</a></div>
|
||||
<div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></svg></a></div></div></header>
|
||||
<div class="container container-main">
|
||||
<div class="col-8 col-content">
|
||||
<div class="tsd-page-title">
|
||||
<ul class="tsd-breadcrumb">
|
||||
<li><a href="../index.html">@vladmandic/face-api - v1.7.12</a></li>
|
||||
<li><a href="computeFaceDescriptor.html">computeFaceDescriptor</a></li></ul>
|
||||
<h1>Function computeFaceDescriptor</h1></div>
|
||||
<section class="tsd-panel">
|
||||
<ul class="tsd-signatures tsd-kind-function">
|
||||
<li class="tsd-signature tsd-anchor-link" id="computeFaceDescriptor">compute<wbr/>Face<wbr/>Descriptor<span class="tsd-signature-symbol">(</span>input<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">></span><a href="#computeFaceDescriptor" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="icon-anchor-a"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" id="icon-anchor-b"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" id="icon-anchor-c"></path></svg></a></li>
|
||||
<li class="tsd-description">
|
||||
<div class="tsd-comment tsd-typography"><p>Computes a 128 entry vector (face descriptor / face embeddings) from the face shown in an image,
|
||||
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>computeFaceDescriptor | @vladmandic/face-api - v1.7.15</title><meta name="description" content="Documentation for @vladmandic/face-api"/><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 defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></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/face-api - v1.7.15</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../index.html">@vladmandic/face-api</a></li><li><a href="computeFaceDescriptor.html">computeFaceDescriptor</a></li></ul><h1>Function computeFaceDescriptor</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>Computes a 128 entry vector (face descriptor / face embeddings) from the face shown in an image,
|
||||
which uniquely represents the features of that persons face. The computed face descriptor can
|
||||
be used to measure the similarity between faces, by computing the euclidean distance of two
|
||||
face descriptors.</p>
|
||||
|
||||
<h3>Returns</h3><p>Face descriptor with 128 entries or array thereof in case of batch input.</p>
|
||||
</div>
|
||||
<div class="tsd-parameters">
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameter-list">
|
||||
<li>
|
||||
<h5>input: <span class="tsd-signature-type">any</span></h5></li></ul></div>
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/master/src/globalApi/nets.ts#L85">globalApi/nets.ts:85</a></li></ul></aside></li></ul></section></div>
|
||||
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
|
||||
<div class="tsd-navigation settings">
|
||||
<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
|
||||
<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Settings</h3></summary>
|
||||
<div class="tsd-accordion-details">
|
||||
<div class="tsd-filter-visibility">
|
||||
<h4 class="uppercase">Member Visibility</h4><form>
|
||||
<ul id="tsd-filter-options">
|
||||
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></form></div>
|
||||
<div class="tsd-theme-toggle">
|
||||
<h4 class="uppercase">Theme</h4><select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
|
||||
<nav class="tsd-navigation primary">
|
||||
<details class="tsd-index-accordion" open><summary class="tsd-accordion-summary">
|
||||
<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Modules</h3></summary>
|
||||
<div class="tsd-accordion-details">
|
||||
<ul>
|
||||
<li><a href="../index.html">@vladmandic/face-<wbr/>api -<wbr/> v1.7.12</a>
|
||||
<ul>
|
||||
<li class="tsd-kind-namespace"><a href="../modules/draw.html">draw</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="../modules/utils.html">utils</a></li></ul></li></ul></div></details></nav>
|
||||
<nav class="tsd-navigation secondary menu-sticky">
|
||||
<ul>
|
||||
<li class="tsd-kind-enum"><a href="../enums/Gender.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-enum)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-8-path"></rect><path d="M9.45 16V7.24H14.49V8.224H10.518V10.936H14.07V11.908H10.518V15.016H14.49V16H9.45Z" fill="var(--color-text)" id="icon-8-text"></path></svg>Gender</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/AgeGenderNet.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-128-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-128-text"></path></svg>Age<wbr/>Gender<wbr/>Net</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/BoundingBox.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Bounding<wbr/>Box</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/Box.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Box</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/ComposableTask.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Composable<wbr/>Task</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/ComputeAllFaceDescriptorsTask.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Compute<wbr/>All<wbr/>Face<wbr/>Descriptors<wbr/>Task</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/ComputeFaceDescriptorsTaskBase.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Compute<wbr/>Face<wbr/>Descriptors<wbr/>Task<wbr/>Base</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/ComputeSingleFaceDescriptorTask.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Compute<wbr/>Single<wbr/>Face<wbr/>Descriptor<wbr/>Task</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/DetectAllFaceLandmarksTask.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Detect<wbr/>All<wbr/>Face<wbr/>Landmarks<wbr/>Task</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/DetectAllFacesTask.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Detect<wbr/>All<wbr/>Faces<wbr/>Task</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/DetectFaceLandmarksTaskBase.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Detect<wbr/>Face<wbr/>Landmarks<wbr/>Task<wbr/>Base</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/DetectFacesTaskBase.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Detect<wbr/>Faces<wbr/>Task<wbr/>Base</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/DetectSingleFaceLandmarksTask.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Detect<wbr/>Single<wbr/>Face<wbr/>Landmarks<wbr/>Task</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/DetectSingleFaceTask.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Detect<wbr/>Single<wbr/>Face<wbr/>Task</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/Dimensions.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Dimensions</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/FaceDetection.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Face<wbr/>Detection</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/FaceDetectionNet.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Face<wbr/>Detection<wbr/>Net</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/FaceExpressionNet.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Face<wbr/>Expression<wbr/>Net</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/FaceExpressions.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Face<wbr/>Expressions</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/FaceLandmark68Net.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Face<wbr/>Landmark68<wbr/>Net</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/FaceLandmark68TinyNet.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Face<wbr/>Landmark68<wbr/>Tiny<wbr/>Net</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/FaceLandmarkNet.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Face<wbr/>Landmark<wbr/>Net</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/FaceLandmarks.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Face<wbr/>Landmarks</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/FaceLandmarks5.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Face<wbr/>Landmarks5</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/FaceLandmarks68.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Face<wbr/>Landmarks68</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/FaceMatch.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Face<wbr/>Match</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/FaceMatcher.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Face<wbr/>Matcher</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/FaceRecognitionNet.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Face<wbr/>Recognition<wbr/>Net</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/LabeledBox.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Labeled<wbr/>Box</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/LabeledFaceDescriptors.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Labeled<wbr/>Face<wbr/>Descriptors</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/NetInput.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Net<wbr/>Input</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/NeuralNetwork.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Neural<wbr/>Network</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/ObjectDetection.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Object<wbr/>Detection</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/Point.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Point</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/PredictedBox.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Predicted<wbr/>Box</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/Rect.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Rect</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/SsdMobilenetv1.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Ssd<wbr/>Mobilenetv1</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/SsdMobilenetv1Options.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Ssd<wbr/>Mobilenetv1<wbr/>Options</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/TinyFaceDetector.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Tiny<wbr/>Face<wbr/>Detector</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/TinyFaceDetectorOptions.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Tiny<wbr/>Face<wbr/>Detector<wbr/>Options</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/TinyYolov2.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Tiny<wbr/>Yolov2</a></li>
|
||||
<li class="tsd-kind-class"><a href="../classes/TinyYolov2Options.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg>Tiny<wbr/>Yolov2<wbr/>Options</a></li>
|
||||
<li class="tsd-kind-interface"><a href="../interfaces/IBoundingBox.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-256-path"></rect><path d="M9.51 16V15.016H11.298V8.224H9.51V7.24H14.19V8.224H12.402V15.016H14.19V16H9.51Z" fill="var(--color-text)" id="icon-256-text"></path></svg>IBounding<wbr/>Box</a></li>
|
||||
<li class="tsd-kind-interface"><a href="../interfaces/IDimensions.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg>IDimensions</a></li>
|
||||
<li class="tsd-kind-interface"><a href="../interfaces/IFaceDetecion.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg>IFace<wbr/>Detecion</a></li>
|
||||
<li class="tsd-kind-interface"><a href="../interfaces/IFaceLandmarks.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg>IFace<wbr/>Landmarks</a></li>
|
||||
<li class="tsd-kind-interface"><a href="../interfaces/IFaceMatch.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg>IFace<wbr/>Match</a></li>
|
||||
<li class="tsd-kind-interface"><a href="../interfaces/IPoint.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg>IPoint</a></li>
|
||||
<li class="tsd-kind-interface"><a href="../interfaces/IRect.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg>IRect</a></li>
|
||||
<li class="tsd-kind-interface"><a href="../interfaces/ISsdMobilenetv1Options.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg>ISsd<wbr/>Mobilenetv1<wbr/>Options</a></li>
|
||||
<li class="tsd-kind-interface"><a href="../interfaces/ITinyYolov2Options.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg>ITiny<wbr/>Yolov2<wbr/>Options</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/AgeAndGenderPrediction.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-4194304-path"></rect><path d="M11.31 16V8.224H8.91V7.24H14.79V8.224H12.39V16H11.31Z" fill="var(--color-text)" id="icon-4194304-text"></path></svg>Age<wbr/>And<wbr/>Gender<wbr/>Prediction</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/BatchNorm.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>Batch<wbr/>Norm</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/ConvWithBatchNorm.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>Conv<wbr/>With<wbr/>Batch<wbr/>Norm</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/DefaultTinyYolov2NetParams.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>Default<wbr/>Tiny<wbr/>Yolov2<wbr/>Net<wbr/>Params</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/Environment.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>Environment</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/FaceDetectionFunction.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>Face<wbr/>Detection<wbr/>Function</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/FaceDetectionOptions.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>Face<wbr/>Detection<wbr/>Options</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/FileSystem.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>File<wbr/>System</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/ITinyFaceDetectorOptions.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>ITiny<wbr/>Face<wbr/>Detector<wbr/>Options</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/MobilenetParams.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>Mobilenet<wbr/>Params</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/NetOutput.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>Net<wbr/>Output</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/NetParams.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>Net<wbr/>Params</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/TMediaElement.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>TMedia<wbr/>Element</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/TNetInput.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>TNet<wbr/>Input</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/TResolvedNetInput.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>TResolved<wbr/>Net<wbr/>Input</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/TinyYolov2Config.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>Tiny<wbr/>Yolov2<wbr/>Config</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/TinyYolov2NetParams.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>Tiny<wbr/>Yolov2<wbr/>Net<wbr/>Params</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/WithAge.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>With<wbr/>Age</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/WithFaceDescriptor.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>With<wbr/>Face<wbr/>Descriptor</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/WithFaceDetection.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>With<wbr/>Face<wbr/>Detection</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/WithFaceExpressions.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>With<wbr/>Face<wbr/>Expressions</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/WithFaceLandmarks.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>With<wbr/>Face<wbr/>Landmarks</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="../types/WithGender.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg>With<wbr/>Gender</a></li>
|
||||
<li class="tsd-kind-property"><a href="../index.html#tf" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-1024-path"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)" id="icon-1024-text"></path></svg>tf</a></li>
|
||||
<li class="tsd-kind-variable"><a href="../variables/FACE_EXPRESSION_LABELS.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-variable)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-32-path"></rect><path d="M11.106 16L8.85 7.24H9.966L11.454 13.192C11.558 13.608 11.646 13.996 11.718 14.356C11.79 14.708 11.842 14.976 11.874 15.16C11.906 14.976 11.954 14.708 12.018 14.356C12.09 13.996 12.178 13.608 12.282 13.192L13.758 7.24H14.85L12.582 16H11.106Z" fill="var(--color-text)" id="icon-32-text"></path></svg>FACE_<wbr/>EXPRESSION_<wbr/>LABELS</a></li>
|
||||
<li class="tsd-kind-variable"><a href="../variables/env.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-32-path"></use><use href="#icon-32-text"></use></svg>env</a></li>
|
||||
<li class="tsd-kind-variable"><a href="../variables/nets.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-32-path"></use><use href="#icon-32-text"></use></svg>nets</a></li>
|
||||
<li class="tsd-kind-variable"><a href="../variables/version.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-32-path"></use><use href="#icon-32-text"></use></svg>version</a></li>
|
||||
<li class="tsd-kind-function"><a href="allFaces.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-64-path"></rect><path d="M9.39 16V7.24H14.55V8.224H10.446V11.128H14.238V12.112H10.47V16H9.39Z" fill="var(--color-text)" id="icon-64-text"></path></svg>all<wbr/>Faces</a></li>
|
||||
<li class="tsd-kind-function"><a href="allFacesSsdMobilenetv1.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>all<wbr/>Faces<wbr/>Ssd<wbr/>Mobilenetv1</a></li>
|
||||
<li class="tsd-kind-function"><a href="allFacesTinyYolov2.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>all<wbr/>Faces<wbr/>Tiny<wbr/>Yolov2</a></li>
|
||||
<li class="tsd-kind-function"><a href="awaitMediaLoaded.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>await<wbr/>Media<wbr/>Loaded</a></li>
|
||||
<li class="tsd-kind-function"><a href="bufferToImage.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>buffer<wbr/>To<wbr/>Image</a></li>
|
||||
<li class="current tsd-kind-function"><a href="computeFaceDescriptor.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>compute<wbr/>Face<wbr/>Descriptor</a></li>
|
||||
<li class="tsd-kind-function"><a href="createCanvas.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>create<wbr/>Canvas</a></li>
|
||||
<li class="tsd-kind-function"><a href="createCanvasFromMedia.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>create<wbr/>Canvas<wbr/>From<wbr/>Media</a></li>
|
||||
<li class="tsd-kind-function"><a href="createFaceDetectionNet.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>create<wbr/>Face<wbr/>Detection<wbr/>Net</a></li>
|
||||
<li class="tsd-kind-function"><a href="createFaceRecognitionNet.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>create<wbr/>Face<wbr/>Recognition<wbr/>Net</a></li>
|
||||
<li class="tsd-kind-function"><a href="createSsdMobilenetv1.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>create<wbr/>Ssd<wbr/>Mobilenetv1</a></li>
|
||||
<li class="tsd-kind-function"><a href="createTinyFaceDetector.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>create<wbr/>Tiny<wbr/>Face<wbr/>Detector</a></li>
|
||||
<li class="tsd-kind-function"><a href="createTinyYolov2.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>create<wbr/>Tiny<wbr/>Yolov2</a></li>
|
||||
<li class="tsd-kind-function"><a href="detectAllFaces.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>detect<wbr/>All<wbr/>Faces</a></li>
|
||||
<li class="tsd-kind-function"><a href="detectFaceLandmarks.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>detect<wbr/>Face<wbr/>Landmarks</a></li>
|
||||
<li class="tsd-kind-function"><a href="detectFaceLandmarksTiny.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>detect<wbr/>Face<wbr/>Landmarks<wbr/>Tiny</a></li>
|
||||
<li class="tsd-kind-function"><a href="detectLandmarks.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>detect<wbr/>Landmarks</a></li>
|
||||
<li class="tsd-kind-function"><a href="detectSingleFace.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>detect<wbr/>Single<wbr/>Face</a></li>
|
||||
<li class="tsd-kind-function"><a href="euclideanDistance.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>euclidean<wbr/>Distance</a></li>
|
||||
<li class="tsd-kind-function"><a href="extendWithAge.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>extend<wbr/>With<wbr/>Age</a></li>
|
||||
<li class="tsd-kind-function"><a href="extendWithFaceDescriptor.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>extend<wbr/>With<wbr/>Face<wbr/>Descriptor</a></li>
|
||||
<li class="tsd-kind-function"><a href="extendWithFaceDetection.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>extend<wbr/>With<wbr/>Face<wbr/>Detection</a></li>
|
||||
<li class="tsd-kind-function"><a href="extendWithFaceExpressions.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>extend<wbr/>With<wbr/>Face<wbr/>Expressions</a></li>
|
||||
<li class="tsd-kind-function"><a href="extendWithFaceLandmarks.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>extend<wbr/>With<wbr/>Face<wbr/>Landmarks</a></li>
|
||||
<li class="tsd-kind-function"><a href="extendWithGender.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>extend<wbr/>With<wbr/>Gender</a></li>
|
||||
<li class="tsd-kind-function"><a href="extractFaceTensors.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>extract<wbr/>Face<wbr/>Tensors</a></li>
|
||||
<li class="tsd-kind-function"><a href="extractFaces.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>extract<wbr/>Faces</a></li>
|
||||
<li class="tsd-kind-function"><a href="fetchImage.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>fetch<wbr/>Image</a></li>
|
||||
<li class="tsd-kind-function"><a href="fetchJson.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>fetch<wbr/>Json</a></li>
|
||||
<li class="tsd-kind-function"><a href="fetchNetWeights.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>fetch<wbr/>Net<wbr/>Weights</a></li>
|
||||
<li class="tsd-kind-function"><a href="fetchOrThrow.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>fetch<wbr/>Or<wbr/>Throw</a></li>
|
||||
<li class="tsd-kind-function"><a href="fetchVideo.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>fetch<wbr/>Video</a></li>
|
||||
<li class="tsd-kind-function"><a href="getContext2dOrThrow.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>get<wbr/>Context2d<wbr/>Or<wbr/>Throw</a></li>
|
||||
<li class="tsd-kind-function"><a href="getMediaDimensions.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>get<wbr/>Media<wbr/>Dimensions</a></li>
|
||||
<li class="tsd-kind-function"><a href="imageTensorToCanvas.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>image<wbr/>Tensor<wbr/>To<wbr/>Canvas</a></li>
|
||||
<li class="tsd-kind-function"><a href="imageToSquare.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>image<wbr/>To<wbr/>Square</a></li>
|
||||
<li class="tsd-kind-function"><a href="inverseSigmoid.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>inverse<wbr/>Sigmoid</a></li>
|
||||
<li class="tsd-kind-function"><a href="iou.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>iou</a></li>
|
||||
<li class="tsd-kind-function"><a href="isMediaElement.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>is<wbr/>Media<wbr/>Element</a></li>
|
||||
<li class="tsd-kind-function"><a href="isMediaLoaded.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>is<wbr/>Media<wbr/>Loaded</a></li>
|
||||
<li class="tsd-kind-function"><a href="isWithAge.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>is<wbr/>With<wbr/>Age</a></li>
|
||||
<li class="tsd-kind-function"><a href="isWithFaceDetection.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>is<wbr/>With<wbr/>Face<wbr/>Detection</a></li>
|
||||
<li class="tsd-kind-function"><a href="isWithFaceExpressions.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>is<wbr/>With<wbr/>Face<wbr/>Expressions</a></li>
|
||||
<li class="tsd-kind-function"><a href="isWithFaceLandmarks.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>is<wbr/>With<wbr/>Face<wbr/>Landmarks</a></li>
|
||||
<li class="tsd-kind-function"><a href="isWithGender.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>is<wbr/>With<wbr/>Gender</a></li>
|
||||
<li class="tsd-kind-function"><a href="loadAgeGenderModel.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>load<wbr/>Age<wbr/>Gender<wbr/>Model</a></li>
|
||||
<li class="tsd-kind-function"><a href="loadFaceDetectionModel.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>load<wbr/>Face<wbr/>Detection<wbr/>Model</a></li>
|
||||
<li class="tsd-kind-function"><a href="loadFaceExpressionModel.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>load<wbr/>Face<wbr/>Expression<wbr/>Model</a></li>
|
||||
<li class="tsd-kind-function"><a href="loadFaceLandmarkModel.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>load<wbr/>Face<wbr/>Landmark<wbr/>Model</a></li>
|
||||
<li class="tsd-kind-function"><a href="loadFaceLandmarkTinyModel.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>load<wbr/>Face<wbr/>Landmark<wbr/>Tiny<wbr/>Model</a></li>
|
||||
<li class="tsd-kind-function"><a href="loadFaceRecognitionModel.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>load<wbr/>Face<wbr/>Recognition<wbr/>Model</a></li>
|
||||
<li class="tsd-kind-function"><a href="loadSsdMobilenetv1Model.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>load<wbr/>Ssd<wbr/>Mobilenetv1<wbr/>Model</a></li>
|
||||
<li class="tsd-kind-function"><a href="loadTinyFaceDetectorModel.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>load<wbr/>Tiny<wbr/>Face<wbr/>Detector<wbr/>Model</a></li>
|
||||
<li class="tsd-kind-function"><a href="loadTinyYolov2Model.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>load<wbr/>Tiny<wbr/>Yolov2<wbr/>Model</a></li>
|
||||
<li class="tsd-kind-function"><a href="loadWeightMap.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>load<wbr/>Weight<wbr/>Map</a></li>
|
||||
<li class="tsd-kind-function"><a href="locateFaces.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>locate<wbr/>Faces</a></li>
|
||||
<li class="tsd-kind-function"><a href="matchDimensions.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>match<wbr/>Dimensions</a></li>
|
||||
<li class="tsd-kind-function"><a href="minBbox.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>min<wbr/>Bbox</a></li>
|
||||
<li class="tsd-kind-function"><a href="nonMaxSuppression.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>non<wbr/>Max<wbr/>Suppression</a></li>
|
||||
<li class="tsd-kind-function"><a href="normalize.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>normalize</a></li>
|
||||
<li class="tsd-kind-function"><a href="padToSquare.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>pad<wbr/>To<wbr/>Square</a></li>
|
||||
<li class="tsd-kind-function"><a href="predictAgeAndGender.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>predict<wbr/>Age<wbr/>And<wbr/>Gender</a></li>
|
||||
<li class="tsd-kind-function"><a href="recognizeFaceExpressions.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>recognize<wbr/>Face<wbr/>Expressions</a></li>
|
||||
<li class="tsd-kind-function"><a href="resizeResults.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>resize<wbr/>Results</a></li>
|
||||
<li class="tsd-kind-function"><a href="resolveInput.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>resolve<wbr/>Input</a></li>
|
||||
<li class="tsd-kind-function"><a href="shuffleArray.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>shuffle<wbr/>Array</a></li>
|
||||
<li class="tsd-kind-function"><a href="sigmoid.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>sigmoid</a></li>
|
||||
<li class="tsd-kind-function"><a href="ssdMobilenetv1-1.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>ssd<wbr/>Mobilenetv1</a></li>
|
||||
<li class="tsd-kind-function"><a href="tinyFaceDetector-1.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>tiny<wbr/>Face<wbr/>Detector</a></li>
|
||||
<li class="tsd-kind-function"><a href="tinyYolov2-1.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>tiny<wbr/>Yolov2</a></li>
|
||||
<li class="tsd-kind-function"><a href="toNetInput.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>to<wbr/>Net<wbr/>Input</a></li>
|
||||
<li class="tsd-kind-function"><a href="validateConfig.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>validate<wbr/>Config</a></li></ul></nav></div></div>
|
||||
<div class="overlay"></div><script src="../assets/main.js"></script></body></html>
|
||||
</div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel"><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="computefacedescriptor" class="tsd-anchor"></a><span class="tsd-kind-call-signature">computeFaceDescriptor</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">input</span><span class="tsd-signature-symbol">:</span> <a href="../types/TNetInput.html" class="tsd-signature-type tsd-kind-type-alias">TNetInput</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Float32Array</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">></span><a href="#computefacedescriptor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">input</span>: <a href="../types/TNetInput.html" class="tsd-signature-type tsd-kind-type-alias">TNetInput</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Float32Array</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">></span></h4><p>Face descriptor with 128 entries or array thereof in case of batch input.</p>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/face-api/blob/master/src/globalApi/nets.ts#L85">src/globalApi/nets.ts:85</a></li></ul></aside></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">@vladmandic/face-api - v1.7.15</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue