From 3b02dd9eb9d970e59cf6d2eb1d23e771cfb71859 Mon Sep 17 00:00:00 2001 From: Shawn-Shan Date: Tue, 14 Jul 2020 17:57:29 -0500 Subject: [PATCH] remove azure --- evaluation/eval_azure.py | 114 --------------------------------------- 1 file changed, 114 deletions(-) delete mode 100644 evaluation/eval_azure.py diff --git a/evaluation/eval_azure.py b/evaluation/eval_azure.py deleted file mode 100644 index 77998aa..0000000 --- a/evaluation/eval_azure.py +++ /dev/null @@ -1,114 +0,0 @@ -import glob -import sys -import time - -import azure -from azure.cognitiveservices.vision.face import FaceClient -from azure.cognitiveservices.vision.face.models import TrainingStatusType -from msrest.authentication import CognitiveServicesCredentials - -test_dir = '/Users/sixiongshan/Desktop/kash_private/' -cloak_mode = "mid" - -f = open('api_key.txt', 'r') -data = f.read().split("\n") -KEY = data[0] -ENDPOINT = "https://shawn.cognitiveservices.azure.com/" - - -def main(): - face_client = FaceClient(ENDPOINT, CognitiveServicesCredentials(KEY)) - - PERSON_GROUP_ID = 'testing' - - try: - face_client.person_group.create(person_group_id=PERSON_GROUP_ID, name=PERSON_GROUP_ID) - except azure.cognitiveservices.vision.face.models._models_py3.APIErrorException: - pass - - # dummy = face_client.person_group_person.create(PERSON_GROUP_ID, "dummy") - # m = open("foo.png", 'r+b') - # face_client.person_group_person.add_face_from_stream(PERSON_GROUP_ID, dummy.person_id, m) - - test_person = face_client.person_group_person.create(PERSON_GROUP_ID, "test") - try: - test_images = [file for file in glob.glob(test_dir + '*')] - test_images = [i for i in test_images if "cloak" not in i] - l = len(test_images) - if l == 1: - raise Exception("Must have 2 images...") - print("{} test images".format(l)) - - training_images = test_images[:l // 2] - testing_images = test_images[l // 2:] - print(training_images, test_images) - - for image in training_images: - format = 'png' - name = ".".join(image.split(".")[:-1]) - image = name + "_{}_cloaked.".format(cloak_mode) + format - print(image) - m = open(image, 'r+b') - face_client.person_group_person.add_face_from_stream(PERSON_GROUP_ID, test_person.person_id, m) - - print('Training the person group...') - # Train the person group - face_client.person_group.train(PERSON_GROUP_ID) - - while (True): - training_status = face_client.person_group.get_training_status(PERSON_GROUP_ID) - print("Training status: {}.".format(training_status.status)) - print() - if (training_status.status is TrainingStatusType.succeeded): - break - elif (training_status.status is TrainingStatusType.failed): - sys.exit('Training the person group has failed.') - time.sleep(2) - - # Detect faces - face_ids = [] - for img in testing_images: - print(img) - img = open(img, 'r+b') - faces = face_client.face.detect_with_stream(img) - for face in faces: - face_ids.append(face.face_id) - - print("Detect {} Faces out of {} images".format(len(face_ids), len(testing_images))) - - results = face_client.face.identify(face_ids, PERSON_GROUP_ID) - - correct = 0 - for person in results: - if len(person.candidates) == 0: - continue - detected_person = person.candidates[0] - p_id = detected_person.person_id - conf = detected_person.confidence - if p_id == test_person.person_id: - correct += 1 - print("correctly matched with conf {}".format(conf)) - - print("Final match success rate: {}".format(float(correct / len(face_ids)))) - except Exception as e: - print(e) - - face_client.person_group_person.delete(PERSON_GROUP_ID, test_person.person_id) - - -# def add_other_people(): -# for idx_person in range(0, 5000): -# personId = create_personId(personGroupId, str(idx_person)) -# print("Created personId: {}".format(idx_person)) -# for idx_image in range(10): -# image_url = "http://sandlab.cs.uchicago.edu/fawkes/files/target_data/{}/{}.jpg".format( -# idx_person, idx_image) -# r = add_persistedFaceId(personGroupId, personId, image_url) -# if r is not None: -# print("Added {}".format(idx_image)) -# else: -# print("Unable to add {}-th image".format(idx_image)) - - -if __name__ == '__main__': - main()