This commit is contained in:
Manav Rathi 2024-05-16 10:47:15 +05:30
parent 095e8c7091
commit 7d122f825c
No known key found for this signature in database
3 changed files with 7 additions and 9 deletions

View file

@ -2,7 +2,6 @@ import { Box, enlargeBox } from "services/ml/geom";
import {
FaceAlignment,
FaceCrop,
FaceCropConfig,
FaceCropMethod,
FaceCropService,
FaceDetection,
@ -24,10 +23,9 @@ class ArcFaceCropService implements FaceCropService {
public async getFaceCrop(
imageBitmap: ImageBitmap,
faceDetection: FaceDetection,
config: FaceCropConfig,
): Promise<FaceCrop> {
const alignedFace = getArcfaceAlignment(faceDetection);
const faceCrop = getFaceCrop(imageBitmap, alignedFace, config);
const faceCrop = getFaceCrop(imageBitmap, alignedFace);
return faceCrop;
}
@ -38,19 +36,21 @@ export default new ArcFaceCropService();
export function getFaceCrop(
imageBitmap: ImageBitmap,
alignment: FaceAlignment,
config: FaceCropConfig,
): FaceCrop {
const padding = 0.25;
const maxSize = 256;
const alignmentBox = new Box({
x: alignment.center.x - alignment.size / 2,
y: alignment.center.y - alignment.size / 2,
width: alignment.size,
height: alignment.size,
}).round();
const scaleForPadding = 1 + config.padding * 2;
const scaleForPadding = 1 + padding * 2;
const paddedBox = enlargeBox(alignmentBox, scaleForPadding).round();
const faceImageBitmap = cropWithRotation(imageBitmap, paddedBox, 0, {
width: config.maxSize,
height: config.maxSize,
width: maxSize,
height: maxSize,
});
return {

View file

@ -218,7 +218,6 @@ class FaceService {
const faceCrop = await syncContext.faceCropService.getFaceCrop(
imageBitmap,
face.detection,
DEFAULT_ML_SYNC_CONFIG.faceCrop,
);
const blobOptions = DEFAULT_ML_SYNC_CONFIG.faceCrop.blobOptions;

View file

@ -271,7 +271,6 @@ export interface FaceCropService {
getFaceCrop(
imageBitmap: ImageBitmap,
face: FaceDetection,
config: FaceCropConfig,
): Promise<FaceCrop>;
}