国产探花免费观看_亚洲丰满少妇自慰呻吟_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的人臉數據;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 迭部县| 拉萨市| 吉林市| 鲁山县| 怀化市| 余干县| 平山县| 崇阳县| 玛曲县| 疏勒县| 呼伦贝尔市| 黎平县| 交口县| 新营市| 屯门区| 盐津县| 曲沃县| 阳曲县| 天水市| 永平县| 亳州市| 会东县| 延津县| 高唐县| 伊吾县| 阳高县| 濮阳县| 日照市| 柳州市| 资源县| 枞阳县| 集贤县| 吉安县| 桦川县| 泰来县| 东源县| 黎城县| 吕梁市| 平度市| 凯里市| 札达县|