@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
text/typescript
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>
}