Comparación de rostros usando Face++ y Python

Prerrequisitos: lenguaje de programación Python

Python es un lenguaje de propósito general de alto nivel. Se utiliza para múltiples propósitos, como inteligencia artificial, desarrollo web, raspado web, etc. Uno de esos usos de Python puede ser la comparación de rostros. Se puede usar un nombre de módulo python-facepp para hacer lo mismo. Este módulo es para comunicarse con el servicio de reconocimiento facial Face++.

Módulos Requeridos

  • python-facepp: para instalar este módulo, escriba el siguiente comando en la terminal.
    pip install python-facepp
  • emoji: para instalar este módulo, escriba el siguiente comando en la terminal.
    pip install emoji

Detalles de la aplicación

Esta aplicación compara dos fotografías de la misma persona o dos personas diferentes con las características de su rostro, como puntos de referencia faciales, puntuación de belleza, emoción facial, etc. Si ambas fotografías coinciden, el resultado de la aplicación es «Ambas fotografías son del mismo persona” de lo contrario, el resultado de la aplicación es “Ambas fotografías son de dos personas diferentes”.

Esta aplicación se usa principalmente para un proceso de verificación facial como «para entregarle un
documento confidencial, el mensajero primero verifica su rostro y luego entrega un mensajero».

Nota: Una faceppAPI solo puede comparar enlaces URL de imágenes de dos fotografías.

Convertir imagen a URL usando postimages.org.

En este sitio web, elija su fotografía de su disco local haciendo clic en el botón «elegir imágenes» y luego este sitio web creará diferentes enlaces URL después de procesar su fotografía.
(Ver imágenes a continuación)

image-to-url
image-to-url
image-to-url
image-to-url

Usaremos dos pares de fotos para comparar.

par uno:

python-face-comparison
python-face-comparison

 
 
 
 
 
 
 
 
 
 
 
 

Pareja dos:

python-face-comparison
python-face-comparison

 
 
 
 
 
 
 
 
 

A continuación se muestra la implementación.

# Python program for face
# comparison
  
  
from __future__ import print_function, unicode_literals
from facepplib import FacePP, exceptions
import emoji
  
   
# define global variables
face_detection = ""
faceset_initialize = ""
face_search = ""
face_landmarks = ""
dense_facial_landmarks = ""
face_attributes = ""
beauty_score_and_emotion_recognition = ""
   
# define face comparing function
def face_comparing(app, Image1, Image2):
      
    print()
    print('-'*30)
    print('Comparing Photographs......')
    print('-'*30)
  
   
    cmp_ = app.compare.get(image_url1 = Image1,
                           image_url2 = Image2)
   
    print('Photo1', '=', cmp_.image1)
    print('Photo2', '=', cmp_.image2)
   
    # Comparing Photos
    if cmp_.confidence > 70:
        print('Both photographs are of same person......')
    else:
        print('Both photographs are of two different persons......')
  
          
# Driver Code 
if __name__ == '__main__':
   
    # api details
    api_key ='xQLsTmMyqp1L2MIt7M3l0h-cQiy0Dwhl'
    api_secret ='TyBSGw8NBEP9Tbhv_JbQM18mIlorY6-D'
   
    try:
   
        # create a logo of app by using iteration,
        # unicode and emoji module-------------
        for i in range(1,6):
              
            for j in range(6,-i):
                print(" " , end = " ")
                  
            for j in range(1,i):
                print('\U0001F600', end =" ")
                  
            for j in range(i,0,-1):
                print('\U0001F6A3', end= " ")
                  
            for j in range(i,1,-2):
                print('\U0001F62B', end= " ")
                  
            print()
              
        print()
   
        #print name of the app--------
        print("\t\t\t"+"Photo Comparing App\n")
       
        for i in range(1,6):
              
            for j in range(6,-i):
                print(" " , end = " ")
                  
            for j in range(1,i):
                print(emoji.emojize(":princess:"), end =" ")
                  
            for j in range(i,0,-1):
                print('\U0001F610', end= " ")
                  
            for j in range(i,1,-2):
                print(emoji.emojize(":baby:"), end= " ")
                  
            print()
           
        # call api
        app_ = FacePP(api_key = api_key, 
                      api_secret = api_secret)
        funcs = [
            face_detection,
            face_comparing_localphoto,
            face_comparing_websitephoto,
            faceset_initialize,
            face_search,
            face_landmarks,
            dense_facial_landmarks,
            face_attributes,
            beauty_score_and_emotion_recognition
        ]
          
        # Pair 1
        image1 = 'Image 1 link'
        image2 = 'Image 2 link'
        face_comparing(app_, image1, image2)
          
        # Pair2
        image1 = 'Image 1 link'
        image2 = 'Image 2 link'
        face_comparing(app_, image1, image2)        
   
    except exceptions.BaseFacePPError as e:
        print('Error:', e)

Producción:

python-face-comparison

Publicación traducida automáticamente

Artículo escrito por parika_pandey y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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