from bumpy import asarray
from PIL import Image
def extract_face_from_image(image, required_size=(64, 64)):
image = imgs[key]
image = (image * 255).round().astype(np.uint8)
detector = MTCNN()
faces = detector.detect_faces(image)
face_images = []
for face in faces:
# extract the bounding box from the requested face
x1, y1, width, height = face['box']
x2, y2 = x1 + width, y1 + height
# extract the face
face_boundary = image[y1:y2, x1:x2]
# resize pixels to the model size
face_image = Image.fromarray(face_boundary)
face_image = face_image.resize(required_size)
face_array = asarray(face_image)
face_images.append(face_array)
return face_images
extracted_faces=[extract_face_from_image(img) for img in x]
print(extracted_faces.shape)
Итак, я пытался применить распознавание лиц к массиву изображений с (2000,100,100)
, и каждый раз, когда я запускаю его, я сталкиваюсь с ошибкой нехватки памяти, используемая система имеет 64 ГБ оперативной памяти Nvidia tesla K80. Я попробовал: уменьшить размер изображения, нарезать список из 5 элементов.