【蜂口 | AI人工智慧】表情識別——龍鵬 深度學習與人臉影像應用連載(七)
【文章首發於蜂口知道公眾號,內容來源於蜂口小程式,歡迎關注瞭解~】
作者:龍鵬,前360AI研究員演算法工程師,現任陌陌深度學習實驗室高階演算法工程師。
本次繼續給大家 帶來的是表情識別這個問題。 我們將從四個方向給大家進行分享。
首先,我們會給大家科學地定義一下表情是什麼? 表情實際上包含了我們平常所說的表情以及微表情。
其次,我們會簡單地介紹一下傳統方法的研究思路。 傳統的方法主要從靜態圖和動態影片兩個方面進行講述。
然後,我們再給大家介紹一下深度學習的方法。
最後,我們對錶情分類這個問題的應用和它的難點做一個完整的介紹。
下面開始我們第一部分的分享:什麼是表情?
所謂表情其實指的是面部的肌肉的運動。 我們平常所說的表情包含七種基本的表情, 主要是包括憤怒 、 厭惡、恐懼、快樂、悲傷 、 驚訝 以及蔑視等。
上面這張圖是一個表情常用的資料集, 這個資料集包含了八種表情, 實際上就是對應我們左邊所說的七種表情以及中性, 也就是無 表情 。 當然這個圖的順序跟我們前面的文字沒有一一對應。 總之這七種表情就是我們平常最常見的表情。
但是表情實際上並不僅僅如此。 科學上還有一種表情叫做微表情。 微表情的研究常常被心理學家和犯罪科學家用於相關的研究。
那什麼是微表情呢? 所謂微表情,其實就是持續時間非常短, 它只是某種無意識地使人類在隱藏某種情感。 無意識的一個行動,它的持續時間通常不到一秒鐘。
舉個例子, 當我們有的時候表現出微笑, 但其實我們表示的是蔑視這樣的一種感情。 大家平時應該有這樣的感受。 所以表情其實分為基本表情和微表 情 這兩大類。 當然還有更多更豐富的表情, 是我們所研究的問題的複雜性來定, 我們可以去進行更多的分類。
那表情它是怎麼形成的 呢 ? 前面我們說了表情實際上是面部的肌肉運動, 而面部的肌肉運動雖然是一個整體, 但是這個肌肉運動實際上也可以分離開幾個區域, 主要包含這麼一些區域:
a)眉毛。眉毛主要包含皺眉、抬眉等等。 它分別可以表示一些驚訝以及一些蔑視的表情。
b)眼瞼。眼瞼包含 抬眼 瞼 以及閉眼瞼這樣一個動作。 它實際上包含的可能是驚訝、無聊這樣的一些表情。
c)眼睛。眼睛可以包含憤怒、蔑視等等。
d)嘴唇。嘴唇的表情非常的豐富, 它可以包含微笑、嘟嘴、驚訝等等。
e) 鼻子。鼻子它相對來說要簡單一些。比如 我們常說的聳鼻等等, 它可以表示一種蔑視的表情。
f)下巴 。 下巴 也可以表示一些嘟嘴之類的表情, 甚至一些驚訝之類的表情。
總的來說,人臉的面部包含了上面列舉的這幾大區域, 由這幾大區域 各自 就組成了表情 基 , 也就是 action uints 。 一般我們在研究的時候,表情 基 會有20個左右。 這裡我們展示了28個技術的表情 基 , 由這些基本的表情 基 就可以組成人臉的豐富的表情。
表情的研究方法也是分兩類: 傳統的方法和深度學習方法。
傳統的方法 主要是兩個方面來進行研究:
一方面是靜態的圖。所謂靜態圖就是一張人臉的圖片。 通常我們會使用一張對齊好的人臉圖片。 那麼對於 靜態 圖, 我們來研究的表情通常就採用一些傳統的人臉的特徵, 包含一些紋理啊等等一些特徵。
另一方面是動態圖。 所謂動態圖就是一個影片, 因為人臉的表情他天生是一個運動的動作, 也就是肌肉的運動, 所以用動態的圖或者影片來表徵是一個更好的方案。
那麼動態圖主要有兩種研究思路:
一種是 光 流 法 。 光 流 法本身就是用於運動的 跟蹤 的, 所以我們可以用 光流+ 梯度場來跟蹤我們的表情的運動區域。 前面我們可以分為了一句表情 基 , 可以對人臉的區域進行幾個區域的劃分, 我們可以用光 流+ 梯度場來進行跟蹤。 當我們跟蹤到這個區域之後, 我們就可以用這些區域運動的方向的變化來表示人臉肌肉的運動, 表徵到人 臉 肌肉的運動之後, 我們就可以得到相應的人臉的表情。
第二個是用 ASM等模型 。ASM等模型也就是主動形狀模型。它本身就是提取的面部的關鍵點,而我們人臉的表情實際上可以用面部關鍵點來進行表徵。因為面部關鍵點它有 序號 的資訊,所以我們基於面部關鍵點,還可以分割槽域的對人類的表情進行表徵,基於動態圖的思路會取得更好的研究效果。
這就是傳統的方法。
如今,在深度學習已經遍地開花的時代, 我們更多的是採用深度學習的方法來研究人類表情這樣的問題 。
深度學習的方法, 它主要包含兩個問題:
一個是 分類的問題 。 前面我們說了,人 臉 的表情 包含了非常多的表情 基 , 所以對於 每一個區域的表情 基 , 我們可以進行分別的分類。 那麼人臉的表情,對於輸入這樣一張圖, 這就是一個多標籤分類的問題。所謂多標籤分類, 我們在前面也給大家介紹過, 就是說一張圖它不僅僅對應一個唯一的標籤, 它可能包含了多個維度, 我們要判斷每一個維度上是否存在它的資訊。
上圖是一個常見的
pipeline框架。
我們可以看到它將人臉的圖分成了
8×8這樣的一個區域,
將每一個影像塊都經過一個單獨的
卷積
,
一個單獨的
卷積
通道,
然後獲取到它的一個特徵圖的表示。
然後我們可以把特徵圖的特徵向量進行串接起來,
然後再進行分類。
這就是一個典型的多分類的問題。
分類問題我們可以得到一個表情 基 是否存在。 但是當我們在應用表情的時候, 我們知道一個表情的存在還不能完美的解決我們的問題, 有時候我們希望知道這個表情的幅度是多大, 所以又帶來另一個問題,即 迴歸的問題 。
迴歸的問題 估計的就是表情的幅度。
比如上面這張圖, 從左到右它是一個微笑的過程, 但是微笑的幅度是不一樣的。 最右邊微笑的幅度最大, 最左邊基本上已經看不到微笑,或者說他不是微笑。 有的時候很多的時候我們需要對錶情做遷移, 或者對錶情進行編輯,那麼我們需要估計表情的幅度, 估計表情的幅度相對於表情分類來說,它更加困難。 因為人臉面部的表情 基 之間並非是完全獨立的, 比如嘴巴的運動會牽動下巴的運動, 鼻子的運動也會牽動嘴巴的運動, 所以我們無法單獨地對錶情 基 進行估計。
通常意義上常用的研究方法是對各個表情基之間建立了一個圖, 然後我們會去最佳化這樣的一個圖,利用 CRF 等方法來進行最佳化。 更多的具體細節,大家可以線下去關注。
表情幅度的估計問題的 常用方法就是前面所說的這樣的幾種思路。
最後我們來看看錶情的應用, 表情 可以應用在哪些地方?
首先,遊戲。我們可以用 表情 在玩很多的遊戲, 比如主播之間利用表情來作 PK, 然後來玩類似於消消樂這樣的一些遊戲。
其次,人機互動。可以利用表情來做很多的人機的控制互動。
最後,表情遷移。 如下圖:
這張圖就是一個 avatar , 我們利用人臉來 實時 的做一些表情, 從而將這些表情驅動到我們這樣的一個 3D的模型上面 來做一些展示, 這樣的一個應用在電影裡面, 在 CG 製作裡面是非常非常有商業前景的。
不過表情估計 它 也有很多的難點:
第一個難點是表情非常的複雜多變。 前面我們說了人臉的表情有七個基本表情, 但實際上表情還包含非常非常多, 甚至表情都不一定是面部帶來的, 它甚至還有其他的影像, 非面部區域以外也能帶來一些表情。 它 的變化非常複雜, 再加上人臉又是一個柔性的模型。
第二個難點是 表情 幅度的量化問題。 像我們上面展示的這樣一張圖, 我們要用人臉來驅動這樣的一個 avatar、 這樣的一個3D模型來做一些表情的動作, 那麼我們不可避免的要估計人臉, 也就是真人 他 的表現的幅度是多大, 而對他的幅度進行量化, 就面臨了幾個挑戰:
1)我們要對我們的幅度進行標註, 這是一個非常大的問題。 因為我們需要用係數來量化我們的幅度, 它並不是那麼直觀。
2)我們要利用方法, 前面我們所說的利用深度學習的方法來估計我們這樣的表 情 的幅度, 它也面臨著很多的困難。
好了,以上就是我們人臉表情相關的分享。
免費領取技術大咖分享課,加蜂口V信: fengkou-IT
感謝您的閱讀,更多精彩請持續關注蜂口微信小程式!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31553577/viewspace-2216044/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【蜂口 | AI人工智慧】人臉顏值——龍鵬 深度學習與人臉影像應用連載(五)AI人工智慧深度學習
- 【蜂口 | AI人工智慧】人臉年齡——龍鵬 深度學習與人臉影像應用連載(六)AI人工智慧深度學習
- 【蜂口 | AI人工智慧】人臉檢測(上)——龍鵬 深度學習與人臉影像應用連載(一)AI人工智慧深度學習
- 【蜂口 | AI人工智慧】關鍵點檢測——龍鵬 深度學習與人臉影像應用連載(三)AI人工智慧深度學習
- 龍鵬 ——《深度學習與人臉影像應用》預告篇*專案整體介紹深度學習
- 【蜂口 | AI人工智慧】caffe模型訓練——龍鵬的一站式caffe工程實踐連載(七)AI人工智慧模型
- 【蜂口 | AI人工智慧】影像分割要點梳理——龍鵬的一站式caffe工程實踐連載(九)AI人工智慧
- 【蜂口 | AI人工智慧】影像分割的關鍵技術——龍鵬的一站式caffe工程實踐連載(五)AI人工智慧
- 【蜂口 | AI人工智慧】模型測試——龍鵬的一站式caffe工程實踐連載(八)AI人工智慧模型
- 【蜂口 | AI人工智慧】模型選擇與設計——龍鵬的一站式caffe工程實踐連載(六)AI人工智慧模型
- 【蜂口 | AI人工智慧】caffe框架的使用——龍鵬的一站式caffe工程實踐連載(三)AI人工智慧框架
- 【蜂口 | AI人工智慧】搭建caffe依賴環境——龍鵬的一站式caffe工程實踐連載(一)AI人工智慧
- 【蜂口 | AI人工智慧】caffe新增新網路層——龍鵬的一站式caffe工程實踐連載(四)AI人工智慧
- 【蜂口 | AI人工智慧】資料準備的完整過程——龍鵬的一站式caffe工程實踐連載(二)AI人工智慧
- 人臉活體檢測人臉識別:眨眼+張口
- 人工智慧-深度學習-yolov3口罩佩戴識別人工智慧深度學習YOLO
- 人臉識別技術應用
- 人臉識別與人體動作識別技術及應用pdf
- 學校人臉識別應用6大核心特性
- AI前哨站:人臉識別應用公眾調研報告(附下載)AI
- 人臉識別:技術應用與商業實踐
- 美顏SDK人臉表情識別技術詳解
- [OpenCV實戰]1 基於深度學習識別人臉性別和年齡OpenCV深度學習
- 基於深度學習的人臉識別系統系列(Caffe+OpenCV+Dlib)——【六】設計人臉識別的識別類深度學習OpenCV
- 乾貨 | AI人臉識別之人臉搜尋AI
- 手把手教你運用深度學習構建影片人臉識別模型(Python實現)深度學習模型Python
- 人臉識別和手勢識別應用(face++)開發
- 人臉識別技術演進:從幾何演算法到深度學習的深度剖析演算法深度學習
- 手把手教你運用深度學習構建視訊人臉識別模型(Python實現)深度學習模型Python
- 人臉識別學習筆記一:入門篇筆記
- 人臉識別學習筆記二:進階篇筆記
- 淺析人臉識別技術應用場景
- 人臉美化和人臉識別在美顏SDK中的具體應用
- 「人臉識別」人工智慧應用最廣泛的技術,你瞭解多少?人工智慧
- 人臉識別不到位,兄弟秒變父與子!AI 研習社「人臉年齡識別挑戰賽」火熱進行中AI
- 基於卷積神經網路的人臉表情識別應用--AR川劇變臉(一)卷積神經網路
- UCloud發力AI線上服務 UAI-SERVICE“零基礎”實現人臉表情識別CloudAI
- opencv 人臉識別OpenCV