本發(fā)明涉及一種模式識(shí)別技術(shù),特別涉及一種并行分布式的大規(guī)模圖像識(shí)別方法。
背景技術(shù):隨著互聯(lián)網(wǎng)的快速發(fā)展,人們已經(jīng)習(xí)慣于在日常生活中借助互聯(lián)網(wǎng)隨時(shí)隨地的發(fā)布、獲取和交換信息,互聯(lián)網(wǎng)上的信息量呈現(xiàn)一種爆發(fā)增長(zhǎng)的發(fā)展勢(shì)頭,同時(shí)數(shù)字?jǐn)z影的普及和存儲(chǔ)技術(shù)的進(jìn)步也使得包含各種主題目標(biāo)的圖像數(shù)量在飛速增長(zhǎng)。對(duì)于這些大量出現(xiàn)的圖像進(jìn)行分類,是一項(xiàng)急切需要解決的工程實(shí)踐問(wèn)題,圖像分類是模式識(shí)別與機(jī)器視覺(jué)領(lǐng)域的一個(gè)重要組成部分。對(duì)于未經(jīng)過(guò)訓(xùn)練的機(jī)器而言,圖像只不過(guò)是一幅組合起來(lái)的離散像素點(diǎn),但是圖像分類技術(shù)通過(guò)對(duì)圖像數(shù)據(jù)提取特征信息并加以分類,能夠克服這種機(jī)器與人之間的語(yǔ)義鴻溝。近幾年來(lái),如何對(duì)大量不同類別的目標(biāo)訓(xùn)練出有鑒別能力的分類器已成為科學(xué)研究人員關(guān)注的熱點(diǎn),并且在諸如互聯(lián)網(wǎng)圖像搜索或視頻搜索等工程領(lǐng)域具有廣泛的應(yīng)用需求和相當(dāng)高的應(yīng)用價(jià)值。目前已有一些圖像分類相關(guān)的技術(shù)和專利,如專利201110175101.9提供一種基于視覺(jué)詞典的圖像分類方法。這種方法分別使用Harris-Affine、MSER和SIFT算子抽取圖像數(shù)據(jù)集的局部特征并生成聯(lián)合特征,再基于移動(dòng)均值和區(qū)域哈希法的聚類算法形成視覺(jué)詞典,最后根據(jù)視覺(jué)詞典生成特征表示并建立分類器。專利201010184378.3提供一種基于主動(dòng)學(xué)習(xí)和半監(jiān)督學(xué)習(xí)的多類圖像分類方法。這項(xiàng)專利目的在于減輕大量圖像數(shù)據(jù)下人工標(biāo)注的負(fù)擔(dān),使分類器相比其他監(jiān)督學(xué)習(xí)分類器同樣能夠具有高效的分類性能。其包括初始樣本的選擇、CST半監(jiān)督學(xué)習(xí)、訓(xùn)練樣本集及分類器模型更新、分類過(guò)程迭代五個(gè)步驟。專利201110443434.5將圖像分類方法融入圖像檢索中,輸入待檢索圖像后,先送入分類器進(jìn)行分類獲得與類別對(duì)應(yīng)的檢索圖像集,再運(yùn)用相似度計(jì)算算法求得待檢索圖像與檢索圖像集內(nèi)每幅圖像的相似度距離,對(duì)距離按升序輸出。雖然已有許多提及圖像分類技術(shù)的專利,但是隨著圖像數(shù)據(jù)規(guī)模不斷增長(zhǎng),如何能快速高效的對(duì)海量數(shù)據(jù)進(jìn)行訓(xùn)練和學(xué)習(xí)依然是一個(gè)亟待解決的問(wèn)題,特別是在大類別圖像數(shù)據(jù)庫(kù)面前,存在一臺(tái)機(jī)器提取特征和特征訓(xùn)練過(guò)程中計(jì)算時(shí)間過(guò)長(zhǎng)的缺點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:本發(fā)明的首要目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供一種并行分布式的大規(guī)模圖像識(shí)別方法,該方法通過(guò)多臺(tái)機(jī)器對(duì)海量圖像數(shù)據(jù)進(jìn)行分布式處理,并且對(duì)圖像數(shù)據(jù)進(jìn)行分布式的訓(xùn)練,以提高了圖像分類的速度,實(shí)現(xiàn)了在線實(shí)時(shí)的大類別圖像分類檢索,極大縮短了研發(fā)周期。本發(fā)明的目的通過(guò)下述技術(shù)方案實(shí)現(xiàn):一種并行分布式的大規(guī)模圖像識(shí)別方法,包括如下步驟:步驟1、由第一調(diào)度節(jié)點(diǎn)將大類別圖像數(shù)據(jù)庫(kù)平均部署在SIFT(Scale-InvariantFeatureTransform,尺度不變特征變形)特征提取計(jì)算節(jié)點(diǎn)上;步驟2、每個(gè)特征提取計(jì)算節(jié)點(diǎn)對(duì)圖像數(shù)據(jù)先進(jìn)行高斯平滑預(yù)處理,再密集采樣和生成SIFT特征矢量;步驟3、第一調(diào)度節(jié)點(diǎn)隨機(jī)生成圖像索引序號(hào),發(fā)往SIFT計(jì)算節(jié)點(diǎn);SIFT計(jì)算節(jié)點(diǎn)依據(jù)索引序號(hào)挑選出索引序號(hào)對(duì)應(yīng)圖像的SIFT特征矢量后,再統(tǒng)一將這些特征矢量發(fā)送給第二調(diào)度節(jié)點(diǎn),第二調(diào)度節(jié)點(diǎn)再將這些特征矢量構(gòu)建高斯混合模型,并將高斯混合模型發(fā)送回每個(gè)Fisher(費(fèi)舍爾)計(jì)算節(jié)點(diǎn);步驟4、每個(gè)Fisher計(jì)算節(jié)點(diǎn)基于高斯混合模型對(duì)圖像提取Fisher特征矢量;步驟5、每個(gè)Fisher計(jì)算節(jié)點(diǎn)將圖像數(shù)據(jù)庫(kù)中所有訓(xùn)練圖像的特征矢量發(fā)送給第三調(diào)度節(jié)點(diǎn),第三調(diào)度節(jié)點(diǎn)收集所有Fisher計(jì)算節(jié)點(diǎn)的特征矢量,并將所有特征矢量進(jìn)行數(shù)據(jù)分段,然后計(jì)算各段所對(duì)應(yīng)的權(quán)重后,最后將分段特征矢量發(fā)往每個(gè)Training計(jì)算節(jié)點(diǎn),此時(shí)每個(gè)Training計(jì)算節(jié)點(diǎn)分別存儲(chǔ)了分段特征矢量數(shù)據(jù),使每個(gè)Training計(jì)算節(jié)點(diǎn)只需對(duì)各自分段特征矢量數(shù)據(jù)進(jìn)行機(jī)器學(xué)習(xí)和訓(xùn)練;步驟6、訓(xùn)練時(shí),在每一Training(訓(xùn)練)計(jì)算節(jié)點(diǎn)上,以類別為單位對(duì)每一類別同步訓(xùn)練一個(gè)一對(duì)多的SVM子分類器,并由第三調(diào)度節(jié)點(diǎn)根據(jù)權(quán)重整合所有子分類器模板參數(shù)生成最終分類器模板,并將最終分類器模板更新分類測(cè)試計(jì)算節(jié)點(diǎn)的分類器模板;步驟7、分類測(cè)試計(jì)算節(jié)點(diǎn)對(duì)當(dāng)前測(cè)試圖像,先提前SIFT特征矢量,接著基于高斯混合模型提取圖像的Fisher特征矢量,然后利用更新分類器模板的SVM分類器得到當(dāng)前圖像的類別輸出,以完成當(dāng)前測(cè)試圖像的分類判斷。步驟5中對(duì)特征矢量進(jìn)行數(shù)據(jù)分段過(guò)程如:第三調(diào)度節(jié)點(diǎn)將訓(xùn)練全集平均劃分成K段,所述訓(xùn)練全集的表達(dá)式為:(x1,y1),...,(xn,yn)∈Rd×{-1,+1},其中,(x1,y1)是其中第一段訓(xùn)練數(shù)據(jù),Rd×{-1,+1}表示數(shù)據(jù)x共d維的實(shí)數(shù)值,而數(shù)據(jù)y是一種取值為-1和+1的值;第k分段訓(xùn)練全集的表達(dá)式為:其中,k∈{1,2,...K}。步驟5中k段訓(xùn)練l類的權(quán)重在第三調(diào)度節(jié)點(diǎn)上采用下面計(jì)算公式:其中,L為訓(xùn)練總類數(shù),是當(dāng)前第k段類l訓(xùn)練樣本的類內(nèi)特征均值與總體訓(xùn)練樣本特征均值μk的歐式距離,用下面公式計(jì)算得到:其中,為第k段l訓(xùn)練類的類內(nèi)樣本特征均值,μk是總體訓(xùn)練樣本特征均值,表示在1到K中尋找類l訓(xùn)練樣本的類內(nèi)特征均值與總體訓(xùn)練樣本特征均值μk的歐式距離的最小值,表示在1到K中尋找類l訓(xùn)練樣本的類內(nèi)特征均值與總體訓(xùn)練樣本特征均值μk的歐式距離的最大值。步驟6中,一對(duì)多的SVM子分類器是采用基于并行化的分段數(shù)據(jù)隨機(jī)梯度下降優(yōu)化算法進(jìn)行訓(xùn)練,一對(duì)多的SVM子分類器訓(xùn)練過(guò)程如下:在SVM訓(xùn)練時(shí),使用Hinge誤差函數(shù)作為目標(biāo)函數(shù),所以第k段l訓(xùn)練類的一對(duì)多SVM分類器優(yōu)化目標(biāo)函數(shù)定義為:其中,是d/K×1維的權(quán)重向量,λ是正則化參數(shù),是偏置項(xiàng),是第k段的特征矢量數(shù)據(jù),是第k段的類標(biāo)簽,C是損失函數(shù);優(yōu)化目標(biāo)函數(shù)對(duì)的梯度分布為:其中,是d/K×1維的權(quán)重向量,λ是正則化參數(shù),是迭代次數(shù)t時(shí)第k段的特征矢量數(shù)據(jù),是迭代次數(shù)t時(shí)第k段的類標(biāo)簽,根據(jù)隨機(jī)梯度下降優(yōu)化算法,算法逐個(gè)讀取樣本點(diǎn)對(duì)和進(jìn)行迭代更新,所述迭代更新的公式如下:其中,是迭代次數(shù)t時(shí)d/K×1維的權(quán)重向量,是迭代次數(shù)t-1時(shí)d/K×1維的權(quán)重向量,λ是正則化參數(shù),是迭代次數(shù)t時(shí)第k段的特征矢量數(shù)據(jù),是迭代次數(shù)t時(shí)第k段的類標(biāo)簽,η是學(xué)習(xí)率參數(shù),隨著迭代次數(shù)的增加而減少,η的值為是迭代次數(shù)t時(shí)偏置項(xiàng),是迭代次數(shù)t-1時(shí)偏置項(xiàng);通過(guò)對(duì)數(shù)據(jù)進(jìn)行分段,使得訓(xùn)練計(jì)算節(jié)點(diǎn)只對(duì)k段訓(xùn)練全集進(jìn)行SVM訓(xùn)練,各個(gè)訓(xùn)練計(jì)算節(jié)點(diǎn)完全獨(dú)立,且并行化計(jì)算。步驟6中第三調(diào)度節(jié)點(diǎn)根據(jù)權(quán)重整合所有子分類器模板參數(shù)生成最終分類器模板的方法如下:由第三調(diào)度節(jié)點(diǎn)根據(jù)已經(jīng)生成的權(quán)重值乘以各子訓(xùn)練模板生成最終模板,所述最終模板所對(duì)應(yīng)的SVM權(quán)重wl和偏置bl為:其中,是各個(gè)分段的權(quán)重值,是獨(dú)立分段第k段訓(xùn)練得到的SVM參數(shù)。具體的實(shí)現(xiàn)步驟如下:1.由第一調(diào)度節(jié)點(diǎn)將大類別圖像數(shù)據(jù)庫(kù)平均部署在多個(gè)特征提取計(jì)算節(jié)點(diǎn)上。2.每個(gè)特征提取計(jì)算節(jié)點(diǎn)對(duì)圖像數(shù)據(jù)先進(jìn)行高斯平滑預(yù)處理,再密集采樣和生成SIFT(Scale-InvariantFeatureTransform)特征矢量。SIFT特征矢量具體提取細(xì)節(jié)可參考文獻(xiàn)DavidG.Lowe,"DistinctiveImageFeaturesfromScale-InvariantKeypoints",2004。3.第一調(diào)度節(jié)點(diǎn)隨機(jī)生成圖像索引序號(hào),發(fā)往SIFT計(jì)算節(jié)點(diǎn);SIFT計(jì)算節(jié)點(diǎn)依據(jù)索引序號(hào)挑選出索引序號(hào)對(duì)應(yīng)圖像的SIFT特征矢量后,再統(tǒng)一將這些特征矢量發(fā)送給第二調(diào)度節(jié)點(diǎn),第二調(diào)度節(jié)點(diǎn)再將這些特征矢量構(gòu)建高斯混合模型,并將高斯混合模型發(fā)送回每一Fisher計(jì)算節(jié)點(diǎn)。構(gòu)建高斯混合模型的具體細(xì)節(jié)可參考文獻(xiàn)JeffA.Bilmes."AGentleTutorialoftheEMAlgorithmanditsApplicationtoParameterEstimationforGaussianMixtureandHiddenMarkovModels",1998。4.每個(gè)Fisher計(jì)算節(jié)點(diǎn)基于高斯混合模型對(duì)圖像提取Fisher特征矢量。Fisher特征矢量的提取具體細(xì)節(jié)可參考文獻(xiàn)FlorentPerronninandChristopherDance,"FisherKernelsonVisualVocabulariesforImageCategorization",2007。5.每個(gè)Fisher計(jì)算節(jié)點(diǎn)將圖像數(shù)據(jù)庫(kù)中所有訓(xùn)練圖像的特征矢量發(fā)送給第三調(diào)度節(jié)點(diǎn),第三調(diào)度節(jié)點(diǎn)收集所有Fisher計(jì)算節(jié)點(diǎn)的特征矢量,并將所有特征矢量進(jìn)行數(shù)據(jù)分段,然后計(jì)算各段所對(duì)應(yīng)的權(quán)重后,最后將分段特征矢量發(fā)往每一Training計(jì)算節(jié)點(diǎn),此時(shí)每個(gè)Training計(jì)算節(jié)點(diǎn)分別存儲(chǔ)了分段特征矢量數(shù)據(jù),這樣每個(gè)Training計(jì)算節(jié)點(diǎn)只需對(duì)各自分段特征矢量數(shù)據(jù)進(jìn)行機(jī)器學(xué)習(xí)和訓(xùn)練。6.訓(xùn)練時(shí),在每一Training計(jì)算節(jié)點(diǎn)上,以類別為單位對(duì)每一類別同步訓(xùn)練一個(gè)一對(duì)多的SVM子分類器,并由第三調(diào)度節(jié)點(diǎn)根據(jù)權(quán)重整合所有子分類器模板參數(shù)生成最終分類器模板,并將最終分類器模板更新分類測(cè)試計(jì)算節(jié)點(diǎn)的分類器模板。SVM的分類器訓(xùn)練過(guò)程可參考文獻(xiàn)LeonBottou,Large-ScaleMachineLearningwithStochasticGradientDescent,2010。7.分類測(cè)試計(jì)算節(jié)點(diǎn)對(duì)當(dāng)前測(cè)試圖像,先提前SIFT特征矢量,接著基于高斯混合模型提取圖像的Fisher特征矢量,然后利用更新分類器模板的SVM分類器得到當(dāng)前圖像的類別輸出,從而最終完成當(dāng)前測(cè)試圖像的分類判斷。作為一種優(yōu)選方案,步驟5中對(duì)特征矢量進(jìn)行數(shù)據(jù)分段可描述為如下過(guò)程,第三調(diào)度節(jié)點(diǎn)將訓(xùn)練全集(x1,y1),...,(xn,yn)∈Rd×{-1,+1}平均劃分成K...