本發(fā)明屬于信息技術(shù)領(lǐng)域,涉及數(shù)字文件內(nèi)容保護(hù)技術(shù),尤其涉及一種用于行人檢測(cè)的協(xié)同式深度網(wǎng)絡(luò)模型方法。
背景技術(shù):
無(wú)論是自然科學(xué)研究還是社會(huì)科學(xué)研究,人類自身一直是其中最重要的關(guān)注對(duì)象,因此,利用計(jì)算機(jī)分析人類活動(dòng)一直是計(jì)算機(jī)視覺領(lǐng)域中最熱門的研究課題。而人類動(dòng)作識(shí)別和事件檢測(cè)等智能化行為的分析都需要以快速準(zhǔn)確的行人檢測(cè)為前提,因而行人檢測(cè)技術(shù)的研究日益受到學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注,對(duì)現(xiàn)代視頻監(jiān)控、智能機(jī)器人和無(wú)人駕駛技術(shù)的發(fā)展均具有深遠(yuǎn)意義。一般來(lái)說(shuō),行人檢測(cè)是指判斷給定圖像或視頻幀中是否包含行人,如果包含,并標(biāo)出行人位置的過(guò)程,因而可以分為樣本的分類和定位兩大部分。其中,快速準(zhǔn)確的樣本分類是行人檢測(cè)技術(shù)的前提和關(guān)鍵。
現(xiàn)有的行人檢測(cè)技術(shù)已較為成熟,其基本框架來(lái)源于HOG+SVM模型。其中,行人樣本的分類大致分為樣本收集(候選框提取)、預(yù)處理、特征提取、分類器訓(xùn)練和測(cè)試五個(gè)主要步驟。其中,特征提取和分類器訓(xùn)練是影響檢測(cè)性能的關(guān)鍵。按照分類過(guò)程所使用分類器數(shù)目的多少,行人檢測(cè)算法可以分為單分類器模型算法和多分類器模型算法。在第一類中,基于人工特征的檢測(cè)算法和基于深度學(xué)習(xí)的檢測(cè)算法占據(jù)主流。前者先用人工定義的方法從圖像中提取特征,包括HOG特征、LBP特征、ACF等,再送入常用分類器中進(jìn)行訓(xùn)練,最后利用訓(xùn)練好的模型去區(qū)分行人和非行人樣本。后來(lái),深度學(xué)習(xí)算法的出現(xiàn)大大提高了特征提取的準(zhǔn)確性和分類器的檢測(cè)性能,但仍然受限于單個(gè)分類器在特征學(xué)習(xí)能力上的局限性,其結(jié)果仍未達(dá)到理想水平。第二類算法成功突破了單分類器模型的瓶頸,它們使用多個(gè)分類器去學(xué)習(xí)樣本特征,并將各分類結(jié)果整合在一起,實(shí)現(xiàn)了更加精準(zhǔn)的分類效果,如常用的基于部件模型的分類算法、級(jí)聯(lián)模型和集成模型等?;诓考哪P屯鶑臉颖镜母鱾€(gè)部分出發(fā),提取局部特征,訓(xùn)練局部分類器,最后再整合分析,對(duì)于遮擋較為嚴(yán)重的樣本能夠較好地學(xué)習(xí)到有用的輪廓特征,從而大大提升了檢測(cè)性能;級(jí)聯(lián)模型則使用Boosting的思想,將多個(gè)分類器順序排列,然后用不同的樣本逐一訓(xùn)練這些分類器,使得它們具備不同的分類能力,其中后一分類器的設(shè)計(jì)需依據(jù)前一分類器的分類結(jié)果,最終級(jí)聯(lián)所有的弱分類器形成一個(gè)強(qiáng)分類器,從分類器互補(bǔ)的角度改進(jìn)了檢測(cè)算法的性能;集成模型則是多分類器模型中較為罕見的一類,在行人檢測(cè)領(lǐng)域尚未被人關(guān)注和使用,它采用并行的方式來(lái)整合多個(gè)分類器,讓所有子分類器共同完成最終的決策,這與人類社會(huì)協(xié)同合作的決策方式極其相似。目前在行人檢測(cè)領(lǐng)域成功得到驗(yàn)證和應(yīng)用的集成模型僅有集成CNN(Convolutional Neural Network,卷積神經(jīng)元網(wǎng)絡(luò))模型,它并行地訓(xùn)練多個(gè)CNN模型,然后將每個(gè)樣本輸入各CNN模型,最后取輸出的得分中最大、最小或平均值作為該樣本的最終分類結(jié)果。基于集成CNN模型的分類算法具體過(guò)程包括:
1)準(zhǔn)備訓(xùn)練數(shù)據(jù)集,用滑動(dòng)窗口法從原始數(shù)據(jù)集中提取多尺度的行人和非行人候選框;
2)將每個(gè)樣本依次送入CNN進(jìn)行卷積和pooling計(jì)算,得到特征圖;
3)采用不同的dropout比例設(shè)置全連接層,然后將從原始樣本中提取的特征圖送入訓(xùn)練不同的CNN模型;
4)將測(cè)試數(shù)據(jù)集依次送入訓(xùn)練好的模型中進(jìn)行行人樣本的分類,每個(gè)樣本均得到若干檢測(cè)得分,計(jì)算得分的最大、最小或平均值作為最終的判別得分。
可見,上述原始基于集成CNN模型的分類算法僅僅集成CNN模型。該模型比基于部件的模型和級(jí)聯(lián)模型更具科學(xué)性,可以解決行人形變和遮擋問(wèn)題,但是,它在整合方式上存在弊端,不具備一般性和理論依據(jù),樣本分類的精準(zhǔn)性不足。
技術(shù)實(shí)現(xiàn)要素:
為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供一種用于行人檢測(cè)的協(xié)同式深度網(wǎng)絡(luò)模型方法(Collaborative Deep Network,簡(jiǎn)稱CDN),主要針對(duì)行人檢測(cè)技術(shù)中的分類過(guò)程,設(shè)計(jì)一種協(xié)同式深度網(wǎng)絡(luò)模型,將由K-means聚類算法得到的不同類型的訓(xùn)練數(shù)據(jù)集用于并行地訓(xùn)練多個(gè)深度網(wǎng)絡(luò),再通過(guò)人工神經(jīng)元網(wǎng)絡(luò)將原始數(shù)據(jù)集在這些深度網(wǎng)絡(luò)上的分類結(jié)果進(jìn)行整合和綜合分析,以實(shí)現(xiàn)更加精準(zhǔn)的樣本分類,可用于行人檢測(cè)中行人樣本分類。
本發(fā)明的原理是:本發(fā)明對(duì)基于集成CNN模型的分類算法進(jìn)行改進(jìn),基于集成CNN模型的分類算法的思想是利用全連接層中dropout的結(jié)點(diǎn)的不同來(lái)構(gòu)建多個(gè)不同的CNN網(wǎng)絡(luò),用樣本訓(xùn)練每個(gè)CNN網(wǎng)絡(luò),最終對(duì)每個(gè)網(wǎng)絡(luò)的輸出取最大、最小和平均值,進(jìn)而完成分類。本發(fā)明借鑒了人類社會(huì)分工協(xié)作的工作模式,先并行地訓(xùn)練多個(gè)不同的深度網(wǎng)絡(luò)模型作為成員,然后訓(xùn)練一個(gè)類似決策者的人工神經(jīng)元網(wǎng)絡(luò)去學(xué)習(xí)數(shù)據(jù)集中的每個(gè)樣本在各個(gè)子分類器上的分類結(jié)果信息,使其學(xué)會(huì)綜合分析這些信息并得到更加準(zhǔn)確的結(jié)論。同時(shí),為了增強(qiáng)團(tuán)隊(duì)每個(gè)成員的能力,即各個(gè)子分類器的分類效果,進(jìn)而提升整個(gè)分類模型的分類能力,本發(fā)明還提出了一種基于K-means聚類算法的重采樣方法,先將原始數(shù)據(jù)集中提取出來(lái)的候選樣本框按照某種特征進(jìn)行聚類,得到不同類別的行人樣本和非行人樣本,再送入不同的檢測(cè)模型進(jìn)行學(xué)習(xí),以使得分類器能夠?qū)W到更加集中的樣本特性。需要注意的是,本發(fā)明實(shí)際上提供了一種新的集成模型框架,使用多種深度網(wǎng)絡(luò)模型,其中使用的深度網(wǎng)絡(luò)模型本身效果越好,其集成后的效果也越顯著。總之,本發(fā)明采用的協(xié)同式深度網(wǎng)絡(luò)模型方法能夠集成多個(gè)不同類型的深度網(wǎng)絡(luò)模型,并且使用人工神經(jīng)元網(wǎng)絡(luò)取代現(xiàn)有的原始算法中計(jì)算最大、最小或平均值的方法來(lái)整合不同深度網(wǎng)絡(luò)的分類結(jié)果,為了提升每個(gè)子深度網(wǎng)絡(luò)的分類能力,還設(shè)計(jì)了基于K-means聚類算法的重采樣技術(shù),從而達(dá)到實(shí)現(xiàn)更加準(zhǔn)確的行人分類的效果。
本發(fā)明提供的技術(shù)方案是:
一種用于行人檢測(cè)的協(xié)同式深度網(wǎng)絡(luò)模型方法(簡(jiǎn)稱CDN),通過(guò)建立協(xié)同式深度網(wǎng)絡(luò)模型,將由聚類算法得到的不同類型的訓(xùn)練數(shù)據(jù)集用于并行地訓(xùn)練多個(gè)深度網(wǎng)絡(luò)模型,再通過(guò)人工神經(jīng)元網(wǎng)絡(luò)將原始數(shù)據(jù)集在各個(gè)深度網(wǎng)絡(luò)模型上的分類結(jié)果進(jìn)行整合和綜合分析,以實(shí)現(xiàn)更加精準(zhǔn)的樣本分類;包括如下步驟:
1)采用基于K-means聚類算法的重采樣方法,將原始訓(xùn)練樣本數(shù)據(jù)集按照不同特征劃分為不同的子樣本集;
2)選取多個(gè)深度網(wǎng)絡(luò)模型分別作為子分類器,利用上述子樣本集并行地訓(xùn)練所述多個(gè)深度網(wǎng)絡(luò)模型,得到多個(gè)訓(xùn)練好的子分類器;
3)將原始訓(xùn)練樣本數(shù)據(jù)集同時(shí)送入所述多個(gè)訓(xùn)練好的子分類器中,得到檢測(cè)得分,將所述檢測(cè)得分連接成檢測(cè)得分向量,利用所述檢測(cè)得分向量訓(xùn)練一個(gè)人工神經(jīng)元網(wǎng)絡(luò),得到訓(xùn)練好的協(xié)同式深度網(wǎng)絡(luò)模型;
4)將測(cè)試數(shù)據(jù)集輸入到所述訓(xùn)練好的協(xié)同式深度網(wǎng)絡(luò)模型中對(duì)行人樣本進(jìn)行分類,得到行人樣本分類。
針對(duì)上述協(xié)同式深度網(wǎng)絡(luò)模型方法,進(jìn)一步地,步驟1)所述基于K-means聚類算法的重采樣方法,具體采用K-means聚類算法自動(dòng)分割原始訓(xùn)練樣本數(shù)據(jù)集,通過(guò)重采樣得到多個(gè)具備不同特性的訓(xùn)練子樣本集,使得訓(xùn)練子樣本集之間差異較大而訓(xùn)練子樣本集內(nèi)差異較?。话ㄈ缦虏襟E:
11)對(duì)原始訓(xùn)練樣本數(shù)據(jù)集D中的每一個(gè)樣本,提取得到特征向量n為樣本總數(shù);
12)隨機(jī)選擇k個(gè)樣本的特征向量作為聚類中心,記為
13)通過(guò)式1計(jì)算得到每個(gè)特征向量與每個(gè)聚類中心的距離dij:
dij=||xi-cj||2 (式1)
式1中,xi為原始訓(xùn)練樣本集D中的每個(gè)樣本的特征向量;cj為每個(gè)聚類中心;
14)對(duì)于每個(gè)特征向量xi,依據(jù)其與各個(gè)聚類中心的距離大小,將該特征向量劃分至彼此間距離最近的中心向量所在的類;
15)通過(guò)式2更新每類的中心向量:
其中,Cj表示每個(gè)類別中所包含的所有樣本標(biāo)號(hào);
16)當(dāng)Cj不再變化時(shí),停止聚類過(guò)程,得到不同的子樣本集;否則返回步驟13)。
針對(duì)上述協(xié)同式深度網(wǎng)絡(luò)模型方法,進(jìn)一步地,所述特征向量為三通道特征,每個(gè)樣本對(duì)應(yīng)三個(gè)特征向量,將三個(gè)通道中的每一個(gè)特征向量分別對(duì)原始訓(xùn)練樣本進(jìn)行聚類;將步驟12)所述分類個(gè)數(shù)k的模型初始化值設(shè)為2,代表對(duì)應(yīng)樣本包含行人和非行人兩類的屬性。
針對(duì)上述協(xié)同式深度網(wǎng)絡(luò)模型方法,進(jìn)一步地,步驟2)作為子分類器的深度網(wǎng)絡(luò)模型包括基礎(chǔ)深度網(wǎng)絡(luò)模型、強(qiáng)深度學(xué)習(xí)檢測(cè)器和用弱訓(xùn)練樣本訓(xùn)練的強(qiáng)深度學(xué)習(xí)檢測(cè)器。其中,基礎(chǔ)深度網(wǎng)絡(luò)模型包括卷積神經(jīng)元網(wǎng)絡(luò)模型和感知器模型;所述強(qiáng)深度學(xué)習(xí)檢測(cè)器包括聯(lián)合深度學(xué)習(xí)模型。
針對(duì)上述協(xié)同式深度網(wǎng)絡(luò)模型方法,進(jìn)一步地,步驟3)所述人工神經(jīng)元網(wǎng)絡(luò)的前饋模型為式3:
yj=f(netj),j=1,2,...,m (式3)
其中,xi代表輸入層第i個(gè)結(jié)點(diǎn)的值,wij代表輸入層第i個(gè)結(jié)點(diǎn)到輸出層第j個(gè)結(jié)點(diǎn)的連接權(quán)重,n是輸入層結(jié)點(diǎn)個(gè)數(shù),bj代表輸出層第j個(gè)結(jié)點(diǎn)的偏置;
可采用反向傳播算法訓(xùn)練所述人工神經(jīng)元網(wǎng)絡(luò)。
針對(duì)上述協(xié)同式深度網(wǎng)絡(luò)模型方法,進(jìn)一步地,在本發(fā)明實(shí)施例中,步驟2)選取聯(lián)合深度學(xué)習(xí)模型為子分類器,原始訓(xùn)練樣本數(shù)據(jù)集采用Caltech行人數(shù)據(jù)庫(kù)和ETH行人數(shù)據(jù)庫(kù)中的原始圖像,對(duì)該子分類器的訓(xùn)練過(guò)程分為以下幾步:
第一步,先將原始圖像變換到Y(jié)UV顏色空間,提取得到三通道特征;
第二步,將得到的三通道特征輸入聯(lián)合深度學(xué)習(xí)模型,對(duì)輸入的三通道特征進(jìn)行兩次卷積變換和一次pooling操作,得到多個(gè)部件檢測(cè)圖;
第三步,通過(guò)式4對(duì)部件檢測(cè)圖進(jìn)行形變處理,計(jì)算得到各部件的得分sp:
其中,Mp代表第p個(gè)部件檢測(cè)圖;Dnp和cnp分別代表第p個(gè)部件對(duì)應(yīng)的第n個(gè)形變圖及其權(quán)重;對(duì)應(yīng)Bp中(x,y)位置上的元素;
第四步,通過(guò)式5將所有部件的得分構(gòu)成部件得分向量s:
再用所述部件得分向量訓(xùn)練視覺推理和分類網(wǎng)絡(luò),即完成上述子分類器的訓(xùn)練,得到訓(xùn)練好的子分類器。
上述訓(xùn)練過(guò)程中,第一步所述三通道特征,其中,第一通道特征對(duì)應(yīng)原始圖像的Y通道特征;將第二通道特征分為四部分:左上角、右上角、左下角、右下角,左上角、右上角、左下角分別對(duì)應(yīng)尺度縮小為原來(lái)一半的原始圖片的Y、U、V三個(gè)通道的特征圖,右下角用0填充;將第三通道特征也分為四部分,反映原始圖片的邊緣信息,左上角、右上角、左下角分別是由原始圖片的Y、U、V三個(gè)通道的特征圖經(jīng)過(guò)Sobel算子變換并進(jìn)行尺寸放縮后得到的邊緣圖,右下角由上述三個(gè)邊緣圖中每個(gè)位置取幅值最大的像素值構(gòu)成。在本發(fā)明實(shí)施例中,第二步使用二十個(gè)卷積核,計(jì)算得到二十個(gè)部件檢測(cè)圖,為部件的特征圖。第三步中采用的形變圖為與部件檢測(cè)圖尺寸相同的二維矩陣,每個(gè)矩陣中的值均在0到255之間。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
本發(fā)明針對(duì)計(jì)算機(jī)視覺中的行人檢測(cè)領(lǐng)域,現(xiàn)有行人檢測(cè)技術(shù)中使用的分類算法所存在的局限性,提出了一種新的協(xié)同式深度網(wǎng)絡(luò)模型算法。先由K-means聚類算法從原始數(shù)據(jù)集中分割出不同類型的訓(xùn)練子數(shù)據(jù)集,再用這些數(shù)據(jù)集并行地訓(xùn)練多個(gè)深度網(wǎng)絡(luò)模型,最后通過(guò)人工神經(jīng)元網(wǎng)絡(luò)將全部樣本在這些訓(xùn)練好的深度網(wǎng)絡(luò)模型上的分類結(jié)果整合在一起,綜合分析以實(shí)現(xiàn)更加精準(zhǔn)的樣本分類。本發(fā)明在多個(gè)實(shí)驗(yàn)數(shù)據(jù)集上相比其他算法都有更好的效果。
與現(xiàn)有技術(shù)相比,本發(fā)明的核心優(yōu)點(diǎn)體現(xiàn)在以下方面:
(一)構(gòu)建了一種新的協(xié)同式多模型學(xué)習(xí)框架來(lái)完成行人檢測(cè)中的分類過(guò)程,框架內(nèi)并行地訓(xùn)練若干不同的深度網(wǎng)絡(luò)模型,最后整合各模型的分類結(jié)果來(lái)共同做出決策,有效避免了單一分類器在特征提取和特征學(xué)習(xí)上的局限性。
構(gòu)建一種新的協(xié)同式多模型學(xué)習(xí)框架是現(xiàn)有的行人檢測(cè)技術(shù)中基本沒(méi)有考慮過(guò)的,本發(fā)明提供的多個(gè)深度網(wǎng)絡(luò)模型協(xié)作的分類模式可以有效彌補(bǔ)單一深度模型在特征提取和特征學(xué)習(xí)上的局限性,尤其是對(duì)于形變和遮擋較為嚴(yán)重的行人樣本,充分發(fā)揮每個(gè)分類器的特長(zhǎng),消除檢測(cè)誤差,從而實(shí)現(xiàn)更加準(zhǔn)確的行人檢測(cè)。
(二)提出利用人工神經(jīng)元網(wǎng)絡(luò)來(lái)整合協(xié)同式模型中各子分類器的判決結(jié)果,并借用機(jī)器學(xué)習(xí)的方法訓(xùn)練該網(wǎng)絡(luò),能夠更加有效地綜合各分類器反饋的信息。
利用人工神經(jīng)元網(wǎng)絡(luò)來(lái)整合協(xié)同式模型中的各個(gè)深度網(wǎng)絡(luò)的策略比現(xiàn)有的利用平均或取最大值等人工規(guī)則更貼近人腦決策方式,更具科學(xué)性,能夠?qū)崿F(xiàn)更好的檢測(cè)效果。
(三)提出了一種基于K-means聚類算法的重采樣技術(shù),先將原始數(shù)據(jù)集中提取出來(lái)的候選樣本框按照某種特征進(jìn)行聚類,得到不同類型的行人樣本和非行人樣本,用以訓(xùn)練不同的檢測(cè)模型,利用K-means聚類算法進(jìn)行樣本的重采樣可以使每個(gè)子分類器能學(xué)到不同且更加集中的行人特征,以使得各分類器均能夠?qū)W到更加專一的樣本特征,增強(qiáng)某一類樣本的分類能力,增強(qiáng)協(xié)同模型中各分類器的分類效果,進(jìn)而提升整體分類效果。
附圖說(shuō)明
圖1是本發(fā)明提供的協(xié)同式深度網(wǎng)絡(luò)模型方法的流程框圖。
圖2本發(fā)明實(shí)施例中以聯(lián)合深度模型為子分類器的訓(xùn)練過(guò)程的流程框圖。
具體實(shí)施方式
下面結(jié)合附圖,通過(guò)實(shí)施例進(jìn)一步描述本發(fā)明,但不以任何方式限制本發(fā)明的范圍。
本發(fā)明提出了一種用于行人檢測(cè)的協(xié)同式深度網(wǎng)絡(luò)模型算法(簡(jiǎn)稱CDN),該算法是一種樣本分類方法,不包含行人檢測(cè)過(guò)程中的候選框提取和行人定位過(guò)程;主要針對(duì)行人檢測(cè)技術(shù)中的分類過(guò)程,設(shè)計(jì)一種協(xié)同式深度網(wǎng)絡(luò)模型,將由K-means聚類算法得到的不同類型的訓(xùn)練數(shù)據(jù)集用于并行地訓(xùn)練多個(gè)深度網(wǎng)絡(luò),再通過(guò)人工神經(jīng)元網(wǎng)絡(luò)將原始數(shù)據(jù)集在這些深度網(wǎng)絡(luò)上的分類結(jié)果進(jìn)行整合和綜合分析,以實(shí)現(xiàn)更加精準(zhǔn)的樣本分類,可用于行人檢測(cè)中行人樣本分類;圖1是本發(fā)明提供的協(xié)同式深度網(wǎng)絡(luò)模型方法的流程框圖,主要包括如下步驟:
1)采用基于K-means聚類算法的重采樣技術(shù)準(zhǔn)備訓(xùn)練樣本數(shù)據(jù)集,將原始樣本數(shù)據(jù)集按照某種特征的不同劃分為不同的子樣本集;
2)選取多個(gè)深度網(wǎng)絡(luò)模型作為子分類器,并利用原始訓(xùn)練樣本集和重采樣的上述子樣本集分別并行地訓(xùn)練它們;
其中每個(gè)深度網(wǎng)絡(luò)模型均采用原模型本身的訓(xùn)練方法進(jìn)行訓(xùn)練;
3)將原始樣本數(shù)據(jù)集同時(shí)送入多個(gè)訓(xùn)練好的子分類器中,得到檢測(cè)得分,然后將這些得分連接成向量去訓(xùn)練一個(gè)人工神經(jīng)元網(wǎng)絡(luò),最終得到訓(xùn)練好的協(xié)同式深度網(wǎng)絡(luò)模型;
4)將測(cè)試數(shù)據(jù)集輸入訓(xùn)練好的模型中進(jìn)行行人樣本的分類。
步驟1)中,使用基于K-means聚類算法的重采樣技術(shù)準(zhǔn)備訓(xùn)練樣本數(shù)據(jù)集,即采用K-means聚類算法自動(dòng)分割原始樣本數(shù)據(jù)集,以重采樣得到多個(gè)具備不同特性的訓(xùn)練子樣本集,使得不同樣本集間差異較大而樣本集內(nèi)差異較小,進(jìn)而使得多個(gè)深度網(wǎng)絡(luò)能夠?qū)W習(xí)到不同但更加集中的某類特征,并增強(qiáng)區(qū)分特定樣本的能力。具體步驟如下:
11)對(duì)原始訓(xùn)練樣本集D中的每一個(gè)樣本,提取得到特征向量n為樣本總數(shù);
12)隨機(jī)選擇k個(gè)樣本的特征向量作為聚類中心,記為
13)通過(guò)式1計(jì)算得到每個(gè)特征向量與每個(gè)聚類中心的距離dij:
dij=||xi-cj||2 (式1)
式1中,xi為原始訓(xùn)練樣本集D中的每個(gè)樣本的特征向量;cj為每個(gè)聚類中心;
14)對(duì)于每個(gè)特征向量xi,依據(jù)其與各個(gè)聚類中心的距離dij的大小,將該特征向量劃分至彼此間距離最近的中心向量所在的類;
15)通過(guò)式2更新每類的中心向量:
其中,Cj表示每個(gè)類別中所包含的所有樣本標(biāo)號(hào);
16)如果Cj不再變化,則停止聚類過(guò)程,得到不同的子樣本集;否則返回步驟13)。
由于這里提取的特征向量為三通道特征,故每個(gè)樣本應(yīng)對(duì)應(yīng)三個(gè)特征向量,且在重采樣過(guò)程中,需依據(jù)這三個(gè)通道中的每一個(gè)分別對(duì)原始訓(xùn)練樣本進(jìn)行聚類。另外,考慮到K-means算法需要事先規(guī)定分類個(gè)數(shù)k,本模型初始化k等于2,以對(duì)應(yīng)樣本所具有的包含行人和非行人兩類的屬性。
步驟2)中,使用上述聚類得到的訓(xùn)練子樣本集和原始數(shù)據(jù)集分別去訓(xùn)練多個(gè)不同的深度網(wǎng)絡(luò)模型,每個(gè)模型的訓(xùn)練過(guò)程采用多線程并行計(jì)算。這里可以使用的深度網(wǎng)絡(luò)模型包括以下三類:
2A)基礎(chǔ)深度網(wǎng)絡(luò)模型,如CNN、感知器模型等,這些模型已經(jīng)具有較好的特征學(xué)習(xí)和分類能力,但不足以完成存在大量行人形變和遮擋的復(fù)雜場(chǎng)景下的行人檢測(cè)任務(wù),故需要互相配合才能更好地避免自身存在的檢測(cè)誤差;
2B)強(qiáng)深度學(xué)習(xí)檢測(cè)器,如上述聯(lián)合深度學(xué)習(xí)模型等,這些模型比基礎(chǔ)深度網(wǎng)絡(luò)模型更能準(zhǔn)確快速地檢測(cè)出圖像中的行人,且對(duì)于復(fù)雜場(chǎng)景已有較好的應(yīng)對(duì)措施,在CDN中加入強(qiáng)深度學(xué)習(xí)檢測(cè)器可以有效保證整體模型的檢測(cè)效果,并進(jìn)一步提升強(qiáng)深度學(xué)習(xí)檢測(cè)器的檢測(cè)性能;
2C)用弱訓(xùn)練樣本訓(xùn)練的強(qiáng)深度學(xué)習(xí)檢測(cè)器,這一類模型較為特殊,它們具有較強(qiáng)的分類能力,但被用某一類的訓(xùn)練樣本訓(xùn)練,進(jìn)而對(duì)某類樣本有極致的識(shí)別能力,通過(guò)將具備檢測(cè)不同類型樣本能力的分類器進(jìn)行整合,CDN模型會(huì)比普通的多模型融合具有更全面的檢測(cè)能力。
步驟3)中,在得到多個(gè)訓(xùn)練好的深度網(wǎng)絡(luò)模型后,將原始訓(xùn)練數(shù)據(jù)集中的各個(gè)樣本同時(shí)送入這些深度模型進(jìn)行分類識(shí)別,并得到若干檢測(cè)得分(每個(gè)深度網(wǎng)絡(luò)模型均得出分類檢測(cè)的得分),將這些輸出得分組成向量作為每個(gè)樣本的觀測(cè)信息去訓(xùn)練一個(gè)人工神經(jīng)元網(wǎng)絡(luò),以得到一個(gè)協(xié)同式分類模型,即協(xié)同式深度網(wǎng)絡(luò)模型,該模型中內(nèi)嵌多個(gè)不同的深度網(wǎng)絡(luò)子分類器,可在綜合學(xué)習(xí)各樣本的初步分類信息以后能夠有效利用這些信息去完成更加準(zhǔn)確的行人檢測(cè)任務(wù)。人工神經(jīng)元網(wǎng)絡(luò)的前饋模型為式3:
yj=f(netj),j=1,2,...,m (式3)
其中,xi代表輸入層第i個(gè)結(jié)點(diǎn)的值,wij代表輸入層第i個(gè)結(jié)點(diǎn)到輸出層第j個(gè)結(jié)點(diǎn)的連接權(quán)重,n是輸入層結(jié)點(diǎn)個(gè)數(shù),bj代表輸出層第j個(gè)結(jié)點(diǎn)的偏置。
訓(xùn)練人工神經(jīng)元網(wǎng)絡(luò)可采用BP(Back Propagation,即反向傳播)算法。
協(xié)同式分類模型是在綜合學(xué)習(xí)各樣本的初步分類信息以后得到的,能夠有效利用各樣本的初步分類信息去完成更加準(zhǔn)確的行人檢測(cè)任務(wù)。在線測(cè)試時(shí),只需將測(cè)試數(shù)據(jù)集輸入訓(xùn)練好的協(xié)同式分類模型中進(jìn)行分類,即獲得測(cè)試數(shù)據(jù)集的行人樣本分類。
為了便于實(shí)驗(yàn)驗(yàn)證,以下實(shí)施例采用聯(lián)合深度學(xué)習(xí)模型(以下簡(jiǎn)稱UDN)作為本發(fā)明的協(xié)同式深度網(wǎng)絡(luò)模型選取的子分類器,在Caltech行人數(shù)據(jù)庫(kù)和ETH行人數(shù)據(jù)庫(kù)上(原始數(shù)據(jù)庫(kù)作為原始訓(xùn)練樣本數(shù)據(jù)集,先將原始數(shù)據(jù)庫(kù)中的圖像經(jīng)過(guò)預(yù)處理得到矩形候選框圖像后用于訓(xùn)練)分別做了測(cè)試。UDN模型成功將特征提取、形變處理、遮擋處理和分類四個(gè)環(huán)節(jié)融入到一個(gè)CNN模型當(dāng)中,有效地解決了行人形變和遮擋等問(wèn)題。
UDN作為子分類器的訓(xùn)練過(guò)程的流程如圖2所示。其中,輸入圖片定義為三通道的、大小為84*28的圖像數(shù)據(jù),經(jīng)由64個(gè)9*9*3的卷積核做卷積操作,再經(jīng)過(guò)4*4的pooling操作,得到64個(gè)19*5的特征圖,這些特征圖再輸入第二卷積層,經(jīng)過(guò)20個(gè)設(shè)計(jì)好的處理形變的卷積核得到20個(gè)部件檢測(cè)圖,隨后利用形變層計(jì)算部件檢測(cè)得分,最后送入視覺推理和分類模型進(jìn)行類別的估計(jì)。具體訓(xùn)練過(guò)程分為以下幾步:
第一步,先將圖像變換到Y(jié)UV顏色空間,然后提取三通道特征,其中,第一通道特征對(duì)應(yīng)原始圖片的Y通道特征;第二通道特征分為4塊,左上角、右上角、左下角三塊分別對(duì)應(yīng)原始圖片的Y、U、V三個(gè)通道的特征圖其尺度縮小為原來(lái)一半的結(jié)果,右下角那一塊用0填充;同樣,第三通道特征也分為四個(gè)部分,反映的是原始圖片的邊緣信息,其左上角、右上角、左下角分別是由原始圖片的Y、U、V三個(gè)通道的特征圖經(jīng)過(guò)Sobel算子變換并進(jìn)行尺寸放縮后得到的邊緣圖,右下角則由上述三個(gè)邊緣圖中每個(gè)位置取幅值最大的像素值構(gòu)成。
第二步,對(duì)輸入的三通道特征進(jìn)行兩次卷積變換和一次pooling操作,得到20個(gè)部件檢測(cè)圖;
在訓(xùn)練過(guò)程中,本實(shí)施例使用20個(gè)不同的卷積核,計(jì)算得到20個(gè)部件檢測(cè),為人體部件的特征圖。
第三步,通過(guò)式4對(duì)部件檢測(cè)圖進(jìn)行形變處理,計(jì)算得到各部件得分sp:
其中,Mp代表第p個(gè)部件檢測(cè)圖;Dnp和cnp分別代表第p個(gè)部件對(duì)應(yīng)的第n個(gè)形變圖及其權(quán)重;對(duì)應(yīng)Bp中(x,y)位置上的元素;
本實(shí)施例中設(shè)計(jì)的形變圖為與部件檢測(cè)圖尺寸相同的二維矩陣,每個(gè)矩陣中的值均在0到255之間,包括四種矩陣,第一種和第三種均將矩陣劃分為從左至右排列的六個(gè)長(zhǎng)條形區(qū)域,每個(gè)區(qū)域的值相同,且左邊區(qū)域的值始終大于右邊區(qū)域,區(qū)別在于第一種的區(qū)域間的值的跳躍較小,第三種區(qū)域間的值的跳躍較大;第二種和第四種則將矩陣劃分為從上至下排列的六個(gè)長(zhǎng)條形區(qū)域,每個(gè)區(qū)域中的值均相同,區(qū)別在于第二種滿足上邊區(qū)域的值要大于下邊區(qū)域的值,而第四種則滿足從上至下區(qū)域的值先遞增后遞減的變化規(guī)律;這些形變圖中具體參數(shù)值的預(yù)設(shè)可以不固定,通過(guò)訓(xùn)練過(guò)程來(lái)優(yōu)化這些參數(shù)。
第四步,所有部件的得分構(gòu)成部件得分向量s,如式5;再用部件得分向量訓(xùn)練視覺推理和分類網(wǎng)絡(luò),訓(xùn)練方法采用標(biāo)準(zhǔn)BP算法;即完成上述子分類器的訓(xùn)練,得到訓(xùn)練好的子分類器。
其中,在聯(lián)合深度模型中,視覺推理和分類網(wǎng)絡(luò)是一種人工神經(jīng)元網(wǎng)絡(luò),網(wǎng)絡(luò)中每個(gè)隱藏層接收的輸入信息不僅來(lái)自于上層還來(lái)自于上上層。
實(shí)驗(yàn)結(jié)果表明,CDN比行人檢測(cè)領(lǐng)域其他較為先進(jìn)的算法具有更好的性能和檢測(cè)效果,可以有效提升單一模型的分類能力;其中,行人檢測(cè)領(lǐng)域其他較為先進(jìn)的算法包括HOG(Histogram of Oriented Gradient,即梯度直方圖)、HOGLBP(Histogram of Oriented Gradient and Local Binary Pattern,即梯度直方圖和局部二值化模式)、DPM(Deformable Part Models,即形變部件模型)、DDM(Discriminative Deep Model,即辨別深度模型)、ICF(Integral Channel Features,即積分通道特征)、CNN(Convolutional Neural Network,即卷積神經(jīng)網(wǎng)絡(luò))、ACF(Aggregated Channel Features,即聚合通道特征)、UDN(United Deep Model,即聯(lián)合深度模型)。對(duì)比結(jié)果如表1所示:
表1 不同行人檢測(cè)模型實(shí)驗(yàn)結(jié)果統(tǒng)計(jì)表
表2 不同設(shè)計(jì)的CDN模型在Caltech數(shù)據(jù)集上實(shí)驗(yàn)結(jié)果統(tǒng)計(jì)表
表2則給出了不同設(shè)計(jì)的CDN在Caltech數(shù)據(jù)集上的檢測(cè)效果,可以發(fā)現(xiàn),CDN若基于三通道特征進(jìn)行聚類且聚類數(shù)目均為2,同時(shí)集成用聚類得到的子訓(xùn)練集和原始訓(xùn)練集分別訓(xùn)練的聯(lián)合深度學(xué)習(xí)模型,并且采用人工神經(jīng)元網(wǎng)絡(luò)進(jìn)行結(jié)果的整合,會(huì)獲得最好的檢測(cè)性能。
需要注意的是,公布實(shí)施例的目的在于幫助進(jìn)一步理解本發(fā)明,但是本領(lǐng)域的技術(shù)人員可以理解:在不脫離本發(fā)明及所附權(quán)利要求的精神和范圍內(nèi),各種替換和修改都是可能的。因此,本發(fā)明不應(yīng)局限于實(shí)施例所公開的內(nèi)容,本發(fā)明要求保護(hù)的范圍以權(quán)利要求書界定的范圍為準(zhǔn)。