@alekssamos
Программист любитель

Какое рекомендованное количество кодировок лица можно сохранить в один файл в массив?

Есть библиотека face_recognition. При загрузки фотографий с лицами, она возвращает кодировку лица (128 цифр, массив, матрица) и затем по ним может эти лица узнавать.
Вопрос:
How do I save face encodings to a file?
Приведён такой код для сохранения в файл:
import face_recognition
import pickle

all_face_encodings = {}

img1 = face_recognition.load_image_file("obama.jpg")
all_face_encodings["obama"] = face_recognition.face_encodings(img1)[0]

img2 = face_recognition.load_image_file("biden.jpg")
all_face_encodings["biden"] = face_recognition.face_encodings(img2)[0]

# ... etc ...

with open('dataset_faces.dat', 'wb') as f:
    pickle.dump(all_face_encodings, f)

И такой, для загрузки из файла и для дальнейшего использования:
import face_recognition
import pickle
import numpy as np

# Load face encodings
with open('dataset_faces.dat', 'rb') as f:
	all_face_encodings = pickle.load(f)

# Grab the list of names and the list of encodings
face_names = list(all_face_encodings.keys())
face_encodings = np.array(list(all_face_encodings.values()))

# Try comparing an unknown image
unknown_image = face_recognition.load_image_file("obama_small.jpg")
unknown_face = face_recognition.face_encodings(unknown_image)
result = face_recognition.compare_faces(face_encodings, unknown_face)

# Print the result as a list of names with True/False
names_with_result = list(zip(face_names, result))
print(names_with_result)


Если планируется добавлять очень много лиц, лучше разбить dataset на несколько файлов? Правильно ли я понимаю, что чем больше лиц, тем больше расход оперативной памяти? Какое макс. число в одном файле желательно хранить?
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
alternativshik
@alternativshik
А можно не заниматься ерундой, а положить все в нормальную базу данных
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы