Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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();
        }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
        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();
        }