目标检测如何计算召回率_计算机视觉目标检测的框架与过程
計(jì)算機(jī)視覺
個(gè)人接觸機(jī)器視覺的時(shí)間不長(zhǎng),對(duì)于機(jī)器學(xué)習(xí)在目標(biāo)檢測(cè)的大體的框架和過程有了一個(gè)初步的了解,不知道對(duì)不對(duì),如有錯(cuò)誤,請(qǐng)各位大牛不吝指點(diǎn)。
目標(biāo)的檢測(cè)大體框架:
計(jì)算機(jī)視覺
目標(biāo)檢測(cè)分為以下幾個(gè)步驟:
1、訓(xùn)練分類器所需訓(xùn)練樣本的創(chuàng)建:
訓(xùn)練樣本包括正樣本和負(fù)樣本;其中正例樣本是指待檢目標(biāo)樣本(例如人臉或汽車等),負(fù)樣本指其它不包含目標(biāo)的任意圖片(如背景等),所有的樣本圖片都被歸一化為同樣的尺寸大小(例如,20x20)。
2、特征提取:
由圖像或波形所獲得的數(shù)據(jù)量是相當(dāng)大的。例如,一個(gè)文字圖像可以有幾千個(gè)數(shù)據(jù),一個(gè)心電圖波形也可能有幾千個(gè)數(shù)據(jù)。為了有效地實(shí)現(xiàn)分類識(shí)別,就要對(duì)原始數(shù)據(jù)進(jìn)行變換,得到最能反映分類本質(zhì)的特征。這就是特征選擇和提取的過程。一般我們把原始數(shù)據(jù)組成的空間叫測(cè)量空間,把分類識(shí)別賴以進(jìn)行的空間叫做特征空間,通過變換,可把在維數(shù)較高的測(cè)量空間中表示的模式變?yōu)樵诰S數(shù)較低的特征空間中表示的模式。
3、用訓(xùn)練樣本來訓(xùn)練分類器:
這得先明白分類器是什么?百度百科的解釋是:“使待分對(duì)象被劃歸某一類而使用的分類裝置或數(shù)學(xué)模型。”我覺得可以怎么理解,舉個(gè)例子:人腦本身也算一個(gè)分類器(只是它強(qiáng)大到超乎想象而已),人對(duì)事物的識(shí)別本身也是一個(gè)分類的過程。人在成長(zhǎng)或者學(xué)習(xí)過程中,會(huì)通過觀察A類事物的多個(gè)具體事例來得到對(duì)A類事物性質(zhì)和特點(diǎn)的認(rèn)識(shí),然后以后遇到一個(gè)新的物體時(shí),人腦會(huì)根據(jù)這個(gè)事物的特征是否符合A類事物性質(zhì)和特點(diǎn),而將其分類為A類或者非A類。(這里只是用簡(jiǎn)單的二分類問題來說明)。那么訓(xùn)練分類器可以理解為分類器(大腦)通過對(duì)正樣本和負(fù)樣本的觀察(學(xué)習(xí)),使其具有對(duì)該目標(biāo)的檢測(cè)能力(未來遇到該目標(biāo)能認(rèn)出來)。
從數(shù)學(xué)來表達(dá),分類器就是一個(gè)函數(shù)y=f(x),x是某個(gè)事物的特征,y是類別,通俗的說就是例如,你輸入張三的特征x1,分類器就給你認(rèn)出來這個(gè)是張三y1,你輸入李四的特征x2,它就給你認(rèn)出來這個(gè)是李四y2。那么分類器是個(gè)函數(shù),它的數(shù)學(xué)模型是什么呢?一次函數(shù)y=kx+b?高次函數(shù)?等等好復(fù)雜的都有,我們需要先確定它的模型;確定了模型后,模型是不是有很多參數(shù)呢?例如上面的一次函數(shù)y=kx+b的k和b,高斯函數(shù)的均值和方差等等。這個(gè)就可以通過什么最小化分類誤差、最小化懲罰啊等等方法來確定,其實(shí)訓(xùn)練分類器好像就是找這些參數(shù),使得達(dá)到最好的分類效果。呵呵,不知道自己說得對(duì)不對(duì)。
另外,為了使分類檢測(cè)準(zhǔn)確率較好,訓(xùn)練樣本一般都是成千上萬(wàn)的,然后每個(gè)樣本又提取出了很多個(gè)特征,這樣就產(chǎn)生了很多的的訓(xùn)練數(shù)據(jù),所以訓(xùn)練的過程一般都很耗時(shí)的。
4、利用訓(xùn)練好的分類器進(jìn)行目標(biāo)檢測(cè):
得到了分類器就可以用來對(duì)你輸入的圖像進(jìn)行分類了,也就是在圖像中檢測(cè)是否存在你想要檢測(cè)的目標(biāo)。一般的檢測(cè)過程是這樣的:用一個(gè)掃描子窗口在待檢測(cè)的圖像中不斷的移位滑動(dòng),子窗口每到一個(gè)位置,就會(huì)計(jì)算出該區(qū)域的特征,然后用我們訓(xùn)練好的分類器對(duì)該特征進(jìn)行篩選,判定該區(qū)域是否為目標(biāo)。然后因?yàn)槟繕?biāo)在圖像的大小可能和你訓(xùn)練分類器時(shí)使用的樣本圖片大小不一樣,所以就需要對(duì)這個(gè)掃描的子窗口變大或者變小(或者將圖像變小),再在圖像中滑動(dòng),再匹配一遍。
5、學(xué)習(xí)和改進(jìn)分類器
現(xiàn)在如果樣本數(shù)較多,特征選取和分類器算法都比較好的情況下,分類器的檢測(cè)準(zhǔn)確度都挺高的了。但也會(huì)有誤檢的時(shí)候。所以更高級(jí)點(diǎn)的話就是加入了學(xué)習(xí)或者自適應(yīng),也就是說你把這張圖分類錯(cuò)誤了,我就把這張圖拿出來,標(biāo)上其正確的類別,再放到樣本庫(kù)中去訓(xùn)練分類器,讓分類器更新、醒悟,下次別再給我弄錯(cuò)了。你怎么知道他弄錯(cuò)了?我理解是:大部分都是靠先驗(yàn)知識(shí)(例如目標(biāo)本身存在著結(jié)構(gòu)啊或者什么的約束)或者和跟蹤(目標(biāo)一般不會(huì)運(yùn)動(dòng)得太快)等綜合來判斷的。
其實(shí)上面這個(gè)模式分類的過程是適合很多領(lǐng)域的,例如圖像啊,語(yǔ)音識(shí)別等等。那么這整一個(gè)過程關(guān)鍵點(diǎn)在哪呢?
(1)特征選取:
感覺目標(biāo)比較盛行的有:Haar特征、LBP特征、HOG特征和Shif特征等;他們各有千秋,得視你要檢測(cè)的目標(biāo)情況而定,例如:
拳頭:紋理特征明顯:Haar、LBP(目前有將其和HOG結(jié)合);
(2)分類器算法:
感覺目標(biāo)比較盛行的有:SVM支持向量機(jī)、AdaBoost算法等;其中檢測(cè)行人的一般是HOG特征+SVM,OpenCV中檢測(cè)人臉的一般是Haar+AdaBoost,OpenCV中檢測(cè)拳頭一般是LBP+ AdaBoost;
在計(jì)算機(jī)視覺領(lǐng)域,涉及到的特征、算法等等還是非常非常多的,不斷有牛人在提出新的東西(簡(jiǎn)單的哲學(xué)+復(fù)雜的數(shù)學(xué)),也不斷有牛人在改進(jìn)以前的東西,然后隨著歲月的腳步,科技在不停地狂奔著!
總結(jié)
以上是生活随笔為你收集整理的目标检测如何计算召回率_计算机视觉目标检测的框架与过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android陀螺仪轨迹,陀螺仪轨迹法长
- 下一篇: Golang——接口、多态、接口继承与转