4

我已經實現的AdaBoost序列算法,目前我想實現所謂的級聯AdaBoost的,立足於P. Viola和M.瓊斯原紙的一些細節。不幸的是,我有一些疑問,與調整一個階段的門檻有關。正如我們在原來的報紙上看到,該過程在字面上一句話描述:有關調整級聯AdaBoost的階段門檻

Decrease threshold for the ith classifier until the current 
cascaded classifier has a detection rate of at least 
d × Di − 1 (this also affects Fi) 

我不知道主要是兩件事情:

  • 什麼門檻?它是0.5 *總和(alpha)表達式值還是隻有0.5個因子?
  • 什麼應該是閾值的初始值? (0.5?)
  • 什麼是 「降低門檻」 的細節是什麼意思?我是否需要迭代選擇新閾值0.5,0.4,0.3?減少的步驟是什麼?

我試圖在谷歌搜索這個信息,但不幸的是我找不到任何有用的信息。

謝謝你的幫助。

回答

2

我有完全相同的懷疑,並沒有發現任何權威的來源至今。然而,這是我對這個問題的最佳猜測: 1.(0.5 * sum(aplha))是閾值。 2.閾值的初始值是上面的值。接下來,嘗試使用中級強分類器(您目前擁有的)進行分類。您將獲得每個樣本獲得的分數,並且根據閾值的當前值,某些正樣本將被分類爲負值等。因此,根據此階段(強分類器)所需的期望檢測率,降低門檻,使許多陽性樣品獲得正確分類,

如: 說脫粒。爲10,而這些都是正訓練樣本的當前分類器輸出:

9.5,10.5,10.2,5.4,6.7

,我想的上述5個樣品歸類爲80%的檢出率=> 80%正確=> 4以上=>將閾值設置爲6.7

顯然,通過改變閾值,FP率也會發生變化,因此更新並且如果未達到階段的期望FP率,則轉到另一個分類器那個階段。

我沒有做過對ADA - 升壓等正式課程,但這是基於一些研究論文我試圖實現我的觀察。如有問題,請糾正我。謝謝!

+0

的是9.5,10.5,10.2,5.4,6.7?請延長你的答案。 – mrgloom

+0

這些值是來自當前階段中各個弱分類器的累加響應,由它們的對應alpha進行加權。例如,如果你有4個弱分類器和alpha(1,2.5,3,4),這意味着對於第一個正樣本,除第一個樣本外,所有樣本均爲1(因此爲9.5),而第二樣本全部回答爲1(因此10.5)。顯然,這些alpha不足以解釋其他值,但應該清楚如何使用更弱的分類器來計算值。 – thomas

0

我發現了Karim Ayachi的實時人臉檢測碩士論文(pdf),其中他描述了Viola Jones人臉檢測方法。如第5.2節(使用AdaBoost創建級聯)中所寫,我們可以將強分類器的最大閾值設置爲將(alpha)和最小閾值相加爲0,然後使用二進制搜索找到最優閾值(僞代碼見表5.1)。

希望這會有所幫助!