1. 程式人生 > >Deep Alignment Network: A convolutional neural network for robust face alignment

Deep Alignment Network: A convolutional neural network for robust face alignment

論文分析

論文提出了一種類似級聯的神經網路結構。這一點上很遺憾,我在一個月之前也想到了這種模式。因為對於實時 Landmark 的跟蹤,其實可以利用上一幀的預測結果來預測下一幀 Landmark 的位置。但現代大部分的 CNN 結構沒辦法辦到。在與朋友的討論中可以仿照RNN來建立時間線上的聯絡,解決在實時跟蹤中的效率及時間穩定性。當時想動手設計並實現一個這樣的網路,後來因為公司原因並沒有動手,想法擱置。結果今天就看到 CVPR2017 上的這篇論文。看來以後有想法還是直接擼吧!

初窺網路架構

我自己原有的想法是,在測試階段:對於一個輸入 I ,給定一個初始形狀S0。每一級神經網路輸出的是根據輸入影象得到的偏移估計

ΔSn1,那麼每一級都會更準確的預測臉上 Landmark 的位置:

S~=S0+i=0NLdci(I,Si)

那麼我們來看論文,論文作者還是比我想的要複雜的多。哈哈哈,畢竟能在目前達到 stage of art,我那樣的構想還是太簡單了。
這裡寫圖片描述

每一個 connection layers,連線了本次 STAGE 和 下一個 STAGE,並根據本次 STAGE 的資料生成了三個東西:Landmark HeatMap H,特徵 Image F , 和一個變換 T(用來把影象做仿射變換到標準的Pose)。

Deep Alignment Network

DAN思想來源於Cascade Shape Regression框架,於之前我自己實現的3000fps一樣。他會給定一個初始估計S0。但與原始框架最大的不同在於,CSR 框架基本都基於一個區域性的特徵,或者由粗到精的級聯。但 DAN 提取的特徵都是全部 image 的特徵。而作者就是通過提取額外的特徵輸入解決這個問題–Heatmap。

這裡寫圖片描述

一個連線層由Transform Estimation layer、Image Transform layer、Landmark Transform layer、Heatmap Generation layer、Feature Generation layer 組成。

細化結構

實現了paper所有內容,效率能夠達到實時性。在錯誤率上,因為資料增強的原因,比原paper結果略低但基本無影響。