人臉檢測

其實前面幾個月看過人臉檢測測論文,就是我寫MTCNN那陣,看過了10篇?其實主要仍是看的別人的專欄和總結,本身沒怎麼深刻看。由於感受和目標檢測用的方法很像。還沒決定作哪一個方向以前,仍是在加強基本功比較好。網絡

人臉檢測和通用目標檢測的區別架構

1. 要求速度快,能作到實時。畢竟用在安防這種地方,講究的就是實時監測框架

2. 要求效率高,由於人臉比較小,因此須要對小物體準確率比較高優化

因此須要在通用目標檢測框架基礎上作一些見得修改。參照別人的專欄,本身寫一下吧。翻譯

https://zhuanlan.zhihu.com/p/327028683d

https://zhuanlan.zhihu.com/p/38512246blog

https://zhuanlan.zhihu.com/p/36621308圖片

1.級聯繫列ast

https://zhuanlan.zhihu.com/p/38340206模板

主要參考這我的的文章,寫的很詳細。

Cascade CNN

這篇爲級聯網絡結構和CNN結合的第一論文?以後MTCNN就是在他的基礎上作得修改。結構以下,3個特徵提取網絡,分析是否屬於人臉,3個迴歸框調整網絡,對迴歸框位置進行調整:

先是3個特徵提取網絡,12net,24net和48net,表明屬於輸入的圖片格式大小。即便用12*12的滑動窗口進行滑動,提取圖片輸入網絡中。12net的做用是先大量粗曬不符合的圖片,爲下一步準備分類減小負擔。注意24net和48net都有一個分支,這個分支也會提取特徵,而後與24net或48net的全鏈接層組合,一塊兒判斷是否屬於人臉。

 

 迴歸框調整網絡,徹底是利用先驗知識作得調整。注意最後labels是48個評分,即對48種調整分別作了評分。以下:

 

 如何進行的45種調整呢?5*3*3以下:

  Sn:(0.83,0.91,1.0,1.10,1.21)

  Xn:(-0.17,0,0.17)

  Yn:(-0.17,0,0.17)

 MTCNN

 MTCNN是在原來Cascade CNN上作得一種調整。

 第一步是先造成圖像金字塔,取不一樣大小的圖像,以後在整幅圖上作全卷積,注意第一次P-net無全鏈接網絡,由於輸入的圖片大小不同。以後篩選以後將第一次的預測圖像resize成24*24,而後輸入到R-net中,而後進行預測。第三次resize成48*48,而後輸入到O-net中,再進行預測。流程以下圖:

 

 精細的網絡結構以下圖。能夠看到和Cascade仍是很像的,都是級聯網絡,加入了關鍵點檢測,同時第一層12*12網絡也去掉了全鏈接層:

 

 Facecraft

級聯網絡的進一步優化,作到了end2end訓練,可是貌似效果不如MTCNN不過端到端訓練應該是個趨勢,畢竟速度快。.總體框架如圖,很明白的圖,就是分三支路,以後分別預測同時和下一支路特徵進行融合。還提到了和Fastrcnn進行聯合訓練?沒仔細看是如何提出的。。。

 

 loss部分

Finding tiny face

這個不是級聯網絡,更像目標檢測中One-Stage方法作得一種優化,明顯針對小目標的。如圖,有幾種訓練方式,能夠直接看翻譯。

1. 模板固定,即人臉大小固定,輸入不一樣resize後的圖像。

2. 圖像固定,輸入不一樣大小的人臉

3.前兩種的結合,改變人臉和圖像

由於同一副圖像中多個不一樣人臉,大小也不同,resize的意義在於檢測多尺度信息,尤爲是小目標。這個模板是如何取得?不是特別清楚。模板就很像目標檢測的anchor結構了。估計也是經過聚類來獲得的一種先驗統計

4,5. 在3的基礎上增長一些上下文信息,有助於分類識別。文中叫context.

下圖爲網絡架構不一樣大小,不一樣大小圖片和不一樣size的人臉模板

 

 還對比了一組加入上下文信息後的結果,融入不一樣層feature map有助於小人臉的識別:

Face-RCNN

對Faster-RCNN作得一個優化,加入center loss,多尺度訓練,還有對正負樣本的限制。。沒仔細看,由於一看到和Frcnn像就沒看下去了。。

central loss更多用於人臉識別。就是不一樣人臉經過網絡造成向量,對比不一樣向量間差別能更好識別人臉。

 

 SSH

 基於SSD的,對傳統的人臉檢測改進就是再也不resize輸入圖片,而是由不一樣的卷積,形成不一樣的感覺野,以此區分大,中,小臉。還要產生K個anchor結構

其中MA,M2,M3模塊就是不一樣的感覺野模塊,經過不一樣大小的卷積造成的。

相關文章
相關標籤/搜索