Python最短代碼實現Face Service,打造自己專用Face Service!__Python

來源:互聯網
上載者:User

對於類似於人臉的對象,你或許需要不少於 6000個分類器,每一個都需要成功匹配(當然,有容錯率),才能檢測出人臉。但這有一個問題:對於Face Service,演算法從左上方開始計算一個個資料區塊,不停問“這是張臉嗎”。每個資料區塊有超過 6000個檢測,加起來的計算量會達到數百萬層級,電腦很可能會讓你等得花兒都謝了。

在這裡還是要推薦下我自己建的Python開發學習群:483546416,群裡都是學Python開發的,如果你正在學習Python ,小編歡迎你加入,大家都是軟體開發黨,不定期分享乾貨(只有Python軟體開發相關的),包括我自己整理的一份2018最新的Python進階資料和進階開發教程,歡迎進階中和進想深入Python的小夥伴

實現Face Service

執行個體1:

1、 首先你需要提供一個檔案夾,裡面是所有你希望系統認識的人的圖片。其中每個人一張圖片,圖片以人的名字命名:

known_people 檔案夾下有 babe、成龍、容祖兒的照片

2、 接下來,你需要準備另一個檔案夾,裡面是你要識別的圖片:

unknown_pic 檔案夾下是要識別的圖片,其中韓紅是機器不認識的

3、 然後你就可以運行 face_recognition 命令了,把剛剛準備的兩個檔案夾作為參數傳入,命令就會返回需要識別的圖片中都出現了誰:

識別成功。

自動識別出人臉特徵

執行個體2(通過多張圖片對比,識別出是哪一個人):

[html] view plain copy

# filename : recognize_faces_in_pictures.py

# -*- conding: utf-8 -*-

# 匯入face_recogntion模組,可用命令安裝 pip install face_recognition

import face_recognition

#將jpg檔案載入到numpy數組中

babe_image = face_recognition.load_image_file("/opt/face/known_people/babe.jpeg")

Rong_zhu_er_image = face_recognition.load_image_file("/opt/face/known_people/Rong zhu er.jpg")

unknown_image = face_recognition.load_image_file("/opt/face/unknown_pic/babe2.jpg")

#擷取每個影像檔中每個面部的面部編碼

#由於每個映像中可能有多個面,所以返回一個編碼列表。

#但是由於我知道每個映像只有一個臉,我只關心每個映像中的第一個編碼,所以我取索引0。

babe_face_encoding = face_recognition.face_encodings(babe_image)[0]

Rong_zhu_er_face_encoding = face_recognition.face_encodings(Rong_zhu_er_image)[0]

unknown_face_encoding = face_recognition.face_encodings(unknown_image)[0]

known_faces = [

babe_face_encoding,

Rong_zhu_er_face_encoding

]

#結果是True/false的數組,未知面孔known_faces陣列中的任何人相匹配的結果

results = face_recognition.compare_faces(known_faces, unknown_face_encoding)

print("這個未知面孔是 Babe 嗎? {}".format(results[0]))

print("這個未知面孔是 容祖兒 嗎? {}".format(results[1]))

print("這個未知面孔是 我們從未見過的新面孔嗎? {}".format(not True in results))

為true代表是相符的

好了,今天就分享到這裡,學習python有什麼好的學習方法和技巧歡迎在下面評論區留言和小編交流,有驚喜哦。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.