mirror of
https://github.com/Shawn-Shan/fawkes.git
synced 2024-12-22 07:09:33 +05:30
remove azure
This commit is contained in:
parent
7715ea7233
commit
3b02dd9eb9
@ -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()
|
Loading…
Reference in New Issue
Block a user