日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]隨著大數(shù)據(jù)時代的到來,“人臉”也將成為數(shù)據(jù)的一部分,人臉識別如何實現(xiàn)?本文將為大家從人臉檢測、人臉定位、人臉校準以及人臉對比等方面詳細闡述人臉識別的原理與實現(xiàn)方式。

隨著大數(shù)據(jù)時代的到來,“人臉”也將成為數(shù)據(jù)的一部分,人臉識別如何實現(xiàn)?本文將為大家從人臉檢測、人臉定位、人臉校準以及人臉對比等方面詳細闡述人臉識別的原理與實現(xiàn)方式。

隨著計算機技術(shù)以及光學(xué)成像技術(shù)的發(fā)展,集成了人工智能、機器學(xué)習(xí)、視頻圖像處理等技術(shù)的人臉識別技術(shù)也逐漸成熟。未來五年,我國人臉識別市場規(guī)模平均復(fù)合增長率將達到25%,到2021年人臉識別市場規(guī)模將達到51億元左右,具有巨大的市場需求與前景。

安防、金融是人臉識別切入細分行業(yè)較深的兩個領(lǐng)域,移動智能硬件終端成為人臉識別新的快速增長點。因此,這三大領(lǐng)域?qū)⑹侨四樧R別快速增長的最大驅(qū)動力。

2017年,我國安防行業(yè)總產(chǎn)值達到6200億,同比增長16.98%,維持強勁發(fā)展勢頭。從細分產(chǎn)業(yè)來看,視頻監(jiān)控是構(gòu)建安防系統(tǒng)中的核心,在中國的安防產(chǎn)業(yè)中所占市場份額最大。而人臉識別在視頻監(jiān)控領(lǐng)域具有相當(dāng)?shù)膬?yōu)勢,應(yīng)用前景廣闊。

市面上的人臉識別解決方案也越來越多,但在系統(tǒng)框架上基本大同小異,大體框架如下圖所示:

接下來對人臉識別算法各技術(shù)點逐一進行詳細介紹,包括人臉檢測、人臉定位、人臉校準、人臉比對、人臉反欺詐以及算法優(yōu)化等。

1. 人臉檢測

人臉檢測算法繁多,我們采用由粗到精的高效方式,即先用計算量小的特征快速過濾大量非人臉窗口圖像,然后用復(fù)雜特征篩選人臉。這種方式能快速且高精度的檢測出正臉(人臉旋轉(zhuǎn)不超過45度)。該步驟旨在選取最佳候選框,減小非人臉區(qū)域的處理,從而減小后續(xù)人臉校準及比對的計算量。

以下為人臉檢測算法的初始化接口, 根據(jù)實際應(yīng)用場景設(shè)置人臉的相關(guān)參數(shù),包括最小人臉尺寸、搜索步長、金字塔縮放系數(shù)等:

人臉檢測實測效果如下圖所示:

在人臉檢測領(lǐng)域比較權(quán)威的測試集FDDB上進行評測, 100誤檢時的召回率達到85.2%, 1000誤檢時的召回率達到89.3%。

2. 人臉定位

面部特征點定位在人臉識別、表情識別、人臉動畫等人臉分析任務(wù)中至關(guān)重要的一環(huán)。人臉定位算法需要選取若干個面部特征點,點越多越精細,但同時計算量也越大。兼顧精確度和效率,我們選用雙眼中心點、鼻尖及嘴角五個特征點。經(jīng)測試,它們在表情、姿態(tài)、膚色等差異上均表現(xiàn)出很好的魯棒性。

人臉定位接口程序如下所示,需要先加載預(yù)先訓(xùn)練好的模型,再進行定位檢測:

人臉定位程序的效果如下所示:

本算法在AFLW數(shù)據(jù)集上的定位誤差及與其他算法的對比情況:

3. 人臉校準

本步驟目的是擺正人臉,將人臉置于圖像中央,減小后續(xù)比對模型的計算壓力,提升比對的精度。主要利用人臉定位獲得的5個特征點(人臉的雙眼、鼻尖及嘴角)獲取仿射變換矩陣,通過仿射變換實現(xiàn)人臉的擺正。

目標圖形以(x,y)為軸心順時針旋轉(zhuǎn)Θ弧度,變換矩陣為:

人臉校準C++代碼可參考如下所示:

一般此步驟不建議使用外部庫做變換,所以這里提供仿射變換python源碼以供參考:

人臉校準的效果如圖所示:

4. 人臉比對

人臉比對和人臉身份認證的前提是需要提取人臉獨有的特征點信息。在人臉校準之后可以利用深度神經(jīng)網(wǎng)絡(luò),將輸入的人臉進行特征提取。如將112×112×3的臉部圖像提取256個浮點數(shù)據(jù)特征信息,并將其作為人臉的唯一標識。在注冊階段把256個浮點數(shù)據(jù)輸入系統(tǒng),而認證階段則提取系統(tǒng)存儲的數(shù)據(jù)與當(dāng)前圖像新生成的256個浮點數(shù)據(jù)進行比對最終得到人臉比對結(jié)果。

人臉比對流程的示意圖如下所示:

通過神經(jīng)網(wǎng)絡(luò)算法得到的特征點示意圖如下:

而人臉比對則是對256個浮點數(shù)據(jù)之間進行距離運算。計算方式常用的有兩種,一種是歐式距離,一種是余弦距離。x,y向量歐式距離定義如下:

x,y向量之間余弦距離定義如下:

余弦距離或歐式距離越大,則兩個特征值相似度越低,屬于同一個人的可能性越小。如下圖,他們的臉部差異值為0.4296 大于上文所說的該模型最佳閾值0.36,此時判斷兩人為不同的人,可見結(jié)果是正確的。

把歸一化為-1到1的圖像數(shù)據(jù)、特征點提取模型的參數(shù)還有人臉數(shù)據(jù)庫輸入到人臉比對的函數(shù)接口face_recgnition,即可得人臉認證結(jié)果。程序接口的簡單調(diào)用方式如下所示:

人臉比對算法的準確率方面是以查準率為保證的,AUC (Area under curve)=0.998,ROC曲線圖如下所示:

我們設(shè)計的比對模型主要特點是模型參數(shù)少、計算量少并能保證高的準確率,一定程度上適合在嵌入端進行布置。對比其他人臉比對模型差異如下表格所示:

l far@1e-3表示將反例判定為正例的概率控制在千分之一以下時,模型仍能保持的準確率;

l dlib在實際測試中,存在detector檢測不出人臉的情況,導(dǎo)致最終效果與官網(wǎng)上有一定差異;

l resnet-18為pytorch的playground標準模型;

l lfw/agedb_30/cfp_ff為標準人臉比對測試庫,測試過程中圖片已經(jīng)過人臉居中處理。

5. 人臉反欺詐

從技術(shù)角度來說,人臉是唯一不需要用戶配合就可以采集的生物特征信息。人臉不同于指紋、掌紋、虹膜等,用戶不愿意被采集信息就無法獲得高質(zhì)量的特征信息。人臉信息簡單易得,而且質(zhì)量還好,所以這引發(fā)了有關(guān)個人數(shù)據(jù)安全性的思考。而且在沒有設(shè)計人臉反欺詐算法的人臉識別系統(tǒng)使用手機、ipad或是打印的圖片等都能對輕松欺騙系統(tǒng)。

所以我們采用多傳感器融合技術(shù)的方案,使用紅外對管與圖像傳感器數(shù)據(jù)進行深度學(xué)習(xí)來判斷是否存在欺詐。紅外對管進行用戶距離的判斷,距離過近則懷疑欺詐行為。圖像傳感器用深度學(xué)習(xí)算法進行二分類,把正常用戶行為與欺詐用戶行為分為兩類,對欺詐用戶進行排除。

二分類算法能夠有效抵抗一定距離的手機、ipad或是打印圖片的欺詐攻擊。對人臉欺詐數(shù)據(jù)集與普通人臉數(shù)據(jù)集預(yù)測如圖所示:

本二分類算法在100萬張圖片中準確分類的概率為98.89%,所以并不會對整體系統(tǒng)的準確率進行影響,保障系統(tǒng)的可靠性。

6. 算法優(yōu)化

在使用神經(jīng)網(wǎng)絡(luò)算法解決問題的時候,算法效率問題是必要的考量的。特別是在資源與算力不足的嵌入式端,更是頭等大問題。除了依托TensorFlow、Keras等開源框架,根據(jù)其前向傳播的原理寫成C++程序,還有必要的編譯優(yōu)化外,模型權(quán)重參數(shù)的清洗和算法計算的向量化都是比較有效的手段。

1) 模型權(quán)重參數(shù)清洗

權(quán)重參數(shù)清洗對神經(jīng)網(wǎng)絡(luò)算法的效率影響相當(dāng)大,沒有進行清洗的權(quán)重參數(shù)訪問與操作非常低效,與清洗后的權(quán)重參數(shù)相比往往能效率相差6-8倍。這差距在算力不足的嵌入式端非常明顯,往往決定一個算法是否能落地。具體的方法就是先讀取原模型進行重組,讓參數(shù)變得緊湊且能在計算時連續(xù)訪問計算,最后獲得重組后的模型與對應(yīng)的重組模型的計算方法。這個步驟需要一定的優(yōu)化實踐經(jīng)驗以達到滿意的效果,對模型讀取效率與運算效率都會有顯著的提高。

2) 算法計算向量化

對于算法的向量化的做法就是讓算法的計算能夠使用向量乘加等運算,而特別是在使用神經(jīng)網(wǎng)絡(luò)算法情況下,大量的計算沒有前后相關(guān)性且執(zhí)行相類似的步驟,所以向量化計算會對算法有明顯的提升,一般能把算法效率提升三倍左右。

使用NEON指令集的SIMD指令取代ARM通用的SISD指令,是一個常用的算法向量化方法。在基于ARMV7-A和ARMV7-R的體系架構(gòu)上基本采用了NEON技術(shù),ARMV8也支持并與ARMV7兼容。

以IMX6ULL芯片為例,可以通過查閱官方的參考手冊查看其NEON相關(guān)信息:

下面舉例說明普通的編程寫法與NEON instrinsics編程、NEON assembly編程區(qū)別。以下為普通的編程寫法:

以下為轉(zhuǎn)化為NEON instrinsics的編程:

以為轉(zhuǎn)為NEON assembly的編程:

一般NEON instrinsics已經(jīng)能做到三倍的提速效果,而NEON assembly效果會更好一些。但是程序向量化需要特殊訪存規(guī)則,如果不符合則會對導(dǎo)致提速效果大打折扣。

訪存特征詳細分類如表所示:

其中,無冗余飽和順序模式是理想的訪問模式,能夠發(fā)揮算法計算向量化的效果。但是我們神經(jīng)網(wǎng)絡(luò)算法的最基本的卷積、全連接等計算卻是冗余飽和非順序模式的計算,這要如何解決呢?

查閱相關(guān)論文、期刊對這程序向量化非規(guī)則訪存的研究,可以發(fā)現(xiàn)程序向量化有以下步驟:

如上圖所示,需要對卷積、全連接等冗余飽和非順序模式計算通過向量混洗為無冗余飽和順序的模式,以達到優(yōu)化的效果。

7. 人臉識別效果展示

基于PC的人臉識別展示demo如下視頻所示:

我們的人臉識別算法已經(jīng)成功移植到了cortex-a7的EPC-6Y2C-L平臺,并已經(jīng)進行了一定的優(yōu)化,后面會進行進一步的優(yōu)化。人臉檢測效率為166ms左右,人臉定位效率為125ms左右,人臉比對的效率為493ms左右,合計人臉識別總耗時788.3ms左右。下面是在EPC-6Y2C-L的實測效果:

最后附上EPC-6Y2C-L產(chǎn)品圖片:

8. 關(guān)于算法庫獲取

關(guān)于算法庫可以咨詢周立功單片機有限公司或廣州致遠電子有限公司的人員獲

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

在工業(yè)控制系統(tǒng)中,Modbus RTU協(xié)議的CRC校驗如同通信網(wǎng)絡(luò)的"免疫系統(tǒng)",某石化廠DCS系統(tǒng)曾因CRC計算錯誤導(dǎo)致0.3%的數(shù)據(jù)包丟失,引發(fā)連鎖控制故障。本文將深入解析CRC-16/MODBUS算法原理,對比軟件...

關(guān)鍵字: Modbus RTU CRC 算法

加密算法分對稱加密和非對稱算法,其中對稱加密算法的加密與解密密鑰相同,非對稱加密算法的加密密鑰與解密密鑰不同,此外,還有一類不需要密鑰的散列算法。

關(guān)鍵字: 算法 嵌入式

在現(xiàn)代數(shù)字系統(tǒng)設(shè)計中,將算法高效地轉(zhuǎn)化為 RTL(寄存器傳輸級)實現(xiàn)是 FPGA 工程師的核心任務(wù)之一。這一過程不僅需要對算法有深入理解,還需掌握 FPGA 的硬件特性和設(shè)計技巧。本文將詳細介紹從算法到 RTL 實現(xiàn)的關(guān)...

關(guān)鍵字: 算法 寄存器傳輸級 數(shù)字系統(tǒng)

從本質(zhì)上講,算法是一種有條不紊、分步驟解決問題或完成任務(wù)的方法。無論是簡單的數(shù)字相加公式,還是復(fù)雜的機器學(xué)習(xí)協(xié)議,算法都是軟件應(yīng)用的基礎(chǔ),確保任務(wù)能夠高效有效地執(zhí)行。

關(guān)鍵字: 算法 嵌入式

在自動駕駛技術(shù)的發(fā)展歷程中,激光雷達(LiDAR)宛如一顆備受矚目的新星,其獨特的技術(shù)特性使其成為追求高安全性、高可靠性自動駕駛方案的首選。然而,這顆新星并非毫無爭議,“價格昂貴、結(jié)構(gòu)復(fù)雜、算法難度高” 等標簽,也讓一些...

關(guān)鍵字: 自動駕駛 激光雷達 算法

雖然現(xiàn)有的技術(shù)已經(jīng)顯著改善了盲人的導(dǎo)航和障礙物檢測,但它們主要集中在這些方面。我們的目標是擴展這項技術(shù),不僅包括檢測,還包括物體、人臉和圖像的識別。人工智能的廣泛應(yīng)用旨在通過提供有關(guān)其周圍環(huán)境的更詳細和有意義的信息來增強...

關(guān)鍵字: 人工智能 GPS 人臉識別

4月2日消息,近日,有關(guān)智能駕駛而引發(fā)的交通事故在網(wǎng)絡(luò)上引起了大家的熱烈討論,對此,央視網(wǎng)評指出,“智能駕駛”,也請握緊方向盤。

關(guān)鍵字: 算法 智能駕駛

所謂排序算法,即通過特定的算法因式將一組或多組數(shù)據(jù)按照既定模式進行重新排序。這種新序列遵循著一定的規(guī)則,體現(xiàn)出一定的規(guī)律,因此,經(jīng)處理后的數(shù)據(jù)便于篩選和計算,大大提高了計算效率。對于排序,我們首先要求其具有一定的穩(wěn)定性,...

關(guān)鍵字: 排序算法 算法

Facenet-PyTorch 是一個基于 PyTorch 框架實現(xiàn)的人臉識別庫。它提供了 FaceNet 模型的 PyTorch 實現(xiàn),可以用于訓(xùn)練自己的人臉識別模型。FaceNet 是由 Google 研究人員提出的...

關(guān)鍵字: pytorch算法 人臉識別 開發(fā)板

人臉識別技術(shù)在過去十年中有了巨大的進步,現(xiàn)在它主要用于監(jiān)視和安全目的。在今天的教程中,我們將學(xué)習(xí)如何使用樹莓派構(gòu)建人臉識別門鎖系統(tǒng)。本項目分為三個階段:

關(guān)鍵字: 樹莓派 人臉識別 繼電器
關(guān)閉