国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python3利用Dlib19.7實現攝像頭人臉識別的方法

2020-02-23 00:05:20
字體:
來源:轉載
供稿:網友

0.引言

利用python開發,借助Dlib庫捕獲攝像頭中的人臉,提取人臉特征,通過計算歐氏距離來和預存的人臉特征進行對比,達到人臉識別的目的;

可以自動從攝像頭中摳取人臉圖片存儲到本地,然后提取構建預設人臉特征;

根據摳取的 / 已有的同一個人多張人臉圖片提取128D特征值,然后計算該人的128D特征均值;

然后和攝像頭中實時獲取到的人臉提取出的特征值,計算歐氏距離,判定是否為同一張人臉;  

人臉識別 / face recognition的說明:

wikipedia 關于人臉識別系統 / face recognition system 的描述:theywork by comparing selected facial featuresfrom given image with faces within a database.

本項目中就是比較 預設的人臉的特征和 攝像頭實時獲取到的人臉的特征;

核心就是提取128D人臉特征,然后計算攝像頭人臉特征和預設的特征臉的歐式距離,進行比對;

效果如下(攝像頭認出來我是default_person預設的人臉 / 另一個人不是預設人臉顯示diff):

圖1 攝像頭人臉識別效果gif

1.總體流程

先說下 人臉檢測 (face detection) 和 人臉識別 (face recognition) ,前者是達到檢測出場景中人臉的目的就可以了,而后者不僅需要檢測出人臉,還要和已有人臉數據進行比對,識別出是否在數據庫中,或者進行身份標注之類處理,人臉檢測和人臉識別兩者有時候可能會被理解混淆;

我的之前一些項目都是用dlib做人臉檢測這塊,這個項目想要實現的功能是人臉識別功能,借助的是 dlib官網中 face_recognition.py這個例程 (link:http://dlib.net/face_recognition.py.html);

核心在于 利用 “dlib_face_recognition_resnet_model_v1.dat” 這個model,提取人臉圖像的128D特征,然后比對不同人臉圖片的128D特征,設定閾值計算歐氏距離來判斷是否為同一張臉;

# face recognition model, the object maps human faces into 128D vectorsfacerec = dlib.face_recognition_model_v1("dlib_face_recognition_resnet_model_v1.dat") shape = predictor(img, dets[0])face_descriptor = facerec.compute_face_descriptor(img, shape)
  

圖2 總體設計流程

2.源碼介紹

主要有

    get_face_from_camera.py , get_features_into_CSV.pyface_reco_from_camera.py

這三個py文件;

2.1get_face_from_camera.py / 采集構建XXX人臉數據

人臉識別需要將 提取到的圖像數據 和已有圖像數據進行比對分析,所以這個py文件實現的功能就是采集構建XXX的人臉數據;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武山县| 日喀则市| 中宁县| 新郑市| 饶阳县| 南皮县| 海晏县| 丁青县| 合肥市| 资阳市| 即墨市| 雷波县| 大邑县| 德格县| 且末县| 古蔺县| 松溪县| 巩留县| 兴业县| 文成县| 麻江县| 武威市| 白沙| 溧水县| 金秀| 台中市| 兴城市| 温州市| 遂平县| 南通市| 论坛| 巴楚县| 孟村| 新津县| 泉州市| 若羌县| 普安县| 长寿区| 普安县| 郯城县| 宝丰县|