• Reconocimiento facial desde consola con Python

    por  • 27 Abril, 2017 • El Blog de Rigo • 0 Comentarios

    Hoy mientras curioseaba por GitHub, me he encontrado una biblioteca de Python llamada face_recognition, que como su nombre indica nos permite hacer reconocimiento facial, en todo tipo de imágenes.

    Face_recognition hace uso del framework dlib y nos ofrece un grado de fiabilidad casi perfecta (99.38 %), según los test de LFW (Labeled Faces in the Wild).

    Al tratarse de un software multiplataforma, lo podemos ejecutar desde cualquier sistema Linux, OS X o Windows.

    Instalación

    Así que antes de ver como funciona, vamos a instalarlo con pip el gestor de paquetes de Python (disponible en los repositorios de todas las distribuciones GNU/Linux).

    sudo pip3 install face_recognition

    Es posible que salida del comando os de un error relativo a la compilación de dlib.

    Si es así, lo solucionamos instalando el conjunto de bibliotecas Boost de C++, desde el gestor de paquetes de nuestro distro.

    En mi caso (Arch Linux y derivadas):

    sudo pacman -S boost

    Para Ubuntu debería funcionar:

    sudo apt install libboost-all-dev
    Y repetimos otra vez el primer comando, para completar la instalación de face_recognition:

    sudo pip3 install face_recognition

    Usando el programa

    Ahora llega la parte más sencilla: la de su uso. Tan solo precisamos un par de carpetas y un puñado de imágenes.

    En la primera (etiquetados) vamos a depositar las imágenes etiquetadas –con el nombre del archivo– de personas que ya conocemos (Melania y Donald). Conviene por tanto que sean fotografías en las que aparezcan solos (si son de grupo, el programa elige a la persona que esté más en primer plano).

    Mientras que en la segunda (desconocidos) colocaremos las imágenes a “stalkear”, a ver si hay alguna posible coincidencia.

    A continuación ejecutamos este sencillo comando (la ruta a vuestras carpetas, lógicamente puede variar):

    [jose@replicante ~]$ face_recognition etiquetados desconocidos

    desconocidos/33593821791_ef57896b09_k.jpg,unknown_person
    desconocidos/33593821791_ef57896b09_k.jpg,Melania
    desconocidos/33593821791_ef57896b09_k.jpg,unknown_person
    desconocidos/33682207006_8d7ab91dce_k.jpg,unknown_person
    desconocidos/33682207006_8d7ab91dce_k.jpg,Melania
    desconocidos/33682207006_8d7ab91dce_k.jpg,unknown_person
    desconocidos/33320971404_a0cf1a7737_o.jpg,unknown_person
    desconocidos/33320971404_a0cf1a7737_o.jpg,unknown_person
    desconocidos/33320971404_a0cf1a7737_o.jpg,Donald
    desconocidos/33320971404_a0cf1a7737_o.jpg,unknown_person
    desconocidos/33320971404_a0cf1a7737_o.jpg,unknown_person
    desconocidos/33320971404_a0cf1a7737_o.jpg,unknown_person
    desconocidos/34005922972_e18a403c05_o.jpg,unknown_person
    desconocidos/34005922972_e18a403c05_o.jpg,Donald

    En unos segundos nos dice si hay alguien conocido en las fotos examinadas.

    Además este software ofrece otras posibilidades a partir de la obtención de la posición y contornos de ojos, nariz, boca y barbilla. Entre ellas la edición gráfica o el reconocimiento en tiempo real, combinando face_recognition con otras bibliotecas de Python.

    De todas esas características nos hablan en su página del GitHub. El mejor lugar para seguir de cerca el desarrollo de este interesante software de reconocimiento facial.

    Fuente

    Artículo original: Reconocimiento facial desde consola con Python

    Deja un comentario

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *