PFLD:简单高效的实用人脸关键点检测算法
作者丨杜敏?
學校丨華中科技大學碩士
研究方向丨模式識別與智能系統
研究背景
人臉關鍵點檢測,在很多人臉相關的任務中,屬于基礎模塊,很關鍵。比如人臉識別、人臉驗證、人臉編輯等等。想做人臉相關的更深層次的應用,人臉關鍵點是繞不過去的點。正是因為它是一個基礎模塊,所以對速度很敏感,不能太耗時,否則影響了系統整體的效率。所以對人臉關鍵點檢測的要求是,又準又快。
研究問題
人臉關鍵點目前存在的問題(不能又準又快)的原因如下:
1.?局部變化:表情、局部特殊光照、部分遮擋,導致一部分關鍵點偏離了正常的位置,或者不可見了;?
2.?全局變化:人臉姿態、成像質量;
3.?數據不均衡:在人臉數據里面,數據不均衡體現在,大部分是正臉數據,側臉很少,所以對側臉、大角度的人臉不太準;
4.?模型效率:在?CNN?的解決方案中,模型效率主要由?backbone?網絡決定。?
在實際使用中,人臉關鍵點的問題主要有兩個:1)對“點是否遮擋”判斷是否準確;2)對大角度人臉(+-60?度以內)點位置預測的準確性和穩定性。
解決思路
1.?修改?loss,增加關鍵點的空間約束項(三個姿態角)和數據均衡項;
2.?backbone?采用?MobileNet(常規操作);?
3.?用?auxiliary?network,讓點位置預測更穩定和魯棒(常規操作)。
復現指南
模型
損失函數
?
損失函數的意義在于表示差異,而且能表示真正的距離。特別是當對象本身具備?3D?屬性,而僅在?2D?上表示的時候,這樣的距離表示就是不準確的。本文作者認為,對于人臉這種對象,人臉?pose(更簡單的說是?3?個歐拉角)可以彌補一些人臉?3D?到?2D?的信息損失。具體怎么彌補??
希望是網絡可以學到?3D?姿態的信息,最容易想到的方法是讓網絡去預測三個角度,這么做是可以的。進一步還能怎么做?把預測的角度損失和點位置損失組合起來,具體的組合方式,比如相加,或者相乘。相加的方式比較類似多任務損失,相乘的方式可以理解為一種加權,因為角度損失一般會歸一化到?0-1?之間。?
在實際中又發現,這個角度分布,存在樣本不均衡的問題,所以又增加了樣本均衡項。
綠色框是預測的角度和?gt?的差值,通過?cos?變成?0-1?之間,通過?(1-x)?操作變成單調增。?
紅色框是樣本均衡項,作者把人臉分成六類(側臉,正臉,抬頭,低頭,有表情,有遮擋),統計了訓練集中這六類的數量分布,計算對應的數量比例,比如?1/10,用它的倒數,作為均衡項(用倒數是否合理?是否有點糙?可以考慮?focal?loss?和?class-balance?loss?的處理方法)。
網絡
上面是?auxiliary?網絡,預測三個角度,infernce?不參與,和下面的網絡,共用一些層。角度預測的?gt,是用一個平均正臉上預先定義的?11?點,和?gt?中的?11?點估計出的旋轉角度,作為角度的?gt。
?下面是?backbone?+?head:
紅框是?head,用了多尺度預測,類似?SSD?的做法。
實驗
SOTA?比較:和去年的?LAB?方法(Look?at?Boundary)相比,NME?提升?0.1?個點。?
速度:ARM845?上,一張人臉只要?7ms。backbone?優化,另外一個原因是直接回歸位置坐標,而不是常規的?heatmap?+?offsetr?的方式,無后處理耗時。
Ablation:
對于直接回歸位置坐標,本文提出的改進?loss?提升略明顯(存疑)。
個人評價
應用決定算法對什么更敏感。人臉關鍵點終究是一個耗時敏感的問題,為了效率,本文的考慮有如下:
backbone 采用 MobileNet?
直接回歸點坐標,省去后處理耗時?
用 auxiliary 網絡,這個網絡再怎么搞,都不會影響 inference 耗時?
對 loss 的優化,再怎么玩,都不會影響 inference 耗時?
什么會影響耗時:
輸入大小?
inference 涉及的 backbone 和 head?
target_to_label 的耗時?
所以,像什么對抗損失、模仿學習、加數據訓等等方法,都是可以在不改變算力的情況提升模型性能的手段,在工業界常常使用。?
三點想法:
如果模型的角度預測分支,放在和位置預測一起出,效果會怎么樣?
如果人臉的角度不是預測的,是標注的,效果會怎么樣?
考慮效率的話,輸入大小和模型算力配比,是最佳的均衡么?
如果有大神復現了本方法,求分享交流,想知道上面三個問題的答案。
點擊以下標題查看更多往期內容:?
圖神經網絡綜述:模型與應用
小樣本學習(Few-shot Learning)綜述
萬字綜述之生成對抗網絡(GAN)
基于骨架表達的單張圖片三維物體重建方法
目標檢測小tricks之樣本不均衡處理
可逆ResNet:極致的暴力美學
CVPR 2019 | 無監督領域特定單圖像去模糊
#投 稿 通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢??答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly?或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
??來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
??投稿郵箱:
??投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
?
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly?是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事?AI?領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入?PaperWeekly?的交流群里。
▽ 點擊 |?閱讀原文?| 下載論文
總結
以上是生活随笔為你收集整理的PFLD:简单高效的实用人脸关键点检测算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面向新闻媒体的命名实体识别技术
- 下一篇: 近期我们在读的那些优质论文,你不了解下?