每秒100幀的行人檢測方法

2021-06-28 22:51:47 字數 2759 閱讀 8531

pedestrian detection at 100 frames per second, rodrigo benenson, markus matias, cvpr2012

這篇文章的主要貢獻有兩點:

(1)提出一種無需影象尺度縮放的目標檢測方法:

一般的目標檢測方法都需要將輸入影象進行縮放處理,從而在各個尺度上進行多次特徵提取。viola 

和 jones

則提出對特徵進行尺度變換,而無需對影象進行縮放來解決尺度的問題。這種思路並不能直接適用於類似於

hog的特徵提取方法,原因是影象的模糊會對

hog特徵提取造成一定的影響。文中提出基於梯度方向的特徵提取方法,無需影象尺度縮放,並且在特徵提取階段,比常規的基於尺度縮放的方法提速

3.5倍。在

gpu上,對單張

640*480

的進行測試,該方法獲得了

50fps

的檢測速度。相比

hog+svm

在gpu

上的檢測效能而言,該方法獲得了

10倍的提速,並且檢測質量提高了2倍。

(2)利用stixels

進行目標檢測:

深度資訊對於目標檢測而言是乙個很好的線索。然而,計算深度圖是非常耗時的。作者發現,最近其它研究人員最近發現的的一種名為stixels

的深度資訊求解方法可以用來對檢測演算法進行提速。

借助於stixel

(一種更好的先驗知識),檢測空間縮小了

44倍,從而使得實際應用過程中的速度效能更好。當採用台式電腦,

cpu+gpu

的架構來執行演算法時,在不降低檢測質量的情況下,獲得了

135fps

的速度。在高階膝上型電腦上獲得了

80fps

的速度。

檢測運算元(以下簡稱chnftrs

)採用了

dollar

等人提出的積分通道特徵,該特徵被研究人員大量評估之後,發現其效能是目前最好的。

積分通道特徵,就是在影象的某個矩形區域,求取其內部所有畫素的畫素值之和,並在此基礎上來逼近hog

,haar

之類的常見特徵,從而加速特徵的提取。對於行人檢測而言,積分通道特徵是利用了

6個量化的梯度方向,乙個梯度幅值,3個

luv顏色通道,從而獲得較好的行人檢測效能。除了特徵之外,作者還提出採用乙個兩層決策樹來進行分類判別。每個樹,具有三個樹樁分類器(

stump clasifier

),三個樹樁分類器通過權重來線性組合,從而構成乙個強分類器。決策樹以及權重則是通過離散

adaboost

演算法學習得到的。在學習的時候,跟

dollar

在他的**裡面提到的一樣,強分類器包含

2000

個弱分類器,特徵則從

30000

個矩形特徵池中隨機選擇。剛開始訓練的時候,有

5000

個負樣本,自舉(

booststrap

)兩次,每次增加

5000

個較難分類的負樣本。利用

inria

行人檢測資料集進行訓練和效能評估。為了使得訓練速度更快,作者將特徵的數量減少

4倍(如

dollar

在「intrgral channel features-addendum

」提到的)。

作者提供了chnftrs

的兩種實現:

cpu版本和

gpu版本。測試為

640*480

大小,55

個尺度,沒有採用級聯分類器,在

cpu(

intel i7, 8cores

)上達到

0.08fps; gpu

版本則是在

nvidia geforce gtx470

上進行測試,達到了

1.38fps

的速度。測試階段,作者發現,

gpu上執行的**,有一半時間是在做縮放,另一半的時間則是在做特徵計算和目標檢測。

乍眼一看,積分通道特徵是很簡單的,但卻為何要比hog

特徵具有更好的效能表現呢?關鍵在於,

hog特徵是人為設定的特徵描述運算元,而積分通道特徵則是通過樣本學習,自動選擇那些最具有分類鑑別能力的特徵。

),這種方法可以準確的檢測出目標的數量和位置所在。另一種更幼稚點的做法(

)是在每乙個待檢測位置,每乙個尺度,構建乙個分類器,在所有位置,所有尺度上尋找最大的函式響應,將最大相應的位置和尺度作為目標的位置和尺度。對於幼稚點的做法而言,需要在各個尺度上訓練乙個模型(

model

),通常來講,尺度的數量,也就是模型的數量約等於

50(經驗估計值)左右。如圖2(

a)所示。

則只需要訓練乙個模型,對於各個不同的尺度而言,則只需要將影象進行尺度縮放既可,如圖

2(b)

所示。顯然,乙個標準的模型

+不同的影象縮放尺度等同於若干個不同尺度的模型

+無需縮放的影象。

看起來是有效的,但它卻存在兩個問題。首先,標準模型很難界定,尤其是選擇在哪個尺度上進行標準模型的訓練比較合適,而且該尺度上訓練的模型要能在低解析度尺度和高解析度尺度上有較好的平衡能力。其次,在檢測的時候,我們需要將原圖縮放

50次,每次縮放後都要重新計算影象特徵。

OpenCV 100 HOG特徵與行人檢測

hog histogram of oriented gradient 特徵在物件識別與模式匹配中是一種常見的特徵提取演算法,是基於本地畫素塊進行特徵直方圖提取的一種演算法,物件區域性的變形與光照影響有很好的穩定性,最初是用hog特徵來來識別人像,通過hog特徵提取 svm訓練,可以得到很好的效果,o...

每秒能捕捉萬億幀的相機

每秒能捕捉萬億幀的相機 圖1這只是埃德格頓博士所熟知的眾多閃光燈捕捉影象之一 其他的則比這張 吸引眼球 的 更注重科學和研究。我想知道如果edgerton博士看到加州理工學院 caltech 的乙個團隊最近的乙個專案,這個專案的系統可以以每秒70萬億幀 fps 的速度捕捉影象,他會怎麼說。此外,與一...

自己訓練的Hog Svm 行人檢測

cpp view plaincopyprint include cv.h include highgui.h include stdafx.h include include include include include using namespace cv using namespace std...