「人臉表情識別」如何做好表情識別任務的圖片預處理工作

2021-02-08 網易

  上一篇專欄文章中,我們介紹了人臉表情識別的相關概念以及研究現狀並了解了目前基於圖片的人臉表情識別領域最常用的幾個數據集。本文將介紹基於圖片的人臉表情識別中最常用的預處理方式和對應的方法。

  作者|Menpinland

  編輯|言有三

  跟其他人臉相關的機器學習任務一樣,在人臉表情識別中,對人臉進行預處理通常都是一個必不可少的環節。雖然可以利用深度學習方法在不經過預處理的情況下實現端到端的表情識別,但在實際場景下,表情數據通常是用戶非限制條件下拍攝產生,在這種環境下拍攝到的人臉存在著姿態變換、光線、遮擋等問題,端到端的表情方法在複雜的現實條件下很容易產生誤差。恰當的預處理能夠減少因圖像質量對識別效果的影響,同時也能提升算法的魯棒性。本文參考近年的兩篇人臉表情識別綜述[1,2],總結出在人臉表情識別預處理中較為常用的預處理方法:

  1人臉檢測

  人臉檢測基本上是所有人臉有關的任務中都會包含的一個預處理模塊,它把人臉從複雜的圖像中提取出來,後續只需專注於提取人臉的相關特徵,從而有效提升相關任務的效果。最常用的人臉提取方法是Viola和Jones在2001年在[3]提出的Viola-Jones(下面簡稱V&J)目標檢測器,它基於類Haar特徵以及Adaboost分類器實現了一個實時目標檢測的框架。同時由於Haar特徵更適合於人臉,因此其作為人臉檢測工具被更多人熟知。OpenCV中的Haar分類器就是基於Viola-Jones方法的一個改進版本[4]。

  

  圖1|OpenCV中使用Haar分類器進行人臉檢測

  當然還有基於深度學習的人臉檢測算法,如比較著名的多任務級聯卷積神經網絡(Multi-TaskCascadedConvolutionalNetwork,MTCNN)[5],或者直接用目標檢測的相關算法進行人臉的檢測,如Faster-CNN、SSD等進行。有關人臉檢測方法的選擇,在[2]中,對V&J和MTCNN做了簡單的對比:「儘管在大部分的論文中V&J仍然是人臉檢測方法中最常見的選擇,但MTCNN在保證實時性的同時,在人臉檢測和人臉對齊的幾個具有挑戰性的基準測試中勝過V&J。V&J仍然是使用最多的人臉檢測器的主要原因是,過去大多數論文都在受控條件表情數據集中對他們提出的人臉表情識別方法進行實驗,而V&J可以在受控的數據集中穩定地檢測到人臉。在非受控(自然)條件表情資料庫中實驗人臉表情識別方法通常是使用MTCNN」。

  

  圖2|MTCNN檢測原理

  2臉部歸一化

  前面提到,如果是在非受控條件下,人臉數據很可能會受到姿態變換、光線、遮擋等問題的幹擾,在這些情況下,人臉表達情緒的核心區域(眼睛、嘴巴)的信息就會缺失,從而大大影響模型訓練/測試的效果。因此,一些研究者考慮採用一些方法將人臉轉換為歸一化(normalization)的人臉(正臉、對比度合適、無遮擋)再進行表情識別模型的訓練。

  光照歸一化:早期研究[6]主要通過基於各向同性擴散(isotropicdiffusion,IS)的歸一化、基於離散餘弦變換(discretecosinetransform,DCT)的歸一化、高斯函數差分(differenceofGaussian,DoG)進行光照歸一化;隨後一些研究表明,與單獨使用光照歸一化相比,直方圖均衡與光照歸一化方法相結合可獲得更好的人臉識別性能,因此部分的研究者也將這種方法應用到表情識別中[7,8];但是,直接使用直方圖均衡可能會過分突出局部對比度,為了解決這個問題,[9]提出了一種加權求和方法,將直方圖均衡和線性映射相結合。

  

  圖3|論文[9]中的光照歸一化(從左到右依次為原始圖片、直方圖均衡後的圖、線性映射後的圖、直方圖均衡和線性映射加權求和後的圖)

  姿態歸一化:姿態歸一化主要內容就是將一些側臉的人臉圖像轉化為正面的人臉圖,最直接有效的方法是先進行三維重建,然後通過反投影的方式來合成原始圖像的正臉圖像[10];通過GAN來生成正臉表情也是近些年出現比較頻繁的姿態歸一化方式[11,12]。(ps:由於姿態歸一化有可能導致改變表情,尤其是在非受控條件下,因此近些年的文章也很少用姿態歸一化進行預處理)

  

  圖4|論文[10]中姿態歸一化的方法

  去除遮擋:遮擋問題相對於光照、姿態變換更加複雜,原因在於遮擋現象的出現是很不規律的。遮擋的部位可能是人臉上任意部位,遮擋物也可以是任意東西(頭髮、眼睛甚至拍攝圖片時的外部物體),因此更多的文章[13,14]是把帶遮擋的表情識別單獨作為研究命題,通過構建特殊網絡對含有遮擋的人臉表情進行識別。

  

  圖5|論文[13]中通過人工合成帶遮擋的圖片對帶遮擋的表情識別進行研究

  3數據增強

  最後一種預處理也是所有深度學習任務最常用的預處理方式——數據增強。深度學習需要足夠多的訓練數據才能保證算法模型的準確性與泛化能力,在表情識別領域,即便是研究得最久遠的基於圖片的人臉表情識別,目前最大的數據集AffectNet是40多萬張圖,跟ImageNet、VGGFace2等數據集相比還是小巫見大巫,至於其他更小眾的表情識別(如微表情識別)則更是少之又少。因此,有關表情識別的論文中基本上都會包含數據增強這步預處理操作。

  常規的數據增強方式可參考有三AI過去的文章《【

  「技術綜述」深度學習中的數據增強方法都有哪些?

  》。

  文獻[15]考慮到人臉表情數據特殊性,採用的增強方式都保留人臉表達情緒的核心區域;考慮到增強後的數據很可能會缺乏人臉表達情緒的核心區域,文獻[16,17]在測試時僅採用人臉的中央區域作為測試,文獻[18,19]對單幅圖像增強後的所有圖像進行預測並用取均值的方式預測該幅圖像對應表情類別;也有通過三維模型[20]或者GAN[21]來生成表情數據進行數據增強。

  4上期補充

  在上一篇專欄發出後,有位小夥伴提供了有關FER2013數據集使用的一些建議,因此筆者也在此處做補充。FER2013是一個通過Google搜尋引擎然後爬取收集成的一個人臉表情數據集,也是應該第一個比較有名的非受控條件下人臉表情的數據集。但該數據集最大的問題是許多與人臉表情毫無相關的圖片會被貼上表情的標籤,標註錯誤的樣本也不少,因此如果直接使用一些經典的深度學習模型去訓練,在不加任何tricks的情況下,識別準確率。針對數據集存在的問題,微軟在2016年重新標定了FER2013數據集並命名為FERplus,用重新標定後的數據集識別準確率會有所提高(筆者曾用同樣的方法,在FER2013中識別的準確率50%-60%,在FERplus中準確率70%-80%)。微軟的工作論文可參考[22],代碼可參考:https://github.com/microsoft/FERPlus。近幾年許多文章在實驗對比中也是會直接採用FERplus作為自己方法的對比。最後感謝上次小夥伴的留言,也歡迎其他大佬提供更多專欄的相關建議。

  

  圖6|同樣的圖片,FER2013(上)與FERplus(下)標籤對比

  5參考文獻

  [1]LiS,DengW.Deepfacialexpressionrecognition:Asurvey[J].IEEETransactionsonAffectiveComputing,2020.

  [2]CanedoD,NevesAJR.FacialExpressionRecognitionUsingComputerVision:ASystematicReview[J].AppliedSciences,2019,9(21):4678.

  [3]ViolaP,JonesM.Rapidobjectdetectionusingaboostedcascadeofsimplefeatures[C]//Proceedingsofthe2001IEEEcomputersocietyconferenceoncomputervisionandpatternrecognition.CVPR2001.IEEE,2001,1:I-I.

  [4]LienhartR,MaydtJ.Anext

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺「網易號」用戶上傳並發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關焦點

  • 人臉識別中的人臉表情識別技術
    隨著人臉識別技術的發展,如今在識別中應用到對人臉的表情進行識別,可以應用在人機互動、安全、機器人製造、醫療、通信和汽車領域等。那麼,暢視智能來告訴人臉識別技術的人臉表情識別要如何進行?圖像獲取:通過人臉識別攝像頭等圖像捕捉工具獲取靜態人臉圖像或動態圖像序列。
  • 【人臉表情識別】如何做好表情識別任務的圖片預處理工作
  • OpenCV人臉識別之一:數據收集和預處理
    本系列人臉識別文章用的是opencv2,最新版的opencv3.2的代碼請參考文章:《OpenCV之識別自己的臉——C++源碼放送》;《人臉識別源碼運行指南》(小編附在文末)前段時間對人臉檢測進行了一些嘗試:人臉檢測(C++/Python)(http://www.jianshu.com/p/504c081d7397)但是檢測和識別是不同的,檢測解決的問題是圖片中有沒有人臉;而識別解決的問題是
  • 人臉識別:AI產品經理需要了解的CV通識
    最近整理了CV方向的一些產品基礎知識,我的上一篇文章《看AI產品經理如何介紹「計算機視覺」(基於實戰經驗和案例)》算是這個系列的第一篇;本文是本系列下的第二篇,主要針對人臉識別進行梳理。後續還會有多目標跟蹤、OCR等方向的內容。希望大家能從這個系列收穫到更多的CV乾貨:)人臉識別(Face Recognition):對圖像中的人臉進行檢測、識別和跟蹤。
  • 好未來AI團隊獲EmotioNet人臉表情識別競賽冠軍
    網易科技訊4月20日消息,今天, CVPR2020的各項挑戰賽結果日前出爐,好未來AI工程院獲EmotioNet人臉表情識別競賽冠軍。
  • 福祉科普|表情識別——讓機器了解你的情緒
    表情識別的算法表情識別的過程主要由四個部分組成,分別是圖像獲取、人臉檢測、特徵提取、特徵分類。在傳統研究方法中,特徵提取是最為複雜的工作,其主要的方法有提取幾何特徵、統計特徵、頻率域特徵和運動特徵。這裡主要介紹一下給予整體統計特徵的方法,這種方法主要強調儘可能多的保留原始人臉表情圖像中的信息,並允許分類器發現表情圖像中的相關特徵,通過對整幅人臉表情圖片進行變換,獲取特徵進行識別。其主要使用的方法為PCA(主成分分析)和ICA(獨立主元分析)。但是這種方法會受到外來因素的幹擾,如光照、角度、複雜背景等。
  • 從心理語義學維度看人臉識別
    人們在日常生活中經常需要識別不同的面孔,其中既包括我們所熟悉的親屬、朋友、同事及知名人士等的面孔,也包括陌生人的面孔。人臉識別是一項非常複雜的任務,值得眾多學科研究。俄羅斯心理語言學研究表明,視角、光色、情感、心理和言語行為等都影響人臉識別。
  • 困於人臉識別
    一位麻省理工學院計算機科學專業的博士告訴我,通過人像收集與機器學習,黑客不僅能將你的臉替換至色情視頻,也可以用「對抗攻擊」(Adversarial attack)技術迷惑機器學習模型,代替你進入高鐵站,你工作的單位,甚至是你的家。生物數據,包括指紋,一直存在洩露和被偽造的風險,但隨著機器學習技術的發展以及人臉識別大規模應用,人臉信息變得更為敏感。
  • 【源碼】常用的人臉識別資料庫以及上篇性別識別源碼
    該集中,同一個人的照片有不同表情、光照、姿態和年齡的變化。包含 1 萬多張多姿態和光 照的人臉圖像,是人臉識別領域應用最廣泛的人臉資料庫之一。其中的多數人是西方人,每 個人所包含的人臉圖像的變化比較單一。http://www.flintbox.com/public/project/4742/由美國卡耐基梅隆大學建立。
  • 人臉信息0.5元一份 人臉識別也不靠譜了?
    現在在網際網路上都很流行人臉識別這個概念,這是繼指紋識別之後大家討論最多的一個熱點,大家都知道信息是很容易洩露的,那麼人臉識別有沒危險呢?最近就有記者曝光了這一情況,一些網絡黑產倒賣人臉數據泛濫,人臉數據甚至低至0.5元一份。
  • 人臉識別的全名:「人臉•過一陣子就被破解•識別」
    人臉識別技術大家都比較熟了,尤其是去年iPhone X面世,將面部識別推上了風口浪尖,各種惡搞本君還記憶猶新。
  • 一個照片「隱身衣」,讓微軟曠視人臉識別系統100%失靈|開源
    這就是來自芝加哥大學的最新研究:給照片加上一點肉眼看不出來的修改,就能讓你的臉成功「隱形」。如此一來,即使你在網絡上的照片被非法抓取,用這些數據訓練出來的人臉模型,也無法真正成功識別你的臉。用 x 指代原始圖片,xT為另一種類型/其他人臉照片,φ 則為人臉識別模型的特徵提取器。
  • 「口罩識別」後,「頭盔識別」躋身 AI 安防 C 位
    智能感應設備專門抓拍高清圖片,通過人臉識別技術、車牌識別技術、頭盔識別技術、大數據智能分析技術在全市範圍內對騎車佩戴安全頭盔實施全面管理。不管載人或是被載,未佩戴頭盔一律將收到罰單。截至今年5月6號,潮州交警已在他們市區查獲不佩戴頭盔案件283起。
  • 【附完整代碼:AI實戰】動手編寫人臉識別
    人臉識別在現實生活中有非常廣泛的應用,例如iPhone X的識別人臉解鎖屏幕、人臉識別考勤機、人臉識別開門禁、刷臉坐高鐵,還有識別人臉虛擬化妝
  • 追番必備,動漫角色也可以用人臉識別了
    機器之心報導作者:小舟用人臉識別找到你「老婆」。自七十年代以來,人臉識別已經成為了計算機視覺和生物識別領域研究最多的主題之一。近年來,傳統的人臉識別方法已經被基於卷積神經網絡(CNN)的深度學習方法代替。
  • 「深度」人臉識別泛濫,誰有權拿走你的人臉數據?
    看到這則通知後,在網際網路公司有過數據分析工作經歷的王軼感到有些不安。他發現雖然通知中寫到安裝智慧社區門禁後可以使用人臉識別(也就是「刷臉」)或者手機APP兩種方式來開門,但在辦理權限時都必須要錄入人臉照片。
  • 「人臉識別」是一柄雙刃劍,如何趨利避害?
    據了解,目前有80%以上售樓處安裝有人臉識別系統,有些開發商把人臉識別系統用於判客,以此識別購房者的類型。這些「無感人臉識別」或「被人臉識別」場景,讓人臉信息被濫用、被盜用風險加大。據新華熱點報導,前不久,一些網絡黑產從業者利用電商平臺,以「人臉信息0.5元一份」倒賣。
  • 如何應用MTCNN和FaceNet模型實現人臉檢測及識別
    AI 前線導讀:人臉檢測是對人臉進行識別和處理的第一步,主要用於檢測並定位圖片中的人臉,返回高精度的人臉框坐標及人臉特徵點坐標。人臉識別會進一步提取每個人臉中所蘊涵的身份特徵,並將其與已知的人臉進行對比,從而識別每個人臉的身份。
  • 這款讓你用臉玩的「表情跳舞機」,馬上就要成為下一個爆款啦 | 挖 App
    只要你的表情轉換幅度大,就有較大機會獲得 perfect 評價,評級一共分為「Perfect」、「Excellent」、「Great」和「OK」。表情做的越像、越誇張,得分越高在一段類似熱身的活動之後,只要你積累了足夠多的「Perfect」表情就會開啟一個「Crazy Face」的模式,這個時候就需要你用臉來一段「Freestyle」,瘋狂的作各種表情,自由的抽搐你的面部
  • 人臉識別:原理與應用
    近年來,人臉識別被廣泛用於金融、社保、電商、安防等領域。