人臉檢測:SSH

簡介

SSH是一個用於人臉檢測的one-stage檢測器,提出於2017年8月,在當時取得了state-of-art的效果,論文是《SSH: Single Stage Headless Face Detector》,SSH本身的方法上沒有太多新意,更多的是在把通用目標檢測的方法往人臉檢測上應用。

SSH原理

設計理念

SSH(Single Stage Headless)的目的是設計一個速度快,內存佔用小的網絡結構,所以採用了one-stage結構,並移除了backbone的全連接層。
但是這個速度快也是相對的,平臺還是要依賴GPU,NVIDIA Quadro P6000,然後在400×800400\times800的輸入下FPS也可達到20,在1200×16001200\times1600時FPS只能到5。而且,這個時間是在沒有image pyramid的情況下算出來的,但是state-of-art的效果卻要加上image pyramid,加上之後會耗時會增加5倍。
SSH中所謂的Headless,指的是去除VGG中的全連接層,文中指出VGG的全連接層有160M的參數,ResNet-101有12M的參數,佔內存比較大,而且在two-stage的情況下,這些參數要計算每一個區域建議,非常耗時,所以SSH採用了全卷積的設計,總體上SSH有下面三個部分:

  • 一個去除連接層的VGG作爲backbone;
  • 用卷積層拉取的多層分支,共拉取三層,每一層最後輸出都類似RPN
  • 用於融合上下文信息的Context Module。

網絡結構

在這裏插入圖片描述
上圖是SSH的整體網絡結構,它的backbone選擇了VGG結構,並從Conv4_3,Conv5_3拉取了兩個分支,Conv5_3後做Max pool,拉取了第三個分支。三個分支分別是M1,M2和M3,其中M1在最淺層,M3在最深層。
在每一路分支上最後都有一個Detection Module(它是多種卷積的組合,後面會詳細說明),最後在Detection Module輸出的特徵圖上,參考RPN的方法滑動輸出兩路分支,分別負責是不是人臉的置信度(Scores)和(Boxes)。
值得注意的是,M1分支有一個跨層的信息融合,SSH把Conv4_3和Conv5_3的輸出用1×11\times1的卷積降低了通道數量到128,並將Conv5_3輸出做上採樣,最後把它們加起來。這種跨層的信息融合在通用目標檢測網絡中很常見,比如YOLOv2裏面那個奇怪的reorg操作,在SSH之後的文章中,也有很多使用了這種思想,比如YOLOv3FPN
信息融合之後又加了一層卷積,主要是爲了整合之前加操作得到的特徵,然後就進入Detection Module了。

Detection Module

在這裏插入圖片描述
上圖是SSH的Detection Module,在這裏能清楚的看出來最後的輸出,是w/s×h/sw/s\times h/s4k4kw/s×h/sw/s\times h/s2k2kkk是Anchor的數量,和RPN是一樣一樣的。
此外,Detection Module還有一個Context Module。

Context Module

在這裏插入圖片描述
Context Module是一個聚合上下文信息的模塊,說白了就是多用幾種尺寸的卷積核,不同的卷積核的感受區域是同的。兩個3×33\times3的卷積核作用相當於一個5×55\times5的,三個3×33\times3的卷積核作用相當於一個7×77\times7的。
所以最後Detection Module相當於有三種尺寸的卷積核3×33\times35×55\times57×77\times7

Anchor設置

由於SSH用於人臉檢測,它的Anchor選取和RPN有所區別,它將人臉默認爲正方形,所以Anchor只有一種比例,1:1。尺寸上,每一層分支都有兩個,分別是16的{1,2},{4,8},{16,32}倍,話說最大的尺寸到1472,也是夠大的。

OHEM

最後SSH訓練的時候使用了OHEM,所以SSH訓練必須有一個finetune的過程,而且三層分支的OHEM是分開finetune的,一個消融實驗證明,OHEM對SSH來說,影響還是挺大的:
在這裏插入圖片描述

SSH性能評價

首先是SSH的耗時統計(NVIDIA Quadro P6000):
在這裏插入圖片描述
就像我們最開始說的那樣,50ms的時間是在400×800400\times800的輸入,在1200×16001200\times1600時耗時達到了182ms。

其次是SSH的圖像金字塔應用:
在這裏插入圖片描述
SSH不使用金字塔時要比HR(ResNet-101)+Pyramid差上一點點,在用上金字塔後,可以超過HR(ResNet-101)+Pyramid,當然這個時候SSH自己的耗時也會上去。

最後是在Wider Face上PR曲線:
在這裏插入圖片描述
在當時得到了state-of-art的效果,我們順便看下在2019年9月的時候,SSH排在哪裏?
在這裏插入圖片描述
大概在16名左右。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章