成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

sixgo / 1657人閱讀

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

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

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

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

了解FaceID

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

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

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

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

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

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

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

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

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

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

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

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

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

實(shí)驗(yàn)

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

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

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

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

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

結(jié)論

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

作者信息

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

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

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

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/44652.html

相關(guān)文章

  • Ruff Chain 雙周報 | 4月13日-4月26日

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

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

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

    cc17 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<