深度学习实时表情识别
背景
計算機(jī)動畫代理和機(jī)器人為人機(jī)交互帶來了新的維度,這使得計算機(jī)如何在日常活動中影響我們的社交生活變得至關(guān)重要。 面對面的交流是一個以毫秒級的時間尺度運行的實時過程。 這個時間尺度的不確定性是相當(dāng)大的,這使得人類和機(jī)器有必要依賴感官豐富的感知原語,而不是緩慢的符號推理過程。 在這個項目中,我們展示了七種最基本的人類表情的實時面部表情識別:憤怒、厭惡、恐懼、快樂、中立、悲傷、驚訝。
現(xiàn)實問題
從七種基本的人類表情中對圖像中的面部表情進(jìn)行分類。
該模型可用于預(yù)測靜態(tài)圖像和實時視頻的表達(dá)。 但是,在這兩種情況下,我們都必須為模型提供圖像。 在實時視頻的情況下,應(yīng)該在任何時間幀拍攝圖像并將其提供給模型以進(jìn)行表情預(yù)測。 系統(tǒng)使用 HAAR 級聯(lián)自動檢測人臉,然后對其進(jìn)行裁剪并將圖像調(diào)整為特定大小,并將其提供給模型進(jìn)行預(yù)測。 該模型將生成對應(yīng)于七個表達(dá)式的七個概率值。 對應(yīng)表達(dá)式的最高概率值將是該圖像的預(yù)測表達(dá)式。
然而,我們在這里的目標(biāo)是預(yù)測人類的表情,但我們已經(jīng)在人類和動畫圖像上訓(xùn)練了我們的模型。 因為,我們只有大約 1500 張人體圖像,這對于制作一個好的模型來說非常少,所以我們拍攝了大約 9000 張動畫圖像,并利用這些動畫圖像來訓(xùn)練模型,最終對人體圖像進(jìn)行表情預(yù)測。
為了更好地預(yù)測,我們決定將每張圖像的大小保持為 350*350。
目標(biāo)和約束
目標(biāo)
我們的目標(biāo)是盡可能快速準(zhǔn)確地實時預(yù)測人臉的表情。
約束
性能指標(biāo)
這是一個具有 7 個不同類別的多類別分類問題,因此我們考慮了三個性能指標(biāo):
數(shù)據(jù)源
數(shù)據(jù)類型
我們總共有 10596 張圖片。其中1496幅是人體圖像,9100幅是動畫圖像。因此,我們有兩種類型的圖像。一種是人像,另一種是動畫圖像。
一些人類圖像的例子:
一些動畫圖像的例子:
庫
我們使用了幾乎所有在普通 ML/DL 問題中使用的庫,如 pandas、numpy、matplotlib、sklearn 等。但在這里我想強(qiáng)調(diào)兩個重要的庫。
圖像初始預(yù)處理概述
訓(xùn)練/測試/分割
對于人類和動畫圖像,我們已經(jīng)拆分了我們的數(shù)據(jù),使得所有三個數(shù)據(jù)(即train、CV 和 test)都應(yīng)該得到均勻分布的類標(biāo)簽圖像。
人體圖像的分布如下:
動畫圖像的分布如下:
圖像的最終處理
結(jié)合人類和動畫的訓(xùn)練數(shù)據(jù)
從 VGG-16 模型創(chuàng)建瓶頸特征(轉(zhuǎn)移學(xué)習(xí))
建模和訓(xùn)練
測試結(jié)果
測試真實圖片
源代碼
詳情參閱 - 亞圖跨際
總結(jié)
以上是生活随笔為你收集整理的深度学习实时表情识别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python入门学习—元组/字符串(Fi
- 下一篇: dev gridview 打印列数过多_