蘋果 iPhone X 的動話表情(Animoji)是如何實現的?

使用了哪些技術原理?難度有多大?

機器學習技術在其中有哪些應用?


「3D 結構光雙攝」技術

不只是方便和快,蘋果的人臉識別技術更重要的是提供了比指紋更高的安全性。

把人臉識別的安全性做到能夠充當身份驗證,蘋果運用的正是 3D 結構光技術,通過前置的 Infrared Camera 和 Dot Project 組件,iPhone X 能夠快速掃描人的面部並在人臉表面形成 3 萬個看不見的 IR Dot,就像 3D 建模一樣。

(圖片來源 The Verge)

這樣帶來的好處是,無論你髮型變化了、帶了眼鏡、帶了帽子、無論是白天還是夜晚,iPhone X 都依然能夠順利識別你的臉並完成解鎖。

而且為了更好的將收集到的數據進行分析,蘋果還根據 A11 晶元的能力專門構建了自己的神經網路,為人臉識別提供了足夠強大的計算能力,從而讓面部錄入和解鎖的過程順暢而快速。

同時蘋果為了安全性也為用戶的人臉數據提供了絕對的保護,蘋果這項全新的人臉識別技術其實就是之前爆料的「3D 結構光雙射」技術。其原理是基於主動發射特定紅外結構光照射被檢測物體,從而獲取人像的 3D 圖像數據。

3D 結構光是一種獲取 3D 圖像的方式,我們大多數時候所看到的圖像是在一個平面上的,不知道它每個點對應的深度。而 3D 圖片在獲取照片每個位置顏色的同時還獲取了每個位置的深度。而結構光的概念就是通過光源發射出一個不可見的光柵,去隔出一些特定的條文或圖案,之後再根據圖案的分布和扭曲程度,逆向計算出它的三維數據。

3D 結構光技術是目前比較通用的一種人臉識別技術,但這是第一次被運用到手機這種攜帶型的終端上。而蘋果這次將這一技術落地到手機上,對於手機行業未來的解鎖、身份驗證等方式將會又帶來一次革新。

動態 emoji,人臉識別造就的小亮點

在 iPhoneX 的人臉識別技術推出後,蘋果在軟體層面還推出了一個很有意思的人臉識別的動態 emoji——Animoji。

利用 iPhone X 的面部識別功能,iPhone X 能夠實時且高精度的將你的面部表情轉化到一個 3D 的 emoji 表情上,讓這個表情做出相一樣的表情,並且相似度非常之高!

(圖片來源:The Verge)

因為有 3D 結構光雙攝的支持,所以能夠讓面部的所有細節的捕捉非常精準,然後再運用到 emoji 表情上。

你可以用這個功能錄一段話,生成一個用你的聲音和表情說話的 emoji 表情,並將它發送給朋友。想像一下給你的每段語音加上一個動態的配套表情,幫你把語音信息說出來,簡直不要太有趣。

不過這個功能目前僅僅存在於 iMessage,並且只有 iPhone X 能夠使用……所以想玩 Animoji,你還需要花至少 8388 塊人民幣。

本文出自早優夫斯基,源自極客公園。


算是 Audio-Driven Facial Animation by Joint End-to-End Learning of Pose and Emotion 中的最後一步 根據面部參數渲染emoji,論文是從音頻輸入預測表情參數,Apple是從視覺輸入提取面部參數,之後再渲染emoji。

YouTube 文章介紹 https://www.youtube.com/watch?v=ZtP3gl_2kBM


好奇怎麼邀請我回答這個問題,這還是第一次有人邀請我回答問題呢,雖然沒有試玩過蘋果iPhone X 的這個animoj,但是從已有的回答描述中,大概知道這是個什麼功能。這個功能我司也做過並且也持續優化中,不過用的不是結構光掃描,而是普通的可見光攝像頭,單目喲,只要你對著攝像頭左右上下晃動頭部,就可以建立你的三維人臉模型,然後就可以根據你的表情動作去控制其他已經建立好的三維物體模型,比如動物啊,或者是其他人臉。這個技術還可以攻破某些簡單的活體檢測演算法,比如有些活體檢測靠人配合動動嘴啊,眨眨眼睛什麼的,這個技術就可以輕易破解,只要有對方的照片,如果有各個角度的照片再好不過,只有一張正臉的也行,就可以利用自己的三維人臉模型去控制對方的人臉模型。

下面從我理解的角度,來說說這裡面涉及到的技術原理,主要是用到了三維人臉重建技術,然後是人臉特徵提取演算法,要去選擇一些能夠表徵人臉表情動作的一些點出來,然後建立這些點在兩個不同三維模型間的映射關係,通過一方的這些點的三維坐標變化,相應的去改變另一方的三維點坐標,從而實現控制人物或動物的表情動作。難點就在於如何建立較為準確的人臉三維模型,像蘋果利用結構光雙攝還容易點,如果僅僅利用幾張人臉圖片信息難度會大一些,畢竟採集圖像信息有限。

蘋果用結構光雙攝掃描,可以重建出很精確的人臉三維模型,所以貴啊,如果蘋果不用結構光,就用手機自身的攝像頭來做,達到相同的效果,我會很服氣。

哈哈,說了這麼一堆,全是個人見解,想到什麼就說了,也沒注意什麼邏輯,各位隨意觀看


steam里有一個軟體和faceID很像,我買了,用處真的很小,我不做直播不做視頻,剛買的時候還會玩一下,那個連舌頭都可以動的。


之前收購的face shift,有幾篇相關的論文可以參考,最後一篇好像是用kinect做的。

(iphonex的前置攝像頭是個小kinect?)


在今年的蘋果秋季發布會上,iPhone X 的「小劉海」給我們帶來的不是只有 Face ID,還有一個也可以說是非常有意思的更新,那就是 iOS 11 中全新的 3D Emoji —— Animoji。

Animoji 在 iOS 11 中是單獨存在的一個 iMessage App,這款比較特殊又比較炫酷的 Animoji ,受到了硬體的限制,想要體驗它就必須使用 iPhone X,更加準確的說是因為 True Depth Camera 的原因。

iPhone X「小劉海」上的感測器

iPhone X 的 True Depth Camera 是由「小劉海」區域中的紅外鏡頭、泛光感應元件、距離感應器、環境光感測器、點陣投影器組成。五種感測器會共同分析你的面部的一些特徵點,然後根據相關的面部識別演算法來構建一個面部模型,最終模型就反饋在 Animoji 的動態效果上。可能目前的識別效果還不能完全跟上你面部肌肉活動的速度,也對面部到感測器的距離有一定的要求,例如在很多上手視頻中你都可以看到,當面部側轉到一定角度的時候,Animoji 就不能很好的跟隨,但是它可以大致上反應你面部表情的一個變化。

Jony Ive

根據發布會現場的演示,以及 EmojiPedia 上的消息顯示,目前 Animoji 暫時只有 12 款,分別是:

  • Alien

  • Cat Face

  • Chicken

  • Dog Face

  • Fox Face

  • Monkey Face

  • Panda Face

  • Pig Face

  • Pile of Poo

  • Rabbit Face

  • Robot Face

  • Unicorn Face

在 iMessage 中,打開下面的 Animoji App 錄製你的表情時,你不僅可以錄製面部的表情變化,還可以錄製聲音,但是聲音不是原聲。它會根據你選擇不同的 Animoji,而進行調製以發出不同的聲音。

當然,所有的搭載 iOS 11 的 iPhone 在開啟 iMessage 的功能後,均可以收到 iPhone X 發送的 Animoji,也可以聽到聲音。

Craig Federighi

與我們通常使用的 Emoji 不同,Animoji 只能用於 iMessage。因此,它更像是 3D 貼紙而非文本符號。Animoji 作為一種表情表達方式上的創新,可能會在以後的聊天模式上有一定的影響,我們的聊天從最開始的純文本形式,到後面的各類「暴漫」表情包,到了如今的 Animoji,這無疑是一個很大的創新。當有一天你打開的 iMessage,對面的語音從一個 Emoji 動畫中發出來,也可以說是非常有意思了。或許以後,你手機里存著的,都是你原創的 Animoji 表情包了。

Craig Federighi

目前,Animoji 錄製的長度限制為 10 秒,發出去的 Animoji 可以再次點開播放,也可以選擇轉發給其他用戶。根據發布會的視頻,在 Craig Federighi 收到 Animoji 後,點開播放時,界面的左下角有一個分享按鈕,我們可以猜測 Animoji 有可能能夠保存至你的相冊,但究竟是以 Live Photo 的形式,還是以視頻的形式,只有在 iPhone X 上手之後才知道了。

參考資料

  • Apple"s New Animoji
  • Animated Emojis Coming to iOS
  • When Is Apple Releasing New Emojis?

少數派接下來會持續報道新 iPhone 和 iOS 11 的方方面面,歡迎你通過 少數派 iOS App 及時獲取最新內容。


emmm... 這個問題其實我只能回答一半。表情其實是3D的表情,iiPhone也會為你的臉建立一個3D的模型,人臉模型骨骼節點的移動也會映射到表情的模型上,就是這樣。

至於另一半就是如何建立人臉的3D模型...

還有機器學習嘛... 在這並沒有被應用的跡象。


這大概是唯一吸引我的一點了。。

Kinect貌似是不能追蹤面部表情的。。


推薦閱讀:

怎麼把macbook air和iPhone 6s用到極致——知乎、Quora相關回答索引

TAG:iPhone | iPhoneX | Apple特別活動2017年9月 |