人臉識別,是基于人的臉部特征信息進行身份識別的一種生物識別技術。用攝像頭或攝像機采集含有人臉的圖像或視頻流,并自動在圖像中檢測和跟蹤人臉,進而對檢測到的人臉進行臉部識別的一系列相關技術,通常也叫做人像識別、面部識別。
目前,人臉識別技術已經(jīng)非常成熟,被應用在多個領域,例如,數(shù)碼相機的人臉自動對焦技術,門禁系統(tǒng)的人臉識別門禁,公共場所的身份辨識系統(tǒng),以及網(wǎng)絡應用中的實名認證或網(wǎng)絡支付等。
本文基于Python的face_recognition庫,使用PySide6設計一個GUI程序,調用筆記本電腦攝像頭實現(xiàn)實時的人臉識別。
face_recognition是世界上最簡潔的人臉識別庫,該庫的人臉識別是基于業(yè)內領先的C++開源庫dlib中的深度學習模型,用Labeled Faces in the Wild人臉數(shù)據(jù)集進行測試,有高達99.38%的準確率。但對小孩和亞洲人臉的識別準確率尚待提升。
1. 從圖片里找到人臉
定位圖片中的人臉:

2. 識別人臉關鍵點
識別人臉關鍵點,包括眼睛、鼻子、嘴和下巴。

3. 識別圖片中的人是誰
計算人臉特征編碼,在人臉編碼數(shù)據(jù)庫中匹配目標。

本程序結合Python的opencv庫和face_recognition庫實現(xiàn)實時的人臉識別,下載face_recognition庫前需要下載dlib庫。
1. dlib庫安裝
采用無需編譯安裝dlib的方式,直接下載對應Python版本的whl文件安裝。小編的Python版本為3.9,對應whl版本為dlib-19.23.0-cp39-cp39-win_amd64.whl,點擊此處下載。
pip安裝:
pip install dlib-19.23.0-cp39-cp39-win_amd64.whl
2. opencv庫安裝
pip install opencv-python
3. face_recognition庫安裝
pip install face_recognition
1. Qt Designer設計界面
Qt Designer是一個可視化GUI設計工具,相比直接使用Python設計軟件界面可以極大提高開發(fā)效率,Qt Designer中設置的所有控件和屬性都可以在Python代碼中動態(tài)調用和修改。人臉識別軟件界面如圖4。

下一步,使用PySide6調用軟件頁面,實現(xiàn)自定義功能。
2. 基于圖片的人臉識別
點擊<選擇圖片>按鈕,你可以在計算機上選擇一張人臉圖片進行識別,軟件會自動識別出人臉并標記上綠框,顯示圖片的比例會自適應軟件頁面大小。

3. 基于攝像頭的人臉識別
點擊<攝像頭>按鈕會調用計算機的攝像頭,實時識別出視頻中的人臉并標記上綠框。
4. 人臉信息錄入
點擊<錄入人臉>按鈕,在頁面左下角會出現(xiàn)<人臉標簽輸入框>和<確定>按鈕,這時只需要選擇一張人臉圖片或打開攝像頭對準人臉,最后點擊<確定>按鈕即可完成人臉信息的錄入。

由于人臉識別是實時完成的,在點擊<確定>按鈕后立刻識別出了圖片中的人臉是“Joe Biden”。我們再選擇一張“Joe Biden”的圖片進行識別。

可以看到,面對一張新的“Joe Biden”圖片,人臉識別軟件仍然進行了正確的識別。
微信公眾號:山東智谷數(shù)據(jù)分析師事務所
定制程序請聯(lián)系:山東智谷數(shù)據(jù)分析師事務所