Paso 6: Formar imágenes con la ayuda de funciones de biblioteca OpenCV
Desde el último paso, recibiremos un array de tres elementos, a saber, imágenes, etiquetas y personas.
Ahora, en este paso usaremos imágenes y etiquetas como parámetros para un modelo de faceRecognizer del tren. Básicamente, este modelo es una función de OpenCV y pedimos esta función para recordar y aprender a hacer una correlación entre las imágenes y las etiquetas. Así, después del entrenamiento, podemos pedir la función para predecir la etiqueta dando una imagen como entrada y se volverá un etiquetas predijo.
Esta parte del código tiene una entrada:
1. ruta de la ruta de carpeta de imágenes.
Y devuelve dos salidas:
1. eigen_model-el modelo entrenado después de analizar todas las imágenes se devuelve.
2. personas-una matriz que contiene los nombres de nuestros amigos. (los nombres de nuestros las subcarpetas)
Este fragmento de código es la parte crucial en nuestro código entero. Esta parte del código puede tomar un tiempo para completar si usted tiene un montón de imágenes para entrenar. Tengo un total de 200 imágenes y tardó casi 7 segundos en mi portátil Dell con Intel 3ª generación procesador i5 con 1.8GHz de velocidad corriendo Ubuntu.
Así, hemos completado la formación de un modelo con la ayuda de funciones de OpenCV y podemos proceder a los pasos.
Código
Nota:
Este código es una pequeña parte del código terminado y no funciona individualmente. Lo he utilizado aquí para explicar el código.
def train_model(path):<br> ''' Takes path to images and train a face recognition model Returns trained model and people ''' [images, labels, people]= get_images(sys.argv[1], (256, 256)) #print([images, labels]) labels= np.asarray(labels, dtype= np.int32) # initializing eigen_model and training print("Initializing eigen FaceRecognizer and training...") sttime= time.clock() eigen_model= cv2.createEigenFaceRecognizer() eigen_model.train(images, labels) print("\tSuccessfully completed training in "+ str(time.clock()- sttime)+ " Secs!") return [eigen_model, people]