用Python識別人臉,人種等各種信息
最近幾天了解了一下人臉識別,應(yīng)用場景可以是圖片標(biāo)注,商品圖和廣告圖中有沒有模特,有幾個模特,模特的性別,年齡,顏值,表情等數(shù)據(jù)的挖掘。

基礎(chǔ)的識別用dlib來實現(xiàn),dlib是一個機器學(xué)習(xí)的包,主要用C++寫的,但是也有Python版本。其中最流行的一個功能是Facial Landmark Detection, 配備已經(jīng)訓(xùn)練好的輪廓預(yù)測模型,叫shape_predictor_68_face_landmarks.dat, 從名字就可以看出,它可以檢測出面部的68個關(guān)鍵點,包括五官和外輪廓等。
安裝dlib會花比較長時間,因為依賴包有十個左右,裝完了dlib別忘了下載predictor數(shù)據(jù)文件。
wget
http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
pip install dlib
我在Adrian大神的代碼做了一點修改和封裝,先定位臉部的方框,box_face畫出方框,在此基礎(chǔ)上可選調(diào)用tag_face_number來標(biāo)注臉的標(biāo)號或者draw_face_landmarks來標(biāo)注特征點,也可以直接調(diào)用count_faces來統(tǒng)計臉的個數(shù),mark_all_faces給所有的臉把所有信息都加上。

拿九張模特圖來試試,半臉的不行,側(cè)的太厲害不行,其它都能識別出來。

一張圖多張臉的也毫無壓力

接下來性別和年齡就不好做了,必須通過機器訓(xùn)練數(shù)據(jù),還沒時間摸透,又想盡快拿到這些標(biāo)注,于是先走捷徑去調(diào)face++的API, 注冊個賬號申請key和secret即可,免費賬戶有qps限制,且一張照片內(nèi)最多支持五人識別。
官方的代碼示例極差,而且還是只支持Python2的, 收先要改寫一下。Attribute中有很多數(shù)據(jù)可以拿,你想的到的想不到的都有,甚至包括顏值,人種等。顏值還算靠譜,范冰冰90分,鳳姐49分,人種就難說了,歐美模特分分鐘當(dāng)成Asian.


機器說: 性別女,表情偏悲傷,顏值89分,28歲,亞洲人,基本沒笑
{'image_id': 'wPGIyROqltTdjvRX3zopbg==', 'request_id': '1519574701,3113e37e-b000-4440-af08-871831cf1ba8', 'time_used': 355, 'faces': [{'attributes': {'emotion': {'sadness': 93.448, 'neutral': 4.114, 'disgust': 0.002, 'anger': 0.002, 'surprise': 2.414, 'fear': 0.002, 'happiness': 0.018}, 'beauty': {'female_score': 89.348, 'male_score': 88.925}, 'gender': {'value': 'Female'}, 'age': {'value': 28}, 'headpose': {'yaw_angle': 17.526142, 'pitch_angle': 11.047059, 'roll_angle': 19.623343}, 'smile': {'threshold': 30.1, 'value': 28.532}, 'ethnicity': {'value': 'Asian'}}, 'face_rectangle': {'width': 202, 'top': 103, 'left': 69, 'height': 202}, 'face_token': '7be6a72f497ed16cc7883424584052c5'}]}

機器說: 性別男,表情很快樂,顏值52分,61歲,黑人,大笑
{'image_id': 'YZ5wzeVDiAgCN9yIFX44Gw==', 'request_id': '1519574926,31f6d4d8-bdf6-4863-b29a-cf61ff04ffbe', 'time_used': 323, 'faces': [{'attributes': {'emotion': {'sadness': 0.0, 'neutral': 0.0, 'disgust': 0.0, 'anger': 0.0, 'surprise': 0.0, 'fear': 0.0, 'happiness': 99.999}, 'beauty': {'female_score': 62.678, 'male_score': 51.847}, 'gender': {'value': 'Male'}, 'age': {'value': 61}, 'headpose': {'yaw_angle': 2.6326802, 'pitch_angle': 11.909821, 'roll_angle': -11.707241}, 'smile': {'threshold': 30.1, 'value': 99.081}, 'ethnicity': {'value': 'Black'}}, 'face_rectangle': {'width': 208, 'top': 88, 'left': 120, 'height': 208}, 'face_token': '19067cf0f5358312c109a0e70bab62ae'}]}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python實現(xiàn)圖片,視頻人臉識別(opencv版)
- python調(diào)用百度API實現(xiàn)人臉識別
- 使用python-cv2實現(xiàn)Harr+Adaboost人臉識別的示例
- python3.8動態(tài)人臉識別的實現(xiàn)示例
- Python3 利用face_recognition實現(xiàn)人臉識別的方法
- 如何通過python實現(xiàn)人臉識別驗證
- face++與python實現(xiàn)人臉識別簽到(考勤)功能
- Python facenet進行人臉識別測試過程解析
- Python基于Opencv來快速實現(xiàn)人臉識別過程詳解(完整版)
- 20行python代碼實現(xiàn)人臉識別
- Python人臉識別第三方庫face_recognition接口說明文檔
- Python opencv實現(xiàn)人眼/人臉識別以及實時打碼處理
- python3人臉識別的兩種方法
- python dlib人臉識別代碼實例
- python實現(xiàn)圖片,視頻人臉識別(dlib版)
相關(guān)文章
Python在信息學(xué)競賽中的運用及Python的基本用法(詳解)
下面小編就為大家?guī)硪黄狿ython在信息學(xué)競賽中的運用及Python的基本用法(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08
OpenCV實戰(zhàn)之實現(xiàn)手勢虛擬縮放效果
本篇將會以HandTrackingModule為模塊,實現(xiàn)通過手勢對本人的博客海報進行縮放。文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下2022-11-11
Union在Python類型注解中的應(yīng)用與最佳實踐
Union” 在中文中通常翻譯為“聯(lián)合”,在數(shù)學(xué)和邏輯學(xué)中,它指的是兩個或多個集合的并集,在 Python 的類型注解中,Union 類型表示一個變量可以是多種類型中的任意一種,這與數(shù)學(xué)中的并集概念相似,本文介紹了Union在Python類型注解中的應(yīng)用與最佳實踐2024-09-09
Python實現(xiàn)將數(shù)據(jù)寫入netCDF4中的方法示例
這篇文章主要介紹了Python實現(xiàn)將數(shù)據(jù)寫入netCDF4中的方法,涉及Python數(shù)據(jù)處理與文件讀寫相關(guān)操作技巧,需要的朋友可以參考下2018-08-08

