干货|人脸识别的简要介绍(附实例、Python代码)

日期:2023-03-02 18:15:57 / 人气:114

婚配算法:一旦失掉特征向量,机器学习算法需求将新图片和语料库中的特征向量停止婚配。既然我们对人脸辨认如何打工有了根本的了解,让我们运用一些普遍运用的Python库来搭建本人的人脸辨认算法。案例学习首先给定一些人物脸部的图片——能够是一些名人,如Mark Zuckerberg, Warren Buffett, Bill Gates, Shah Rukh Khan等,并把这些人脸看作我们的语料库。如今,我们给定一些其他名人的新图片(“新人物”),并判别这些“新人物”能否在语料库中。以下是语料库中的图片:如图所示,我们所罗列的名人有Barack Obama, Bill Gates, Jeff Bezos, Mark Zuckerberg, Ray Dalio 和Shah Rukh Khan。如今,如果“新人物”如下:注:以上一切图片均来自Google图片。不言而喻,这是Shah Rukh Khan。但是对电脑来说,这个义务很有应战性。由于关于我们来说,我们可以随便地将图片的多种特征结合来判别这是哪团体物。但是对电脑而言,学习如何辨认人脸是十分不直观的。有一个神奇但是复杂的python库封装了以上提及的内容——可以依据脸部特征生成特征向量并且晓得如何区分不同的脸。这个python库叫做face_recognition。它使用了dlib——一个古代C++工具包,其中包括了一些机器学习算法来协助完成复杂的基于C++的使用。Python中的face_recognition库可以完成少量的义务:发现给定图片中一切的脸。发现并处置图片中的脸部特征。辨认图片中的脸。实时的人脸辨认。接上去,我们将讨论其中的第三种义务——辨认图片中的脸。你可以在github的如下链接中获取face_recognition库的源代码。附链接:https://github.com/ageitgey/face_recognition现实上,这里有一些如何装置face_recognition库的指点。附链接:https://github.com/ageitgey/face_recognition#installation-options在你装置face_recognition之前,还需求装置dlib包。你可以从如下链接中找到装置dlib的指点。附链接:https://gist.github.com/ageitgey/629d75c1baac34dfa5ca2a1928a7aeafPython使用这局部包括运用face_recognition库搭建复杂人脸辨认零碎的代码。这是一个使用操作的局部,我们将在下一局部解读代码来了解更多细节。# import the librariesimport osimport face_recognition # make a list of all the available imagesimages = os.listdir(images) # load your imageimage_to_be_matched = face_recognition.load_image_file(my_image.jpg)# encoded the loaded image into a feature vectorimage_to_be_matched_encoded = face_recognition.face_encodings( image_to_be_matched)[0] # iterate over each imagefor image in images: # load the image current_image = face_recognition.load_image_file("images/" + image) # encode the loaded image into a feature vector current_image_encoded = face_recognition.face_encodings(current_image)[0] # match your image with the image and check if it matches result = face_recognition.compare_faces( [image_to_be_matched_encoded], current_image_encoded) # check if it was a match if result[0] == True: print "Matched: " + image else: print "Not matched: " + image文件构造如下:facialrecognition:fr.pymy_image.jpgimages/barack_obama.jpgbill_gates.jpgjeff_bezos.jpgmark_zuckerberg.jpgray_dalio.jpgshah_rukh_khan.jpgwarren_buffett.jpg我们的根目录,facialrecognition包括:fr.py的方式的人脸辨认代码。my_image.jpg – 行将被辨认的图片(“新人物”)。images/ – 语料库。假如你依照前文创立文件构造并执行代码,如下是你能失掉的后果:Matched: shah_rukh_khan.jpgNot matched: warren_buffett.jpgNot matched: barack_obama.jpgNot matched: ray_dalio.jpgNot matched: bill_gates.jpgNot matched: jeff_bezos.jpgNot matched: mark_zuckerberg.jpg不言而喻,新名人是Shah Rukh Khan 并且我们的人脸辨认零碎可以辨认!了解Python代码如今让我们解读代码来,并了解其打工原理:# import the librariesimport osimport face_recognition以上是引入操作。我们将经过曾经建好的os库来读入语料库中的一切图片,并且经过face_recognition来完成算法局部。# make a list of all the available imagesimages = os.listdir(images)这个复杂的代码将协助我们辨认语料库中一切图片的途径。一旦执行这些代码,我们可以失掉:images = [shah_rukh_khan.jpg, warren_buffett.jpg, barack_obama.jpg, ray_dalio.jpg, bill_gates.jpg, jeff_bezos.jpg, mark_zuckerberg.jpg]

作者:天火娱乐




现在致电 5243865 OR 查看更多联系方式 →

COPYRIGHT 天火娱乐 版权所有