pull/46/head
Vladimir Mandic 2021-04-01 13:39:54 -04:00
parent dd024e0ebf
commit 62f123da0a
39 changed files with 245455 additions and 5113 deletions

View File

@ -1,6 +1,6 @@
# @vladmandic/face-api # @vladmandic/face-api
Version: **1.1.6** Version: **1.1.7**
Description: **FaceAPI: AI-powered Face Detection, Description & Recognition using Tensorflow/JS** Description: **FaceAPI: AI-powered Face Detection, Description & Recognition using Tensorflow/JS**
Author: **Vladimir Mandic <mandic00@live.com>** Author: **Vladimir Mandic <mandic00@live.com>**
@ -9,6 +9,10 @@ Repository: **<git+https://github.com/vladmandic/face-api.git>**
## Changelog ## Changelog
### **1.1.7** 2021/03/31 mandic00@live.com
- enable minify
### **1.1.6** 2021/03/26 mandic00@live.com ### **1.1.6** 2021/03/26 mandic00@live.com

View File

@ -26,6 +26,7 @@ async function image(img) {
} }
async function detect(tensor) { async function detect(tensor) {
try {
const result = await faceapi const result = await faceapi
.detectAllFaces(tensor, optionsSSDMobileNet) .detectAllFaces(tensor, optionsSSDMobileNet)
.withFaceLandmarks() .withFaceLandmarks()
@ -33,6 +34,25 @@ async function detect(tensor) {
.withFaceDescriptors() .withFaceDescriptors()
.withAgeAndGender(); .withAgeAndGender();
return result; return result;
} catch (err) {
log.error('Caught error', err.message);
return [];
}
}
// eslint-disable-next-line no-unused-vars
function detectPromise(tensor) {
return new Promise((resolve) => faceapi
.detectAllFaces(tensor, optionsSSDMobileNet)
.withFaceLandmarks()
.withFaceExpressions()
.withFaceDescriptors()
.withAgeAndGender()
.then((res) => resolve(res))
.catch((err) => {
log.error('Caught error', err.message);
resolve([]);
}));
} }
function print(face) { function print(face) {
@ -80,6 +100,7 @@ async function main() {
if (fs.existsSync(param)) { if (fs.existsSync(param)) {
const tensor = await image(param); const tensor = await image(param);
const result = await detect(tensor); const result = await detect(tensor);
// const result = await detectPromise(null);
log.data('Image:', param, 'Detected faces:', result.length); log.data('Image:', param, 'Detected faces:', result.length);
for (const face of result) print(face); for (const face of result) print(face);
tensor.dispose(); tensor.dispose();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

77944
dist/face-api.esm.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

77950
dist/face-api.js vendored

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

4662
dist/face-api.node.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

76072
dist/tfjs.esm.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -39,9 +39,9 @@ const tsconfig = {
// common configuration // common configuration
const common = { const common = {
banner, banner,
minifyWhitespace: true, minifyWhitespace: false,
minifyIdentifiers: true, minifyIdentifiers: false,
minifySyntax: true, minifySyntax: false,
bundle: true, bundle: true,
sourcemap: true, sourcemap: true,
metafile: true, metafile: true,

View File

@ -1,19 +1,12 @@
import { FaceExpressions } from '../faceExpressionNet/FaceExpressions'; import { FaceExpressions } from '../faceExpressionNet/FaceExpressions';
export type WithFaceExpressions<TSource> = TSource & { export type WithFaceExpressions<TSource> = TSource & { expressions: FaceExpressions }
expressions: FaceExpressions
}
export function isWithFaceExpressions(obj: any): obj is WithFaceExpressions<{}> { export function isWithFaceExpressions(obj: any): obj is WithFaceExpressions<{}> {
return obj.expressions instanceof FaceExpressions; return obj.expressions instanceof FaceExpressions;
} }
export function extendWithFaceExpressions< export function extendWithFaceExpressions<TSource>(sourceObj: TSource, expressions: FaceExpressions): WithFaceExpressions<TSource> {
TSource
>(
sourceObj: TSource,
expressions: FaceExpressions,
): WithFaceExpressions<TSource> {
const extension = { expressions }; const extension = { expressions };
return { ...sourceObj, ...extension }; return { ...sourceObj, ...extension };
} }

View File

@ -1,8 +1,6 @@
export class ComposableTask<T> { export class ComposableTask<T> {
public async then(
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
onfulfilled: (value: T) => T | PromiseLike<T>, public async then(onfulfilled: (value: T) => T | PromiseLike<T>): Promise<T> {
): Promise<T> {
return onfulfilled(await this.run()); return onfulfilled(await this.run());
} }

View File

@ -20,12 +20,9 @@ export class ComputeFaceDescriptorsTaskBase<TReturn, TParentReturn> extends Comp
} }
} }
export class ComputeAllFaceDescriptorsTask< export class ComputeAllFaceDescriptorsTask<TSource extends WithFaceLandmarks<WithFaceDetection<{}>>> extends ComputeFaceDescriptorsTaskBase<WithFaceDescriptor<TSource>[], TSource[]> {
TSource extends WithFaceLandmarks<WithFaceDetection<{}>>
> extends ComputeFaceDescriptorsTaskBase<WithFaceDescriptor<TSource>[], TSource[]> {
public async run(): Promise<WithFaceDescriptor<TSource>[]> { public async run(): Promise<WithFaceDescriptor<TSource>[]> {
const parentResults = await this.parentTask; const parentResults = await this.parentTask;
const descriptors = await extractAllFacesAndComputeResults<TSource, Float32Array[]>( const descriptors = await extractAllFacesAndComputeResults<TSource, Float32Array[]>(
parentResults, parentResults,
this.input, this.input,
@ -33,7 +30,6 @@ export class ComputeAllFaceDescriptorsTask<
null, null,
(parentResult) => parentResult.landmarks.align(null, { useDlibAlignment: true }), (parentResult) => parentResult.landmarks.align(null, { useDlibAlignment: true }),
); );
return descriptors.map((descriptor, i) => extendWithFaceDescriptor<TSource>(parentResults[i], descriptor)); return descriptors.map((descriptor, i) => extendWithFaceDescriptor<TSource>(parentResults[i], descriptor));
} }
@ -46,9 +42,7 @@ export class ComputeAllFaceDescriptorsTask<
} }
} }
export class ComputeSingleFaceDescriptorTask< export class ComputeSingleFaceDescriptorTask<TSource extends WithFaceLandmarks<WithFaceDetection<{}>>> extends ComputeFaceDescriptorsTaskBase<WithFaceDescriptor<TSource> | undefined, TSource | undefined> {
TSource extends WithFaceLandmarks<WithFaceDetection<{}>>
> extends ComputeFaceDescriptorsTaskBase<WithFaceDescriptor<TSource> | undefined, TSource | undefined> {
public async run(): Promise<WithFaceDescriptor<TSource> | undefined> { public async run(): Promise<WithFaceDescriptor<TSource> | undefined> {
const parentResult = await this.parentTask; const parentResult = await this.parentTask;
if (!parentResult) { if (!parentResult) {

View File

@ -32,23 +32,17 @@ export class DetectFaceLandmarksTaskBase<TReturn, TParentReturn> extends Composa
} }
} }
export class DetectAllFaceLandmarksTask< export class DetectAllFaceLandmarksTask<TSource extends WithFaceDetection<{}>> extends DetectFaceLandmarksTaskBase<WithFaceLandmarks<TSource>[], TSource[]> {
TSource extends WithFaceDetection<{}>
> extends DetectFaceLandmarksTaskBase<WithFaceLandmarks<TSource>[], TSource[]> {
public async run(): Promise<WithFaceLandmarks<TSource>[]> { public async run(): Promise<WithFaceLandmarks<TSource>[]> {
const parentResults = await this.parentTask; const parentResults = await this.parentTask;
const detections = parentResults.map((res) => res.detection); const detections = parentResults.map((res) => res.detection);
const faces: Array<HTMLCanvasElement | tf.Tensor3D> = this.input instanceof tf.Tensor const faces: Array<HTMLCanvasElement | tf.Tensor3D> = this.input instanceof tf.Tensor
? await extractFaceTensors(this.input, detections) ? await extractFaceTensors(this.input, detections)
: await extractFaces(this.input, detections); : await extractFaces(this.input, detections);
const faceLandmarksByFace = await Promise.all(
const faceLandmarksByFace = await Promise.all(faces.map( faces.map((face) => this.landmarkNet.detectLandmarks(face)),
(face) => this.landmarkNet.detectLandmarks(face), ) as FaceLandmarks68[];
)) as FaceLandmarks68[];
faces.forEach((f) => f instanceof tf.Tensor && f.dispose()); faces.forEach((f) => f instanceof tf.Tensor && f.dispose());
return parentResults.map((parentResult, i) => extendWithFaceLandmarks<TSource>(parentResult, faceLandmarksByFace[i])); return parentResults.map((parentResult, i) => extendWithFaceLandmarks<TSource>(parentResult, faceLandmarksByFace[i]));
} }
@ -71,16 +65,12 @@ export class DetectSingleFaceLandmarksTask<TSource extends WithFaceDetection<{}>
if (!parentResult) { if (!parentResult) {
return undefined; return undefined;
} }
const { detection } = parentResult; const { detection } = parentResult;
const faces: Array<HTMLCanvasElement | tf.Tensor3D> = this.input instanceof tf.Tensor const faces: Array<HTMLCanvasElement | tf.Tensor3D> = this.input instanceof tf.Tensor
? await extractFaceTensors(this.input, [detection]) ? await extractFaceTensors(this.input, [detection])
: await extractFaces(this.input, [detection]); : await extractFaces(this.input, [detection]);
const landmarks = await this.landmarkNet.detectLandmarks(faces[0]) as FaceLandmarks68; const landmarks = await this.landmarkNet.detectLandmarks(faces[0]) as FaceLandmarks68;
faces.forEach((f) => f instanceof tf.Tensor && f.dispose()); faces.forEach((f) => f instanceof tf.Tensor && f.dispose());
return extendWithFaceLandmarks<TSource>(parentResult, landmarks); return extendWithFaceLandmarks<TSource>(parentResult, landmarks);
} }

View File

@ -27,15 +27,14 @@ export class DetectAllFacesTask extends DetectFacesTaskBase<FaceDetection[]> {
else if (options instanceof SsdMobilenetv1Options) result = nets.ssdMobilenetv1.locateFaces(input, options); else if (options instanceof SsdMobilenetv1Options) result = nets.ssdMobilenetv1.locateFaces(input, options);
else if (options instanceof TinyYolov2Options) result = nets.tinyYolov2.locateFaces(input, options); else if (options instanceof TinyYolov2Options) result = nets.tinyYolov2.locateFaces(input, options);
else throw new Error('detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options'); else throw new Error('detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options');
return result; return result;
} }
private runAndExtendWithFaceDetections(): Promise<WithFaceDetection<{}>[]> { private runAndExtendWithFaceDetections(): Promise<WithFaceDetection<{}>[]> {
// eslint-disable-next-line no-async-promise-executor return new Promise<WithFaceDetection<{}>[]>((resolve, reject) => {
return new Promise<WithFaceDetection<{}>[]>(async (resolve) => { this.run()
const detections = await this.run(); .then((detections) => resolve(detections.map((detection) => extendWithFaceDetection({}, detection))))
resolve(detections.map((detection) => extendWithFaceDetection({}, detection))); .catch((err) => reject(err));
}); });
} }

View File

@ -26,21 +26,15 @@ export class PredictAgeAndGenderTaskBase<TReturn, TParentReturn> extends Composa
} }
} }
export class PredictAllAgeAndGenderTask< export class PredictAllAgeAndGenderTask<TSource extends WithFaceDetection<{}>> extends PredictAgeAndGenderTaskBase<WithAge<WithGender<TSource>>[], TSource[]> {
TSource extends WithFaceDetection<{}>
> extends PredictAgeAndGenderTaskBase<WithAge<WithGender<TSource>>[], TSource[]> {
public async run(): Promise<WithAge<WithGender<TSource>>[]> { public async run(): Promise<WithAge<WithGender<TSource>>[]> {
const parentResults = await this.parentTask; const parentResults = await this.parentTask;
const ageAndGenderByFace = await extractAllFacesAndComputeResults<TSource, AgeAndGenderPrediction[]>( const ageAndGenderByFace = await extractAllFacesAndComputeResults<TSource, AgeAndGenderPrediction[]>(
parentResults, parentResults,
this.input, this.input,
async (faces) => Promise.all(faces.map( async (faces) => Promise.all(faces.map((face) => nets.ageGenderNet.predictAgeAndGender(face) as Promise<AgeAndGenderPrediction>)),
(face) => nets.ageGenderNet.predictAgeAndGender(face) as Promise<AgeAndGenderPrediction>,
)),
this.extractedFaces, this.extractedFaces,
); );
return parentResults.map((parentResult, i) => { return parentResults.map((parentResult, i) => {
const { age, gender, genderProbability } = ageAndGenderByFace[i]; const { age, gender, genderProbability } = ageAndGenderByFace[i];
return extendWithAge(extendWithGender(parentResult, gender, genderProbability), age); return extendWithAge(extendWithGender(parentResult, gender, genderProbability), age);
@ -52,22 +46,16 @@ export class PredictAllAgeAndGenderTask<
} }
} }
export class PredictSingleAgeAndGenderTask< export class PredictSingleAgeAndGenderTask<TSource extends WithFaceDetection<{}>> extends PredictAgeAndGenderTaskBase<WithAge<WithGender<TSource>> | undefined, TSource | undefined> {
TSource extends WithFaceDetection<{}>
> extends PredictAgeAndGenderTaskBase<WithAge<WithGender<TSource>> | undefined, TSource | undefined> {
public async run(): Promise<WithAge<WithGender<TSource>> | undefined> { public async run(): Promise<WithAge<WithGender<TSource>> | undefined> {
const parentResult = await this.parentTask; const parentResult = await this.parentTask;
if (!parentResult) { if (!parentResult) return undefined;
return undefined;
}
const { age, gender, genderProbability } = await extractSingleFaceAndComputeResult<TSource, AgeAndGenderPrediction>( const { age, gender, genderProbability } = await extractSingleFaceAndComputeResult<TSource, AgeAndGenderPrediction>(
parentResult, parentResult,
this.input, this.input,
(face) => nets.ageGenderNet.predictAgeAndGender(face) as Promise<AgeAndGenderPrediction>, (face) => nets.ageGenderNet.predictAgeAndGender(face) as Promise<AgeAndGenderPrediction>,
this.extractedFaces, this.extractedFaces,
); );
return extendWithAge(extendWithGender(parentResult, gender, genderProbability), age); return extendWithAge(extendWithGender(parentResult, gender, genderProbability), age);
} }
@ -76,9 +64,7 @@ export class PredictSingleAgeAndGenderTask<
} }
} }
export class PredictAllAgeAndGenderWithFaceAlignmentTask< export class PredictAllAgeAndGenderWithFaceAlignmentTask<TSource extends WithFaceLandmarks<WithFaceDetection<{}>>> extends PredictAllAgeAndGenderTask<TSource> {
TSource extends WithFaceLandmarks<WithFaceDetection<{}>>
> extends PredictAllAgeAndGenderTask<TSource> {
withFaceExpressions() { withFaceExpressions() {
return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input); return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input);
} }
@ -88,9 +74,7 @@ export class PredictAllAgeAndGenderWithFaceAlignmentTask<
} }
} }
export class PredictSingleAgeAndGenderWithFaceAlignmentTask< export class PredictSingleAgeAndGenderWithFaceAlignmentTask<TSource extends WithFaceLandmarks<WithFaceDetection<{}>>> extends PredictSingleAgeAndGenderTask<TSource> {
TSource extends WithFaceLandmarks<WithFaceDetection<{}>>
> extends PredictSingleAgeAndGenderTask<TSource> {
withFaceExpressions() { withFaceExpressions() {
return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input); return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input);
} }

View File

@ -25,18 +25,16 @@ export class PredictFaceExpressionsTaskBase<TReturn, TParentReturn> extends Comp
} }
} }
export class PredictAllFaceExpressionsTask< export class PredictAllFaceExpressionsTask<TSource extends WithFaceDetection<{}>> extends PredictFaceExpressionsTaskBase<WithFaceExpressions<TSource>[], TSource[]> {
TSource extends WithFaceDetection<{}>
> extends PredictFaceExpressionsTaskBase<WithFaceExpressions<TSource>[], TSource[]> {
public async run(): Promise<WithFaceExpressions<TSource>[]> { public async run(): Promise<WithFaceExpressions<TSource>[]> {
const parentResults = await this.parentTask; const parentResults = await this.parentTask;
const faceExpressionsByFace = await extractAllFacesAndComputeResults<TSource, FaceExpressions[]>( const faceExpressionsByFace = await extractAllFacesAndComputeResults<TSource, FaceExpressions[]>(
parentResults, parentResults,
this.input, this.input,
async (faces) => Promise.all(faces.map( async (faces) => Promise.all(
(face) => nets.faceExpressionNet.predictExpressions(face) as Promise<FaceExpressions>, faces.map((face) => nets.faceExpressionNet.predictExpressions(face) as Promise<FaceExpressions>),
)), ),
this.extractedFaces, this.extractedFaces,
); );
@ -50,9 +48,7 @@ export class PredictAllFaceExpressionsTask<
} }
} }
export class PredictSingleFaceExpressionsTask< export class PredictSingleFaceExpressionsTask<TSource extends WithFaceDetection<{}>> extends PredictFaceExpressionsTaskBase<WithFaceExpressions<TSource> | undefined, TSource | undefined> {
TSource extends WithFaceDetection<{}>
> extends PredictFaceExpressionsTaskBase<WithFaceExpressions<TSource> | undefined, TSource | undefined> {
public async run(): Promise<WithFaceExpressions<TSource> | undefined> { public async run(): Promise<WithFaceExpressions<TSource> | undefined> {
const parentResult = await this.parentTask; const parentResult = await this.parentTask;
if (!parentResult) { if (!parentResult) {
@ -74,9 +70,7 @@ export class PredictSingleFaceExpressionsTask<
} }
} }
export class PredictAllFaceExpressionsWithFaceAlignmentTask< export class PredictAllFaceExpressionsWithFaceAlignmentTask<TSource extends WithFaceLandmarks<WithFaceDetection<{}>>> extends PredictAllFaceExpressionsTask<TSource> {
TSource extends WithFaceLandmarks<WithFaceDetection<{}>>
> extends PredictAllFaceExpressionsTask<TSource> {
withAgeAndGender() { withAgeAndGender() {
return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input); return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input);
} }
@ -86,9 +80,7 @@ export class PredictAllFaceExpressionsWithFaceAlignmentTask<
} }
} }
export class PredictSingleFaceExpressionsWithFaceAlignmentTask< export class PredictSingleFaceExpressionsWithFaceAlignmentTask<TSource extends WithFaceLandmarks<WithFaceDetection<{}>>> extends PredictSingleFaceExpressionsTask<TSource> {
TSource extends WithFaceLandmarks<WithFaceDetection<{}>>
> extends PredictSingleFaceExpressionsTask<TSource> {
withAgeAndGender() { withAgeAndGender() {
return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input); return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input);
} }

View File

@ -17,17 +17,13 @@ export async function extractAllFacesAndComputeResults<TSource extends WithFaceD
const faceBoxes = parentResults.map((parentResult) => (isWithFaceLandmarks(parentResult) const faceBoxes = parentResults.map((parentResult) => (isWithFaceLandmarks(parentResult)
? getRectForAlignment(parentResult) ? getRectForAlignment(parentResult)
: parentResult.detection)); : parentResult.detection));
const faces: Array<HTMLCanvasElement | tf.Tensor3D> = extractedFaces || ( const faces: Array<HTMLCanvasElement | tf.Tensor3D> = extractedFaces || (
input instanceof tf.Tensor input instanceof tf.Tensor
? await extractFaceTensors(input, faceBoxes) ? await extractFaceTensors(input, faceBoxes)
: await extractFaces(input, faceBoxes) : await extractFaces(input, faceBoxes)
); );
const results = await computeResults(faces); const results = await computeResults(faces);
faces.forEach((f) => f instanceof tf.Tensor && f.dispose()); faces.forEach((f) => f instanceof tf.Tensor && f.dispose());
return results; return results;
} }

View File

@ -20,17 +20,12 @@ export class SsdMobilenetv1 extends NeuralNetwork<NetParams> {
public forwardInput(input: NetInput) { public forwardInput(input: NetInput) {
const { params } = this; const { params } = this;
if (!params) throw new Error('SsdMobilenetv1 - load model before inference');
if (!params) {
throw new Error('SsdMobilenetv1 - load model before inference');
}
return tf.tidy(() => { return tf.tidy(() => {
const batchTensor = tf.cast(input.toBatchTensor(512, false), 'float32'); const batchTensor = tf.cast(input.toBatchTensor(512, false), 'float32');
const x = tf.sub(tf.div(batchTensor, 127.5), 1) as tf.Tensor4D; // input is normalized -1..1 const x = tf.sub(tf.div(batchTensor, 127.5), 1) as tf.Tensor4D; // input is normalized -1..1
const features = mobileNetV1(x, params.mobilenetv1); const features = mobileNetV1(x, params.mobilenetv1);
const { boxPredictions, classPredictions } = predictionLayer(features.out, features.conv11, params.prediction_layer); const { boxPredictions, classPredictions } = predictionLayer(features.out, features.conv11, params.prediction_layer);
return outputLayer(boxPredictions, classPredictions, params.output_layer); return outputLayer(boxPredictions, classPredictions, params.output_layer);
}); });
} }
@ -42,25 +37,20 @@ export class SsdMobilenetv1 extends NeuralNetwork<NetParams> {
public async locateFaces(input: TNetInput, options: ISsdMobilenetv1Options = {}): Promise<FaceDetection[]> { public async locateFaces(input: TNetInput, options: ISsdMobilenetv1Options = {}): Promise<FaceDetection[]> {
const { maxResults, minConfidence } = new SsdMobilenetv1Options(options); const { maxResults, minConfidence } = new SsdMobilenetv1Options(options);
const netInput = await toNetInput(input); const netInput = await toNetInput(input);
const { boxes: _boxes, scores: _scores } = this.forwardInput(netInput); const { boxes: _boxes, scores: _scores } = this.forwardInput(netInput);
const boxes = _boxes[0]; const boxes = _boxes[0];
const scores = _scores[0]; const scores = _scores[0];
for (let i = 1; i < _boxes.length; i++) { for (let i = 1; i < _boxes.length; i++) {
_boxes[i].dispose(); _boxes[i].dispose();
_scores[i].dispose(); _scores[i].dispose();
} }
const scoresData = Array.from(scores.dataSync()); const scoresData = Array.from(scores.dataSync());
const iouThreshold = 0.5; const iouThreshold = 0.5;
const indices = nonMaxSuppression(boxes, scoresData as number[], maxResults, iouThreshold, minConfidence); const indices = nonMaxSuppression(boxes, scoresData as number[], maxResults, iouThreshold, minConfidence);
const reshapedDims = netInput.getReshapedInputDimensions(0); const reshapedDims = netInput.getReshapedInputDimensions(0);
const inputSize = netInput.inputSize as number; const inputSize = netInput.inputSize as number;
const padX = inputSize / reshapedDims.width; const padX = inputSize / reshapedDims.width;
const padY = inputSize / reshapedDims.height; const padY = inputSize / reshapedDims.height;
const boxesData = boxes.arraySync(); const boxesData = boxes.arraySync();
const results = indices const results = indices
.map((idx) => { .map((idx) => {
@ -78,7 +68,6 @@ export class SsdMobilenetv1 extends NeuralNetwork<NetParams> {
{ height: netInput.getInputHeight(0), width: netInput.getInputWidth(0) }, { height: netInput.getInputHeight(0), width: netInput.getInputWidth(0) },
); );
}); });
boxes.dispose(); boxes.dispose();
scores.dispose(); scores.dispose();
return results; return results;

View File

@ -145,7 +145,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L9">globalApi/ComposableTask.ts:9</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L7">globalApi/ComposableTask.ts:7</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -162,7 +162,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L2">globalApi/ComposableTask.ts:2</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L3">globalApi/ComposableTask.ts:3</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>

View File

@ -155,7 +155,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Overrides <a href="computefacedescriptorstaskbase.html">ComputeFaceDescriptorsTaskBase</a>.<a href="computefacedescriptorstaskbase.html#run">run</a></p> <p>Overrides <a href="computefacedescriptorstaskbase.html">ComputeFaceDescriptorsTaskBase</a>.<a href="computefacedescriptorstaskbase.html#run">run</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComputeFaceDescriptorsTasks.ts#L26">globalApi/ComputeFaceDescriptorsTasks.ts:26</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComputeFaceDescriptorsTasks.ts#L24">globalApi/ComputeFaceDescriptorsTasks.ts:24</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacedescriptor" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceDescriptor</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacedescriptor" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceDescriptor</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -173,7 +173,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Inherited from <a href="computefacedescriptorstaskbase.html">ComputeFaceDescriptorsTaskBase</a>.<a href="computefacedescriptorstaskbase.html#then">then</a></p> <p>Inherited from <a href="computefacedescriptorstaskbase.html">ComputeFaceDescriptorsTaskBase</a>.<a href="computefacedescriptorstaskbase.html#then">then</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L2">globalApi/ComposableTask.ts:2</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L3">globalApi/ComposableTask.ts:3</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
@ -214,7 +214,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComputeFaceDescriptorsTasks.ts#L44">globalApi/ComputeFaceDescriptorsTasks.ts:44</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComputeFaceDescriptorsTasks.ts#L40">globalApi/ComputeFaceDescriptorsTasks.ts:40</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictAllAgeAndGenderWithFaceAlignmentTask</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacedescriptor" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceDescriptor</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictAllAgeAndGenderWithFaceAlignmentTask</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacedescriptor" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceDescriptor</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -231,7 +231,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComputeFaceDescriptorsTasks.ts#L40">globalApi/ComputeFaceDescriptorsTasks.ts:40</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComputeFaceDescriptorsTasks.ts#L36">globalApi/ComputeFaceDescriptorsTasks.ts:36</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictAllFaceExpressionsWithFaceAlignmentTask</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacedescriptor" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceDescriptor</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictAllFaceExpressionsWithFaceAlignmentTask</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacedescriptor" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceDescriptor</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4>

View File

@ -167,7 +167,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Inherited from <a href="composabletask.html">ComposableTask</a>.<a href="composabletask.html#run">run</a></p> <p>Inherited from <a href="composabletask.html">ComposableTask</a>.<a href="composabletask.html#run">run</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L9">globalApi/ComposableTask.ts:9</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L7">globalApi/ComposableTask.ts:7</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TReturn</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TReturn</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -185,7 +185,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Inherited from <a href="composabletask.html">ComposableTask</a>.<a href="composabletask.html#then">then</a></p> <p>Inherited from <a href="composabletask.html">ComposableTask</a>.<a href="composabletask.html#then">then</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L2">globalApi/ComposableTask.ts:2</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L3">globalApi/ComposableTask.ts:3</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>

View File

@ -155,7 +155,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Overrides <a href="computefacedescriptorstaskbase.html">ComputeFaceDescriptorsTaskBase</a>.<a href="computefacedescriptorstaskbase.html#run">run</a></p> <p>Overrides <a href="computefacedescriptorstaskbase.html">ComputeFaceDescriptorsTaskBase</a>.<a href="computefacedescriptorstaskbase.html#run">run</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComputeFaceDescriptorsTasks.ts#L52">globalApi/ComputeFaceDescriptorsTasks.ts:52</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComputeFaceDescriptorsTasks.ts#L46">globalApi/ComputeFaceDescriptorsTasks.ts:46</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><a href="../index.html#withfacedescriptor" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceDescriptor</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><a href="../index.html#withfacedescriptor" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceDescriptor</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -173,7 +173,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Inherited from <a href="computefacedescriptorstaskbase.html">ComputeFaceDescriptorsTaskBase</a>.<a href="computefacedescriptorstaskbase.html#then">then</a></p> <p>Inherited from <a href="computefacedescriptorstaskbase.html">ComputeFaceDescriptorsTaskBase</a>.<a href="computefacedescriptorstaskbase.html#then">then</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L2">globalApi/ComposableTask.ts:2</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L3">globalApi/ComposableTask.ts:3</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
@ -214,7 +214,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComputeFaceDescriptorsTasks.ts#L73">globalApi/ComputeFaceDescriptorsTasks.ts:73</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComputeFaceDescriptorsTasks.ts#L67">globalApi/ComputeFaceDescriptorsTasks.ts:67</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictSingleAgeAndGenderWithFaceAlignmentTask</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacedescriptor" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceDescriptor</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictSingleAgeAndGenderWithFaceAlignmentTask</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacedescriptor" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceDescriptor</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -231,7 +231,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComputeFaceDescriptorsTasks.ts#L69">globalApi/ComputeFaceDescriptorsTasks.ts:69</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComputeFaceDescriptorsTasks.ts#L63">globalApi/ComputeFaceDescriptorsTasks.ts:63</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictSingleFaceExpressionsWithFaceAlignmentTask</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacedescriptor" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceDescriptor</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictSingleFaceExpressionsWithFaceAlignmentTask</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacedescriptor" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceDescriptor</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4>

View File

@ -159,7 +159,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Overrides <a href="detectfacelandmarkstaskbase.html">DetectFaceLandmarksTaskBase</a>.<a href="detectfacelandmarkstaskbase.html#run">run</a></p> <p>Overrides <a href="detectfacelandmarkstaskbase.html">DetectFaceLandmarksTaskBase</a>.<a href="detectfacelandmarkstaskbase.html#run">run</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFaceLandmarksTasks.ts#L38">globalApi/DetectFaceLandmarksTasks.ts:38</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFaceLandmarksTasks.ts#L36">globalApi/DetectFaceLandmarksTasks.ts:36</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacelandmarks" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceLandmarks</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">, </span><a href="facelandmarks68.html" class="tsd-signature-type" data-tsd-kind="Class">FaceLandmarks68</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacelandmarks" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceLandmarks</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">, </span><a href="facelandmarks68.html" class="tsd-signature-type" data-tsd-kind="Class">FaceLandmarks68</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -177,7 +177,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Inherited from <a href="detectfacelandmarkstaskbase.html">DetectFaceLandmarksTaskBase</a>.<a href="detectfacelandmarkstaskbase.html#then">then</a></p> <p>Inherited from <a href="detectfacelandmarkstaskbase.html">DetectFaceLandmarksTaskBase</a>.<a href="detectfacelandmarkstaskbase.html#then">then</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L2">globalApi/ComposableTask.ts:2</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L3">globalApi/ComposableTask.ts:3</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
@ -218,7 +218,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFaceLandmarksTasks.ts#L59">globalApi/DetectFaceLandmarksTasks.ts:59</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFaceLandmarksTasks.ts#L53">globalApi/DetectFaceLandmarksTasks.ts:53</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictAllAgeAndGenderWithFaceAlignmentTask</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacelandmarks" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceLandmarks</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">, </span><a href="facelandmarks68.html" class="tsd-signature-type" data-tsd-kind="Class">FaceLandmarks68</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictAllAgeAndGenderWithFaceAlignmentTask</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacelandmarks" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceLandmarks</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">, </span><a href="facelandmarks68.html" class="tsd-signature-type" data-tsd-kind="Class">FaceLandmarks68</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -235,7 +235,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFaceLandmarksTasks.ts#L63">globalApi/DetectFaceLandmarksTasks.ts:63</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFaceLandmarksTasks.ts#L57">globalApi/DetectFaceLandmarksTasks.ts:57</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <a href="computeallfacedescriptorstask.html" class="tsd-signature-type" data-tsd-kind="Class">ComputeAllFaceDescriptorsTask</a><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacelandmarks" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceLandmarks</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">, </span><a href="facelandmarks68.html" class="tsd-signature-type" data-tsd-kind="Class">FaceLandmarks68</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <a href="computeallfacedescriptorstask.html" class="tsd-signature-type" data-tsd-kind="Class">ComputeAllFaceDescriptorsTask</a><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacelandmarks" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceLandmarks</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">, </span><a href="facelandmarks68.html" class="tsd-signature-type" data-tsd-kind="Class">FaceLandmarks68</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -252,7 +252,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFaceLandmarksTasks.ts#L55">globalApi/DetectFaceLandmarksTasks.ts:55</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFaceLandmarksTasks.ts#L49">globalApi/DetectFaceLandmarksTasks.ts:49</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictAllFaceExpressionsWithFaceAlignmentTask</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacelandmarks" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceLandmarks</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">, </span><a href="facelandmarks68.html" class="tsd-signature-type" data-tsd-kind="Class">FaceLandmarks68</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictAllFaceExpressionsWithFaceAlignmentTask</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacelandmarks" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceLandmarks</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">, </span><a href="facelandmarks68.html" class="tsd-signature-type" data-tsd-kind="Class">FaceLandmarks68</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4>

View File

@ -160,7 +160,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Inherited from <a href="detectfacestaskbase.html">DetectFacesTaskBase</a>.<a href="detectfacestaskbase.html#then">then</a></p> <p>Inherited from <a href="detectfacestaskbase.html">DetectFacesTaskBase</a>.<a href="detectfacestaskbase.html#then">then</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L2">globalApi/ComposableTask.ts:2</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L3">globalApi/ComposableTask.ts:3</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
@ -201,7 +201,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFacesTasks.ts#L57">globalApi/DetectFacesTasks.ts:57</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFacesTasks.ts#L56">globalApi/DetectFacesTasks.ts:56</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictAllAgeAndGenderTask</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>detection<span class="tsd-signature-symbol">: </span><a href="facedetection.html" class="tsd-signature-type" data-tsd-kind="Class">FaceDetection</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictAllAgeAndGenderTask</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>detection<span class="tsd-signature-symbol">: </span><a href="facedetection.html" class="tsd-signature-type" data-tsd-kind="Class">FaceDetection</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -218,7 +218,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFacesTasks.ts#L50">globalApi/DetectFacesTasks.ts:50</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFacesTasks.ts#L49">globalApi/DetectFacesTasks.ts:49</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictAllFaceExpressionsTask</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>detection<span class="tsd-signature-symbol">: </span><a href="facedetection.html" class="tsd-signature-type" data-tsd-kind="Class">FaceDetection</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictAllFaceExpressionsTask</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>detection<span class="tsd-signature-symbol">: </span><a href="facedetection.html" class="tsd-signature-type" data-tsd-kind="Class">FaceDetection</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -235,7 +235,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFacesTasks.ts#L42">globalApi/DetectFacesTasks.ts:42</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFacesTasks.ts#L41">globalApi/DetectFacesTasks.ts:41</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>

View File

@ -170,7 +170,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Inherited from <a href="composabletask.html">ComposableTask</a>.<a href="composabletask.html#run">run</a></p> <p>Inherited from <a href="composabletask.html">ComposableTask</a>.<a href="composabletask.html#run">run</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L9">globalApi/ComposableTask.ts:9</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L7">globalApi/ComposableTask.ts:7</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TReturn</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TReturn</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -188,7 +188,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Inherited from <a href="composabletask.html">ComposableTask</a>.<a href="composabletask.html#then">then</a></p> <p>Inherited from <a href="composabletask.html">ComposableTask</a>.<a href="composabletask.html#then">then</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L2">globalApi/ComposableTask.ts:2</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L3">globalApi/ComposableTask.ts:3</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>

View File

@ -161,7 +161,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Inherited from <a href="composabletask.html">ComposableTask</a>.<a href="composabletask.html#run">run</a></p> <p>Inherited from <a href="composabletask.html">ComposableTask</a>.<a href="composabletask.html#run">run</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L9">globalApi/ComposableTask.ts:9</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L7">globalApi/ComposableTask.ts:7</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TReturn</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TReturn</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -179,7 +179,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Inherited from <a href="composabletask.html">ComposableTask</a>.<a href="composabletask.html#then">then</a></p> <p>Inherited from <a href="composabletask.html">ComposableTask</a>.<a href="composabletask.html#then">then</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L2">globalApi/ComposableTask.ts:2</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L3">globalApi/ComposableTask.ts:3</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>

View File

@ -159,7 +159,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Overrides <a href="detectfacelandmarkstaskbase.html">DetectFaceLandmarksTaskBase</a>.<a href="detectfacelandmarkstaskbase.html#run">run</a></p> <p>Overrides <a href="detectfacelandmarkstaskbase.html">DetectFaceLandmarksTaskBase</a>.<a href="detectfacelandmarkstaskbase.html#run">run</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFaceLandmarksTasks.ts#L69">globalApi/DetectFaceLandmarksTasks.ts:69</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFaceLandmarksTasks.ts#L63">globalApi/DetectFaceLandmarksTasks.ts:63</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><a href="../index.html#withfacelandmarks" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceLandmarks</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">, </span><a href="facelandmarks68.html" class="tsd-signature-type" data-tsd-kind="Class">FaceLandmarks68</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><a href="../index.html#withfacelandmarks" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceLandmarks</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">, </span><a href="facelandmarks68.html" class="tsd-signature-type" data-tsd-kind="Class">FaceLandmarks68</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -177,7 +177,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Inherited from <a href="detectfacelandmarkstaskbase.html">DetectFaceLandmarksTaskBase</a>.<a href="detectfacelandmarkstaskbase.html#then">then</a></p> <p>Inherited from <a href="detectfacelandmarkstaskbase.html">DetectFaceLandmarksTaskBase</a>.<a href="detectfacelandmarkstaskbase.html#then">then</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L2">globalApi/ComposableTask.ts:2</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L3">globalApi/ComposableTask.ts:3</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
@ -218,7 +218,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFaceLandmarksTasks.ts#L91">globalApi/DetectFaceLandmarksTasks.ts:91</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFaceLandmarksTasks.ts#L81">globalApi/DetectFaceLandmarksTasks.ts:81</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictSingleAgeAndGenderWithFaceAlignmentTask</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacelandmarks" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceLandmarks</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">, </span><a href="facelandmarks68.html" class="tsd-signature-type" data-tsd-kind="Class">FaceLandmarks68</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictSingleAgeAndGenderWithFaceAlignmentTask</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacelandmarks" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceLandmarks</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">, </span><a href="facelandmarks68.html" class="tsd-signature-type" data-tsd-kind="Class">FaceLandmarks68</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -235,7 +235,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFaceLandmarksTasks.ts#L95">globalApi/DetectFaceLandmarksTasks.ts:95</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFaceLandmarksTasks.ts#L85">globalApi/DetectFaceLandmarksTasks.ts:85</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <a href="computesinglefacedescriptortask.html" class="tsd-signature-type" data-tsd-kind="Class">ComputeSingleFaceDescriptorTask</a><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacelandmarks" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceLandmarks</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">, </span><a href="facelandmarks68.html" class="tsd-signature-type" data-tsd-kind="Class">FaceLandmarks68</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <a href="computesinglefacedescriptortask.html" class="tsd-signature-type" data-tsd-kind="Class">ComputeSingleFaceDescriptorTask</a><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacelandmarks" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceLandmarks</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">, </span><a href="facelandmarks68.html" class="tsd-signature-type" data-tsd-kind="Class">FaceLandmarks68</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -252,7 +252,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFaceLandmarksTasks.ts#L87">globalApi/DetectFaceLandmarksTasks.ts:87</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFaceLandmarksTasks.ts#L77">globalApi/DetectFaceLandmarksTasks.ts:77</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictSingleFaceExpressionsWithFaceAlignmentTask</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacelandmarks" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceLandmarks</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">, </span><a href="facelandmarks68.html" class="tsd-signature-type" data-tsd-kind="Class">FaceLandmarks68</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictSingleFaceExpressionsWithFaceAlignmentTask</span><span class="tsd-signature-symbol">&lt;</span><a href="../index.html#withfacelandmarks" class="tsd-signature-type" data-tsd-kind="Type alias">WithFaceLandmarks</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TSource</span><span class="tsd-signature-symbol">, </span><a href="facelandmarks68.html" class="tsd-signature-type" data-tsd-kind="Class">FaceLandmarks68</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4>

View File

@ -142,7 +142,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Overrides <a href="detectfacestaskbase.html">DetectFacesTaskBase</a>.<a href="detectfacestaskbase.html#run">run</a></p> <p>Overrides <a href="detectfacestaskbase.html">DetectFacesTaskBase</a>.<a href="detectfacestaskbase.html#run">run</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFacesTasks.ts#L66">globalApi/DetectFacesTasks.ts:66</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFacesTasks.ts#L65">globalApi/DetectFacesTasks.ts:65</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><a href="facedetection.html" class="tsd-signature-type" data-tsd-kind="Class">FaceDetection</a><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><a href="facedetection.html" class="tsd-signature-type" data-tsd-kind="Class">FaceDetection</a><span class="tsd-signature-symbol">&gt;</span></h4>
@ -160,7 +160,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Inherited from <a href="detectfacestaskbase.html">DetectFacesTaskBase</a>.<a href="detectfacestaskbase.html#then">then</a></p> <p>Inherited from <a href="detectfacestaskbase.html">DetectFacesTaskBase</a>.<a href="detectfacestaskbase.html#then">then</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L2">globalApi/ComposableTask.ts:2</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/ComposableTask.ts#L3">globalApi/ComposableTask.ts:3</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
@ -201,7 +201,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFacesTasks.ts#L98">globalApi/DetectFacesTasks.ts:98</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFacesTasks.ts#L97">globalApi/DetectFacesTasks.ts:97</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictSingleAgeAndGenderTask</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>detection<span class="tsd-signature-symbol">: </span><a href="facedetection.html" class="tsd-signature-type" data-tsd-kind="Class">FaceDetection</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictSingleAgeAndGenderTask</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>detection<span class="tsd-signature-symbol">: </span><a href="facedetection.html" class="tsd-signature-type" data-tsd-kind="Class">FaceDetection</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -218,7 +218,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFacesTasks.ts#L91">globalApi/DetectFacesTasks.ts:91</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFacesTasks.ts#L90">globalApi/DetectFacesTasks.ts:90</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictSingleFaceExpressionsTask</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>detection<span class="tsd-signature-symbol">: </span><a href="facedetection.html" class="tsd-signature-type" data-tsd-kind="Class">FaceDetection</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PredictSingleFaceExpressionsTask</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>detection<span class="tsd-signature-symbol">: </span><a href="facedetection.html" class="tsd-signature-type" data-tsd-kind="Class">FaceDetection</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -235,7 +235,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFacesTasks.ts#L83">globalApi/DetectFacesTasks.ts:83</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/globalApi/DetectFacesTasks.ts#L82">globalApi/DetectFacesTasks.ts:82</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>

View File

@ -275,7 +275,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Inherited from <a href="ssdmobilenetv1.html">SsdMobilenetv1</a>.<a href="ssdmobilenetv1.html#forward">forward</a></p> <p>Inherited from <a href="ssdmobilenetv1.html">SsdMobilenetv1</a>.<a href="ssdmobilenetv1.html#forward">forward</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/ssdMobilenetv1/SsdMobilenetv1.ts#L38">ssdMobilenetv1/SsdMobilenetv1.ts:38</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/ssdMobilenetv1/SsdMobilenetv1.ts#L33">ssdMobilenetv1/SsdMobilenetv1.ts:33</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
@ -515,7 +515,7 @@
<aside class="tsd-sources"> <aside class="tsd-sources">
<p>Inherited from <a href="ssdmobilenetv1.html">SsdMobilenetv1</a>.<a href="ssdmobilenetv1.html#locatefaces">locateFaces</a></p> <p>Inherited from <a href="ssdmobilenetv1.html">SsdMobilenetv1</a>.<a href="ssdmobilenetv1.html#locatefaces">locateFaces</a></p>
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/ssdMobilenetv1/SsdMobilenetv1.ts#L42">ssdMobilenetv1/SsdMobilenetv1.ts:42</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/ssdMobilenetv1/SsdMobilenetv1.ts#L37">ssdMobilenetv1/SsdMobilenetv1.ts:37</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>

View File

@ -279,7 +279,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/ssdMobilenetv1/SsdMobilenetv1.ts#L38">ssdMobilenetv1/SsdMobilenetv1.ts:38</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/ssdMobilenetv1/SsdMobilenetv1.ts#L33">ssdMobilenetv1/SsdMobilenetv1.ts:33</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
@ -517,7 +517,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/ssdMobilenetv1/SsdMobilenetv1.ts#L42">ssdMobilenetv1/SsdMobilenetv1.ts:42</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/ssdMobilenetv1/SsdMobilenetv1.ts#L37">ssdMobilenetv1/SsdMobilenetv1.ts:37</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>

View File

@ -1561,7 +1561,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/factories/WithFaceExpressions.ts#L11">factories/WithFaceExpressions.ts:11</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/factories/WithFaceExpressions.ts#L9">factories/WithFaceExpressions.ts:9</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-type-parameters-title">Type parameters</h4> <h4 class="tsd-type-parameters-title">Type parameters</h4>
@ -2088,7 +2088,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/factories/WithFaceExpressions.ts#L7">factories/WithFaceExpressions.ts:7</a></li> <li>Defined in <a href="https://github.com/vladmandic/face-api/blob/main/src/factories/WithFaceExpressions.ts#L5">factories/WithFaceExpressions.ts:5</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>