Face Comparision using python-facepp
Hello everyone here we are doing face comparison where we will compare to image of a person using url of the given image.here we don't have to download image we need just the url.so lets begin with the code
Python is a high-level general-purpose language. It is used for multiple purposes like AI, Web Development, Web Scraping, etc. One such use of Python can be Face Comparision. A module name python-facepp can be used for doing the same. This module is for communicating with Face++ facial recognition service.
Module Required
python-facepp – To install this module type the below command in the terminal.
pip install python-facepp
This app compares two photographs of the same person or two different persons against his/her face features like face landmarks, beauty score, face emotion, etc. If both photographs are matching with each other, the app result is “Both photographs are of same person ” otherwise app result is “Both photographs are of two different persons”.
so Here it is, Python-FacePP is a library for communicating with a Face++ facial recognition service. Face++ exposes some of it’s data via Web API for which Python-FacePP provides a simple but powerful Pythonic API inspired by a well-known Django ORM
So firstly we will show the images we are using by using pillow library.Here we are trying to create a PIL image object from a file pulled from a URL.
import requests import io from PIL import Image image1 = 'https://wallpapercave.com/wp/wp4000980.jpg' image2 = 'https://upload.wikimedia.org/wikipedia/commons/2/2d/Atif_Aslam_at_Badlapur_%28cropped%29.jpg' response = requests.get(image1) response1 = requests.get(image2) image_bytes = io.BytesIO(response.content) image_bytes1 = io.BytesIO(response1.content) img = Image.open(image_bytes) img1 = Image.open(image_bytes1) img.show() img1.show()
secondly, we are importing various libraries for face comparison also declaring some variables.
# Python program for face # comparision from __future__ import print_function, unicode_literals from facepplib import FacePP, exceptions import emoji face_comparing_localphoto="" face_comparing_websitephoto="" 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: # 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 = 'https://wallpapercave.com/wp/wp4000980.jpg' image2 = 'https://upload.wikimedia.org/wikipedia/commons/2/2d/Atif_Aslam_at_Badlapur_%28cropped%29.jpg' face_comparing(app_, image1, image2) except exceptions.BaseFacePPError as e: print('Error:', e)