【蜂口 | AI人工智能】表情识别——龙鹏 深度学习与人脸图像应用连载(七)...
【文章首發(fā)于蜂口知道公眾號(hào),內(nèi)容來源于蜂口小程序,歡迎關(guān)注了解~】
作者:龍鵬,前360AI研究員算法工程師,現(xiàn)任陌陌深度學(xué)習(xí)實(shí)驗(yàn)室高級(jí)算法工程師。
本次繼續(xù)給大家 帶來的是表情識(shí)別這個(gè)問題。 我們將從四個(gè)方向給大家進(jìn)行分享。
首先,我們會(huì)給大家科學(xué)地定義一下表情是什么? 表情實(shí)際上包含了我們平常所說的表情以及微表情。
其次,我們會(huì)簡(jiǎn)單地介紹一下傳統(tǒng)方法的研究思路。 傳統(tǒng)的方法主要從靜態(tài)圖和動(dòng)態(tài)視頻兩個(gè)方面進(jìn)行講述。
然后,我們?cè)俳o大家介紹一下深度學(xué)習(xí)的方法。
最后,我們對(duì)表情分類這個(gè)問題的應(yīng)用和它的難點(diǎn)做一個(gè)完整的介紹。
下面開始我們第一部分的分享:什么是表情?
所謂表情其實(shí)指的是面部的肌肉的運(yùn)動(dòng)。 我們平常所說的表情包含七種基本的表情, 主要是包括憤怒 、 厭惡、恐懼、快樂、悲傷 、 驚訝 以及蔑視等。
上面這張圖是一個(gè)表情常用的數(shù)據(jù)集, 這個(gè)數(shù)據(jù)集包含了八種表情, 實(shí)際上就是對(duì)應(yīng)我們左邊所說的七種表情以及中性, 也就是無 表情 。 當(dāng)然這個(gè)圖的順序跟我們前面的文字沒有一一對(duì)應(yīng)。 總之這七種表情就是我們平常最常見的表情。
但是表情實(shí)際上并不僅僅如此。 科學(xué)上還有一種表情叫做微表情。 微表情的研究常常被心理學(xué)家和犯罪科學(xué)家用于相關(guān)的研究。
那什么是微表情呢? 所謂微表情,其實(shí)就是持續(xù)時(shí)間非常短, 它只是某種無意識(shí)地使人類在隱藏某種情感。 無意識(shí)的一個(gè)行動(dòng),它的持續(xù)時(shí)間通常不到一秒鐘。
舉個(gè)例子, 當(dāng)我們有的時(shí)候表現(xiàn)出微笑, 但其實(shí)我們表示的是蔑視這樣的一種感情。 大家平時(shí)應(yīng)該有這樣的感受。 所以表情其實(shí)分為基本表情和微表 情 這兩大類。 當(dāng)然還有更多更豐富的表情, 是我們所研究的問題的復(fù)雜性來定, 我們可以去進(jìn)行更多的分類。
那表情它是怎么形成的 呢 ? 前面我們說了表情實(shí)際上是面部的肌肉運(yùn)動(dòng), 而面部的肌肉運(yùn)動(dòng)雖然是一個(gè)整體, 但是這個(gè)肌肉運(yùn)動(dòng)實(shí)際上也可以分離開幾個(gè)區(qū)域, 主要包含這么一些區(qū)域:
a)眉毛。眉毛主要包含皺眉、抬眉等等。 它分別可以表示一些驚訝以及一些蔑視的表情。
b)眼瞼。眼瞼包含 抬眼 瞼 以及閉眼瞼這樣一個(gè)動(dòng)作。 它實(shí)際上包含的可能是驚訝、無聊這樣的一些表情。
c)眼睛。眼睛可以包含憤怒、蔑視等等。
d)嘴唇。嘴唇的表情非常的豐富, 它可以包含微笑、嘟嘴、驚訝等等。
e) 鼻子。鼻子它相對(duì)來說要簡(jiǎn)單一些。比如 我們常說的聳鼻等等, 它可以表示一種蔑視的表情。
f)下巴 。 下巴 也可以表示一些嘟嘴之類的表情, 甚至一些驚訝之類的表情。
總的來說,人臉的面部包含了上面列舉的這幾大區(qū)域, 由這幾大區(qū)域 各自 就組成了表情 基 , 也就是 action uints 。 一般我們?cè)谘芯康臅r(shí)候,表情 基 會(huì)有20個(gè)左右。 這里我們展示了28個(gè)技術(shù)的表情 基 , 由這些基本的表情 基 就可以組成人臉的豐富的表情。
表情的研究方法也是分兩類: 傳統(tǒng)的方法和深度學(xué)習(xí)方法。
傳統(tǒng)的方法 主要是兩個(gè)方面來進(jìn)行研究:
一方面是靜態(tài)的圖。所謂靜態(tài)圖就是一張人臉的圖片。 通常我們會(huì)使用一張對(duì)齊好的人臉圖片。 那么對(duì)于 靜態(tài) 圖, 我們來研究的表情通常就采用一些傳統(tǒng)的人臉的特征, 包含一些紋理啊等等一些特征。
另一方面是動(dòng)態(tài)圖。 所謂動(dòng)態(tài)圖就是一個(gè)視頻, 因?yàn)槿四樀谋砬樗焐且粋€(gè)運(yùn)動(dòng)的動(dòng)作, 也就是肌肉的運(yùn)動(dòng), 所以用動(dòng)態(tài)的圖或者視頻來表征是一個(gè)更好的方案。
那么動(dòng)態(tài)圖主要有兩種研究思路:
一種是 光 流 法 。 光 流 法本身就是用于運(yùn)動(dòng)的 跟蹤 的, 所以我們可以用 光流+ 梯度場(chǎng)來跟蹤我們的表情的運(yùn)動(dòng)區(qū)域。 前面我們可以分為了一句表情 基 , 可以對(duì)人臉的區(qū)域進(jìn)行幾個(gè)區(qū)域的劃分, 我們可以用光 流+ 梯度場(chǎng)來進(jìn)行跟蹤。 當(dāng)我們跟蹤到這個(gè)區(qū)域之后, 我們就可以用這些區(qū)域運(yùn)動(dòng)的方向的變化來表示人臉肌肉的運(yùn)動(dòng), 表征到人 臉 肌肉的運(yùn)動(dòng)之后, 我們就可以得到相應(yīng)的人臉的表情。
第二個(gè)是用 ASM等模型 。ASM等模型也就是主動(dòng)形狀模型。它本身就是提取的面部的關(guān)鍵點(diǎn),而我們?nèi)四樀谋砬閷?shí)際上可以用面部關(guān)鍵點(diǎn)來進(jìn)行表征。因?yàn)槊娌筷P(guān)鍵點(diǎn)它有 序號(hào) 的信息,所以我們基于面部關(guān)鍵點(diǎn),還可以分區(qū)域的對(duì)人類的表情進(jìn)行表征,基于動(dòng)態(tài)圖的思路會(huì)取得更好的研究效果。
這就是傳統(tǒng)的方法。
如今,在深度學(xué)習(xí)已經(jīng)遍地開花的時(shí)代, 我們更多的是采用深度學(xué)習(xí)的方法來研究人類表情這樣的問題 。
深度學(xué)習(xí)的方法, 它主要包含兩個(gè)問題:
一個(gè)是 分類的問題 。 前面我們說了,人 臉 的表情 包含了非常多的表情 基 , 所以對(duì)于 每一個(gè)區(qū)域的表情 基 , 我們可以進(jìn)行分別的分類。 那么人臉的表情,對(duì)于輸入這樣一張圖, 這就是一個(gè)多標(biāo)簽分類的問題。所謂多標(biāo)簽分類, 我們?cè)谇懊嬉步o大家介紹過, 就是說一張圖它不僅僅對(duì)應(yīng)一個(gè)唯一的標(biāo)簽, 它可能包含了多個(gè)維度, 我們要判斷每一個(gè)維度上是否存在它的信息。
上圖是一個(gè)常見的 pipeline框架。 我們可以看到它將人臉的圖分成了 8×8這樣的一個(gè)區(qū)域, 將每一個(gè)圖像塊都經(jīng)過一個(gè)單獨(dú)的 卷積 , 一個(gè)單獨(dú)的 卷積 通道, 然后獲取到它的一個(gè)特征圖的表示。 然后我們可以把特征圖的特征向量進(jìn)行串接起來, 然后再進(jìn)行分類。 這就是一個(gè)典型的多分類的問題。
分類問題我們可以得到一個(gè)表情 基 是否存在。 但是當(dāng)我們?cè)趹?yīng)用表情的時(shí)候, 我們知道一個(gè)表情的存在還不能完美的解決我們的問題, 有時(shí)候我們希望知道這個(gè)表情的幅度是多大, 所以又帶來另一個(gè)問題,即 回歸的問題 。
回歸的問題 估計(jì)的就是表情的幅度。
比如上面這張圖, 從左到右它是一個(gè)微笑的過程, 但是微笑的幅度是不一樣的。 最右邊微笑的幅度最大, 最左邊基本上已經(jīng)看不到微笑,或者說他不是微笑。 有的時(shí)候很多的時(shí)候我們需要對(duì)表情做遷移, 或者對(duì)表情進(jìn)行編輯,那么我們需要估計(jì)表情的幅度, 估計(jì)表情的幅度相對(duì)于表情分類來說,它更加困難。 因?yàn)槿四樏娌康谋砬? 基 之間并非是完全獨(dú)立的, 比如嘴巴的運(yùn)動(dòng)會(huì)牽動(dòng)下巴的運(yùn)動(dòng), 鼻子的運(yùn)動(dòng)也會(huì)牽動(dòng)嘴巴的運(yùn)動(dòng), 所以我們無法單獨(dú)地對(duì)表情 基 進(jìn)行估計(jì)。
通常意義上常用的研究方法是對(duì)各個(gè)表情基之間建立了一個(gè)圖, 然后我們會(huì)去優(yōu)化這樣的一個(gè)圖,利用 CRF 等方法來進(jìn)行優(yōu)化。 更多的具體細(xì)節(jié),大家可以線下去關(guān)注。
表情幅度的估計(jì)問題的 常用方法就是前面所說的這樣的幾種思路。
最后我們來看看表情的應(yīng)用, 表情 可以應(yīng)用在哪些地方?
首先,游戲。我們可以用 表情 在玩很多的游戲, 比如主播之間利用表情來作 PK, 然后來玩類似于消消樂這樣的一些游戲。
其次,人機(jī)交互。可以利用表情來做很多的人機(jī)的控制交互。
最后,表情遷移。 如下圖:
這張圖就是一個(gè) avatar , 我們利用人臉來 實(shí)時(shí) 的做一些表情, 從而將這些表情驅(qū)動(dòng)到我們這樣的一個(gè) 3D的模型上面 來做一些展示, 這樣的一個(gè)應(yīng)用在電影里面, 在 CG 制作里面是非常非常有商業(yè)前景的。
不過表情估計(jì) 它 也有很多的難點(diǎn):
第一個(gè)難點(diǎn)是表情非常的復(fù)雜多變。 前面我們說了人臉的表情有七個(gè)基本表情, 但實(shí)際上表情還包含非常非常多, 甚至表情都不一定是面部帶來的, 它甚至還有其他的圖像, 非面部區(qū)域以外也能帶來一些表情。 它 的變化非常復(fù)雜, 再加上人臉又是一個(gè)柔性的模型。
第二個(gè)難點(diǎn)是 表情 幅度的量化問題。 像我們上面展示的這樣一張圖, 我們要用人臉來驅(qū)動(dòng)這樣的一個(gè) avatar、 這樣的一個(gè)3D模型來做一些表情的動(dòng)作, 那么我們不可避免的要估計(jì)人臉, 也就是真人 他 的表現(xiàn)的幅度是多大, 而對(duì)他的幅度進(jìn)行量化, 就面臨了幾個(gè)挑戰(zhàn):
1)我們要對(duì)我們的幅度進(jìn)行標(biāo)注, 這是一個(gè)非常大的問題。 因?yàn)槲覀冃枰孟禂?shù)來量化我們的幅度, 它并不是那么直觀。
2)我們要利用方法, 前面我們所說的利用深度學(xué)習(xí)的方法來估計(jì)我們這樣的表 情 的幅度, 它也面臨著很多的困難。
好了,以上就是我們?nèi)四槺砬橄嚓P(guān)的分享。
免費(fèi)領(lǐng)取技術(shù)大咖分享課,加蜂口V信: fengkou-IT??????
感謝您的閱讀,更多精彩請(qǐng)持續(xù)關(guān)注蜂口微信小程序!
來自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/31553577/viewspace-2216044/,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任。
轉(zhuǎn)載于:http://blog.itpub.net/31553577/viewspace-2216044/
總結(jié)
以上是生活随笔為你收集整理的【蜂口 | AI人工智能】表情识别——龙鹏 深度学习与人脸图像应用连载(七)...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python绘制地图地图cartopy_
- 下一篇: 【您有新的未分配天赋点】网络流:从懵逼到