自己做的網(wǎng)頁(yè)怎么連接到網(wǎng)站某個(gè)產(chǎn)品營(yíng)銷推廣方案
目錄
一、目標(biāo)學(xué)習(xí)的檢測(cè)方法變遷及對(duì)比
二、 基于傳統(tǒng)手工特征的檢測(cè)算法的定義
三、傳統(tǒng)主要手工特征與算法
Haar特征與 人臉檢測(cè)算法 -?Viola-Jones(了解)
HOG特征與 SVM 算法(了解)(行人檢測(cè)、opencv實(shí)現(xiàn))
SIFT特征與SIFT算法(了解)
DPM(物體檢測(cè))(了解)
四、傳統(tǒng)目標(biāo)檢測(cè)算法基本流程
五、 基于傳統(tǒng)手工特征的檢測(cè)算法的問(wèn)題
六、基于手工特征的傳統(tǒng)算法的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
缺點(diǎn):
一、目標(biāo)學(xué)習(xí)的檢測(cè)方法變遷及對(duì)比
? ? ? ?“目標(biāo)檢測(cè)“是當(dāng)前計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)領(lǐng)域的研究熱點(diǎn)。從Viola-Jones Detector、DPM等冷兵器時(shí)代的智慧到當(dāng)今RCNN、YOLO等深度學(xué)習(xí)土壤孕育下的GPU暴力美學(xué),整個(gè)目標(biāo)檢測(cè)的發(fā)展可謂是計(jì)算機(jī)視覺(jué)領(lǐng)域的一部濃縮史。整個(gè)目標(biāo)檢測(cè)的發(fā)展歷程已經(jīng)總結(jié)在了下圖中:
? ? ? ? 可以看出,在2012年之前,在目標(biāo)檢測(cè)領(lǐng)域還是以傳統(tǒng)手工特征的檢測(cè)算法為主,但是隨著卷積神經(jīng)網(wǎng)絡(luò)(CNN)在2012年的興起,目標(biāo)檢測(cè)開(kāi)始了在深度學(xué)習(xí)下的暴力美學(xué)。在深度學(xué)習(xí)下,目標(biāo)檢測(cè)的效果比傳統(tǒng)手工特征效果好太多。直至今日,基于深度學(xué)習(xí)的檢測(cè)算法依然是目標(biāo)檢測(cè)的主流。
? ? 雖然深度學(xué)習(xí)算法在目標(biāo)檢測(cè)中比傳統(tǒng)手工特征優(yōu)秀太多,但是我依然不能忘記傳統(tǒng)算法給我們帶來(lái)的幫助,本文記錄了我學(xué)習(xí)目標(biāo)檢測(cè)算法的開(kāi)始,深入講述一下傳統(tǒng)算法在目標(biāo)檢測(cè)的原理和效果。
前置知識(shí):
- 特征提取過(guò)程常采用計(jì)算機(jī)視覺(jué)、模式識(shí)別中基于顏色、基于紋理、基于形狀、基于語(yǔ)義等關(guān)于圖像特征表示的方法。
- 計(jì)算機(jī)視覺(jué)中常見(jiàn)的特征提取方法有底層特征、中層特征、高層特征三大類,常用前兩類。
? ? ? ? ?底層特征(如顏色、紋理、形狀等中層特征基本特征,一般是手工設(shè)計(jì)出來(lái)的特征)
? ? ? ? ?中層特征(基于底層特征進(jìn)行特征高層特征學(xué)習(xí)和挖掘后的特征)
? ? ? ? ?高層特征(基于底層或者中層進(jìn)行進(jìn)行特征學(xué)習(xí)和挖掘后的特征,如人是否戴帽子)
- 對(duì)于提取出的特征使用分類器進(jìn)行分類判定
? ? ? ? (二分類)判定當(dāng)前窗口中是否背景還是要檢測(cè)的目標(biāo),
? ? ? ? (多分類)判斷是否為背景,如果不是背景判斷是哪一類。
二、 基于傳統(tǒng)手工特征的檢測(cè)算法的定義
? ? ? ?在目標(biāo)檢測(cè)算法的發(fā)展過(guò)程中基于手工特征的傳統(tǒng)算法曾經(jīng)是主流。這些傳統(tǒng)算法通過(guò)設(shè)計(jì)和提取手工設(shè)計(jì)的特征來(lái)識(shí)別目標(biāo)物體,包括 Haar 特征、HOG 特征、SIFT特征等。本文將深入探討目標(biāo)檢測(cè)算法中基于手工特征的傳統(tǒng)算法介紹其原理、優(yōu)缺點(diǎn)以及在計(jì)算機(jī)視覺(jué)中的應(yīng)用。
? ? ? ?基于手工特征的傳統(tǒng)目標(biāo)檢測(cè)算法是一類早期的目標(biāo)檢測(cè)算法,它通過(guò)人工設(shè)計(jì)和提取特征來(lái)識(shí)別目標(biāo)物體。這些特征通常是基于圖像的局部信息,如邊緣、紋理、顏色等。在特征提取的基礎(chǔ)上,傳統(tǒng)算法通常使用分類器或檢測(cè)器來(lái)判斷圖像中是否存在目標(biāo)物體,并給出目標(biāo)的位置和大小。
三、傳統(tǒng)主要手工特征與算法
Haar特征與 人臉檢測(cè)算法 -?Viola-Jones(了解)
- Harr特征提取
- 訓(xùn)練人臉?lè)诸惼?#xff08;Adaboost算法等)
- 滑動(dòng)窗口 (問(wèn)題:互動(dòng)窗口的步長(zhǎng)好大小)
? ? ? ?Haar 特征是一種基于圖像矩陣的特征,最早應(yīng)用于人臉檢測(cè)領(lǐng)域。Viola-Jones 算法是一種基于 Haar 特征的快速人臉檢測(cè)算法,它采用Adaboost 分類器來(lái)進(jìn)行特征選擇和級(jí)聯(lián)分類。該算法在人臉檢測(cè)任務(wù)中取得了顯著的性能和效率。
? ? ? ?2004年P(guān)aul Viola和MichaelJones在CVPR上發(fā)表了一篇跨時(shí)代意義的文章《Robust Real-Time Face Detection》,后人將文章中的人臉檢測(cè)算法稱之為Viola-Jones(VJ)檢測(cè)器。VJ檢測(cè)器在17年前極為有限的計(jì)算資源下第一次實(shí)現(xiàn)了人臉的實(shí)時(shí)檢測(cè),速度是同期檢測(cè)算法的幾十甚至上百倍,極大程度地推動(dòng)了人臉檢測(cè)應(yīng)用商業(yè)化的進(jìn)程。VJ檢測(cè)器的思想深刻地影響了目標(biāo)檢測(cè)領(lǐng)域至少10年的發(fā)展。
? ? ? ?VJ檢測(cè)器采用了最傳統(tǒng)也是最保守的目標(biāo)檢測(cè)手段——滑動(dòng)窗口檢測(cè),即在圖像中的每一個(gè)尺度和每一個(gè)像素位置進(jìn)行遍歷,逐一判斷當(dāng)前窗口是否為人臉目標(biāo)。這種思路看似簡(jiǎn)單,實(shí)則計(jì)算開(kāi)銷巨大。VJ人臉檢測(cè)之所以器能夠在有限的計(jì)算資源下實(shí)現(xiàn)實(shí)時(shí)檢測(cè),其中有三個(gè)關(guān)鍵要素:多尺度Haar特征的快速計(jì)算,有效的特征選擇算法以及高效的多階段處理策略。
? ? ? ?在多尺度Harr特征快速計(jì)算方面,VJ檢測(cè)器使用積分圖對(duì)特征提取進(jìn)行加速。積分圖可以使特征計(jì)算量與窗口的尺寸無(wú)關(guān),同時(shí)也避免了處理多尺度問(wèn)題時(shí)建圖像金字塔這一耗時(shí)的過(guò)程。
? ? ? ?在特征選擇算法方面,與傳統(tǒng)意義上的手工特征不同的是,VJ檢測(cè)器中使用的Harr特征并非是人為事先設(shè)計(jì)好的。VJ檢測(cè)器使用了過(guò)完備的隨機(jī)Haar特征,并通過(guò)Adaboost算法從一個(gè)巨大的特征池(約180k維)中進(jìn)行特征選擇,選取出對(duì)于人臉檢測(cè)最有用的極少數(shù)幾種特征從而降低不必要的計(jì)算開(kāi)銷。
? ? ? ?在多階段處理方面,作者提出了級(jí)聯(lián)決策結(jié)構(gòu),并將其形象地稱之為“瀑布”(Cascades)。整個(gè)檢測(cè)器由多級(jí)Adaboost決策器組成,每一級(jí)決策器又由若干個(gè)弱分類決策樁(Decision Stump)組成。瀑布的核心思想是將較少的計(jì)算資源分配在背景窗口,而將較多的計(jì)算資源分配在目標(biāo)窗口:如果某一級(jí)決策器將當(dāng)前窗口判定為背景,則無(wú)需后續(xù)決策就可繼續(xù)開(kāi)始下一個(gè)窗口的判斷。
Haar特征:主要是差分,有四種基本特征:
value=白 - 黑
- 第一種表示相鄰像兩個(gè)素點(diǎn),4個(gè)方向進(jìn)行差值,0度,180度,45度,135度,
- 第二種線性特征,寬的區(qū)域表示兩個(gè)像素點(diǎn)。
- 第三種中心特征,相鄰區(qū)域同中心點(diǎn)進(jìn)行差分。像LDP特征。
- 第四種多個(gè)像素點(diǎn)彼此的關(guān)系。
? ? 最終選取所抽取的直方圖,差分運(yùn)算本身就是在梯度求解。因此Haar特征屬于文理特征。
Adaboost算法:屬于機(jī)器學(xué)習(xí)中的集成學(xué)習(xí)方法。
- 初始化樣本權(quán)重w,樣本權(quán)重之和為1
- 訓(xùn)練弱分類器
- 更新樣本權(quán)重(分類錯(cuò)誤的樣本加大權(quán)重)
- 循環(huán)第二步
- 結(jié)合各個(gè)分類器結(jié)果,進(jìn)行投票
滑動(dòng)窗口方法:
? ? ? ?首先對(duì)輸入圖像進(jìn)行不同窗口大小的滑窗進(jìn)行從左往右、從上到下的滑動(dòng)。每次滑動(dòng)時(shí)候?qū)Ξ?dāng)前窗口執(zhí)行分類器(分類器是事先訓(xùn)練好的)。如果當(dāng)前窗口得到較高的分類概率,則認(rèn)為檢測(cè)到了物體。對(duì)每個(gè)不同窗口大小的滑窗都進(jìn)行檢測(cè)后,會(huì)得到不同窗口檢測(cè)到的物體標(biāo)記,這些窗口大小會(huì)存在重復(fù)較高的部分,最后采用非極大值抑制(Non-Maximum Suppression, NMS)的方法進(jìn)行篩選。
?
HOG特征與 SVM 算法(了解)(行人檢測(cè)、opencv實(shí)現(xiàn))
- 提取HOG特征
- 訓(xùn)練SVM分類器
- 利用滑動(dòng)窗口提取目標(biāo)區(qū)域,進(jìn)行分類判斷
- NMS
- 輸出檢測(cè)結(jié)果
? ? ? ?HOG( Histogram of Oriented Gradients) 特征是一種描述圖像局部梯度方向的特征,廣泛應(yīng)用于行人檢測(cè)和物體識(shí)別。結(jié)合 SVM(支持向量機(jī))分類器,HOG 特征能夠在復(fù)雜場(chǎng)景下實(shí)現(xiàn)目標(biāo)檢測(cè)任
SIFT特征與SIFT算法(了解)
- 灰度化 + Gamma 變換 (對(duì)值進(jìn)行根號(hào)求解)
- 計(jì)算梯度map (計(jì)算每一個(gè)點(diǎn)在x、y方向的梯度值,利用梯度值到梯度夾角,即得到tan = x/y,求方向角)
- 圖像劃分成小的cell,統(tǒng)計(jì)每個(gè)cell梯度直方圖
- 多個(gè)cell組成一個(gè)block,特征歸一化 (拼接)
- 多個(gè)block串聯(lián),并歸一化
- 與量化角度和cell大小有關(guān)系(cell越小,梯度維度越大),通常維度會(huì)很大。
? ? ? ?SIFT( Scale-Invariant Feature Transform)特征是一種基于局部極值點(diǎn)和尺度空間的特征,主要用于圖像匹配和目標(biāo)識(shí)別。SIFT 算法通過(guò)提取關(guān)鍵點(diǎn)和特征描述子,實(shí)現(xiàn)對(duì)圖像中目標(biāo)的定位和識(shí)別。
DPM(物體檢測(cè))(了解)
DPM特征提取
- 有符號(hào)梯度
- 無(wú)符號(hào)梯度
? ? ? 有符號(hào):整個(gè)角度空間表示為18維向量,0 ~ 360度
? ? ? 無(wú)符號(hào):0 ~ 180度,每個(gè)cell得到27維直方圖
? ? ? HOG中多維情況是采用PCA對(duì)HOG進(jìn)行降維。
? ? ? DPM是采用一種逼近PCA的方法進(jìn)行近似處理,就是對(duì)每一個(gè)cell所提取的27維直方圖進(jìn)行求和表示,水平方式累加求和4個(gè)值,垂直求和27個(gè)值,在進(jìn)行拼接得到最終31維的特征向量。累加方式速度有所提升。
DPM(物體檢測(cè))
- 計(jì)算DPM特征圖
- 計(jì)算相應(yīng)圖(roof filter和part filter) (就是當(dāng)前區(qū)域可能為目標(biāo)區(qū)域的一個(gè)值,理解為能量分布)
- Latent SVM分類器訓(xùn)練
- 檢測(cè)識(shí)別
四、傳統(tǒng)目標(biāo)檢測(cè)算法基本流程
流程一:
? ? ? ?給定一張待檢測(cè)圖片,將這張圖片作為檢測(cè)算法的輸入,然后對(duì)圖片采用滑動(dòng)窗口方式進(jìn)行進(jìn)行候選框的提取,然后對(duì)每個(gè)候選框中的圖像進(jìn)行特征提取(特征的提取主要基于前面的前置知識(shí)中介紹方式提取),并用分類器進(jìn)行特征分類的判定,得到一系列的當(dāng)前檢測(cè)目標(biāo)的候選框,這些候選框可能存在重疊的狀況,此時(shí)使用非極大值抑制算法NMS對(duì)候選框進(jìn)行合并或過(guò)濾,得到的最后的候選框就是最終的檢測(cè)目標(biāo)即輸出結(jié)果。
流程二:
? ? ? ?給定一張圖片作為輸入,采用特征提取+目標(biāo)框回歸的方法來(lái)進(jìn)行目標(biāo)區(qū)域的提取,最后同樣利用NMS進(jìn)行候選框的合并,最終得到目標(biāo)輸出結(jié)果。
注意:
- 流程一:適用于傳統(tǒng)的目標(biāo)檢測(cè)方法和基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法
- 流程二:適用于基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法
五、 基于傳統(tǒng)手工特征的檢測(cè)算法的問(wèn)題
- 1.通過(guò)傳統(tǒng)方法設(shè)置特征,一方面很難設(shè)計(jì),另一方面設(shè)計(jì)出來(lái)的特征往往存在各種問(wèn)題,比如對(duì)于某一個(gè)特定條件不適應(yīng),即不魯棒,效率低
- 2.通過(guò)滑動(dòng)窗口的方式來(lái)提取目標(biāo)框,并對(duì)目標(biāo)框進(jìn)行分類判定的這種策略,在提取滑動(dòng)窗口時(shí)的流程是非常繁瑣耗時(shí)
六、基于手工特征的傳統(tǒng)算法的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
- a.相對(duì)簡(jiǎn)單:基于手工特征的傳統(tǒng)算法通常較為簡(jiǎn)單和易于實(shí)現(xiàn)不需要大量的訓(xùn)練樣本
- b.較低的計(jì)算復(fù)雜性:由于特征提取過(guò)程通常較為簡(jiǎn)單,傳統(tǒng)算法在計(jì)算上較為高效。
- c.可解釋性強(qiáng):手工特征是由人工設(shè)計(jì)的,具有較好的可解釋性有助于分析算法的性能和結(jié)果
缺點(diǎn):
- a.依賴于特征設(shè)計(jì):基于手工特征的傳統(tǒng)算法的性能很大程度上依賴于特征設(shè)計(jì)的質(zhì)量和選擇。不同的任務(wù)需要不同的特征,因此需要耗費(fèi)大量的人力和時(shí)間來(lái)進(jìn)行特征設(shè)計(jì)和調(diào)優(yōu)。
- b.不適應(yīng)復(fù)雜場(chǎng)景:傳統(tǒng)算法通常對(duì)于復(fù)雜場(chǎng)景的處理能力較弱特別是在目標(biāo)尺度、形狀變化較大或存在遮擋的情況下
- c.無(wú)法處理大規(guī)模數(shù)據(jù):隨著數(shù)據(jù)規(guī)模的增大,基于手工特征的傳統(tǒng)算法的計(jì)算復(fù)雜性和識(shí)別性能將受到限制。
上一篇:01目標(biāo)檢測(cè)-問(wèn)題引入
下一篇:03目標(biāo)檢測(cè)-傳統(tǒng)方法與深度學(xué)習(xí)算法對(duì)比