From c8154784f133a121e753ae95aaf70de46c68e2b9 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Tue, 9 Apr 2024 16:37:54 +0530 Subject: [PATCH] [mob] Minor fixes --- .../face_ml/face_ml_service.dart | 2 +- .../face_ml/person/person_service.dart | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/mobile/lib/services/machine_learning/face_ml/face_ml_service.dart b/mobile/lib/services/machine_learning/face_ml/face_ml_service.dart index b50140f2de..53c4bac486 100644 --- a/mobile/lib/services/machine_learning/face_ml/face_ml_service.dart +++ b/mobile/lib/services/machine_learning/face_ml/face_ml_service.dart @@ -479,7 +479,7 @@ class FaceMlService { break; } } - if (!allLandmarksEqual) { + if (allLandmarksEqual) { debugPrint("Discarding remote embedding for fileID ${fileMl.fileID} " "because landmarks are not equal"); return true; diff --git a/mobile/lib/services/machine_learning/face_ml/person/person_service.dart b/mobile/lib/services/machine_learning/face_ml/person/person_service.dart index d909b2c5b0..4d78101f0f 100644 --- a/mobile/lib/services/machine_learning/face_ml/person/person_service.dart +++ b/mobile/lib/services/machine_learning/face_ml/person/person_service.dart @@ -1,5 +1,7 @@ import "dart:convert"; +import "package:flutter/foundation.dart"; +import "package:logging/logging.dart"; import "package:photos/core/event_bus.dart"; import "package:photos/events/people_changed_event.dart"; import "package:photos/face/db.dart"; @@ -22,6 +24,8 @@ class PersonService { return _instance!; } + late Logger logger = Logger("PersonService"); + static init( EntityService entityService, FaceMLDataDB faceMLDataDB, @@ -158,13 +162,26 @@ class PersonService { final Map clusterToPersonID = {}; for (var e in entities) { final personData = PersonData.fromJson(json.decode(e.data)); + int faceCount = 0; for (var cluster in personData.assigned!) { + faceCount += cluster.faces.length; for (var faceId in cluster.faces) { + if (faceIdToClusterID.containsKey(faceId)) { + throw Exception("Face $faceId is already assigned to a cluster"); + } faceIdToClusterID[faceId] = cluster.id; } clusterToPersonID[cluster.id] = e.id; } + if(kDebugMode) { + logger.info( + "Person ${e.id} ${personData.name} has ${personData.assigned! + .length} clusters with $faceCount faces", + ); + } } + + logger.info("Storing feedback for ${faceIdToClusterID.length} faces"); await faceMLDataDB.updateClusterIdToFaceId(faceIdToClusterID); await faceMLDataDB.bulkAssignClusterToPersonID(clusterToPersonID); }