国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于Python的人臉識別系統(tǒng) 深度學(xué)習(xí) 畢業(yè)設(shè)計(jì) (附源碼)

這篇具有很好參考價(jià)值的文章主要介紹了基于Python的人臉識別系統(tǒng) 深度學(xué)習(xí) 畢業(yè)設(shè)計(jì) (附源碼)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

基于Python的人臉識別系統(tǒng) 深度學(xué)習(xí) 畢業(yè)設(shè)計(jì) (附源碼)

一、項(xiàng)目介紹

???????? 人臉識別系統(tǒng)是一種基于人臉圖像或視頻進(jìn)行人物身份認(rèn)證和識別的技術(shù)。 技術(shù)進(jìn)步:隨著計(jì)算機(jī)視覺和深度學(xué)習(xí)技術(shù)的發(fā)展,人臉識別系統(tǒng)取得了長足進(jìn)步。特別是卷積神經(jīng)網(wǎng)絡(luò)(CNN)的出現(xiàn),使得人臉識別系統(tǒng)在準(zhǔn)確性、魯棒性和性能上都有了顯著提升。

總體來說,人臉識別系統(tǒng)在算法的準(zhǔn)確性和魯棒性方面取得了顯著進(jìn)展。然而,仍然存在著一些技術(shù)挑戰(zhàn)和倫理問題,需要進(jìn)一步的研究和解決。隨著技術(shù)的不斷發(fā)展和應(yīng)用領(lǐng)域的拓展,人臉識別系統(tǒng)將在安全、監(jiān)控、人機(jī)交互等領(lǐng)域發(fā)揮越來越重要的作用。

近年來,人臉識別的技術(shù)愈發(fā)成熟,在大型數(shù)據(jù)集上的訓(xùn)練測試結(jié)果已超過人類,其應(yīng)用也日益廣泛,譬如刷臉支付、安防偵破、出入口控制、互聯(lián)網(wǎng)服務(wù)等。人臉識別(Face
Recognition)是一種通過獲取人面部的特征信息進(jìn)行身份確認(rèn)的技術(shù),類似已用于身份識別的人體的其他生物特征(如虹膜、指紋等),人臉具備唯一性、一致性和高度的不可復(fù)制性,為身份識別提供了穩(wěn)定的條件。人臉識別系統(tǒng)是博主一直想做的一個(gè)項(xiàng)目,通過人臉面部信息識別可以進(jìn)行很多有趣的設(shè)計(jì),如面部解鎖、考勤打卡等。

????????前面博主撰寫了人臉性別識別系統(tǒng)、表情識別系統(tǒng)等,其實(shí)是人臉屬性識別的一種,即根據(jù)人臉面部圖像中的相關(guān)特征判斷其性別或表情屬性,該任務(wù)本身也同樣具有較強(qiáng)的現(xiàn)實(shí)意義。這篇博文則回到人臉識別的任務(wù)本身,采用深度學(xué)習(xí)的方法對人臉特征進(jìn)行提取,計(jì)算其與已存在的人臉特征的相似度,判讀其是否屬于庫中的某一人臉,達(dá)到身份識別的目的。不過我希望在實(shí)現(xiàn)的基礎(chǔ)上,能多增加一些可操作性,因此盡可能設(shè)計(jì)一個(gè)功能完善的人臉識別系統(tǒng)。

????????這里博主分享一個(gè)自主設(shè)計(jì)的人臉識別項(xiàng)目,包括識別人臉、錄入人臉、管理人臉在內(nèi)的多項(xiàng)功能,以下是界面的截圖,供大家參考學(xué)習(xí)了:

基于python的人臉識別畢業(yè)設(shè)計(jì),python,深度學(xué)習(xí),畢業(yè)設(shè)計(jì),人臉識別,計(jì)算機(jī)視覺

檢測識別人臉時(shí)的界面截圖(點(diǎn)擊圖片可放大)如下圖,可識別畫面中存在的多個(gè)人臉,也可開啟攝像頭或視頻檢測,以及人臉錄入管理等功能:

基于python的人臉識別畢業(yè)設(shè)計(jì),python,深度學(xué)習(xí),畢業(yè)設(shè)計(jì),人臉識別,計(jì)算機(jī)視覺

???????? 詳細(xì)的功能演示效果參見博主的B站視頻或下一節(jié)的動圖演示,覺得不錯(cuò)的朋友敬請點(diǎn)贊、關(guān)注加收藏!系統(tǒng)UI界面的設(shè)計(jì)工作量較大,界面美化更需仔細(xì)雕琢,大家有任何建議或意見和可在下方評論交流。


二、 效果演示

(一)選擇人臉圖片識別

????????在系統(tǒng)的功能選項(xiàng)按鈕中選擇“識別人臉”,點(diǎn)擊下方的圖片選擇按鈕圖標(biāo)選擇圖片后,在主顯區(qū)域標(biāo)記所有人臉識別的結(jié)果,并被逐條記錄在表格中。本功能的界面展示如下圖所示:

基于python的人臉識別畢業(yè)設(shè)計(jì),python,深度學(xué)習(xí),畢業(yè)設(shè)計(jì),人臉識別,計(jì)算機(jī)視覺

(二)人臉視頻識別效果展示

????????很多時(shí)候我們需要識別一段視頻中的人臉信息,這里設(shè)計(jì)了視頻選擇功能。同樣的在“識別人臉”功能選項(xiàng)下,點(diǎn)擊視頻按鈕可選擇待檢測的視頻,系統(tǒng)會自動解析視頻逐幀識別人臉,并將結(jié)果記錄在右下角表格中,效果如下圖所示:

基于python的人臉識別畢業(yè)設(shè)計(jì),python,深度學(xué)習(xí),畢業(yè)設(shè)計(jì),人臉識別,計(jì)算機(jī)視覺

(三)攝像頭檢測效果展示

????????在真實(shí)場景中,我們往往利用設(shè)備攝像頭獲取實(shí)時(shí)畫面,同時(shí)需要對畫面中的人臉進(jìn)行識別,同樣可以在“識別人臉”功能選項(xiàng)下選擇此項(xiàng)功能。如下圖所示,點(diǎn)擊攝像頭按鈕后系統(tǒng)進(jìn)入準(zhǔn)備狀態(tài),系統(tǒng)顯示實(shí)時(shí)畫面并開始檢測畫面中的人臉,識別結(jié)果展示如下圖:

基于python的人臉識別畢業(yè)設(shè)計(jì),python,深度學(xué)習(xí),畢業(yè)設(shè)計(jì),人臉識別,計(jì)算機(jī)視覺
基于python的人臉識別畢業(yè)設(shè)計(jì),python,深度學(xué)習(xí),畢業(yè)設(shè)計(jì),人臉識別,計(jì)算機(jī)視覺

(四)錄入人臉效果展示

????????當(dāng)出現(xiàn)一個(gè)新的人臉需要錄入時(shí),點(diǎn)擊“錄入人臉”功能選項(xiàng)按鈕,此時(shí)底部功能界面切換至錄入功能,首先輸入人臉名字點(diǎn)擊“新建”后可通過選擇人臉圖片或開啟攝像頭進(jìn)行畫面捕捉,系統(tǒng)檢測到人臉后可選擇“取圖”,系統(tǒng)得到捕獲的人臉區(qū)域圖片,最后點(diǎn)擊“錄入”按鈕,則提取所有人臉圖片特征并寫入系統(tǒng)庫中,演示效果如下:

基于python的人臉識別畢業(yè)設(shè)計(jì),python,深度學(xué)習(xí),畢業(yè)設(shè)計(jì),人臉識別,計(jì)算機(jī)視覺

(五)管理人臉效果展示

????????對于已經(jīng)存在的人臉數(shù)據(jù)可選擇“管理人臉”功能選項(xiàng)按鈕,切換至管理界面,選擇表格中要?jiǎng)h除或更新的人臉數(shù)據(jù)欄,點(diǎn)擊確定后系統(tǒng)自動更新人臉數(shù)據(jù)庫,該功能展示如下圖:

基于python的人臉識別畢業(yè)設(shè)計(jì),python,深度學(xué)習(xí),畢業(yè)設(shè)計(jì),人臉識別,計(jì)算機(jī)視覺

在識別某張?zhí)囟ㄈ四樓?,?yīng)該先在系統(tǒng)庫中錄入人臉信息,即送入一張人臉圖像供系統(tǒng)提取特征,此過程可選擇圖片也可開啟攝像頭實(shí)時(shí)獲取。至此系統(tǒng)的演示完畢,其實(shí)除了動圖中演示的功能,當(dāng)然還有許多細(xì)節(jié)功能無法一一演示,讀者可以自行測試。


2. 人臉識別原理

????????如今機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)方法廣泛應(yīng)用于人臉識別領(lǐng)域,而后深度學(xué)習(xí)廣泛應(yīng)用于各種目標(biāo)檢測領(lǐng)域,2015年,Google團(tuán)隊(duì)的FaceNet在LFW數(shù)據(jù)集上得平均準(zhǔn)確率達(dá)到了99.63%,基于深度學(xué)習(xí)的人臉識別的準(zhǔn)確率已經(jīng)高于人類本身,深度學(xué)習(xí)在人臉識別領(lǐng)域基本占據(jù)了統(tǒng)治地位。

????????Dlib是一個(gè)包含機(jī)器學(xué)習(xí)算法的C++開源工具包,目前已經(jīng)被廣泛的用在行業(yè)和學(xué)術(shù)領(lǐng)域,包括機(jī)器人,嵌入式設(shè)備,移動電話和大型高性能計(jì)算環(huán)境。作為人臉識別工具之一,Dlib在圖像處理及人臉面部特征處理、分類、識別等方面具有計(jì)算簡單、較容易實(shí)現(xiàn)的優(yōu)點(diǎn)。

????????Dlib在人臉識別上的應(yīng)用:(1)接受圖像并將其加載到一個(gè)像素?cái)?shù)組中進(jìn)行處理;(2)使用局部二進(jìn)制模式的人臉描述生成新的圖像;(3)根據(jù)Dlib庫中的scan_image_boxes等函數(shù)寫入讀取到的圖片,進(jìn)而計(jì)算人臉之間的特征向量;(4)與人臉數(shù)據(jù)庫中的特征向量進(jìn)行對比并利用全局函數(shù)threshold_image計(jì)算閾值,完成人臉識別1。

????????Dlib可通過Python調(diào)用,實(shí)現(xiàn)對圖像預(yù)處理、提取特征向量、與人臉數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行校驗(yàn)進(jìn)而判別人物身份的流程。這里我們的人臉識別的過程有人臉檢測(Face Detection)、人臉對齊(Face Alignment)、人臉表示(Face Representation)和人臉匹配(Face Matching)

基于python的人臉識別畢業(yè)設(shè)計(jì),python,深度學(xué)習(xí),畢業(yè)設(shè)計(jì),人臉識別,計(jì)算機(jī)視覺

(1)人臉檢測(Face Detection):首先利用Dlib的get_frontal_face_detector方法檢測人臉區(qū)域并輸出人臉矩形的四個(gè)坐標(biāo)點(diǎn)。調(diào)用get_frontal_face_detector會返回 dlib 庫中包含的預(yù)訓(xùn)練方向梯度直方圖 (HOG)結(jié)合線性支持向量機(jī)(SVM)的人臉檢測器,該檢測器快速高效。由于方向梯度直方圖 (HOG) 描述符的工作原理,它對圖像幾何的和光學(xué)的形變都能保持很好的不變性。

???????? (2)人臉對齊(Face Alignment):這是人臉識別系統(tǒng)中的一種標(biāo)準(zhǔn)操作,即從人臉區(qū)域中檢測到人臉特征點(diǎn),并以特征點(diǎn)為依據(jù)對人臉進(jìn)行歸一化操作,使人臉區(qū)域的尺度和角度一致,方便特征提取與人臉匹配。一般通過旋轉(zhuǎn)、平移與縮放將目標(biāo)人臉區(qū)域放置在圖像特定位置。這樣做可以減小需要處理的人臉圖像在空間分布上的差異。這里我們使用的是基于回歸樹的人臉對齊算法2,該算法是Vahid Kazemi 和 Josephine Sullivan在CVPR2014上發(fā)表的One Millisecond Face Alignment with an Ensemble of Regression Trees算法(以下簡稱GBDT),這種方法通過建立一個(gè)級聯(lián)的殘差回歸樹(GBDT)來使人臉形狀從當(dāng)前形狀一步一步回歸到真實(shí)形狀。每一個(gè)GBDT的每一個(gè)葉子節(jié)點(diǎn)上都存儲著一個(gè)殘差回歸量,當(dāng)輸入落到一個(gè)節(jié)點(diǎn)上時(shí),就將殘差加到改輸入上,起到回歸的目的,最終將所有殘差疊加在一起,就完成了人臉對齊的目的。此處我們使用shape_predictor方法載入shape_predictor_68_face_landmarks.dat模型實(shí)現(xiàn)。

????????(3)人臉表示(Face Representation):這一步我們從歸一化的人臉區(qū)域中進(jìn)行面部特征提取,采用深度神經(jīng)網(wǎng)絡(luò)方法得到具有128個(gè)特征的特征向量。這里利用Dlib中的殘差學(xué)習(xí)深度神經(jīng)網(wǎng)絡(luò)(ResNet)3為待識別人臉創(chuàng)建128維特征向量。人臉的特征表示,最理想的情況是不同人臉的照片提取出的特征向量差異較大,而同一人臉在不同照片中可以提取出相似度高的特征向量。此處我們使用的是dlib庫中的face_recognition_model_v1方法,使用預(yù)訓(xùn)練的dlib_face_recognition_resnet_model_v1.dat模型。

????????(4)人臉匹配(Face Matching):將待識別圖片中提取的特征向量與比對圖中的進(jìn)行對比,通過評估方法計(jì)算兩幅照片的相似度??梢愿鶕?jù)相似得分,將得分高的判斷為同一人,得分低的判斷為不同人。這里我們使用歐式距離計(jì)算,兩個(gè)人臉特征向量的歐式距離越小,則兩張人臉越相似,若人臉圖像與待識別人像之間的歐式距離小于設(shè)定的閾值(這里我設(shè)置為0.4)時(shí),則判定為同一人。

????????除了以上介紹的人臉匹配流程,這部分代碼中還給出了識別出人臉后的標(biāo)記過程。如果檢測出人臉,則根據(jù)人臉的坐標(biāo)未知繪制矩形框,根據(jù)識別結(jié)果在矩形框上方添加識別結(jié)果的文字。

????????有了以上實(shí)現(xiàn)的基礎(chǔ),我們可以把這部分功能進(jìn)行改進(jìn),添加進(jìn)UI界面中方便我們選擇圖像和管理人臉庫。打開QtDesigner軟件,拖動以下控件至主窗口中,調(diào)整界面樣式和控件放置,人臉識別系統(tǒng)的界面設(shè)計(jì)如下圖所示:

基于python的人臉識別畢業(yè)設(shè)計(jì),python,深度學(xué)習(xí),畢業(yè)設(shè)計(jì),人臉識別,計(jì)算機(jī)視覺

????????控件界面部分設(shè)計(jì)好,接下來利用PyUIC工具將.ui文件轉(zhuǎn)化為.py代碼文件,通過調(diào)用界面部分的代碼同時(shí)加入對應(yīng)的邏輯處理代碼。博主對其中的UI功能進(jìn)行了詳細(xì)測試,最終開發(fā)出一版流暢得到清新界面,就是博文演示部分的展示,完整的UI界面、測試圖片視頻、代碼文件,以及Python離線依賴包(方便安裝運(yùn)行,也可自行配置環(huán)境),均已打包好,或者想學(xué)習(xí)更多的項(xiàng)目,可以關(guān)注博主,查看主頁計(jì)科了解更多項(xiàng)目。


?我是源碼之家,感謝您閱讀本文,歡迎一鍵三連哦。文章來源地址http://www.zghlxwxcb.cn/news/detail-755120.html

近千套項(xiàng)目源碼,項(xiàng)目分享學(xué)習(xí),涵蓋Python/Java/大數(shù)據(jù)等
查看主頁學(xué)習(xí)更多項(xiàng)目~

了解更多項(xiàng)目源碼鏈接: https://blog.csdn.net/2201_75772776

?我是源碼之家,感謝您閱讀本文,歡迎一鍵三連哦。

到了這里,關(guān)于基于Python的人臉識別系統(tǒng) 深度學(xué)習(xí) 畢業(yè)設(shè)計(jì) (附源碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包