private async Task <IPersistedRecognition> PersistRecognition(IRecognition recognition, ILogger logger) { var tag = recognition.Tags.OrderByDescending(tag => tag.Confidence).FirstOrDefault(); var name = tag?.Name; var confidence = tag?.Confidence ?? 0f; var uri = await _persistenceProvider.Save(recognition); return(new PersistedRecognition(name, confidence, uri.ToString())); }
public async Task <(Guid, Uri)> Save(IRecognition recognition) { var id = Guid.NewGuid(); var fileName = "{id}.png"; using (var stream = new MemoryStream(recognition.Data)) { var face = await _facesClient.AddAsync(new Director.Client.FileParameter(stream, fileName), recognition.Meta.Location); var tag = recognition.Tags.OrderByDescending(tag => tag.Confidence).FirstOrDefault(); if (tag != null) { var persisted = await _facesClient.AddRecognitionAsync(face.Id, Director.Client.Recognisers.MLNET, tag.Name, tag.Confidence); } return(face.Id, new Uri(face.Uri)); } }
public Task HandleAsync(AuthorizationHandlerContext context) { string siteId = (context.Resource as HttpContext).Request.Query["siteId"]; foreach (var requirement in context.PendingRequirements) { IRecognition recognizer = null; double score = 1.0d; switch (requirement) { case FaceRecognitionRequirement r: recognizer = new FaceRecognition(); score = r.ConfidenceScore; break; case BodyRecognitionRequirement r: recognizer = new BodyRecognition(); score = r.ConfidenceScore; break; case FaceRecognitionRequirement r: recognizer = new VoiceRecognition(); score = r.ConfidenceScore; break; } if (recognizer != null && recognizer.Recognize(siteId, out string name) >= score) { context.User.AddIdentity(new ClaimsIdentity(new GenericIdentity(name))); context.Succeed(requirement); } else { context.Fail(); } } return(Task.CompletedTask); }
public SegmentationImages(IRecognition recognition, ISettingsRecognition settings) { _recognition = recognition; _settings = settings; }
private void ShowRecognition(IRecognition recognition) { _recognition = recognition; panelPhotoUpload.Visible = true; }
public Task <IPersistedRecognition> PersistRecognition(IRecognition recognition) { return(_persistRecognition(recognition)); }