如今,人臉識別技術在我們生活中隨處可見,無論是刷卡支付、考勤打卡、還是小區智能門禁,機場港口,都可能用到人臉識別。你走在街上可能會被攝像頭拍下,并經過一系列人臉識別技術判斷出你的身份。
一般來說,人臉識別技術,原理簡單描述,主要如下:
1)建立一個包含大批量人臉圖像的數據庫
2)通過各種方式來獲得當前要進行識別的目標人臉圖像
3)將目標人臉圖像與數據庫中既有的人臉圖像進行比對和篩選
按照人臉識別的技術流程,完成系統構建,大體需要經過四個步驟。
項目開始前,我們預想的總體設計思路,大概是這樣的:
首先我們使用攝像頭讀取采集的圖像,經過人臉檢測模塊框選人像,然后使用面部特征定位模塊,對面部關鍵特征點進行標記,最后,使用人臉特征提取、比對模塊進行人臉特征和比對。
下面,我們根據人臉識別的四個步驟原理,展開項目詳細論述。
1人臉圖像采集及預處理
通常采集人臉圖像,有兩種途徑:人臉圖像批量導入和人臉圖像實時采集。預處理的目的是在系統對人臉圖像的檢測基礎之上,對人臉圖像做出進一步的處理以利于人臉圖像的特征提取。
一般來說,識別系統可通過各種采集好的人臉圖像,批量導入識別系統處理,或者通過調用攝像機、攝像頭等拍攝設備,提前抓取需要采集的人臉圖像。這里,我們選用筆記本電腦自帶攝像頭,完成前期人臉圖像的采集工作。
2人臉檢測
完成第一步圖像采集工作,接下來就進入到圖像檢測階段。
在一張人臉圖像中,系統會精確定位出人臉位置和大小,在挑選出有用的圖像信息,同時自動剔除其他多余的圖像信息,來進一步保證圖像采集的準確性。
這里我們選用VS封裝SeetaFace人臉識別成dll文件,對5個面部關鍵特征點(兩眼中心、鼻尖和兩個嘴角)進行人臉檢測、人臉特征點檢測、提取的函數,以供后期LabVIEW調用。
最后,我們利用LabVIEW dll函數調用節點,把上一步封裝好的人臉檢測、特征提取和識別計算方法dll文件,封裝成LabVIEW函數。至此,我們就完成了人臉識別LabVIEW系統圖像采集軟件部分的設計工作。
SeetaFace人臉識別引擎包括搭建一整全自動人臉識別系統所需的三個核心模塊,即:人臉檢測模塊SeetaFace Detection、面部特征點定位模塊SeetaFace Alignment以及人臉特征提取與比對模塊SeetaFace Identification。
3人臉特征提取
到這里,我們就可以打開攝像頭采集人臉圖像。這一步主要針對人臉圖像的一些具體特征提取,進行搜集建庫。我們使用的是LabVIEW調用事前封裝好的人臉識別函數,提取所需的人臉識別信息。
4人臉識別
我們在人臉識別系統,預先設定一個相似程度的數值,再將對應的人臉圖像和系統數據庫中的所有人臉圖像進行比對。如果超過預設的數值,系統會將超過的圖像輸出,根據人臉圖像相似程度、人臉身份精確篩選,可以是1:1,也可以是1:n。
比如,我們在系統中設置一個闕值0.7,系統比對后相似度大于0.7,就會自動認定為是同一個人并會在LabVIEW中輸出反饋結果。
說到這里,人臉識別系統實現原理及工作流程,是否都已經掌握了呢?不能光說不練,在大概了解識別系統理論基礎后,下面就要開始進入個人實踐階段咯!
-
攝像頭
+關注
關注
59文章
4836瀏覽量
95600 -
人臉識別
+關注
關注
76文章
4011瀏覽量
81860 -
識別系統
+關注
關注
1文章
138瀏覽量
18810
原文標題:?如何自己制作一套人臉識別系統,完成構建僅需這四個步驟
文章出處:【微信號:elecfans,微信公眾號:電子發燒友網】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論