From 752c7c72abad4d0cdd8dca7a8989a468644bdbce Mon Sep 17 00:00:00 2001 From: mahan Date: Mon, 3 Nov 2025 20:06:28 +0330 Subject: [PATCH] feat: add EmployeeFaceEmbedding model and related metadata classes --- .../EmployeeFaceEmbedding.cs | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 Company.Domain/EmployeeFaceEmbeddingAgg/EmployeeFaceEmbedding.cs diff --git a/Company.Domain/EmployeeFaceEmbeddingAgg/EmployeeFaceEmbedding.cs b/Company.Domain/EmployeeFaceEmbeddingAgg/EmployeeFaceEmbedding.cs new file mode 100644 index 00000000..83d3fdf7 --- /dev/null +++ b/Company.Domain/EmployeeFaceEmbeddingAgg/EmployeeFaceEmbedding.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; + +namespace Company.Domain.EmployeeFaceEmbeddingAgg; + +public class EmployeeFaceEmbedding +{ + public string Id { get; set; } + public string EmployeeFullName { get; set; } + public int EmployeeId { get; set; } + public int WorkshopId { get; set; } + public List Embeddings { get; set; } + public EmployeeFaceEmbeddingMetadata Metadata { get; set; } + public DateTime CreatedAt { get; set; } + public DateTime UpdatedAt { get; set; } +} + +public class EmployeeFaceEmbeddingMetadata +{ + public double AvgEyeDistanceNormalized { get; set; } + public double AvgEyeToFaceRatio { get; set; } + public double AvgFaceAspectRatio { get; set; } + public double AvgDetectionConfidence { get; set; } + public EmployeeFaceEmbeddingKeypoints AvgKeypointsNormalized { get; set; } + public List PerImageMetadata { get; set; } +} + +public class EmployeeFaceEmbeddingKeypoints +{ + public double[] LeftEye { get; set; } + public double[] RightEye { get; set; } + public double[] Nose { get; set; } + public double[] MouthLeft { get; set; } + public double[] MouthRight { get; set; } +} + +public class ImageMetadata +{ + public double FaceAspectRatio { get; set; } + public double EyeDistanceNormalized { get; set; } + public double EyeToFaceRatio { get; set; } + public EmployeeFaceEmbeddingKeypoints KeypointsNormalized { get; set; } + public double DetectionConfidence { get; set; } +} \ No newline at end of file