用Python識(shí)別人臉,人種等各種信息
最近幾天了解了一下人臉識(shí)別,應(yīng)用場(chǎng)景可以是圖片標(biāo)注,商品圖和廣告圖中有沒有模特,有幾個(gè)模特,模特的性別,年齡,顏值,表情等數(shù)據(jù)的挖掘。
基礎(chǔ)的識(shí)別用dlib來實(shí)現(xiàn),dlib是一個(gè)機(jī)器學(xué)習(xí)的包,主要用C++寫的,但是也有Python版本。其中最流行的一個(gè)功能是Facial Landmark Detection, 配備已經(jīng)訓(xùn)練好的輪廓預(yù)測(cè)模型,叫shape_predictor_68_face_landmarks.dat, 從名字就可以看出,它可以檢測(cè)出面部的68個(gè)關(guān)鍵點(diǎn),包括五官和外輪廓等。
安裝dlib會(huì)花比較長(zhǎng)時(shí)間,因?yàn)橐蕾嚢惺畟€(gè)左右,裝完了dlib別忘了下載predictor數(shù)據(jù)文件。
wget
http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
pip install dlib
我在Adrian大神的代碼做了一點(diǎn)修改和封裝,先定位臉部的方框,box_face畫出方框,在此基礎(chǔ)上可選調(diào)用tag_face_number來標(biāo)注臉的標(biāo)號(hào)或者draw_face_landmarks來標(biāo)注特征點(diǎn),也可以直接調(diào)用count_faces來統(tǒng)計(jì)臉的個(gè)數(shù),mark_all_faces給所有的臉把所有信息都加上。
拿九張模特圖來試試,半臉的不行,側(cè)的太厲害不行,其它都能識(shí)別出來。
一張圖多張臉的也毫無壓力
接下來性別和年齡就不好做了,必須通過機(jī)器訓(xùn)練數(shù)據(jù),還沒時(shí)間摸透,又想盡快拿到這些標(biāo)注,于是先走捷徑去調(diào)face++的API, 注冊(cè)個(gè)賬號(hào)申請(qǐng)key和secret即可,免費(fèi)賬戶有qps限制,且一張照片內(nèi)最多支持五人識(shí)別。
官方的代碼示例極差,而且還是只支持Python2的, 收先要改寫一下。Attribute中有很多數(shù)據(jù)可以拿,你想的到的想不到的都有,甚至包括顏值,人種等。顏值還算靠譜,范冰冰90分,鳳姐49分,人種就難說了,歐美模特分分鐘當(dāng)成Asian.
機(jī)器說: 性別女,表情偏悲傷,顏值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'}]}
機(jī)器說: 性別男,表情很快樂,顏值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'}]}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python實(shí)現(xiàn)圖片,視頻人臉識(shí)別(opencv版)
- python調(diào)用百度API實(shí)現(xiàn)人臉識(shí)別
- 使用python-cv2實(shí)現(xiàn)Harr+Adaboost人臉識(shí)別的示例
- python3.8動(dòng)態(tài)人臉識(shí)別的實(shí)現(xiàn)示例
- Python3 利用face_recognition實(shí)現(xiàn)人臉識(shí)別的方法
- 如何通過python實(shí)現(xiàn)人臉識(shí)別驗(yàn)證
- face++與python實(shí)現(xiàn)人臉識(shí)別簽到(考勤)功能
- Python facenet進(jìn)行人臉識(shí)別測(cè)試過程解析
- Python基于Opencv來快速實(shí)現(xiàn)人臉識(shí)別過程詳解(完整版)
- 20行python代碼實(shí)現(xiàn)人臉識(shí)別
- Python人臉識(shí)別第三方庫face_recognition接口說明文檔
- Python opencv實(shí)現(xiàn)人眼/人臉識(shí)別以及實(shí)時(shí)打碼處理
- python3人臉識(shí)別的兩種方法
- python dlib人臉識(shí)別代碼實(shí)例
- python實(shí)現(xiàn)圖片,視頻人臉識(shí)別(dlib版)
相關(guān)文章
django多對(duì)多表的創(chuàng)建,級(jí)聯(lián)刪除及手動(dòng)創(chuàng)建第三張表
這篇文章主要介紹了django多對(duì)多表的創(chuàng)建,級(jí)聯(lián)刪除及手動(dòng)創(chuàng)建第三張表,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07python將YUV420P文件轉(zhuǎn)PNG圖片格式的兩種方法
這篇文章主要介紹了python將YUV420P文件轉(zhuǎn)PNG圖片格式的兩種方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01使用Python制作一個(gè)極簡(jiǎn)四則運(yùn)算解釋器
這篇文章主要介紹了使用Python制作一個(gè)極簡(jiǎn)四則運(yùn)算解釋器,在使用工具之前,至少也要了解工具的作用,需要的朋友可以參考下2023-04-04使用python實(shí)現(xiàn)簡(jiǎn)單爬取網(wǎng)頁數(shù)據(jù)并導(dǎo)入MySQL中的數(shù)據(jù)庫
這篇文章主要為大家詳細(xì)介紹了如何使用 python 實(shí)現(xiàn)簡(jiǎn)單爬取網(wǎng)頁數(shù)據(jù)并導(dǎo)入 MySQL 中的數(shù)據(jù)庫,對(duì)我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-06-06Python函數(shù)可變參數(shù)定義及其參數(shù)傳遞方式實(shí)例詳解
這篇文章主要介紹了Python函數(shù)可變參數(shù)定義及其參數(shù)傳遞方式,以實(shí)例形式較為詳細(xì)的分析了Python函數(shù)參數(shù)的使用技巧,需要的朋友可以參考下2015-05-05Python桌面應(yīng)用開發(fā)實(shí)戰(zhàn)之PyQt的安裝使用
這篇文章主要給大家介紹了關(guān)于Python桌面應(yīng)用開發(fā)實(shí)戰(zhàn)之PyQt的安裝使用,PyQt是一個(gè)功能強(qiáng)大的Python庫,用于創(chuàng)建圖形用戶界面(GUI)應(yīng)用程序,需要的朋友可以參考下2023-08-08用Python監(jiān)控你的朋友都在瀏覽哪些網(wǎng)站?
今天教各位小伙伴一個(gè)黑科技,用Python監(jiān)控你的朋友都在瀏覽哪些網(wǎng)站,文中有非常詳細(xì)的介紹,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05Python實(shí)現(xiàn)文件只讀屬性的設(shè)置與取消
這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)設(shè)置文件只讀與取消文件只讀的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-07-07