1. 程式人生 > 其它 >Occlusion Aware Facial Expression Recognition Using CNN With Attention Mechanism(2019 TIP)

Occlusion Aware Facial Expression Recognition Using CNN With Attention Mechanism(2019 TIP)

為什麼有這篇文章(motivation)?

作者認為人臉不不同的region對FER(人臉表情識別)的貢獻是不同的,所以作者把人臉裁剪為patch的形式(利用關鍵點得到24個patch),計算每個patch對FER的貢獻度(利用attention)。但是local patch可能會漏掉一些有用的資訊,所以作者提出了global ACNN,對local ACNN獲得的資訊作為補充。

怎麼做?(僅記載local patch部分,global與local操作一樣)

將local patch中的512x6x6的feature map轉換為一個unweighted的特徵向量

表示第i個patch的沒有被遮擋的程度,值越大,說明該patch沒有被遮擋,表示Attention Net操作, consisting a pooling operation, one convolution

operation, two inner productions, and a sigmoid activation.

表示每個loacl patch帶有權重的feature map.

文中有一句:Through the end-to-endtraining of the overall pACNN, these PG-Units can automatically learn low weights for the occluded parts and high weights for the unblocked and discriminative parts.

其中automatically learn = adaptive learning指的是通過最後的softmax來自適應的學習權重。(個人理解,如有錯誤,請指正!!!)

總結:

1. 本文用的是local patch+ global相結合的方式,並且對local 和global都使用attention對其feature map的向量加權。

2. 但是文章中的Attention net為啥就能對每個local patch學到的權重不一樣呢?

答:是因為每一個的local patch的feature map是不同的,所以經過Attention net(每個local pach經過的Attention net的設計模組都是一樣的哦)的之後得到不同的權值(權值為標量)【個人理解】

3. 單獨考慮local patch對FER的貢獻度,沒有考慮local patch之間的correaltion對FER的影響。比如人微笑的時候,眉毛,眼睛,嘴巴都呈現彎曲的狀態。