传统目标检测算法之DPM
轉(zhuǎn)載:傳統(tǒng)目標(biāo)檢測算法之DPM
前面介紹了一下HOG,HOG有一個缺點:很難處理遮擋問題,人體姿勢動作幅度過大或物體方向改變也不易檢測。
繼2005年HOG提出之后,DPM模型在借鑒了HOG之后也被提了出來同時還取得了不錯的成績。
DPM概述
DPM(Deformable Part Model),正如其名稱所述,可變形的組件模型,是一種基于組件的檢測算法,其所見即其意。該模型由大神Felzenszwalb在2008年提出,并發(fā)表了一系列的cvpr,NIPS。并且還拿下了2010年,PASCAL VOC的“終身成就獎”。
DPM算法采用了改進(jìn)后的HOG特征,SVM分類器和滑動窗口(Sliding Windows)檢測思想,針對目標(biāo)的多視角問題,采用了多組件(Component)的策略,針對目標(biāo)本身的形變問題,采用了基于圖結(jié)構(gòu)(Pictorial Structure)的部件模型策略。此外,將樣本的所屬的模型類別,部件模型的位置等作為潛變量(Latent Variable),采用多示例學(xué)習(xí)(Multiple-instance Learning)來自動確定。
DPM特征
DPM檢測模型
DPM檢測流程
Latent SVM
傳統(tǒng)的Hog+SVM和DPM+LatentSVM的區(qū)別如上面公式所示。
由于,訓(xùn)練的樣本中,負(fù)樣本集肯定是100%的準(zhǔn)確的,而正樣本集中就可能有噪聲。因為,正樣本的標(biāo)注是人工進(jìn)行的,人是會犯錯的,標(biāo)注的也肯定會有不精確的。因此,需要首先去除里面的噪聲數(shù)據(jù)。而對于剩下的數(shù)據(jù),里面由于各種角度,姿勢的不一樣,導(dǎo)致訓(xùn)練的模型的梯度圖也比較發(fā)散,無規(guī)則。因此需要選擇其中的具有相同的姿勢的數(shù)據(jù),即離正負(fù)樣本的分界線最近的那些樣本,將離分界線很近的樣本稱為Hard-examples,相反,那些距離較遠(yuǎn)的稱為Easy-examples。
實際效果圖如下圖所示:
Latent SVM接下來有時間獨立開一篇去整理學(xué)習(xí)一下。
優(yōu)缺點
DPM算法的步驟:
1、產(chǎn)生多個模板,整體模板以及不同的局部模板;
2、拿這些不同的模板同輸入圖像“卷積”產(chǎn)生特征圖;
3、將這些特征圖組合形成融合特征;
4、對融合特征進(jìn)行傳統(tǒng)分類,回歸得到目標(biāo)位置。
DPM算法優(yōu)點:
1、方法直觀簡單;
2、運算速度塊;
2、適應(yīng)動物變形;
DPM算法缺點:
1、性能一般
2、激勵特征人為設(shè)計,工作量大;
這種方法不具有普適性,因為用來檢測人的激勵模板不能拿去檢測小貓或者小狗,所以在每做一種物件的探測的時候,都需要人工來設(shè)計激勵模板,為了獲得比較好的探測效果,需要花大量時間去做一些設(shè)計,工作量很大。
3、無法適應(yīng)大幅度的旋轉(zhuǎn),穩(wěn)定性很差;
前面官方的話講了一大堆,簡單概括一下整體流程吧
首先要有根模型(root filter)和若干部件模型(part filter)和部件模型的偏離損失。這些東西就是通過已有的人體,四肢等樣本提取HOG特征然后經(jīng)過svm訓(xùn)練而來的。
用root filter提取原始圖像的DMP特征圖,再對DMP特征圖用root filter和part filter計算響應(yīng)圖。(實際上就是一個模版匹配)
加權(quán)平均root的和part的,得到最終的融合特征圖
對融合特征進(jìn)行傳統(tǒng)分類,回歸得到目標(biāo)位置。
DPM算法思想:輸入一幅圖像,對圖像提取圖像特征,針對某個物件制作出相應(yīng)的激勵模板,在原始的圖像中計算,得到該激勵效果圖,根據(jù)激勵的分布,確定目標(biāo)位置。
制作激勵模板就相當(dāng)于人為地設(shè)計一個卷積核,一個比較復(fù)雜的卷積核,拿這個卷積核與原圖像進(jìn)行卷積運算得到一幅特征圖。比如拿一個靜止站立的人的HOG特征形成的卷積核,與原圖像的梯度圖像進(jìn)行一個卷積運算,那么目標(biāo)區(qū)域就會被加密。
那么說到這里就會出現(xiàn)一個問題,人在圖像中可能有各種的姿態(tài),比如躺著,趴著,坐著等等,我們只用一個靜止站立狀態(tài)的人的激勵模板去做探測就會失敗。也就是說圖像中的物件可能會發(fā)生形變,那么我們用固定的激勵模板去探測目標(biāo)物件的時候就不再適用,那么該如何解決這一問題呢,這就引出了局部模板,也就是說,我們不做一個整體的人的激勵模板,轉(zhuǎn)而去做人的部分組件的模板,比如頭、胳膊、腿等,其實這就是DPM算法。
再概括一下,HOG的特征提取比較死板,一定要是一個人,這個人還只能是特定的姿態(tài)比如站立,動作幅度改變不能太大。而DMP就是先檢測整個人,再檢測四肢,然后綜合兩者的信息去判斷。
總結(jié)
以上是生活随笔為你收集整理的传统目标检测算法之DPM的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 炒小白菜(素炒小白菜怎么炒好吃)
- 下一篇: Angular2 组件