成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

基于face_recognition實現人臉識別

開發 后端 人臉識別
上一篇中我們實現了檢測照片中的人臉并標出人臉特征點(鼻子,眼睛,眉毛等),這一篇我們將在上一篇的基礎上,進一步實現人臉識別,告訴你照片里的人是誰。

上一篇中我們實現了檢測照片中的人臉并標出人臉特征點(鼻子,眼睛,眉毛等),這一篇我們將在上一篇的基礎上,進一步實現人臉識別,告訴你照片里的人是誰。

準備工作

我們的人臉識別基于face_recognition庫。face_recognition基于dlib實現,用深度學習訓練數據,模型準確率高達99.38%。在開始我們的工作前,我們先安裝face_recognition

 

  1. pip install face_recognition 

人臉數字化

人臉識別的***步是檢測照片中的人臉區域,然后將人臉的圖像數據轉換成一個長度為128的向量,這128個數據代表了人臉的128個特征指標,如下所示

對于每一張已知人臉,生成這樣的一個128位的向量。對于一張未知人臉,將它的128位向量和所有已知人臉的128位向量一一比對,找到相似度***的那一個,即找出了未知人臉對應的人。

圖片數據

我們準備了兩張照片,分別是凱特王妃和威廉王子的單人照,分別存成catherine.jpg和william.jpg,這兩張照片中的人臉作為我們的已知人臉

我們的目標是在下面的合影中識別出兩人的臉并在圖中標出各自的名字。下圖存成unknown.jpg

代碼實現

接下來開始我們的編程工作

 

  1. import cv2 
  2.  
  3. import face_recognitionnames = [     
  4.  
  5.     "catherine"
  6.  
  7.     "william"
  8.  

 

首先我們定義了標簽集,存在names數組中。

標簽名字也是我們圖片的文件名。

 

  1. images = [] 
  2.  
  3. for name in names: 
  4.  
  5.     filename = name + ".jpg" 
  6.  
  7.     image = face_recognition.load_image_file(filename)  
  8.  
  9.     images.append(image) 
  10.  
  11. unknown_image = face_recognition.load_image_file("unknown.jpg"

調用face_recognition.load_image_file從圖片中讀取數據。

這里讀取了包含已知人臉和未知人臉的圖片的數據,未知人臉的圖片就是上面的合影圖片unknown.jpg。

 

  1. face_encodings = [] 
  2.  
  3. for image in images: 
  4.  
  5.     encoding = face_recognition.face_encodings(image)[0]  
  6.  
  7.     face_encodings.append(encoding) 
  8.  
  9. unknown_face_encodings = face_recognition.face_encodings(unknown_image) 

 

face_recognition.face_encodings會返回圖片中的所有的人臉的128位向量。單人照片只有一張人臉,所以face_recognition.face_encodings(image)[0]只取***個元素。合影圖片中包含了2張人臉,所以unknown_face_encodings包含2個128位向量。

 

  1. face_locations = face_recognition.face_locations(unknown_image) 
  2.  
  3. for i in range(len(unknown_face_encodings)):     
  4.  
  5.     unknown_encoding = unknown_face_encodings[i]      
  6.  
  7.     face_location = face_locations[i]      
  8.  
  9.     topright, bottom, left = face_location      
  10.  
  11.     cv2.rectangle(unknown_image, (lefttop), (right, bottom), (0, 255, 0), 2)      
  12.  
  13.     results = face_recognition.compare_faces(face_encodings, unknown_encoding)      
  14.  
  15.     for j in range(len(results)):          
  16.  
  17.         if results[j]:              
  18.  
  19.             name = names[j]              
  20.  
  21.             cv2.putText(unknown_image, name, (left-10, top-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2) 
  22.  
  23.  
  24.  
  25. unknown_image_rgb = cv2.cvtColor(unknown_image, cv2.COLOR_BGR2RGB) 
  26.  
  27. cv2.imshow("Output", unknown_image_rgb) 
  28.  
  29. cv2.waitKey(0) 

 

face_locations存了每張臉的位置信息。

在循環中我們調用cv2.rectangle框出了檢測到的每張臉。

face_recognition.compare_faces將已知人臉的128位向量和每張未知人臉的128位向量做比較,結果存入results數組中。results數組中的每一個元素都是True或者False,長度和人臉個數相等。results中的每個元素都和已知人臉一一對應,在某一個位置處的元素為True,表示未知人臉被識別成這張已知人臉。

對識別出來的每張人臉,我們調用cv2.putText在圖上標注標簽。

以上是代碼的全部。

測試

令人興奮的時刻又來到了! 我們來檢驗一下我們的成果。

運行上面的程序,可以看到下面的結果

威廉王子和凱特王妃的人臉都被準確地識別出來。綠色的框框出了人臉區域,框的上方標注了識別到的人的名字。

至此,我們成功地實現了人臉識別。 

后續不定期的更新一些圖像處理方面其他有趣的應用,例如摳圖、實現手繪效果、二維碼識別、驗證碼識別,等等。 

責任編輯:龐桂玉 來源: Python愛好者社區
相關推薦

2019-07-24 15:25:29

框架AI開發

2024-06-12 12:57:12

2021-05-10 11:08:00

人工智能人臉識別

2015-05-14 14:03:22

Face++人臉識別

2013-05-28 11:08:51

人臉識別html5

2021-03-09 09:20:09

人臉識別人工智能智能手機

2023-07-03 07:40:13

VueGolangweb

2021-08-13 10:01:19

人臉識別人工智能數據

2017-09-18 16:13:59

前端圖像處理人臉識別

2017-09-21 15:31:49

2021-09-07 09:01:07

人臉識別人工智能數據

2022-10-20 09:33:35

2024-05-30 08:09:33

2023-11-14 08:38:43

Golang人臉識別

2022-08-19 14:14:13

人工智能人臉識別安全

2021-12-07 23:00:55

人臉識別安全技術

2019-08-27 15:17:42

2016-10-24 17:40:50

NVIDIA芯片

2020-11-18 09:43:29

人臉識別AI人工智能

2015-09-22 10:36:30

百度媒體云人臉識別
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久人成影片免费观看 | 国产一区二区 | 青青操91 | 91精品国产91久久综合桃花 | 精品久久精品 | 国产精品视频综合 | www.99热 | 一色桃子av一区二区 | 日一日操一操 | 国产精久久久久久久妇剪断 | 国产一卡二卡三卡 | 超碰在线亚洲 | 午夜资源 | 成人在线观看网站 | 国产精品视频网 | 亚洲精品一区在线观看 | 成人三级在线播放 | 欧美一级黄色片免费观看 | 亚洲成人国产综合 | 毛片大全 | 中文字幕不卡视频在线观看 | 日韩精品一区二区三区在线播放 | 在线中文字幕av | 国产精品日韩欧美一区二区三区 | 中文字幕日韩欧美 | 天堂一区在线 | 国产一区二区三区 | 日本三级电影在线观看视频 | 国产精品成人一区 | 中文字幕日韩一区 | 欧美一级淫片007 | 国产精品美女久久久免费 | 日韩黄a | 精品久久精品 | 国产精品欧美日韩 | 天天夜夜操 | 日韩在线观看 | 中文字幕免费 | 欧美久久久久久久 | av在线免费不卡 | 99热热热|