1. 程式人生 > >人臉檢測中幾種框框大小的選擇~

人臉檢測中幾種框框大小的選擇~

gravity 經濟 自己 位置 之間 實現 track 之前 訓練樣本

人臉檢測應用極為廣泛,內部細節也偏多,尤其是涉及到幾種類型的框,這幾種框的大小之前有著千絲萬縷的聯系,對檢測性能的好壞影響程度大小不一。本篇文章基於自己在人臉檢測方面的經驗,說說對這些框之間關系的一些理解。

如今大部分人臉檢測效果都已adaboost+LBP(各種改進)的方式實現,adaboost由N個強分類器組成,每一個強分類器由M個弱分類器組成,而每一個弱分類器事實上就是一個特征。

本文以LBP特征為例,人臉檢測共涉及到例如以下幾類框:

1. LBP特征矩形框大小(極為重要)

2. 檢測框大小(重要)

3. 檢測目標大小(次要)

4. 原始訓練樣本大小(重要)

5. 圖像大小(不重要)

當中,LBP特征矩形框大小一般由四個量組成,它們是:矩形框相對於模板的位置(x, y)。矩形框的大小(w, h)。這四個變量均能夠自由改變,僅僅是有一個約束。那就是原始訓練樣本的大小(這也是我說的聯系1)。

聯系1:如果原始訓練樣本大小為28*28。那麽LBP特征矩形框四個變量的取值均在[0-28]之內。


這點是由於,LBP特征都是在訓練階段確定下來的,位置和大小均是相對於原始訓練樣本而定。自然要在此範圍之內。

進一步,由於測試階段,LBP特征的計算過程是在檢測框中進行,於是能夠引出第二個聯系(聯系2

聯系2:檢測框大小和原始訓練樣本大小之間一定具有明白的比例關系,且原始訓練樣本長寬比例最好為1:1。

說白了,檢測框是正方形的,它在圖像中一步一步(step)的遍歷。對每一個檢測框內的圖像都要進行adaboost檢測(想想看,算法時間還是比較恐怖的)。

進一步,檢測目標大小一般由人為設定,比方我看到一個視頻,我認為裏面的人臉可能是80*80。那麽我就設定檢測目標大小為80*80,這個設置的影響就是,限制了檢測框的大小,也就是聯系3

聯系3:檢測目標大小由用戶設置,其大小約束了檢測框大小。假設檢測框大小小於檢測目標大小,則該檢測框無用。

連鎖反應,大家能夠依據以上幾種聯系自己想想檢測目標大小對特征矩形框的影響。

以下舉個樣例。用於說明人臉檢測中特征矩形框的變化策略。

如果原始訓練樣本大小為28*28,此時檢測框大小為56*56,即為前者的兩倍。對於這樣的情況,理論上,應該是將整幅圖像下採樣2倍,檢測框的位置和長寬也就隨之縮小兩倍,LBP特征矩形框大小和位置保持不變。可是。在實際應用中。對整幅圖像下採樣時間較多。更加經濟實惠的策略是保持檢測框位置和大小不變。更改LBP特征矩形框位置和大小,比如,都擴大兩倍。這兩種方式顯然存在差別,可是效果不會有太大的差距。所以常常被採用。

聯系4:圖像大小隨意,對其余大小沒有不論什麽約束。

之前做這方面的研究,一點一直沒理解,就是為什麽訓練的時候把目標圖像裁剪為指定大小(比方說28*28),可是在測試過程中,卻對不論什麽大小的圖像都能夠。

如今想想看,自己當時挺傻的,訓練階段採用的圖像,都是僅僅包括目標的,然後再規格化為28*28,在測試階段,實際上也是這樣。僅僅只是這個時候。針對的是檢測框,而不是整幅圖像了,adaboost是在檢測框中的圖像進行,和圖像真心沒啥關系,自然就不要求圖像為指定大小(聯系4)。

我弄了兩幅圖,左面是訓練樣本。右邊是測試圖像。大家看看吧,別和我一樣犯傻。

技術分享技術分享


其中,右圖其中的綠色框就是檢測框,不同大小的綠框代表著檢測框的大小變化。

總結起來一句話,原始訓練樣本大小約束LBP特征矩形框大小,檢測框大小必須為原始訓練樣本大小的倍數。檢測目標大小約束了檢測框大小。圖像大小對其余大小沒有不論什麽約束。

(轉載請註明:http://blog.csdn.net/wsj998689aa/article/details/41243117)

人臉檢測中幾種框框大小的選擇~