【目標檢測】基於傳統算法的目標檢測方法總結概述 Viola-Jones | HOG+SVM | DPM | NMS

    「目標檢測「是當前計算機視覺和機器學習領域的研究熱點。從Viola-Jones Detector、DPM等冷兵器時代的智慧到當今RCNN、YOLO等深度學習土壤孕育下的GPU暴力美學,整個目標檢測的發展可謂是計算機視覺領域的一部濃縮史。整個目標檢測的發展歷程已經總結在了下圖中:(很是感謝mooc網提供的學習視頻:https://coding.imooc.com/class/298.html)html

圖 1. 目標檢測發展歷程圖算法

    能夠看出,在2012年以前,在目標檢測領域仍是以傳統手工特徵的檢測算法爲主,可是隨着卷積神經網絡(CNN)在2012年的興起,目標檢測開始了在深度學習下的暴力美學。在深度學習下,目標檢測的效果比傳統手工特徵效果好太多。直至今日,基於深度學習的檢測算法依然是目標檢測的主流。網絡

    雖然深度學習算法在目標檢測中比傳統手工特徵優秀太多,可是我依然不能忘記傳統算法給咱們帶來的幫助,本文記錄了我學習目標檢測算法的開始,深刻講述一下傳統算法在目標檢測的原理和效果。機器學習


 

人臉檢測算法 - Viola-Jones 

    2004年Paul Viola和MichaelJones在CVPR上發表了一篇跨時代意義的文章《Robust Real-Time Face Detection》,後人將文章中的人臉檢測算法稱之爲Viola-Jones(VJ)檢測器。VJ檢測器在17年前極爲有限的計算資源下第一次實現了人臉的實時檢測,速度是同期檢測算法的幾十甚至上百倍,極大程度地推進了人臉檢測應用商業化的進程。VJ檢測器的思想深入地影響了目標檢測領域至少10年的發展。學習

    VJ檢測器採用了最傳統也是最保守的目標檢測手段——滑動窗口檢測,即在圖像中的每個尺度和每個像素位置進行遍歷,逐一判斷當前窗口是否爲人臉目標。這種思路看似簡單,實則計算開銷巨大。VJ人臉檢測之因此器可以在有限的計算資源下實現實時檢測,其中有三個關鍵要素:多尺度Haar特徵的快速計算有效的特徵選擇算法以及高效的多階段處理策略url

    在多尺度Harr特徵快速計算方面,VJ檢測器使用積分圖對特徵提取進行加速。積分圖可使特徵計算量與窗口的尺寸無關,同時也避免了處理多尺度問題時建圖像金字塔這一耗時的過程。spa

    在特徵選擇算法方面,與傳統意義上的手工特徵不一樣的是,VJ檢測器中使用的Harr特徵並不是是人爲事先設計好的。VJ檢測器使用了過完備的隨機Haar特徵,並經過Adaboost算法從一個巨大的特徵池(約180k維)中進行特徵選擇,選取出對於人臉檢測最有用的極少數幾種特徵從而下降沒必要要的計算開銷。.net

    在多階段處理方面,做者提出了級聯決策結構,並將其形象地稱之爲「瀑布」(Cascades)。整個檢測器由多級Adaboost決策器組成,每一級決策器又由若干個弱分類決策樁(Decision Stump)組成。瀑布的核心思想是將較少的計算資源分配在背景窗口,而將較多的計算資源分配在目標窗口:若是某一級決策器將當前窗口斷定爲背景,則無需後續決策就可繼續開始下一個窗口的判斷。設計

創新點視頻

做用

積分圖  
Adaboost人臉檢測器 特徵選擇+分類器融合。對adaboost的思想進行合理改造,一個haar特徵對應一個弱分類器,弱特徵組合成強特徵,弱分類器組合成強分類器。
級聯結構 由粗到精的檢測策略,加速的同時又能保證精度。先在前期用快速算法把大量非人臉去掉,平衡後期慢速的更精細分類開銷。

 


 

 行人檢測算法 - HOG+SVM

 

 參考文獻: 

圖像處理---目標檢測二十年 

經典計算機視覺論文筆記——《Robust Real-Time Face Detection》

相關文章
相關標籤/搜索