1. 程式人生 > >【機器學習】HOG detectMultiScale 引數分析

【機器學習】HOG detectMultiScale 引數分析

前段時間學習了HOG描述子及其與SVM結合在行人檢測方面的應用。

當我們用訓練好的模型去檢測測試影象時,我們會用到detectMultiScale() 這個函式來對影象進行多尺度檢測。

這是opencv3.1裡的引數解釋

可以看到一共有8個引數。

1.img(必需)

這個不用多解釋,顯然是要輸入的影象。影象可以是彩色也可以是灰度的。

2.foundLocations

存取檢測到的目標位置

3.hitThreshold (可選)

opencv documents的解釋是特徵到SVM超平面的距離的閾值(Threshold for the distance between features and SVM classifying plane)

所以說這個引數可能是控制HOG特徵與SVM最優超平面間的最大距離,當距離小於閾值時則判定為目標。

4.winStride(可選)

HoG檢測視窗移動時的步長(水平及豎直)。

winStride和scale都是比較重要的引數,需要合理的設定。一個合適引數能夠大大提升檢測精確度,同時也不會使檢測時間太長。

5.padding(可選)

在原圖外圍新增畫素,作者在原文中提到,適當的pad可以提高檢測的準確率(可能pad後能檢測到邊角的目標?)

常見的pad size 有(8, 8)(16, 16)(24, 24)(32, 32).

6.scale(可選)

如圖是一個影象金字塔,也就是影象的多尺度表示。每層影象都被縮小尺寸並用gaussian平滑。

scale引數可以具體控制金字塔的層數,引數越小,層數越多,檢測時間也長。 一下分別是1.01  1.5 1.03 時檢測到的目標。 通常scale在1.01-1.5這個區間

7.finalThreshold(可選)

這個引數不太清楚,有人說是為了優化最後的bounding box

8.useMeanShiftGrouping(可選)

bool 型別,決定是否應用meanshift 來消除重疊。

default為false,通常也設為false,另行應用non-maxima supperssion效果更好。

轉自:https://www.cnblogs.com/klitech/p/5747895.html