From 1e03239da4f9e5a8fbcf1b189efcf1107ed15451 Mon Sep 17 00:00:00 2001 From: Patrick Hulce Date: Sat, 23 Jan 2021 12:44:14 -0600 Subject: [PATCH] fix: return empty descriptor for zero-sized faces --- src/faceRecognitionNet/FaceRecognitionNet.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/faceRecognitionNet/FaceRecognitionNet.ts b/src/faceRecognitionNet/FaceRecognitionNet.ts index 297c200..25c6f61 100644 --- a/src/faceRecognitionNet/FaceRecognitionNet.ts +++ b/src/faceRecognitionNet/FaceRecognitionNet.ts @@ -61,6 +61,10 @@ export class FaceRecognitionNet extends NeuralNetwork { } public async computeFaceDescriptor(input: TNetInput): Promise { + // When faces have a detected dimension of 0, tensorflow will crash the whole process. + // Sidestep this by returning an empty descriptor instead. + if (input.shape.some(dimension => dimension <= 0) return new Float32Array(128); + const netInput = await toNetInput(input); const faceDescriptorTensors = tf.tidy(