亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

用Python及深度學(xué)習(xí)實(shí)現(xiàn)iPhone X的FaceID功能

sixgo / 1704人閱讀

摘要:然而令人驚訝的是,蘋(píng)果公司宣傳比方法更加安全,而且其錯(cuò)誤率僅為。我相信是基于類(lèi)似于孿生卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)的,并且通過(guò)離線(xiàn)訓(xùn)練。結(jié)論本文主要是展示解鎖機(jī)器的基本工作機(jī)制,采用的方法是基于人臉映射和孿生卷積神經(jīng)網(wǎng)絡(luò)。

摘要: 本文主要是展示FaceID解鎖機(jī)器的基本工作機(jī)制,采用的方法是基于人臉映射和孿生卷積神經(jīng)網(wǎng)絡(luò),Github上附詳細(xì)代碼。

對(duì)于果粉們來(lái)說(shuō),對(duì)新出的iPhone X討論最多的是其解鎖方式,TouchID的繼承者——FaceID。對(duì)于新一代無(wú)邊框造型手機(jī)而言,各大手機(jī)廠商不得不開(kāi)發(fā)新的手機(jī)解鎖方法以保持其無(wú)邊框造型。一些蘋(píng)果手機(jī)的競(jìng)爭(zhēng)對(duì)手們繼續(xù)使用傳統(tǒng)的指紋識(shí)別傳感器,只不過(guò)是將其放在其它不影響造型的位置上。而蘋(píng)果公司這一次又走在了科技潮流的前沿,對(duì)其進(jìn)行了創(chuàng)新,發(fā)明了一種更加簡(jiǎn)便快捷的方法——用戶(hù)只需要看著手機(jī)即可完成解鎖過(guò)程。由于先進(jìn)的前攝深度相機(jī),iPhone X能夠創(chuàng)建用戶(hù)人臉的立體圖像,此外,使用紅外相機(jī)捕捉用戶(hù)面部的圖像,這是為了使得系統(tǒng)對(duì)環(huán)境光線(xiàn)、顏色等變化更具有魯棒性。之后,通過(guò)深度學(xué)習(xí),智能手機(jī)能夠很好地學(xué)習(xí)用戶(hù)的面部細(xì)節(jié),因此使得用戶(hù)每次看手機(jī)的時(shí)候,手機(jī)都能夠自動(dòng)識(shí)別身份并進(jìn)行解鎖。有些人會(huì)對(duì)這種方法的準(zhǔn)確率產(chǎn)生質(zhì)疑,畢竟人的指紋是不會(huì)變的,而人臉的特征會(huì)隨著是否留胡須、是否帶眼鏡、化妝等隨之變化。然而令人驚訝的是,蘋(píng)果公司宣傳FaceID比TouchID方法更加安全,而且其錯(cuò)誤率僅為1:1,000,000。

整個(gè)系統(tǒng)過(guò)程看著很簡(jiǎn)單,無(wú)非是獲取用戶(hù)人臉圖像后,使用深度學(xué)習(xí)的方法對(duì)其進(jìn)行人臉識(shí)別。我好奇的是整個(gè)過(guò)程是如何應(yīng)用深度學(xué)習(xí)方法和如何對(duì)每一步驟進(jìn)行優(yōu)化,以得到這么高的識(shí)別正確率。本文將告訴大家我是如何使用Kears實(shí)現(xiàn)一個(gè)類(lèi)似于FaceID算法的。

了解FaceID

“神經(jīng)網(wǎng)絡(luò)給FaceID提供的能力不僅僅是執(zhí)行簡(jiǎn)單的分類(lèi)過(guò)程”

第一步是仔細(xì)分析FaceID是如何在iPhone X上工作的。他們的白皮書(shū)可以幫助我們了解FaceID的工作機(jī)制。

使用TouchID時(shí),用戶(hù)必須先登記自己的指紋,需要在指紋傳感器上按壓幾次,經(jīng)過(guò)大約十幾種不同方位的采集后,智能手機(jī)完成整個(gè)登記過(guò)程。同理,F(xiàn)aceID也需要用戶(hù)首先登記自己的人臉信息,這個(gè)過(guò)程更加簡(jiǎn)單,用戶(hù)只需要看著手機(jī),然后沿著圓圈慢慢轉(zhuǎn)動(dòng)頭部即可,這樣使得能夠登記來(lái)自不同角度的人臉信息。這種極快的登記方法涵蓋了很多底層的學(xué)習(xí)算法,下面將一一介紹。

對(duì)于神經(jīng)網(wǎng)絡(luò)而言,執(zhí)行分類(lèi)過(guò)程意味著學(xué)習(xí)預(yù)測(cè)智能手機(jī)所看到的人臉是否為其登記的人臉。因此,應(yīng)該使用一些訓(xùn)練數(shù)據(jù)來(lái)學(xué)習(xí)到辨別“真”或“假”的能力。但從原理上來(lái)講,這與許多深度學(xué)習(xí)案例不一樣,傳統(tǒng)的一些深度學(xué)習(xí)方法是使用大量訓(xùn)練數(shù)據(jù)集來(lái)訓(xùn)練模型,這將需要花費(fèi)大量的時(shí)間、精力等。此外,對(duì)于蘋(píng)果公司而言,先訓(xùn)練一個(gè)更復(fù)雜的離線(xiàn)“網(wǎng)絡(luò)模型”,訓(xùn)練好后將其遷移到手機(jī)上,這樣的一種方法是不會(huì)被采用的。我相信FaceID是基于類(lèi)似于孿生卷積神經(jīng)網(wǎng)絡(luò)(Siamese CNN)實(shí)現(xiàn)的,并且通過(guò)離線(xiàn)訓(xùn)練。將人臉映射成一個(gè)低維的潛在空間,使得不同人臉之間的距離最大化,使用對(duì)比損失(contrastive loss)衡量模型的性能。

從人臉到神經(jīng)網(wǎng)絡(luò)

孿生神經(jīng)網(wǎng)絡(luò)基本上由兩個(gè)相同的神經(jīng)網(wǎng)絡(luò)組成,它們之間共享所有的權(quán)重。這種體系結(jié)構(gòu)可以學(xué)習(xí)計(jì)算特定數(shù)據(jù)類(lèi)型之間的距離,比如圖像。我的想法是通過(guò)孿生神經(jīng)網(wǎng)絡(luò),將用戶(hù)圖像映射到一個(gè)低維的特征空間,類(lèi)似于一個(gè)n維數(shù)組,之后訓(xùn)練網(wǎng)絡(luò)進(jìn)行映射,以便盡可能地從不同類(lèi)別中提取數(shù)據(jù)點(diǎn),而來(lái)自同一類(lèi)別的數(shù)據(jù)點(diǎn)盡可能地接近。歸根到底,網(wǎng)絡(luò)將學(xué)習(xí)從數(shù)據(jù)中提取最有意義的特征,并將其壓縮成數(shù)組,之后創(chuàng)建有意義的映射。孿生神經(jīng)網(wǎng)絡(luò)能夠做到這一點(diǎn),自動(dòng)編碼器同樣也能做到。

使用這種技術(shù),人們可以使用大量的人臉來(lái)訓(xùn)練這樣的網(wǎng)絡(luò)模型以識(shí)別哪一個(gè)面孔與用戶(hù)者最相似。就像蘋(píng)果公司所做的那樣,人們可以使用更難的圖像數(shù)據(jù)來(lái)增強(qiáng)網(wǎng)絡(luò)對(duì)雙胞胎、敵對(duì)攻擊(掩碼)等的魯棒性,使其擁有正確的預(yù)測(cè)和計(jì)算能力。使用這種方法的一個(gè)最大優(yōu)點(diǎn)是獲得了一個(gè)即插即用模型,它可以識(shí)別不同的用戶(hù),只需要簡(jiǎn)單地將初始設(shè)置時(shí)拍攝的圖像映射到潛在空間中,而不需要任何進(jìn)一步的訓(xùn)練。此外,F(xiàn)aceID能夠適應(yīng)你各方面的變化:突然變化(如眼鏡、帽子、化妝等)和緩慢變化(胡須等)。這些是通過(guò)在映射特征空間中添加參考向量,根據(jù)新的外觀計(jì)算出來(lái)的。

用Kears實(shí)現(xiàn)FaceID

對(duì)于所有的機(jī)器學(xué)習(xí)項(xiàng)目而言,首先需要的就是數(shù)據(jù)。創(chuàng)建自己的數(shù)據(jù)集需要花費(fèi)很多時(shí)間和精力。因此,本文通過(guò)瀏覽網(wǎng)頁(yè)獲得一個(gè)RGB-D人臉數(shù)據(jù)集。這些RGB-D圖像數(shù)據(jù)是由一系列面向不同方向以及不同面部表情的人臉組成,這和iPhone X使用的數(shù)據(jù)一樣。

為了看到最終的實(shí)現(xiàn)效果,你可以看看我個(gè)人的GitHub主頁(yè),在里面可以發(fā)現(xiàn)有一個(gè)Jupyter Notebook。此外,我使用Colab Notebook完成本文實(shí)驗(yàn)。

本文創(chuàng)建了一個(gè)基于SqueezeNet的卷積神經(jīng)網(wǎng)絡(luò)模型,該網(wǎng)絡(luò)模型將RGBD人臉圖像作為網(wǎng)絡(luò)的輸入,其輸出是兩個(gè)映射之間的距離。模型訓(xùn)練時(shí)使用的對(duì)比損失,最終實(shí)現(xiàn)最大限度地減少屬于同一個(gè)人的照片之間的距離,最大化不同人物照片之間的距離。

經(jīng)過(guò)一些訓(xùn)練后,網(wǎng)絡(luò)能夠?qū)⑷四樣成錇?28維數(shù)組,這將導(dǎo)致同一個(gè)人的照片被分到一起,而和其他人的照片盡可能的遠(yuǎn)。這意味著為了解鎖手機(jī)設(shè)備,網(wǎng)絡(luò)模型只需要計(jì)算在解鎖過(guò)程中所拍攝的圖片與之前登記階段儲(chǔ)存圖片之間的距離。如果距離低于某一閾值(該值越小越安全),設(shè)備才解鎖。

我使用T-SNE算法將128維中的兩維特征進(jìn)行可視化,每種顏色都對(duì)應(yīng)著一個(gè)不同的人。正如圖中所示,網(wǎng)絡(luò)模型已經(jīng)學(xué)會(huì)對(duì)這些圖片進(jìn)行分組。此外,使用PCA降維算法時(shí),其得到的可視化圖像也很有趣。

實(shí)驗(yàn)

實(shí)驗(yàn)?zāi)M仿真整個(gè)FaceID的流程:首先,對(duì)用戶(hù)面部登記;然后,在解鎖階段,模型通過(guò)計(jì)算解鎖時(shí)檢測(cè)到的人臉與之前登記人臉之間的距離,并確定它是否在設(shè)定的閾值以下,最終判斷是否應(yīng)該解鎖手機(jī)。

現(xiàn)在讓我們從登記用戶(hù)開(kāi)始:從數(shù)據(jù)集中獲取同一個(gè)人的一系列照片,并模擬登記過(guò)程。設(shè)備計(jì)算出這些圖片的特征映射,并將其存儲(chǔ)在本地內(nèi)存中。

現(xiàn)在看看如果是同一個(gè)用戶(hù)試圖解鎖設(shè)備會(huì)發(fā)生什么情況。同一用戶(hù)的不同姿勢(shì)和面部表情都會(huì)獲得一個(gè)較低的距離,大約平均為0.30左右。

下面看看如果是不同用戶(hù)嘗試解鎖設(shè)備會(huì)發(fā)生什么情況。不同用戶(hù)的人臉圖像計(jì)算得到的距離平均為1.10。

因此,使用一個(gè)0.40左右的閾值就應(yīng)該足夠防止陌生人解鎖您的手機(jī)設(shè)備。

結(jié)論

本文主要是展示FaceID解鎖機(jī)器的基本工作機(jī)制,采用的方法是基于人臉映射和孿生卷積神經(jīng)網(wǎng)絡(luò)。本文的Python代碼可以在這里獲得,希望本文對(duì)你有所幫助。

作者信息

Norman Di palo,羅馬大學(xué)學(xué)生,專(zhuān)注于人工智能、機(jī)器人。

文章原標(biāo)題《How I implemented iPhone X’s FaceID using Deep Learning in Python》,作者:Norman Di palo

文章為簡(jiǎn)譯,更為詳細(xì)的內(nèi)容,請(qǐng)查看原文

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/44652.html

相關(guān)文章

  • Ruff Chain 雙周報(bào) | 4月13日-4月26日

    摘要:終端利用芯片的神經(jīng)網(wǎng)絡(luò)計(jì)算能力,動(dòng)態(tài)識(shí)別人臉,實(shí)現(xiàn)出入口人員的安全認(rèn)證,有效管理人員進(jìn)出。 showImg(https://segmentfault.com/img/bVbrOPB?w=1280&h=719); 在過(guò)去的兩周,RuffChain 主要工作集中在測(cè)試網(wǎng)絡(luò)的代碼審計(jì)方面,為了能更加順利的上線(xiàn)主網(wǎng),RuffChain 將對(duì)測(cè)試網(wǎng)絡(luò)的所有代碼進(jìn)行細(xì)致嚴(yán)謹(jǐn)?shù)陌踩珜徲?jì),審計(jì)結(jié)束之后...

    tanglijun 評(píng)論0 收藏0
  • 使OpenCV與Face++實(shí)現(xiàn)人臉解鎖

    摘要:本文講解了如何使用,基于與實(shí)現(xiàn)人臉解鎖的功能。上接上一段程序讀取使用創(chuàng)建獲取進(jìn)度確認(rèn)到目前為止,你應(yīng)該已經(jīng)可以就給定的兩張圖片比對(duì)是否是同一個(gè)人了。 近幾天微軟的發(fā)布會(huì)上講到了不少認(rèn)臉解鎖的內(nèi)容,經(jīng)過(guò)探索,其實(shí)利用手頭的資源我們完全自己也可以完成這樣一個(gè)過(guò)程。 本文講解了如何使用Python,基于OpenCV與Face++實(shí)現(xiàn)人臉解鎖的功能。 本文基于Python 2.7.11,Win...

    cc17 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<