本發(fā)明涉及計(jì)算機(jī)視覺領(lǐng)域以及圖像處理的相關(guān)技術(shù),尤其涉及了一種基于梯度提升決策樹的圖像行人檢測(cè)算法。
背景技術(shù):
經(jīng)過近些年的探索和發(fā)展,計(jì)算機(jī)視覺已經(jīng)在金融、機(jī)械加工、交通運(yùn)輸、娛樂、醫(yī)療、安防、軍事等很多領(lǐng)域具有應(yīng)用場(chǎng)景,創(chuàng)造出無可替代的價(jià)值。在計(jì)算機(jī)視覺領(lǐng)域中,目標(biāo)檢測(cè)是個(gè)極其重要的研究分支,本發(fā)明著眼于目標(biāo)檢測(cè)中一個(gè)很重要且極具應(yīng)用價(jià)值的課題——行人檢測(cè),行人檢測(cè)是姿態(tài)估計(jì)、行為分析、行人識(shí)別、行人跟蹤等課題的研究基礎(chǔ)和前提,一個(gè)優(yōu)秀的行人檢測(cè)算法能為以上諸多研究課題提供強(qiáng)有力的支持和保障。
行人檢測(cè)算法,顧名思義,就是對(duì)于給定的圖片或視頻,使用預(yù)先訓(xùn)練好的模型對(duì)其進(jìn)行檢測(cè),標(biāo)注出圖片或視頻中行人所在的位置。這在現(xiàn)實(shí)生活中是非常具有應(yīng)用價(jià)值的,如把行人檢測(cè)算法用于輔助駕駛上,車輛能自動(dòng)識(shí)別前方的行人,并獲得與目標(biāo)之間的精確距離,對(duì)行人及時(shí)進(jìn)行避讓,在發(fā)生緊急情況時(shí)發(fā)出警報(bào),可以主動(dòng)參與制動(dòng),讓駕駛變得更輕松,讓出行變得更安全、更放心;在監(jiān)控系統(tǒng)集成行人檢測(cè)等算法,能及時(shí)檢測(cè)出行人的所在位置,對(duì)其行為進(jìn)行分析,如果發(fā)現(xiàn)逗留過久等異常行為及時(shí)給安全人員以報(bào)警,可以防患于未然,等等。
優(yōu)秀的行人檢測(cè)算法需要一種性能強(qiáng)大的分類算法以及擁有較強(qiáng)區(qū)分能力的特征,當(dāng)前在行人檢測(cè)算法中常用的分類算法有adaboost、支持向量機(jī)以及卷積神經(jīng)網(wǎng)絡(luò)中的softmax分類函數(shù)。梯度提升決策樹算法是數(shù)據(jù)挖掘領(lǐng)域中非常出眾的回歸分類算法,在商品搭配、個(gè)性化推薦、金融預(yù)測(cè)等諸多方面都取得較成功的應(yīng)用案例,然而該算法目前還沒有被應(yīng)用于行人檢測(cè)中。梯度提升決策樹算法適用于回歸分析和二分類問題,而行人檢測(cè)實(shí)質(zhì)上可以看作是一個(gè)二分類問題(即檢測(cè)窗口要么是行人,要么是背景),因此可以考慮把該算法應(yīng)用于行人檢測(cè)中。經(jīng)過精心設(shè)計(jì)的算法,把梯度提升決策樹算法應(yīng)用于行人檢測(cè)中,能取得較優(yōu)異的檢測(cè)結(jié)果。
技術(shù)實(shí)現(xiàn)要素:
為了解決背景技術(shù)中存在的問題,本發(fā)明提出了一種基于梯度提升決策樹的圖像行人檢測(cè)算法,實(shí)現(xiàn)了從圖像中檢測(cè)出行人所在的位置。
本發(fā)明采用的技術(shù)方案是包括如下步驟:
1)對(duì)輸入圖像進(jìn)行預(yù)處理;
2)將預(yù)處理后的圖像進(jìn)行縮放形成多個(gè)尺度圖像,構(gòu)建由多個(gè)尺度圖像構(gòu)成的快速金字塔模型,并計(jì)算聚合通道特征,聚合通道特征用于后續(xù)步驟2)輸入梯度提升決策樹算法中進(jìn)行處理判斷;
3)對(duì)快速金字塔模型中的各個(gè)尺度圖像用檢測(cè)窗口進(jìn)行遍歷掃描,并采用預(yù)訓(xùn)練好的行人檢測(cè)器模型及其聚合通道特征對(duì)各個(gè)尺度圖像上的所有檢測(cè)窗口位置使用梯度提升決策樹算法進(jìn)行處理判斷,獲得所有包含有行人的檢測(cè)窗口;
4)對(duì)所有包含有行人的檢測(cè)窗口再采用非極大值抑制方法選擇最佳檢測(cè)窗口,以最佳檢測(cè)窗口作為圖像中行人的位置,從而準(zhǔn)確地檢測(cè)出行人的位置。記錄下來以便傳送到輸出模塊。
所述步驟1)的預(yù)處理是進(jìn)行卷積操作來實(shí)現(xiàn)平滑處理。
預(yù)訓(xùn)練好的行人檢測(cè)器模型是指在方法步驟前通過帶有行人的圖像樣本訓(xùn)練學(xué)習(xí)獲得的模型。
所述的聚合通道特征包括luv的三個(gè)顏色通道、梯度直方圖六個(gè)通道和梯度幅值一個(gè)通道,共十個(gè)通道特征。
所述步驟3)使用級(jí)聯(lián)方式的梯度提升決策樹算法進(jìn)行處理判斷,獲得可信度,可信度用于所述步驟4)中來選擇最佳檢測(cè)窗口。
由于多個(gè)尺度上可能會(huì)檢測(cè)出同一個(gè)行人,即同一個(gè)行人可能會(huì)檢測(cè)到在多個(gè)位置上,而最終要輸出行人的準(zhǔn)確位置,所以要在這些位置中選取一個(gè)最佳的位置作為行人最終所在的位置,因此本發(fā)明采用非極大值抑制算法來排除實(shí)際行人位置附近的檢測(cè)窗口。
所述步驟4)中對(duì)于所有包含行人的檢測(cè)窗口采用非極大值抑制的方法來選擇最佳檢測(cè)窗口,具體是:針對(duì)每個(gè)檢測(cè)窗口,依次求取每個(gè)檢測(cè)窗口與其它各個(gè)檢測(cè)窗口之間的重疊面積,若重疊面積不小于預(yù)先設(shè)置的面積閾值,則認(rèn)為兩個(gè)檢測(cè)窗口包含有同一個(gè)行人;然后,將包含有同一行人的所有檢測(cè)窗口根據(jù)可信度由大到小進(jìn)行排序,則選取可信度最大的檢測(cè)窗口作為行人最終所在的位置。
本發(fā)明行人圖像的檢測(cè)中使用回歸分類算法——梯度提升決策樹算法,梯度提升決策樹算法適用于回歸分析和二分類問題,而本發(fā)明將行人檢測(cè)實(shí)質(zhì)上看作是一個(gè)二分類問題。
本發(fā)明通過在常用的行人數(shù)據(jù)集進(jìn)行模型的訓(xùn)練,得到了一個(gè)檢測(cè)效果好的模型,使用此模型來進(jìn)行行人的檢測(cè)。
本發(fā)明方法在具體實(shí)施采用包括以下三個(gè)模塊的系統(tǒng):
1)輸入模塊,用于接收采集到的圖像數(shù)據(jù)或視頻序列;
2)行人檢測(cè)模塊,用于分析圖像,檢測(cè)出圖像中行人所在的位置;
3)輸出模塊,把檢測(cè)出的行人位置標(biāo)注出來。
本發(fā)明的有益效果是:
本發(fā)明采用快速金字塔模型來計(jì)算特征,并以級(jí)聯(lián)方式的梯度提升決策樹算法模型來進(jìn)行處理判斷,所以能夠達(dá)到實(shí)時(shí)的檢測(cè)效果,提高圖像檢測(cè)的準(zhǔn)確度和快速性,能滿足實(shí)時(shí)圖像快速處理的需求。
附圖說明
圖1為本發(fā)明算法的整體結(jié)構(gòu)示意圖。
圖2為本發(fā)明方法的流程圖。
圖3為本發(fā)明提供的級(jí)聯(lián)的梯度提升決策樹模型的實(shí)施過程圖。
圖4為實(shí)施例在inria數(shù)據(jù)集上的實(shí)施例結(jié)果比較附圖。
圖5為實(shí)施例在caltech數(shù)據(jù)集上的實(shí)施例結(jié)果比較附圖。
圖6為實(shí)施例在kitti數(shù)據(jù)集上的實(shí)施例結(jié)果比較附圖。
圖7為實(shí)施例非極大值抑制前后的效果示意圖。
圖8為實(shí)施例行人檢測(cè)的效果示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明中的附圖,對(duì)本發(fā)明的技術(shù)方案進(jìn)行清晰、完整地描述?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,接下來將參照附圖對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)的說明。
本發(fā)明的實(shí)施例如下:
如圖1所示,實(shí)施例具體實(shí)施的系統(tǒng)模塊為:
輸入模塊,用來接收用戶提供的圖像數(shù)據(jù)或者視頻序列,接下來送入行人檢測(cè)模塊進(jìn)行行人檢測(cè)。
行人檢測(cè)模塊,把接收到的圖像進(jìn)行預(yù)處理,然后構(gòu)建特征金字塔、使用梯度提升決策樹算法進(jìn)行判決等一系列操作,檢測(cè)出圖像中的行人所在的位置,并送入輸出模塊。
輸出模塊,用于顯示行人檢測(cè)的結(jié)果,把行人檢測(cè)模塊所檢測(cè)出的行人在原圖像中的相應(yīng)位置上標(biāo)注出來。
如圖2所示,其中行人檢測(cè)模塊主要完成本發(fā)明方法在行人圖像中的檢測(cè)工作,檢測(cè)出不同尺度上的行人,采用固定檢測(cè)窗口大小,放縮圖像的方式進(jìn)行,主要分為以下幾個(gè)步驟:
1)對(duì)輸入圖像做卷積操作,進(jìn)行平滑處理。
2)由預(yù)處理后的圖像構(gòu)建多尺度圖像的快速金字塔模型,只對(duì)原圖像尺度的以下倍數(shù):1,1/2,1/4,1/8…,采用實(shí)際計(jì)算特征的方式,其他尺度上通過雙線性插值計(jì)算的方式快速近似得到。
然后針對(duì)給定的檢測(cè)窗口即可較快地查找出聚合通道特征,所計(jì)算的特征通道包括luv顏色通道、梯度直方圖通道、以及梯度幅值通道。
3)設(shè)置固定大小的檢測(cè)窗口以及用于遍歷的步進(jìn)長(zhǎng)度,遍歷特征金字塔中的各個(gè)尺度用檢測(cè)窗口進(jìn)行遍歷掃描,通過計(jì)算的特征通道采用預(yù)訓(xùn)練好的行人檢測(cè)器模型依次對(duì)每個(gè)尺度上的所有檢測(cè)窗口位置使用級(jí)聯(lián)方式的梯度提升決策樹算法進(jìn)行比較判斷,獲得可信度。
由于采用級(jí)聯(lián)判決的方式,對(duì)于非包含有行人的檢測(cè)窗口位置,可信度小于預(yù)先設(shè)定的閾值則無需繼續(xù)判斷。對(duì)于包含有行人的檢測(cè)窗口位置,可信度會(huì)大于等于預(yù)先設(shè)定的閾值,記錄該檢測(cè)窗口及其可信度。
一般來講,圖像中包含行人的檢測(cè)窗口遠(yuǎn)小于整圖的檢測(cè)窗口數(shù)目,所以絕大多數(shù)的檢測(cè)窗口只需極少的時(shí)間即可快速排出,只有對(duì)于疑似行人的檢測(cè)窗口才會(huì)繼續(xù)判斷,因此使用決策樹級(jí)聯(lián)的方式可以讓判決過程非??焖佟?/p>
4)對(duì)于所有包含行人的檢測(cè)窗口采用非極大值抑制的方法來選擇最佳檢測(cè)窗口,從而準(zhǔn)確地檢測(cè)出行人的位置。
具體是先針對(duì)每個(gè)檢測(cè)窗口,依次求取每個(gè)檢測(cè)窗口與其它各個(gè)檢測(cè)窗口的重疊面積,若重疊面積不小于預(yù)先設(shè)置的閾值,則說明這些檢測(cè)窗口實(shí)際上對(duì)應(yīng)于圖像中的同一個(gè)行人,從而進(jìn)行歸類,區(qū)分不同的行人。
然后對(duì)所有的檢測(cè)窗口根據(jù)可信度由大到小進(jìn)行排序,則選取可信度最大的那個(gè)檢測(cè)窗口作為行人最終所在的位置,排除掉其他的重疊檢測(cè)窗口。
5)經(jīng)過非極大值抑制處理后的行人檢測(cè)窗口,作為圖像中檢測(cè)到的行人所在的位置,記錄下來以便傳送到輸出模塊。
如圖3,級(jí)聯(lián)的梯度提升決策樹模型由若干棵二叉決策樹組成,判決過程采用決策樹的分?jǐn)?shù)值累加并與設(shè)定的閾值不斷比較的方式,若當(dāng)前累加的分?jǐn)?shù)值小于閾值,則立即排除此檢測(cè)窗口,否則繼續(xù)用下一棵決策樹進(jìn)行判決,若所有的決策樹的累加判決結(jié)果大于給定的閾值,則此檢測(cè)窗口為檢測(cè)到的行人檢測(cè)窗口。
為驗(yàn)證本發(fā)明,在本領(lǐng)域已公開的具有挑戰(zhàn)的行人檢測(cè)數(shù)據(jù)集inria、caltech、kitti上進(jìn)行設(shè)計(jì)實(shí)驗(yàn),將本發(fā)明算法與公開的piotrdollár的toolbox中的adaboost算法進(jìn)行對(duì)比,把實(shí)驗(yàn)結(jié)果與測(cè)試集的標(biāo)注框(groundtruth)進(jìn)行對(duì)比,繪制出錯(cuò)誤率曲線作為衡量算法性能的標(biāo)準(zhǔn)。
在inria數(shù)據(jù)集上,本發(fā)明算法比公開的piotrdollár的toolbox中的adaboost算法約提高了1.8%,如圖4所示。
在caltech數(shù)據(jù)集上,本發(fā)明算法比公開的piotrdollár的toolbox中的adaboost算法約提高了1%,如圖5所示。
kitti行人數(shù)據(jù)集中的訓(xùn)練集包含7481張圖片,并包含豐富的標(biāo)注信息,把此訓(xùn)練集一分為二,其中的3741張圖片用來訓(xùn)練模型,余下的3740張圖片用來驗(yàn)證模型的準(zhǔn)確度,本發(fā)明算法比公開的piotrdollár的toolbox中的adaboost算法約提高了6%,如圖6所示。
由此可見本發(fā)明算法均取得比行人檢測(cè)領(lǐng)域中常用的算法更優(yōu)秀的實(shí)驗(yàn)結(jié)果。
由于在一個(gè)行人的附近位置會(huì)檢測(cè)出多個(gè)窗口,而這些檢測(cè)窗口實(shí)際上對(duì)應(yīng)于同一個(gè)行人,為準(zhǔn)確定位行人的精確位置,本發(fā)明采用非極大值抑制的方法來選取最佳的檢測(cè)窗口作為行人最終所在的位置,如圖7所示。
行人檢測(cè)的效果示意圖如圖8所示。圖8中展示的在不同場(chǎng)景下的行人檢測(cè)效果示意圖,側(cè)面的行人、背影的行人、不同姿勢(shì)的行人、以及部分遮擋和低分辨率的行人均可以較準(zhǔn)確地被檢測(cè)出來。
最后,應(yīng)當(dāng)指出,以上實(shí)施例僅是本發(fā)明較有代表性的例子。顯然,本發(fā)明的技術(shù)方案并不限于上述實(shí)施例,還可以有許多變形。本領(lǐng)域的普通技術(shù)人員可在不脫離本發(fā)明的發(fā)明思想情況下,對(duì)于上述實(shí)施例做出種種修改或變化,因而本發(fā)明的保護(hù)范圍并不被上述實(shí)施例所限,而應(yīng)該是符合權(quán)利要求書提到的創(chuàng)新性特征的最大范圍。