From 2db6771de8fa1b7fccd218f23ade691e0f2f8e0f Mon Sep 17 00:00:00 2001 From: Haesu Gwon Date: Wed, 6 Dec 2023 15:34:18 +0900 Subject: [PATCH 1/2] [MediaVision] Change feature key of inference face recognition --- .../MediaVision/DeepLearningFaceRecognizer.cs | 22 +++++++++++++++++-- .../MediaVision/VisionFeatures.cs | 14 ++++++++---- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/src/Tizen.Multimedia.Vision/MediaVision/DeepLearningFaceRecognizer.cs b/src/Tizen.Multimedia.Vision/MediaVision/DeepLearningFaceRecognizer.cs index 2ee8b0e6a79..69b7034c16b 100755 --- a/src/Tizen.Multimedia.Vision/MediaVision/DeepLearningFaceRecognizer.cs +++ b/src/Tizen.Multimedia.Vision/MediaVision/DeepLearningFaceRecognizer.cs @@ -23,6 +23,8 @@ namespace Tizen.Multimedia.Vision /// /// Provides the ability to recognize face based on previously registered face data. /// + /// http://tizen.org/feature/vision.inference + /// http://tizen.org/feature/vision.training /// 10 public class DeepLearningFaceRecognizer : IDisposable { @@ -34,11 +36,11 @@ public class DeepLearningFaceRecognizer : IDisposable /// This class is different from in aspect of using internal machine learning algorithm. /// /// The required features are not supported. - /// http://tizen.org/feature/vision.face_recognition /// 10 public DeepLearningFaceRecognizer() { - ValidationUtil.ValidateFeatureSupported(VisionFeatures.FaceRecognition); + ValidationUtil.ValidateFeatureSupported(VisionFeatures.Inference); + ValidationUtil.ValidateFeatureSupported(VisionFeatures.Training); InteropFace.Create(out _handle).Validate("Failed to create face recognizer"); @@ -67,12 +69,18 @@ public DeepLearningFaceRecognizer() /// /// The face data to register. /// The name of face data. + /// The required features are not supported. /// The DeepLearningFaceRecognizer already has been disposed. /// or is null. /// In case of any invalid operations. + /// http://tizen.org/feature/vision.inference.face_recognition + /// http://tizen.org/feature/vision.training.face_recognition /// 10 public void RegisterFace(MediaVisionSource source, string label) { + ValidationUtil.ValidateFeatureSupported(VisionFeatures.InferenceFaceRecognition); + ValidationUtil.ValidateFeatureSupported(VisionFeatures.TrainingFaceRecognition); + ValidateNotDisposed(); if (source == null) @@ -91,12 +99,18 @@ public void RegisterFace(MediaVisionSource source, string label) /// Unregisters face data from internal database. /// /// The name of face data. + /// The required features are not supported. /// The DeepLearningFaceRecognizer already has been disposed. /// is null. /// In case of any invalid operations. + /// http://tizen.org/feature/vision.inference.face_recognition + /// http://tizen.org/feature/vision.training.face_recognition /// 10 public void UnregisterFace(string label) { + ValidationUtil.ValidateFeatureSupported(VisionFeatures.InferenceFaceRecognition); + ValidationUtil.ValidateFeatureSupported(VisionFeatures.TrainingFaceRecognition); + ValidateNotDisposed(); if (label == null) @@ -115,12 +129,16 @@ public void UnregisterFace(string label) /// /// The face data to recognize. /// A label of recognized face. + /// The required features are not supported. /// The DeepLearningFaceRecognizer already has been disposed. /// is null. /// In case of any invalid operations. + /// http://tizen.org/feature/vision.inference.face_recognition /// 10 public DeepLearningFaceRecognitionResult Recognize(MediaVisionSource source) { + ValidationUtil.ValidateFeatureSupported(VisionFeatures.InferenceFaceRecognition); + ValidateNotDisposed(); if (source == null) diff --git a/src/Tizen.Multimedia.Vision/MediaVision/VisionFeatures.cs b/src/Tizen.Multimedia.Vision/MediaVision/VisionFeatures.cs index 8780c7e48a3..da6bf66d64d 100755 --- a/src/Tizen.Multimedia.Vision/MediaVision/VisionFeatures.cs +++ b/src/Tizen.Multimedia.Vision/MediaVision/VisionFeatures.cs @@ -18,9 +18,15 @@ namespace Tizen.Multimedia { internal static class VisionFeatures { - internal const string RoiTracking = "http://tizen.org/feature/vision.roi_tracking"; - internal const string InferenceFace = "http://tizen.org/feature/vision.inference.face"; - internal const string InferenceImage = "http://tizen.org/feature/vision.inference.image"; - internal const string FaceRecognition = "http://tizen.org/feature/vision.face_recognition"; + internal const string RoiTracking = "http://tizen.org/feature/vision.roi_tracking"; + internal const string FaceRecognition = "http://tizen.org/feature/vision.face_recognition"; + + internal const string Inference = "http://tizen.org/feature/vision.inference"; + internal const string InferenceFace = "http://tizen.org/feature/vision.inference.face"; + internal const string InferenceFaceRecognition = "http://tizen.org/feature/vision.inference.face_recognition"; + internal const string InferenceImage = "http://tizen.org/feature/vision.inference.image"; + + internal const string Training = "http://tizen.org/feature/vision.training"; + internal const string TrainingFaceRecognition = "http://tizen.org/feature/vision.training.face_recognition"; } } From ec2f4b625596ad3f06db192661a8c0c7b1804d30 Mon Sep 17 00:00:00 2001 From: Haesu Gwon Date: Thu, 7 Dec 2023 10:36:34 +0900 Subject: [PATCH 2/2] [MediaVision] Check all features in constructor --- .../MediaVision/DeepLearningFaceRecognizer.cs | 20 ++++--------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/src/Tizen.Multimedia.Vision/MediaVision/DeepLearningFaceRecognizer.cs b/src/Tizen.Multimedia.Vision/MediaVision/DeepLearningFaceRecognizer.cs index 69b7034c16b..0cf02725a51 100755 --- a/src/Tizen.Multimedia.Vision/MediaVision/DeepLearningFaceRecognizer.cs +++ b/src/Tizen.Multimedia.Vision/MediaVision/DeepLearningFaceRecognizer.cs @@ -24,7 +24,9 @@ namespace Tizen.Multimedia.Vision /// Provides the ability to recognize face based on previously registered face data. /// /// http://tizen.org/feature/vision.inference + /// http://tizen.org/feature/vision.inference.face_recognition /// http://tizen.org/feature/vision.training + /// http://tizen.org/feature/vision.training.face_recognition /// 10 public class DeepLearningFaceRecognizer : IDisposable { @@ -41,6 +43,8 @@ public DeepLearningFaceRecognizer() { ValidationUtil.ValidateFeatureSupported(VisionFeatures.Inference); ValidationUtil.ValidateFeatureSupported(VisionFeatures.Training); + ValidationUtil.ValidateFeatureSupported(VisionFeatures.InferenceFaceRecognition); + ValidationUtil.ValidateFeatureSupported(VisionFeatures.TrainingFaceRecognition); InteropFace.Create(out _handle).Validate("Failed to create face recognizer"); @@ -69,18 +73,12 @@ public DeepLearningFaceRecognizer() /// /// The face data to register. /// The name of face data. - /// The required features are not supported. /// The DeepLearningFaceRecognizer already has been disposed. /// or is null. /// In case of any invalid operations. - /// http://tizen.org/feature/vision.inference.face_recognition - /// http://tizen.org/feature/vision.training.face_recognition /// 10 public void RegisterFace(MediaVisionSource source, string label) { - ValidationUtil.ValidateFeatureSupported(VisionFeatures.InferenceFaceRecognition); - ValidationUtil.ValidateFeatureSupported(VisionFeatures.TrainingFaceRecognition); - ValidateNotDisposed(); if (source == null) @@ -99,18 +97,12 @@ public void RegisterFace(MediaVisionSource source, string label) /// Unregisters face data from internal database. /// /// The name of face data. - /// The required features are not supported. /// The DeepLearningFaceRecognizer already has been disposed. /// is null. /// In case of any invalid operations. - /// http://tizen.org/feature/vision.inference.face_recognition - /// http://tizen.org/feature/vision.training.face_recognition /// 10 public void UnregisterFace(string label) { - ValidationUtil.ValidateFeatureSupported(VisionFeatures.InferenceFaceRecognition); - ValidationUtil.ValidateFeatureSupported(VisionFeatures.TrainingFaceRecognition); - ValidateNotDisposed(); if (label == null) @@ -129,16 +121,12 @@ public void UnregisterFace(string label) /// /// The face data to recognize. /// A label of recognized face. - /// The required features are not supported. /// The DeepLearningFaceRecognizer already has been disposed. /// is null. /// In case of any invalid operations. - /// http://tizen.org/feature/vision.inference.face_recognition /// 10 public DeepLearningFaceRecognitionResult Recognize(MediaVisionSource source) { - ValidationUtil.ValidateFeatureSupported(VisionFeatures.InferenceFaceRecognition); - ValidateNotDisposed(); if (source == null)