private static async Task ListFaceLists() { try { await FaceAPIHelpers.GetFaceLists(); } catch (Exception e) { Console.WriteLine($"\n{e.GetType().Name}: Could not list Large Face Lists."); throw (e); } AskUser(); }
private static async Task IngestionPipeline() { Console.WriteLine("\n Ingestion Pipeline"); Console.WriteLine("\n Enter new image url:"); string img = Console.ReadLine(); Console.WriteLine("\n Enter Large Face List ID:"); string faceListID = Console.ReadLine(); try { List <Face> detectedFaces = await FaceAPIHelpers.DetectFaces(img, true); foreach (Face f in detectedFaces) { try { PersistedFace persistedFace = await FaceAPIHelpers.AddFace(img, faceListID, f.faceRectangle); Console.WriteLine("\n Face " + persistedFace.persistedFaceId + " added."); } catch (Exception e) { Console.WriteLine($"\n{e.GetType().Name}: Could not add face to Large Face List."); throw (e); } } try { await FaceAPIHelpers.TrainFaceList(faceListID); } catch (Exception e) { Console.WriteLine($"\n{e.GetType().Name}: Could not train Large Face List."); throw (e); } } catch (Exception e) { Console.WriteLine($"\n{e.GetType().Name}: Could not detect faces."); throw (e); } AskUser(); }
private static async Task SearchSimilarPipeline() { Console.WriteLine("\nSearch Similar Pipeline"); float threshold = 80f; Console.WriteLine("\nEnter image url: "); string img = Console.ReadLine(); try { List <Face> detectedFaces = await FaceAPIHelpers.DetectFaces(img); foreach (Face f in detectedFaces) { try { List <PersistedFace> similarFaces = await FaceAPIHelpers.SimilarFaces(f, "testfacelistkatia", 5); Console.WriteLine("\n Face ID:" + f.faceId); foreach (PersistedFace simFace in similarFaces) { if (simFace.confidence > threshold) { Console.Write("\n Similar Face ID: " + simFace.persistedFaceId); Console.Write("\n Confidence: " + simFace.confidence + "\n"); } } } catch (Exception e) { Console.WriteLine($"\n{e.GetType().Name}: Could not find Similar Faces."); throw(e); } } } catch (Exception e) { Console.WriteLine($"\n{e.GetType().Name}: Could not detect faces."); throw (e); } AskUser(); }
private static async Task ListFaces() { Console.WriteLine("\n Enter ID of the Large Face List"); string faceListID = Console.ReadLine(); try { List <PersistedFace> persistedFaces = await FaceAPIHelpers.GetAllFaces(faceListID); foreach (PersistedFace f in persistedFaces) { Console.WriteLine("\n Face " + f.persistedFaceId + "\n User data: " + f.userData); } } catch (Exception e) { Console.WriteLine($"\n{e.GetType().Name}: Could not list faces in Large Face List."); throw (e); } AskUser(); }
private static async Task CreateFaceList() { Console.WriteLine("\n Create Large Face List Pipeline"); Console.WriteLine("\n Enter Large Face List name:"); string listName = Console.ReadLine(); if (listName == "") { listName = "name-facelist"; } Guid listID = Guid.NewGuid(); try { await FaceAPIHelpers.CreateFaceList(listID.ToString(), listName); Console.WriteLine($"\n Large Face list created."); } catch (Exception e) { Console.WriteLine($"\n{e.GetType().Name}: Could not create Large Face List."); throw (e); } try { await FaceAPIHelpers.GetFaceLists(); } catch (Exception e) { Console.WriteLine($"\n{e.GetType().Name}: Could not list Large Face Lists."); throw (e); } AskUser(); }