0
本文作者: 奕欣 | 2018-06-26 11:47 |
雷鋒網(wǎng) AI 科技評論按:本文作者為悉尼科技大學博士生董宣毅(Xuanyi Dong),他根據(jù) CVPR 2018 錄用論文 Supervision-by-Registration: An Unsupervised Approach to Improve the Precision of Facial Landmark Detectors 為 AI 科技評論撰寫了獨家解讀稿件。
Supervision-by-Registration(SBR) 是一個訓練人臉關鍵點檢測器的算法框架,能夠利用無監(jiān)督的方式增強任何基于圖像的人臉關鍵點檢測器。SBR 利用了物體在視頻中的運動比較平滑的特性來提升一個現(xiàn)有的人臉關鍵點檢測器。相比較其他人臉關鍵點檢測算法,SBR 不需要利用任何額外的人工標注信息就能提升檢測器的性能。下圖是 SBR 的框架示意圖。
SBR 使用的訓練數(shù)據(jù)是有標注的圖像數(shù)據(jù)和無標注的視頻數(shù)據(jù)。在訓練過程中,SBR 可以用無監(jiān)督的方式從視頻中提取監(jiān)督信息來優(yōu)化檢測器(神經(jīng)網(wǎng)絡)。在測試階段,使用 SBR 訓練的模型,可以在圖像或視頻數(shù)據(jù)上達到具有更高的精度,并且能讓在視頻中檢測結果更加穩(wěn)定。
SBR 的訓練過程包含兩個損失函數(shù)。一個是檢測器損失函數(shù),另一個是時序配準損失函數(shù)。這兩者可以相互補充讓人臉關鍵點檢測器更加魯棒。檢測器損失函數(shù)作用于模型檢測結果和人工標注上,優(yōu)化使得在有標注的數(shù)據(jù)上,模型的檢測結果和人工標注盡可能的接近。時序配準損失函數(shù)是優(yōu)化在連續(xù)幾幀內(nèi)關鍵點檢測結果的時序一致性。具體來說,輸入連續(xù)的兩幀圖像 t-1 和 t,通過同一個人臉關鍵點檢測器后,可以得到對于第 t-1 幀的檢測結果和第 t 幀的檢測結果,我們將第 t-1 幀的檢測結果通過 Lucas-Kanade 算法跟蹤到第 t 幀得到結果,時序配準損失函數(shù)就是為了讓在第 t 幀上跟蹤得到的結果和檢測得到的,盡可能一致。值得注意的是,因為 Lucas-Kanade 算法不需要訓練且有封閉解,我們將 Lucas-Kanade 算法寫成了一個可求導的模塊嵌入到 CNN 中。在訓練的時候,檢測器損失函數(shù)利用人臉外觀信息通過人工標注學習關鍵點檢測器;時序配準損失函數(shù)通過嵌入 Lucas-Kanade 模塊保證了時序一致性。梯度可以通過 Lucas-Kanade 模塊傳給檢測模型使得檢測結果在相鄰幀上一致。
(對于不同的檢測器,檢測器損失函數(shù)可能有所不同,比如比較經(jīng)典的 CPM 和 Hourglass 使用 mean squared error 來優(yōu)化檢測器,也有一起些方法使用 L2 loss 優(yōu)化。SBR 是一個通用的算法,可以作用于各種不同的人臉關鍵點檢測器,提升他們的性能。)
目前訓練 CNN 模型需要大量的標注數(shù)據(jù)。然而標注大量的數(shù)據(jù)需要消耗很多的人力資源,并且人工標注往往不準確。如下圖所示是在兩張嘴的圖片上標注 16 個關鍵點的位置,一個顏色表示一個關鍵點,我們給出了九個標注人員的標注結果,可以發(fā)現(xiàn)每個標注人員對關鍵點的定位方差很大。這些標注誤差對訓練和測試模型會有很大的影響。因此,我們就想能不能使用一種不需要人工標注的監(jiān)督信息來訓練 CNN 模型?基于這個目的,我們提出了 supervision be registration,利用視頻里相鄰幀間時序一致性來作為監(jiān)督信息。
目前的人臉關鍵點檢測的評測指標主要是兩種,NME(Normalized Mean Error)和 AUC(Area Under Curve)。這兩個評價指標可以很好的衡量檢測結果和人工標注之前的差距,但是沒法很好地體現(xiàn)模型在視頻中的表現(xiàn)。一般的人臉關鍵點檢測器預測的關鍵點坐標在視頻中會出現(xiàn)很強的抖動現(xiàn)象,但是使用 SBR 訓練的人臉關鍵點檢測器的結果在視頻中十分穩(wěn)定,這些提升目前還沒有很好的衡量方式,但是從演示視頻中可以清晰地體現(xiàn)出 SBR 的效果。
SBR 的核心是時序配準損失函數(shù),依賴于 Lucas-Kanade 跟蹤模塊,所以跟蹤的結果的好壞直接影響著 SBR 的效果。同時,檢測器預測的坐標是 Lucas-Kanade 跟蹤模塊的初始化坐標,只有當這個初始坐標大致準確的時候跟蹤才有意義。所以使用需要注意兩點,(1)當檢測器在標注圖片初始化好之后在開始使用 SBR 訓練。(2)選擇無標注的視頻時需要注意視頻的分辨率/人臉大小/遮擋等條件來保證 Lucas-Kanade 跟蹤模塊能夠成功跟蹤。
PyTorch Implementation:https://github.com/facebookresearch/supervision-by-registration
Facebook Research Blog:https://research.fb.com/publications/supervision-by-registration-an-unsupervised-approach-to-improve-the-precision-of-facial-landmark-detector
Demo Video : https://drive.google.com/file/d/19tLhPBb2f8S70jFk_WTUYKaJxVEsQGwX/view
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。