欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于fpga的k近鄰分類器的制作方法

文檔序號(hào):6381955閱讀:238來(lái)源:國(guó)知局
專利名稱:基于fpga的k近鄰分類器的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于視頻目標(biāo)檢測(cè)領(lǐng)域,特別是一種基于FPGA的K近鄰分類器,可應(yīng)用于實(shí)時(shí)視頻目標(biāo)檢測(cè)。
背景技術(shù)
視頻目標(biāo)檢測(cè)就是在前端通過(guò)視頻采集系統(tǒng)提取關(guān)鍵幀,然后傳到后端通過(guò)一些圖像處理的技術(shù)達(dá)到自動(dòng)判別目標(biāo)的目的。視頻目標(biāo)檢測(cè)最主要是要做到目標(biāo)檢測(cè)的實(shí)時(shí)性,同時(shí)還要達(dá)到較高的識(shí)別率。目前視頻目標(biāo)檢測(cè)主要通過(guò)計(jì)算機(jī)或者數(shù)字信號(hào)處理器DSP實(shí)現(xiàn),在通用計(jì)算機(jī)上要做到高的識(shí)別率是比較容易的,可以通過(guò)復(fù)雜的算法來(lái)達(dá)到高的識(shí)別率,但是通用計(jì)算機(jī)不具備便攜性和靈活性,因此用通用計(jì)算機(jī)做視頻目標(biāo)檢測(cè)在要求便攜的實(shí)際應(yīng)用中價(jià)值不大。數(shù)字信號(hào)處理器是專門為數(shù)字信號(hào)處理而設(shè)計(jì)的,內(nèi)部有硬件乘累加器,在數(shù)字信號(hào)處理領(lǐng)域有著廣泛的應(yīng)用,但是其指令的執(zhí)行是串行的,在速度要求很高的場(chǎng)合,很難達(dá)到實(shí)時(shí)處理的要求。近年來(lái),微電子技術(shù)和超大規(guī)模集成電路制造技術(shù)的發(fā)展,特別是現(xiàn)場(chǎng)可編程門陣列FPGA的發(fā)展,為提高圖像處理技術(shù)的各種性能提供了新的思路和方法。由于實(shí)時(shí)圖像處理數(shù)據(jù)量很大,同時(shí)要求處理速度快、系統(tǒng)體積盡可能小,而FPGA具有集成度高、天生的并行結(jié)構(gòu)等特點(diǎn),以FPGA作為主要處理芯片的圖像處理系統(tǒng)非常適合于對(duì)圖像進(jìn)行實(shí)時(shí)處理。K近鄰分類算法是一種簡(jiǎn)單實(shí)用的經(jīng)典分類算法,其思想非常的簡(jiǎn)單,它認(rèn)為一個(gè)待測(cè)樣本在特征空間中有K個(gè)最相似的訓(xùn)練樣本,如果K個(gè)最相似的訓(xùn)練樣本中的大多數(shù)屬于某一個(gè)類別,那么該待測(cè)樣本也屬于這一類別。其中待測(cè)樣本與訓(xùn)練樣本的相似性可以用I范數(shù)距離或者歐式距離來(lái)度量。K近鄰算法的步驟大體如下首先計(jì)算待測(cè)樣本在特征空間中與所有訓(xùn)練樣本的距離,然后對(duì)計(jì)算得到的所有距離進(jìn)行排序,找出最小的K個(gè)距離所對(duì)應(yīng)的訓(xùn)練樣本,這K個(gè)訓(xùn)練樣本即為待測(cè)樣本的K近鄰,最后,若這K個(gè)訓(xùn)練樣本中多數(shù)樣本屬于某一個(gè)類別,則判決當(dāng)前的待測(cè)樣本也屬于該類別。從以上步驟可以發(fā)現(xiàn),K近鄰分類算法實(shí)現(xiàn)過(guò)程中需要大量距離計(jì)算和排序運(yùn)算,其執(zhí)行過(guò)程屬于串行流水操作。在實(shí)際應(yīng)用中,為了保證正確率,訓(xùn)練樣本的特征數(shù)據(jù)一般都是浮點(diǎn)數(shù)據(jù)。用DSP實(shí)現(xiàn)K近鄰分類器時(shí),待測(cè)樣本在特征空間中與所有訓(xùn)練樣本的距離計(jì)算以及對(duì)距離的排序都是浮點(diǎn)運(yùn)算,運(yùn)算量大,且定點(diǎn)DSP的浮點(diǎn)運(yùn)算是通過(guò)軟件模擬、串行執(zhí)行實(shí)現(xiàn)的,在速度要求很高且數(shù)據(jù)量很大的視頻目標(biāo)檢測(cè)場(chǎng)合,計(jì)算速度慢,很難達(dá)到實(shí)時(shí)處理的要求。

發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)上述現(xiàn)有技術(shù)的不足,提出一種基于FPGA的K近鄰分類器,以提高計(jì)算速度,保證在視頻目標(biāo)檢測(cè)運(yùn)用中達(dá)到實(shí)時(shí)處理的要求。本發(fā)明的技術(shù)原理是利用FPGA良好的并行和流水操作特性,把訓(xùn)練樣本的N維特征數(shù)據(jù)和類別標(biāo)簽分開存儲(chǔ),使得計(jì)算待測(cè)樣本特征與訓(xùn)練樣本特征的距離時(shí)可以并行運(yùn)行,加快計(jì)算速度,同時(shí)使用自定義的流水線排序結(jié)構(gòu),在排序的同時(shí)實(shí)現(xiàn)K近鄰的選擇。根據(jù)上述原理,本發(fā)明包括N+1個(gè)只讀存儲(chǔ)單元I,其前N個(gè)只讀存儲(chǔ)器單元ROM⑴、ROM⑵、……ROM(N),分別用于存儲(chǔ)訓(xùn)練樣本的N維特征數(shù)據(jù),N=7 ;其最后一個(gè)只讀存儲(chǔ)器子模塊ROM(N+1)用于存儲(chǔ)訓(xùn)練樣本的類別標(biāo)簽;串入并出單元2,用于將串行輸入的待測(cè)樣本的N個(gè)特征數(shù)據(jù)轉(zhuǎn)換成并行的N維特征數(shù)據(jù),保存在N個(gè)寄存器中R(1),R(2)……R(N)中,并作為串入并出模塊的輸出; 距離計(jì)算單元3,設(shè)有N對(duì)輸入端口和I個(gè)輸出端口,分別與前N個(gè)只讀儲(chǔ)存器ROM(I)、ROM(2)、……ROM(N)和串入并出模塊的N個(gè)輸出端對(duì)應(yīng)連接,用于計(jì)算待測(cè)樣本特征Y與訓(xùn)練樣本特征X之間的I范數(shù)距離S,其中Y = (γ1; J2,…yN) ,X = (X1, x2,…xN),
s=|| Y-X111 = I Y1-Xi I +1Y2-X21 +…+1 yN-xN I ;標(biāo)簽延時(shí)單兀4,設(shè)有一個(gè)輸入端口和I個(gè)輸出端口,它與最后一個(gè)只讀存儲(chǔ)器子模塊R0M(N+1)的輸出端口相連,用于延時(shí)最后一個(gè)只讀存儲(chǔ)器子模塊ROM(N+1)的輸出數(shù)據(jù),使該輸出數(shù)據(jù)與距離計(jì)算模塊的輸出數(shù)據(jù)保持同步;K近鄰選擇單元5,設(shè)有兩個(gè)輸入端口和K個(gè)輸出端口,分別與距離計(jì)算模塊和標(biāo)簽延時(shí)模塊的輸出端口連接,用于對(duì)距離計(jì)算模塊輸出的距離數(shù)據(jù)進(jìn)行排序,同時(shí)輸出K近鄰的類別標(biāo)簽,其中K=5 ;判決單元6,用于對(duì)K近鄰選擇模塊輸出的K個(gè)類別標(biāo)簽進(jìn)行判斷,輸出待測(cè)樣本類別,該輸出作為整個(gè)分類器的輸出,其中高電平表示有目標(biāo),低電平表示無(wú)目標(biāo)。上述基于FPGA的K近鄰分類器,其特征在于所述的距離計(jì)算單元,包括并行的單輸入浮點(diǎn)減法模塊,設(shè)有N個(gè)輸入端口和N個(gè)輸出端口,這些端口與距離
計(jì)算模塊的輸入端口--對(duì)應(yīng)相連接,用于計(jì)算Y1-Xpy2-X2'......yN_xN,并輸出N個(gè)計(jì)算結(jié)
果;并行的單輸入浮點(diǎn)絕對(duì)值模塊,設(shè)有N個(gè)輸入端口和N個(gè)輸出端口,這些端口與N
個(gè)并行的單輸入浮點(diǎn)減法器的輸出端口--相連,用于計(jì)算|y「x」、Y2-X2、......lyN_xiJ,
并輸出N個(gè)計(jì)算結(jié)果;浮點(diǎn)加法模塊,設(shè)有N個(gè)輸入端口和I個(gè)輸出端口,這些輸入端口與并行的單輸入浮點(diǎn)絕對(duì)值子模塊的輸出端口一一相連,它由N個(gè)單輸入浮點(diǎn)加法子單元級(jí)聯(lián)而成,用于計(jì)算s = Y-Xi = IY1-X11 +1y;rx」+…+1yN-xNI,并輸出最后的I范數(shù)距離計(jì)算結(jié)果。上述基于FPGA的K近鄰分類器,其特征在于所述的K近鄰選擇單元,包括排序模塊,設(shè)有一個(gè)輸入端口和K個(gè)輸出端口,它的輸入端口與距離計(jì)算模塊的輸出端口相連,用于對(duì)距離計(jì)算模塊的輸出數(shù)據(jù)進(jìn)行排序,輸出K個(gè)比較結(jié)果標(biāo)志位;該排序模塊,包括五個(gè)比較子模塊,每個(gè)子模塊,用于對(duì)連續(xù)數(shù)據(jù)流中的兩個(gè)相鄰數(shù)據(jù)進(jìn)行比較,將兩者中的較大者輸出給下一級(jí)比較子模塊,而將兩者中較小的數(shù)據(jù)保留在本級(jí)比較模塊中,并與下一個(gè)輸入數(shù)據(jù)進(jìn)行比較,同時(shí)輸出一個(gè)比較結(jié)果標(biāo)志位;
標(biāo)簽輸出模塊,設(shè)有K+1個(gè)輸入端口和K個(gè)輸出端口,第一個(gè)輸入端口與最后一個(gè)只讀存儲(chǔ)器子模塊ROM(N+1)的輸出端口相連,其余K個(gè)輸入端口與排序模塊的K個(gè)輸出端口相連,用于根據(jù)排序模塊輸出的K個(gè)比較結(jié)果標(biāo)志位,輸出K個(gè)最近鄰的類別標(biāo)簽,該標(biāo)簽輸出模塊,包括五個(gè)標(biāo)簽選擇子模塊,每個(gè)子模塊,用于根據(jù)同級(jí)比較子模塊的比較結(jié)果標(biāo)志位,決定標(biāo)簽數(shù)據(jù)流中相鄰的兩個(gè)標(biāo)簽數(shù)據(jù)是保留在本級(jí)標(biāo)簽選擇子模塊中還是輸出到下一級(jí)標(biāo)簽選擇子模塊,同時(shí)輸出本級(jí)標(biāo)簽選擇子模塊中保留的標(biāo)簽數(shù)據(jù)。上述的基于FPGA的K近鄰分類器,其特征在于所述的判決單元,包括整數(shù)加法模塊,設(shè)有K個(gè)輸入端口和一個(gè)輸出端口,它的輸入端口與K近鄰選擇單元的輸出端口相連,用于計(jì)算K近鄰選擇單元輸出的K個(gè)標(biāo)簽數(shù)據(jù)的和,并輸出計(jì)算結(jié)果; 整數(shù)比較模塊,設(shè)有一個(gè)輸入端口和一個(gè)輸出端口,它的輸入端口與整數(shù)加法模塊的輸出端口相連,用于將整數(shù)加法模塊的結(jié)果與K/2進(jìn)行比較,大于則輸出高電平,小于則輸出低電平。本發(fā)明與現(xiàn)有技術(shù)相比具有以下優(yōu)點(diǎn)1、本發(fā)明由于將訓(xùn)練樣本的N維特征數(shù)據(jù)和類別標(biāo)簽分開存儲(chǔ),保證了距離計(jì)算部分能夠快速并行執(zhí)行,加快了距離計(jì)算的速度;2、本發(fā)明采用K級(jí)級(jí)聯(lián)的比較子模塊和K級(jí)級(jí)聯(lián)的標(biāo)簽選擇子模塊共同構(gòu)成K近鄰選擇單元,在對(duì)距離數(shù)據(jù)進(jìn)行排序的同時(shí)便可得到K個(gè)最近鄰的類別標(biāo)簽,加快了排序選擇的速度。


圖1是本發(fā)明的整體結(jié)構(gòu)框圖;圖2是本發(fā)明中的串入并出單元;圖3是本發(fā)明中的距離計(jì)算單元結(jié)構(gòu)框圖;圖4是本發(fā)明中的K近鄰選擇單元結(jié)構(gòu)框圖;圖5是本發(fā)明中的判決單元的結(jié)構(gòu)框圖。
具體實(shí)施例方式參照?qǐng)D1,本發(fā)明包括N+1個(gè)只讀存儲(chǔ)單元1、串入并出單元2、距離計(jì)算單元3、標(biāo)簽延時(shí)單元4、K近鄰選擇單元5和判決單元6。其中所述的N+1個(gè)只讀存儲(chǔ)單元1,其前N個(gè)只讀存儲(chǔ)器單元ROM⑴、ROM⑵、……ROM(N),分別用于存儲(chǔ)訓(xùn)練樣本的N維特征數(shù)據(jù),N=7;其最后一個(gè)只讀存儲(chǔ)器單元ROM(N+1)用于存儲(chǔ)訓(xùn)練樣本的類別標(biāo)簽;所述的串入并出單元2,設(shè)有一個(gè)輸入端口和N個(gè)輸出端口,它的輸入端口作為整個(gè)K近鄰分類器的輸入端口,用于將串行輸入的待測(cè)樣本的N個(gè)特征數(shù)據(jù)轉(zhuǎn)換成并行的N維特征數(shù)據(jù)。該串入并出單元的結(jié)構(gòu)如圖2所示。所述距離計(jì)算單元3,設(shè)有N對(duì)輸入端口和I個(gè)輸出端口,其N對(duì)輸入端口分別與前N個(gè)只讀儲(chǔ)存器ROM⑴、ROM⑵、……ROM(N)和串入并出模塊的N個(gè)輸出端對(duì)應(yīng)連接,用于計(jì)算待測(cè)樣本特征Y與訓(xùn)練樣本特征X之間的I范數(shù)距離S,其中Y = (Y1, y2,…yN),X= (X1, X2, ··· χΝ), S = IY-X 111= Iy1-X1I + Iy2-X2I+W + IyfxNU 該距離計(jì)算單元 3 的結(jié)構(gòu)如圖3所示。所述標(biāo)簽延時(shí)單兀4,設(shè)有一個(gè)輸入端口和一個(gè)輸出端口,它的輸入端口與最后一個(gè)只讀存儲(chǔ)器子模塊R0M(N+1)的輸出端口相連,用于延時(shí)最后一個(gè)只讀存儲(chǔ)器模塊ROM(N+1)的輸出數(shù)據(jù),使該輸出數(shù)據(jù)與距離計(jì)算模塊的輸出數(shù)據(jù)保持同步;標(biāo)簽延時(shí)單元延遲的時(shí)鐘周期數(shù)是根據(jù)距離計(jì)算單元的延時(shí)決定的,本實(shí)施中距離計(jì)算單元共延時(shí)28個(gè)時(shí)鐘周期,因此標(biāo)簽延時(shí)單元共延時(shí)28個(gè)時(shí)鐘周期,經(jīng)過(guò)標(biāo)簽延時(shí)單元后,訓(xùn)練樣本標(biāo)簽和距離計(jì)算單元的結(jié)果保持同步;所述K近鄰選擇單元5,設(shè)有兩個(gè)輸入端口和K個(gè)輸出端口,第一個(gè)輸入端口與距離計(jì)算單元的輸出端口連接,第二個(gè)輸入端口與標(biāo)簽延時(shí)單元的輸出端口連接,用于對(duì)距離計(jì)算模塊輸出的距離數(shù)據(jù)進(jìn)行排序,同時(shí)輸出K近鄰的類別標(biāo)簽,其中K=5。該K近鄰選擇單元5的結(jié)構(gòu)如圖4所示。 所述判決單元6,設(shè)有K個(gè)輸入端口和一個(gè)輸出端口,它的K個(gè)輸入端口與K近鄰選擇單元的K個(gè)輸出端口對(duì)應(yīng)連接,輸出端口作為整個(gè)K近鄰分類器的輸出,用于對(duì)K近鄰選擇模塊輸出的K個(gè)類別標(biāo)簽進(jìn)行判斷,輸出待測(cè)樣本類別,其中高電平表示有目標(biāo),低電平表示無(wú)目標(biāo)。該判決單元6的結(jié)構(gòu)如圖5所示。參照?qǐng)D2,所述串入并出單元2,包括7個(gè)寄存器模塊,其中每個(gè)寄存器模塊都有一個(gè)輸入端口和一個(gè)輸出端口,第一個(gè)寄存器模塊的輸入端口作為串入并出單兀的輸入端口,第二個(gè)寄存器模塊的輸入端口與第一個(gè)寄存器模塊的輸出端口相連,第三個(gè)寄存器模塊的端口與第二個(gè)寄存器模塊的輸出端口相連,第四個(gè)寄存器模塊的輸入端口與第三個(gè)寄存器模塊的輸出端口相連,第五個(gè)寄存器模塊的輸入端口與第四個(gè)寄存器模塊的輸出端口相連,第六個(gè)寄存器模塊的輸入端口與第五個(gè)寄存器模塊的輸出端口相連,第七個(gè)寄存器模塊的輸入端口與第六個(gè)寄存器模塊的輸出端口相連,同時(shí)7個(gè)寄存器模塊的輸出端口作為串入并出單元的7個(gè)輸出端口。參照?qǐng)D3,所述距離計(jì)算單元3,包括并行的單輸入浮點(diǎn)減法模塊、并行的單輸入浮點(diǎn)絕對(duì)值模塊和浮點(diǎn)加法模塊,其中并行的單輸入浮點(diǎn)減法模塊,設(shè)有7個(gè)輸入端口和7個(gè)輸出端口,這些端口與距離
計(jì)算模塊的輸入端口--對(duì)應(yīng)相連接,用于計(jì)算Y1-Xpy2-X2'......y7_x7,并輸出7個(gè)計(jì)算結(jié)
果;并行的單輸入浮點(diǎn)絕對(duì)值模塊,設(shè)有7個(gè)輸入端口和7個(gè)輸出端口,這些端口與7
個(gè)并行的單輸入浮點(diǎn)減法器的輸出端口--相連,用于計(jì)算IyrX1UIyiTX2U......|y7_x7l,
并輸出7個(gè)計(jì)算結(jié)果;浮點(diǎn)加法模塊,設(shè)有7個(gè)輸入端口和I個(gè)輸出端口,這些輸入端口與并行的單輸入浮點(diǎn)絕對(duì)值子模塊的輸出端口一一相連,它由7個(gè)單輸入浮點(diǎn)加法子單元級(jí)聯(lián)而成,用于計(jì)算S = IY-XI = IY1-X11+ Iy2-X21+…+ IyN_xNI,并輸出最后的I范數(shù)距離計(jì)算結(jié)果。參照?qǐng)D4,所述K近鄰選擇單元4包括排序模塊和標(biāo)簽輸出模塊,其中排序模塊,設(shè)有一個(gè)輸入端口和K個(gè)輸出端口,它的輸入端口與距離計(jì)算模塊的輸出端口相連,用于對(duì)距離計(jì)算模塊的輸出數(shù)據(jù)進(jìn)行排序,輸出K個(gè)比較結(jié)果標(biāo)志位;該模塊包括五個(gè)比較子模塊,每個(gè)子模塊,用于對(duì)連續(xù)數(shù)據(jù)流中的兩個(gè)相鄰數(shù)據(jù)進(jìn)行比較,將兩者中的較大者輸出給下一級(jí)比較子模塊,而將兩者中較小的數(shù)據(jù)保留在本級(jí)比較模塊中,并與下一個(gè)輸入數(shù)據(jù)進(jìn)行比較,同時(shí)輸出一個(gè)比較結(jié)果標(biāo)志位,其中,前四個(gè)比較子模塊中每個(gè)子模塊,設(shè)有一個(gè)輸入端口和兩個(gè)輸出端口 ;最后一個(gè)比較子模塊設(shè)有一個(gè)輸入端口和一個(gè)輸出端口 ;第一個(gè)比較子模塊的輸入端口連接到排序模塊的輸入端口,第二個(gè)比較子模塊的輸入端口連接到第一個(gè)比較子模塊的第二輸出端口,第三個(gè)比較子模塊的輸入端口連接到第二個(gè)比較子模塊的第二輸出端口,第四個(gè)比較子模塊的輸入端口連接到第三個(gè)比較子模塊的第二輸出端口,第五個(gè)比較子模塊的輸入端口連接第四個(gè)比較子模塊的第二輸出端口 ;前四個(gè)比較子模塊的第一輸出端口和最后一個(gè)比較子模塊的輸出端口作為整個(gè)排序模塊的五個(gè)輸出端口。標(biāo)簽輸出模塊,設(shè)有K+1個(gè)輸入端口和K個(gè)輸出端口,第一個(gè)輸入端口與最后一個(gè)只讀存儲(chǔ)器子模塊ROM(N+1)的輸出端口相連,其余K個(gè)輸入端口與排序模塊的K個(gè)輸出端口相連,用于根據(jù)排序模塊輸出的K個(gè)比較結(jié)果標(biāo)志位,輸出K個(gè)最近鄰的類別標(biāo)簽。該模塊包括五個(gè)標(biāo)簽選擇子模塊,每個(gè)子模塊,用于根據(jù)同級(jí)比較子模塊的比較結(jié)果標(biāo)志位,決定標(biāo)簽數(shù)據(jù)流中相鄰的兩個(gè)標(biāo)簽數(shù)據(jù)是保留在本級(jí)標(biāo)簽選擇子模塊中還是輸出到下一級(jí)標(biāo)簽選擇子模塊,同時(shí)輸出本級(jí)標(biāo)簽選擇子模塊中保留的標(biāo)簽數(shù)據(jù),其中,前四個(gè)標(biāo)簽選擇子模塊,各設(shè)有兩個(gè)輸入端口和兩個(gè)輸出端口,最后一個(gè)標(biāo)簽選擇子模塊設(shè)有兩個(gè)輸入端口和一個(gè)輸出端口 ;第一個(gè)標(biāo)簽選擇子模塊的第一輸入端口與標(biāo)簽輸出模塊的第一輸入端口連接,第二個(gè)標(biāo)簽選擇子模塊的第一輸入端口與第一個(gè)標(biāo)簽選擇子模塊的第一輸出端口連接,第三個(gè)標(biāo)簽選擇子模塊的第一輸入端口與第二個(gè)標(biāo)簽選擇子模塊的第一輸出端口連接,第四個(gè)標(biāo)簽選擇子模塊的第一輸入端口第與三個(gè)標(biāo)簽選擇子模塊的第一輸出端口連接,第五個(gè)標(biāo)簽選擇子模塊的第一輸入端口與第四個(gè)標(biāo)簽選擇子模塊的第一輸出端口連接;五個(gè)標(biāo)簽選擇子模塊的第二輸入端口與標(biāo)簽輸出模塊的后五個(gè)輸入端口對(duì)應(yīng)連接;五個(gè)標(biāo)簽選擇子模塊的第二輸出端口作為整個(gè)標(biāo)簽輸出模塊的五個(gè)輸出端口。參照?qǐng)D5,所述判決單元5包括整數(shù)加法模塊和整數(shù)比較模塊,其中,整數(shù)加法模塊,設(shè)有K個(gè)輸入端口和一個(gè)輸出端口,它的K個(gè)輸入端口與判決單元的K個(gè)輸入端口對(duì)應(yīng)相連,用于計(jì)算K近鄰選擇單元輸出的K個(gè)標(biāo)簽數(shù)據(jù)的和,并輸出計(jì)算結(jié)果;整數(shù)比較模塊,設(shè)有一個(gè)輸入端口和一個(gè)輸出端口,它的輸入端口與整數(shù)加法模塊的輸出端口相連,它的輸出端口作為判決單元的輸出端口,用于將整數(shù)加法模塊的結(jié)果與K/2進(jìn)行比較,大于則輸出高電平,小于則輸出低電平。以上僅為本發(fā)明的一個(gè)具體實(shí)例,不構(gòu)成對(duì)本發(fā)明的任何限制,顯然,在本發(fā)明的思想下可以做出不同的變更,但這些均在本發(fā)明的保護(hù)范圍之列。
權(quán)利要求
1.一種基于FPGA的K近鄰分類器,包含 N+1個(gè)只讀存儲(chǔ)單元(I ),其前N個(gè)只讀存儲(chǔ)器單元ROM (I)、ROM (2)、……ROM (N),分別用于存儲(chǔ)訓(xùn)練樣本的N維特征數(shù)據(jù),N=7 ;其最后一個(gè)只讀存儲(chǔ)器子模塊ROM(N+1)用于存儲(chǔ)訓(xùn)練樣本的類別標(biāo)簽; 串入并出單元(2),用于將串行輸入的待測(cè)樣本的N個(gè)特征數(shù)據(jù)轉(zhuǎn)換成并行的N維特征數(shù)據(jù),保存在N個(gè)寄存器中R(1),R(2)……R(N)中,并作為串入并出模塊的輸出; 距離計(jì)算單元(3),設(shè)有N對(duì)輸入端口和I個(gè)輸出端口,分別與前N個(gè)只讀儲(chǔ)存器ROM(I)、ROM(2)、……ROM(N)和串入并出模塊的N個(gè)輸出端對(duì)應(yīng)連接,用于計(jì)算待測(cè)樣本特征Y與訓(xùn)練樣本特征X之間的I范數(shù)距離S,其中Y = (γ1; J2,…yN) ,X = (X1, x2,…xN),s=|| Y-X111 = I Y1-Xi I +1Y2-X21 +…+1 yN-xN I ; 標(biāo)簽延時(shí)單兀(4),設(shè)有一個(gè)輸入端口和一個(gè)輸出端口,它與最后一個(gè)只讀存儲(chǔ)器模塊ROM(N+1)的輸出端口相連,用于延時(shí)最后一個(gè)只讀存儲(chǔ)器模塊ROM(N+1)的輸出數(shù)據(jù),使該輸出數(shù)據(jù)與距離計(jì)算單元的輸出數(shù)據(jù)保持同步; K近鄰選擇單元(5),設(shè)有兩個(gè)輸入端口和K個(gè)輸出端口,分別與距離計(jì)算模塊和標(biāo)簽延時(shí)模塊的輸出端口連接,用于對(duì)距離計(jì)算模塊輸出的距離數(shù)據(jù)進(jìn)行排序,同時(shí)輸出K近鄰的類別標(biāo)簽,其中K=5 ; 判決單元(6),用于對(duì)K近鄰選擇模塊輸出的K個(gè)類別標(biāo)簽進(jìn)行判斷,輸出待測(cè)樣本類另O,該輸出作為整個(gè)分類器的輸出,其中高電平表示有目標(biāo),低電平表示無(wú)目標(biāo)。
2.根據(jù)權(quán)利要求1所述的基于FPGA的K近鄰分類器,其特征在于所述的距離計(jì)算單元,包括 并行的單輸入浮點(diǎn)減法模塊,設(shè)有N個(gè)輸入端口和N個(gè)輸出端口,這些端口與距離計(jì)算模塊的輸入端口--對(duì)應(yīng)相連接,用于計(jì)算Y1-Xpy2-X^ ......yN_xN,并輸出N個(gè)計(jì)算結(jié)果; 并行的單輸入浮點(diǎn)絕對(duì)值模塊,設(shè)有N個(gè)輸入端口和N個(gè)輸出端口,這些端口與N個(gè)并行的單輸入浮點(diǎn)減法器的輸出端口--相連,用于計(jì)算Iy1-X1UIy2-X2U......|yN_xNl,并輸出N個(gè)計(jì)算結(jié)果; 浮點(diǎn)加法模塊,設(shè)有N個(gè)輸入端口和I個(gè)輸出端口,這些輸入端口與并行的單輸入浮點(diǎn)絕對(duì)值子模塊的輸出端口一一相連,它由N個(gè)單輸入浮點(diǎn)加法子單元級(jí)聯(lián)而成,用于計(jì)算S=Y-Xi = Iyrxi I +1 y;rx21+…+1I,并輸出最后的I范數(shù)距離計(jì)算結(jié)果。
3.根據(jù)權(quán)利要求1所述的基于FPGA的K近鄰分類器,其特征在于所述的K近鄰選擇單元,包括 排序模塊,設(shè)有一個(gè)輸入端口和K個(gè)輸出端口,它的輸入端口與距離計(jì)算模塊的輸出端口相連,用于對(duì)距離計(jì)算模塊的輸出數(shù)據(jù)進(jìn)行排序,輸出K個(gè)比較結(jié)果標(biāo)志位; 標(biāo)簽輸出模塊,設(shè)有K+1個(gè)輸入端口和K個(gè)輸出端口,第一個(gè)輸入端口與最后一個(gè)只讀存儲(chǔ)器子模塊ROM(N+1)的輸出端口相連,其余K個(gè)輸入端口與排序模塊的K個(gè)輸出端口相連,用于根據(jù)排序模塊輸出的K個(gè)比較結(jié)果標(biāo)志位,輸出K個(gè)最近鄰的類別標(biāo)簽。
4.根據(jù)權(quán)利要求1所述的基于FPGA的K近鄰分類器,其特征在于所述的判決單元,包括 整數(shù)加法模塊,設(shè)有K個(gè)輸入端口和一個(gè)輸出端口,它的K個(gè)輸入端口與判決單元的K個(gè)輸入端口對(duì)應(yīng)相連,用于計(jì)算K近鄰選擇單元輸出的K個(gè)標(biāo)簽數(shù)據(jù)的和,并輸出計(jì)算結(jié)果; 整數(shù)比較模塊,設(shè)有一個(gè)輸入端口和一個(gè)輸出端口,它的輸入端口與整數(shù)加法模塊的輸出端口相連,用于將整數(shù)加法模塊的結(jié)果與K/2進(jìn)行比較,大于則輸出高電平,小于則輸出低電平。
5.根據(jù)權(quán)利要求3所述的K近鄰選擇單元,其特征在于所述的排序模塊,包括五個(gè)比較子模塊,每個(gè)子模塊,用于對(duì)連續(xù)數(shù)據(jù)流中的兩個(gè)相鄰數(shù)據(jù)進(jìn)行比較,將兩者中的較大者輸出給下一級(jí)比較子模塊,而將兩者中較小的數(shù)據(jù)保留在本級(jí)比較模塊中,并與下一個(gè)輸入數(shù)據(jù)進(jìn)行比較,同時(shí)輸出一個(gè)比較結(jié)果標(biāo)志位;
6.根據(jù)權(quán)利要求5所述的排序模塊,其特征在于五個(gè)比較子模塊中,其前四個(gè)比較子模塊中每個(gè)子模塊,設(shè)有一個(gè)輸入端口和兩個(gè)輸出端口 ;最后一個(gè)比較子模塊設(shè)有一個(gè)輸入端口和一個(gè)輸出端口 ;第一個(gè)比較子模塊的輸入端口連接到排序模塊的輸入端口,第二個(gè)比較子模塊的輸入端口連接到第一個(gè)比較子模塊的第二輸出端口,第三個(gè)比較子模塊的輸入端口連接到第二個(gè)比較子模塊的第二輸出端口,第四個(gè)比較子模塊的輸入端口連接到第三個(gè)比較子模塊的第二輸出端口,第五個(gè)比較子模塊的輸入端口連接第四個(gè)比較子模塊的第二輸出端口 ;前四個(gè)比較子模塊的第一輸出端口和最后一個(gè)比較子模塊的輸出端口作為整個(gè)排序模塊的五個(gè)輸出端口。
7.根據(jù)權(quán)利要求3所述的K近鄰選擇單元,其特征在于所述的標(biāo)簽輸出模塊,包括五個(gè)標(biāo)簽選擇子模塊,每個(gè)子模塊,用于根據(jù)同級(jí)比較子模塊的比較結(jié)果標(biāo)志位,決定標(biāo)簽數(shù)據(jù)流中相鄰的兩個(gè)標(biāo)簽數(shù)據(jù)是保留在本級(jí)標(biāo)簽選擇子模塊中還是輸出到下一級(jí)標(biāo)簽選擇子模塊,同時(shí)輸出本級(jí)標(biāo)簽選擇子模塊中保留的標(biāo)簽數(shù)據(jù)。
8.根據(jù)權(quán)利要求6所述的標(biāo)簽輸出模塊,其特征在于五個(gè)標(biāo)簽選擇子模塊中,前四個(gè)標(biāo)簽選擇子模塊,各設(shè)有兩個(gè)輸入端口和兩個(gè)輸出端口,最后一個(gè)標(biāo)簽選擇子模塊設(shè)有兩個(gè)輸入端口和一個(gè)輸出端口 ;第一個(gè)標(biāo)簽選擇子模塊的第一輸入端口與標(biāo)簽輸出模塊的第一輸入端口連接,第二個(gè)標(biāo)簽選擇子模塊的第一輸入端口與第一個(gè)標(biāo)簽選擇子模塊的第一輸出端口連接,第三個(gè)標(biāo)簽選擇子模塊的第一輸入端口與第二個(gè)標(biāo)簽選擇子模塊的第一輸出端口連接,第四個(gè)標(biāo)簽選擇子模塊的第一輸入端口第與三個(gè)標(biāo)簽選擇子模塊的第一輸出端口連接,第五個(gè)標(biāo)簽選擇子模塊的第一輸入端口與第四個(gè)標(biāo)簽選擇子模塊的第一輸出端口連接;五個(gè)標(biāo)簽選擇子模塊的第二輸入端口與標(biāo)簽輸出模塊的后五個(gè)輸入端口對(duì)應(yīng)連接;五個(gè)標(biāo)簽選擇子模塊的第二輸出端口作為整個(gè)標(biāo)簽輸出模塊的五個(gè)輸出端口。
全文摘要
本發(fā)明公開了一種基于FPGA的K近鄰分類器,主要解決現(xiàn)有技術(shù)分類速度慢的問(wèn)題。它包括只讀存儲(chǔ)單元、串入并出單元、距離計(jì)算單元、標(biāo)簽延時(shí)單元、K近鄰選擇單元和判決單元。串入并出單元將串行輸入的待測(cè)樣本特征數(shù)據(jù)并行輸出給距離計(jì)算單元,同時(shí)只讀存儲(chǔ)單元輸出訓(xùn)練樣本的特征數(shù)據(jù)給距離計(jì)算單元,經(jīng)距離計(jì)算單元得到待測(cè)樣本特征與訓(xùn)練樣本特征之間的1范數(shù)距離,訓(xùn)練樣本標(biāo)簽經(jīng)過(guò)標(biāo)簽延時(shí)單元延時(shí)后,再與距離計(jì)算單元的結(jié)果同步輸出到K近鄰選擇單元,K近鄰選擇單元輸出K個(gè)最近鄰的標(biāo)簽,判決單元根據(jù)K個(gè)最近鄰的標(biāo)簽判斷待測(cè)樣本的類別。本發(fā)明具有分類速度快、結(jié)構(gòu)簡(jiǎn)單、可重構(gòu)性好的優(yōu)點(diǎn),可用于實(shí)時(shí)視頻目標(biāo)識(shí)別。
文檔編號(hào)G06T1/20GK103020893SQ20121047641
公開日2013年4月3日 申請(qǐng)日期2012年11月21日 優(yōu)先權(quán)日2012年11月21日
發(fā)明者侯彪, 侯小瑾, 周宇, 焦李成, 王爽, 張向榮, 馬文萍, 馬晶晶 申請(qǐng)人:西安電子科技大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
常德市| 将乐县| 云阳县| 锡林郭勒盟| 长白| 新蔡县| 深州市| 时尚| 昌图县| 鄯善县| 拉孜县| 合阳县| 观塘区| 南投县| 定安县| 名山县| 滨海县| 探索| 维西| 沧州市| 颍上县| 浏阳市| 会泽县| 大埔区| 托里县| 扎鲁特旗| 荔浦县| 易门县| 临邑县| 金寨县| 永嘉县| 改则县| 枞阳县| 石景山区| 阿鲁科尔沁旗| 肇州县| 即墨市| 婺源县| 闸北区| 章丘市| 青铜峡市|