retinaface-wasm
Version:
Running the Retinaface face recognition algorithm in browser or wechat mini program.
39 lines (38 loc) • 1.52 kB
TypeScript
export declare const isSimdSupported: () => boolean;
export declare const isBulkMemorySupported: () => boolean;
export declare const env: {
wasi_snapshot_preview1: {
proc_exit(): void;
fd_write(): number;
fd_close(): void;
fd_seek(): number;
};
};
export interface FaceObject {
rect: [number, number, number, number];
landmarks: [[number, number], [number, number], [number, number], [number, number], [number, number]];
score: number;
}
export declare const createCanvas: (width: number, height: number) => HTMLCanvasElement | OffscreenCanvas;
export declare const getWasmFile: (simd?: boolean, bulkMemory?: boolean) => string;
export default class RetinaFace {
private readonly wasm;
constructor(wasm: WebAssembly.Instance);
detect(imageData: ImageData, scale?: number, probThreshold?: number, nmsThreshold?: number): FaceObject[];
close(): void;
processImage(image: HTMLImageElement | HTMLCanvasElement, rect?: {
left?: number;
top?: number;
width?: number;
height?: number;
}, width?: number, height?: number): [ImageData, number];
}
export declare class NcnnModel {
private readonly wasm;
private readonly net;
private readonly extractNames;
private readonly extractMemory;
constructor(wasm: WebAssembly.Instance, params: string, bin: ArrayBuffer, extractNames: string[], extractMemory: number[]);
inference(imageData: ImageData, std?: number): Float32Array[];
close(): void;
}