維奧拉-瓊斯目標檢測框架

維奧拉-瓊斯目標檢測框架(英語:Viola–Jones object detection framework)是第一種可以即時處理並給出很好的物體檢出率的物體檢測的方法,由保羅·維奧拉和米高·瓊斯於2001年提出[1][2]。值得一提的是,提出該方法的論文於2011年的CVPR會議上評為龍格-希金斯獎[3]。雖然它可以被訓練來尋找多種物體,它的主要應用還是在解決人臉檢測方面。這個方法在OpenCV中被實現為cvHaarDetectObjects()。

框架的組成

 
維奧拉和瓊斯使用的特徵

特徵類型和進化

檢測框架使用的特徵涉及到圖像上矩形區域的像素和,就是哈爾特徵,而這些特徵以前多用於基於圖像的物體檢測領域[4]。然而,由於維奧拉和瓊斯使用的特徵包含不止一個矩形區域,就顯得更為複雜。右邊的圖像是四種不同的特徵。每一個特徵的值就是白色矩形的像素值之和與深色矩形像素值之和的差值。所以,相比那些複雜的方向可變濾波器(steerable filters),這種矩形特徵是十分原始的。雖然他們對水平和豎直方向比較敏感,它們的反饋是比較粗粒度的。最後,使用一個稱為積分圖的數據結構,矩形特徵的計算可以在常數時間內完成,也就使得它們很具有速度優勢。例如,2矩形特徵需要六次查詢,3矩形特徵需要八次,而4矩形特徵則需要九次。

學習演算法

選擇哪些特徵作為最終用於分類的過程十分漫長。例如,在一個24x24像素的窗口內,一共有45,396個可能的特徵。因此,目標檢測框架使用了一個稱為AdaBoost的機器學習演算法來選擇特徵並訓練分類器。

 
級聯架構

級聯架構

在學習階段強分類器的進化可以很快完成,但是還不夠進行即時計算。基於這個原因,強分類器按照複雜性的順序被組成一種級聯結構,每一個後續分類器的訓練樣本都是通過了之前所有分類器的樣本。如果級聯的任何一個分類器拒絕了一個檢測窗口,則該窗口不再進行任何的進一步檢測。因此,這種級聯結構類似於一種退化的樹。在人臉檢測中,第一級分類器(也稱為attentional operator)只使用了2個特徵,就達到了將近0%的漏檢率(false negative rate)以及40%的誤檢率(false positive rate)[5]。這一個分類器就可以簡單的過濾掉要檢測窗口的一半。

這個級聯結構對每一個分類器的效能有着有趣的影響。由於每一個分類器是否使用完全取決於它的前驅,因此,整體的誤檢率是:

 

類似地,檢測率(detection rate)是:

 

因此,對於每一個分類器的檢測效果的要求是驚人的低。例如,對於一個32層的級聯分類器,為了達到 的誤檢率,每一個分類器只需要達到65%的誤檢率。同時,為了滿足系統的檢測率,對於單個分類器的檢測率要求很高。例如,為了達到整體90%的檢測率,每一個分類器的檢測率需要達到99.7%。

參考文獻

  1. ^ Rapid object detection using a boosted cascade of simple features (PDF). [2013-01-03]. (原始內容 (PDF)存檔於2012-10-03). 
  2. ^ Viola, Jones: Robust Real-time Object Detection, IJCV 2001頁面存檔備份,存於互聯網檔案館) See pages 1,3.
  3. ^ 存档副本. [2013-01-03]. (原始內容存檔於2021-03-08). 
  4. ^ C. Papageorgiou, M. Oren and T. Poggio. A General Framework for Object Detection. International Conference on Computer Vision, 1998
  5. ^ Viola, Jones: Robust Real-time Object Detection, IJCV 2001頁面存檔備份,存於互聯網檔案館) See page 11.

外部連結