Files
immich/server/src/domain/smart-info/machine-learning.interface.ts

28 lines
728 B
TypeScript
Raw Normal View History

export const IMachineLearningRepository = 'IMachineLearningRepository';
export interface MachineLearningInput {
imagePath: string;
}
2023-05-17 13:07:17 -04:00
export interface BoundingBox {
x1: number;
y1: number;
x2: number;
y2: number;
}
export interface DetectFaceResult {
imageWidth: number;
imageHeight: number;
boundingBox: BoundingBox;
score: number;
embedding: number[];
}
export interface IMachineLearningRepository {
classifyImage(url: string, input: MachineLearningInput): Promise<string[]>;
encodeImage(url: string, input: MachineLearningInput): Promise<number[]>;
encodeText(url: string, input: string): Promise<number[]>;
detectFaces(url: string, input: MachineLearningInput): Promise<DetectFaceResult[]>;
}