亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

多核集群系統(tǒng)的并行AdaBoost特征提取方法

文檔序號:6426637閱讀:295來源:國知局
專利名稱:多核集群系統(tǒng)的并行AdaBoost特征提取方法
技術領域
本發(fā)明涉及大規(guī)模并行計算領域和模式識別領域,是一種利用多核集群系統(tǒng)加速 AdaBoost特征提取的方法。
背景技術
基于AdaBoost機器學習算法的特征提取方法是目前流行的特征提取方法之一。 Adaboost機器學習算法是解決二類劃分問題,如確定一幅圖片是否是人臉圖片,的有效方法,該方法依據(jù)給定的樣本集合(包括正樣本和負樣本)對該類樣本的特征集合(如Haar 特征集合)進行篩選,進而將篩選出的特征經過加權構成一個分類器。由該方法得到的分類器具備較高的準確度和魯棒性,被廣泛應用于各種模式識別系統(tǒng)中,如人物檢測、人臉檢測、人眼檢測系統(tǒng)等等。AdaBoost算法主要由一個迭代循環(huán)構成,這個迭代循環(huán)又分為三個步驟最優(yōu)特征篩選、誤差評估和樣本權重更新。其中最優(yōu)特征篩選需要遍歷整個特征集合,選出分類效果最好的特征,誤差評估則對選出的特征進行評估,計算其分類的誤差;樣本權重更新則是根據(jù)剛剛選出的特征的誤差對樣本的權重進行調整,以便在下次迭代時針對新的樣本權重選出新的最優(yōu)特征。從整個算法流程來講,樣本集合及其權重是其核心數(shù)據(jù)結構,每次迭代都需要對所有的特征進行評估,從而得出誤差最小的特征,并加入分類器中。對特征進行評估的過程中,需要使用該特征對樣本庫中的所有樣本計算分類值,并依據(jù)該分類值對樣本進行排序,進而求出該特征的最優(yōu)閾值。AdaBoost機器學習算法具有較高的時間復雜度,對于給定大小為的訓練樣本集合和大小為的特征集合,AdaBoost機器學習算法的時間復雜度為(學習過程中的樣本排序采用快速排序算法)。同時,為了能夠得到具備更高準確度和魯棒性的人臉特征分類器,又必須使用盡量多的訓練樣本和更大的特征集合,這就使得進行一次AdaBoost特征提取需要花費數(shù)周乃至數(shù)月的時間。如何加速AdaBoost特征提取就成為了一個亟待解決的問題。多核集群系統(tǒng)是目前主流的大規(guī)模并行計算系統(tǒng),它將多臺具備多核處理器的計算機連接起來構成集群,具備極強的計算能力。如果能夠利用多核集群系統(tǒng)強大的計算能力進行AdaBoost特征提取,將極大地加速AdaBoost特征提取過程。然而,傳統(tǒng)的AdaBoost 算法都是串行訓練算法,無法充分利用多核集群系統(tǒng)的并行處理能力,難以發(fā)揮多核集群系統(tǒng)的性能優(yōu)勢,本專利針對這一問題,設計了多核集群系統(tǒng)的并行AdaBoost特征提取方法。

發(fā)明內容
本發(fā)明所解決的技術問題在于提供一種多核集群系統(tǒng)的并行AdaBoost特征提取方法,以解決上述背景技術中的缺點。多核集群系統(tǒng)的并行AdaBoost特征提取方法設給定的多核集群系統(tǒng)包含個計算機結點,每個計算機結點擁有個處理器核,包括以下步驟
3
(1)、每個計算機結點啟動一個進程,一個主進程和p-1個從進程,主進程執(zhí)行特征集合分布過程,將特征集合分為P個子集合,分布到P個計算機結點上,同時每個計算機結點都將保留一份樣本集合的本地副本;(2)、每個進程執(zhí)行特征子集合并行掃描過程,啟動Q個線程對分配給自己的子集合進行掃描,選出該子集合中的最優(yōu)特征;進而,集群系統(tǒng)執(zhí)行特征規(guī)約過程,將個子集合的最優(yōu)特征進行一次并行規(guī)約,得到整個特征集合的全局最優(yōu)特征并保存在主進程中;(3)、主進程將全局最優(yōu)特征通過廣播發(fā)送給所有從進程,以便所有進程都能夠依據(jù)全局最優(yōu)特征更新樣本集合的本地副本中各個樣本的權重值;最終,經過多次迭代,主進程將得到一個由多個特征組合而成的特征分類器。在本發(fā)明中,所述特征集合分布過程包含三個子步驟1.對訓練過程中將要使用的特征集合內的個特征進行編碼,每個特征都用一個整數(shù)表示,這樣,一個整數(shù)區(qū)間,就可以表示一個特征集合的子集合;2.主進程將代表個特征子集合的整數(shù)區(qū)間分別發(fā)送給個從進程;3.每個從進程接收到整數(shù)區(qū)間后,依據(jù)該整數(shù)區(qū)間重建特征子集合;在本發(fā)明中,所述特征子集合并行掃描過程包含三個子步驟1.將收到的整數(shù)區(qū)間均勻劃分為個子區(qū)間;2.啟動個線程,每個線程負責對子區(qū)間所對應的特征集合進行掃描,并選出該特征集合的最優(yōu)特征;3.對個線程得到的個局部最優(yōu)特征進行評估,獲得區(qū)間所對應的特征集合的最優(yōu)特征;在本發(fā)明中,所述特征規(guī)約過程包含如下子步驟1.對于任意一個計算結點,如果,那么,它將自己獲得的局部最優(yōu)特征發(fā)送給結占.
^ \\\ 2.對于任意一個計算結點,如果,那么,它等待接收來自結點和的局部最優(yōu)特征; 收到后,它將對三個局部最優(yōu)特征進行評估,得到最優(yōu)特征,并將其發(fā)給結點;3.最終,全局最優(yōu)特征將由結點0獲得。需要特別指出的是Adaboost是一類機器學習算法的統(tǒng)稱,它有許多變種,如 Descrete Adaboost^Real Adaboost 以及 Gentle Adaboost 等等。這些變種之間的區(qū)另Ij主要表現(xiàn)在三個方面一是特征誤差的計算方法不同;二是樣本權重的更新算法不同;三是在將多個特征通過加權構成分類器時加權的方式不同。本發(fā)明所述并行Adaboost特征提取方法并不局限于Adaboost算法中的某一變種,可以通用于所有Adaboost算法。所述多核集群系統(tǒng)的并行AdaBoost訓練方法與傳統(tǒng)AdaBoost訓練方法相比具有如下優(yōu)勢該方法能夠充分利用多核集群系統(tǒng)的并行處理能力,包括單個結點內部多核處理器核間的并行處理能力以及多核結點間的并行處理能力,從而極大地加速AdaBoost訓練過程。有益效果本發(fā)明能夠充分發(fā)揮多核集群系統(tǒng)計算能力,從而極大地加速AdaBoost特征提取過程。


圖1是傳統(tǒng)AdaBoost訓練過程的流程圖;圖2是Haar特征描述示意圖;圖3是多核集群系統(tǒng)的AdaBoost訓練過程的流程圖;圖4是全局最優(yōu)特征的規(guī)約過程示意具體實施例方式為了使本發(fā)明的技術手段、創(chuàng)作特征、工作流程、使用方法達成目的與功效易于明白了解,下面結合具體實施例,進一步闡述本發(fā)明。如圖3多核集群系統(tǒng)并行Adaboost訓練方法的流程圖,整個并行訓練過程共包括六個大的步驟,即初始化特征集合和樣本集合,特征集合分布,特征子集合的并行評估,子集合最優(yōu)特征收集,全局最優(yōu)特征廣播以及并行樣本權重更新。假設給定的多核集群系統(tǒng)包含個計算機結點,每個計算機結點擁有個處理器核,下面分別對著六個步驟進行詳細的描述。在初始化特征集合和樣本集合時,需要將特征集合和樣本集合以配置文件的形式存儲在多核集群系統(tǒng)的存儲系統(tǒng)中,并確保所有的計算結點都能夠訪問。為了更好地發(fā)揮計算結點間的并行處理能力,應該在每個計算結點的本地存儲器中保存樣本集合的一個副本。此外,在初始化時,樣本集合中的所有樣本的權重都設為1。特征集合分布是指將特征集合劃分為個子集合,并將這個子集合分別發(fā)送到個計算結點。為了能夠在特征集合分布過程中盡量減少計算結點間的通信量,在進行特征集合分布時首先要對特征集合內的特征進行編碼。假設特征集合共包含了個特征,那么就將每個特征與一個整數(shù)對應。這樣,一個特征集合的子集合就可以用一個整數(shù)區(qū)間來表示。針對不同的特征集合需要設計不同的編碼方法,下面以模式識別領域常用的Haar特征為例, 給出特征編碼的設計思路。Haar特征是指將灰度圖像中某個矩形位置內的像素灰度值進行加權求和以表征圖像的某些特征。如錯誤!未找到引用源。所示,是兩個Haar特征的例子左邊的是一個寬度為4個像素,高度為2個像素,寬高比為2 1的Haar特征,它表示用左半邊矩形內的像素和減去又邊矩形內的像素和;右邊是一個寬度為4個像素高度為6個像素,寬高比為2 2的Haar特征,它表示用左上角矩形的像素灰度和和減去右下角矩形的像素灰度和。要對某個Haar特征進行唯一的整數(shù)編碼需要描述五個維度的信息Haar特征的種類、Haar特征矩形在樣本圖像上的橫向偏移、Haar特征矩形在樣本圖像上的縱向偏移y、Haar特征的寬度以及Haar特征的高度。設要考慮的某一類Haar 特征的寬高比為,樣本圖像的寬度為,高度為,那么該類Haar特征的總數(shù)可以表示為
權利要求
1.多核集群系統(tǒng)的并行AdaBoost特征提取方法,設給定的多核集群系統(tǒng)包含個計算機結點,每個計算機結點擁有個處理器核,其特征在于,包括以下步驟(1)、每個計算機結點啟動一個進程,一個主進程和p-1個從進程,主進程執(zhí)行特征集合分布過程,將特征集合分為P個子集合,分布到P個計算機結點上,同時每個計算機結點都將保留一份樣本集合的本地副本;(2)、每個進程執(zhí)行特征子集合并行掃描過程,啟動Q個線程對分配給自己的子集合進行掃描,選出該子集合中的最優(yōu)特征;進而,集群系統(tǒng)執(zhí)行特征規(guī)約過程,將個子集合的最優(yōu)特征進行一次并行規(guī)約,得到整個特征集合的全局最優(yōu)特征并保存在主進程中;(3)、主進程將全局最優(yōu)特征通過廣播發(fā)送給所有從進程,以便所有進程都能夠依據(jù)全局最優(yōu)特征更新樣本集合的本地副本中各個樣本的權重值;最終,經過多次迭代,主進程將得到一個由多個特征組合而成的特征分類器。
2.根據(jù)權利要求1所述的多核集群系統(tǒng)的并行AdaBoost特征提取方法,其特征在于, 所述特征集合分布過程包含三個子步驟(1)對訓練過程中將要使用的特征集合內的個特征進行編碼,每個特征都用一個整數(shù)表示,這樣,一個整數(shù)區(qū)間,就可以表示一個特征集合的子集合;(2)主進程將代表個特征子集合的整數(shù)區(qū)間分別發(fā)送給個從進程;(3)每個從進程接收到整數(shù)區(qū)間后,依據(jù)該整數(shù)區(qū)間重建特征子集合。
3.根據(jù)權利要求1所述的多核集群系統(tǒng)的并行AdaBoost特征提取方法,其特征在于, 所述特征子集合并行掃描過程包含三個子步驟(1)將收到的整數(shù)區(qū)間均勻劃分為個子區(qū)間;(2)啟動個線程,每個線程負責對子區(qū)間所對應的特征集合進行掃描,并選出該特征集合的最優(yōu)特征;(3)對個線程得到的個局部最優(yōu)特征進行評估,獲得區(qū)間所對應的特征集合的最優(yōu)特征。
全文摘要
本發(fā)明公開了一種多核集群系統(tǒng)的并行AdaBoost特征提取方法,該方法將AdaBoost的每輪迭代過程用如下方法進行改造首先將AdaBoost訓練過程中需要掃描的特征集合進行劃分,均勻分布在多核集群系統(tǒng)的各個結點上;然后,每個計算結點則進一步將分配給自己的特征子集合進行劃分,分別由不同的計算核心進行掃描并收集各個計算核心的計算結果,得到特征子集合上的最優(yōu)特征;接著集群系統(tǒng)將各個結點得到的特征子集合上的最優(yōu)特征進行規(guī)約,從而特到全局最優(yōu)特征。該方法能夠充分發(fā)揮多核集群系統(tǒng)的并行處理能力,從而極大地加速AdaBoost特征提取過程。
文檔編號G06F9/46GK102226909SQ20111016614
公開日2011年10月26日 申請日期2011年6月20日 優(yōu)先權日2011年6月20日
發(fā)明者夏東 申請人:夏東
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1