UNPKG

@vladmandic/face-api

Version:

FaceAPI: AI-powered Face Detection & Rotation Tracking, Face Description & Recognition, Age & Gender & Emotion Prediction for Browser and NodeJS using TensorFlow/JS

52 lines (42 loc) 1.4 kB
import * as tf from '../../dist/tfjs.esm'; import { NetInput, TNetInput } from '../index'; import { ConvParams, SeparableConvParams } from '../common/index'; import { NeuralNetwork } from '../NeuralNetwork'; export type BatchNormParams = { mean: tf.Tensor1D variance: tf.Tensor1D scale: tf.Tensor1D offset: tf.Tensor1D } export type ConvWithBatchNormParams = BatchNormParams & { filter: tf.Tensor4D } export type SeparableConvWithBatchNormParams = { depthwise: ConvWithBatchNormParams pointwise: ConvWithBatchNormParams } export type DenseBlock3Params = { conv0: SeparableConvParams | ConvParams conv1: SeparableConvParams conv2: SeparableConvParams } export type DenseBlock4Params = DenseBlock3Params & { conv3: SeparableConvParams } export type TinyFaceFeatureExtractorParams = { dense0: DenseBlock3Params dense1: DenseBlock3Params dense2: DenseBlock3Params } export type FaceFeatureExtractorParams = { dense0: DenseBlock4Params dense1: DenseBlock4Params dense2: DenseBlock4Params dense3: DenseBlock4Params } export interface IFaceFeatureExtractor<TNetParams extends TinyFaceFeatureExtractorParams | FaceFeatureExtractorParams> extends NeuralNetwork<TNetParams> { // eslint-disable-next-line no-unused-vars forwardInput(input: NetInput): tf.Tensor4D // eslint-disable-next-line no-unused-vars forward(input: TNetInput): Promise<tf.Tensor4D> }