亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于FPGA的AdaBoost算法加速器及控制方法與流程

文檔序號(hào):11774029閱讀:841來源:國知局
一種基于FPGA的AdaBoost算法加速器及控制方法與流程

本發(fā)明涉及fpga和adaboost算法領(lǐng)域,尤其涉及一種基于fpga的adaboost算法加速器及控制方法。



背景技術(shù):

fpga(fieldprogrammablegatearray,可編輯邏輯門陣列)廣泛的應(yīng)用于各種電子和控制領(lǐng)域,fpga的主要功能就是靈活的實(shí)現(xiàn)高速計(jì)算和控制。

adaboost是一種迭代算法,其核心思想是針對(duì)同一個(gè)訓(xùn)練集訓(xùn)練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構(gòu)成一個(gè)更強(qiáng)的最終分類器(強(qiáng)分類器)。為了實(shí)現(xiàn)adaboost算法加速的功能,使用fpga來實(shí)現(xiàn)。使用fpga進(jìn)行并行計(jì)算和加速是當(dāng)下較為常見的解決方案。然而現(xiàn)有技術(shù)中,adaboost算法在中央處理器(cpu)和其他處理器上實(shí)現(xiàn)速度較慢,目前為止還沒有很好的解決方法。



技術(shù)實(shí)現(xiàn)要素:

為了解決上述的技術(shù)問題,本發(fā)明的目的在于提出一種基于fpga的adaboost算法加速器及控制方法,能夠?qū)崿F(xiàn)計(jì)算的并行化,極大地加快運(yùn)算速度。

為了達(dá)到上述目的,本發(fā)明提供了一種技術(shù)方案:一種基于fpga的adaboost算法加速器,包括fpga和微控制單元,fpga包括分別與微控制單元相連接的參數(shù)ram和圖像ram、與參數(shù)ram相連接且用于轉(zhuǎn)換參數(shù)使被簡化的參數(shù)轉(zhuǎn)換為完整的參數(shù)特征的參數(shù)轉(zhuǎn)換模塊、與參數(shù)轉(zhuǎn)換模塊相連接和圖像ram分別相連接且用于計(jì)算所需要的值在圖像ram數(shù)據(jù)中的位置的地址產(chǎn)生模塊、與圖像ram相連接且用于累加計(jì)算的多個(gè)運(yùn)算累加模塊、與微控制單元和多個(gè)運(yùn)算累加模塊分別相連接且用于整個(gè)加速器的循環(huán)控制和最后計(jì)算的輸出的循環(huán)控制模塊。

進(jìn)一步地,循環(huán)控制模塊包括控制整個(gè)加速器循環(huán)過程的狀態(tài)機(jī)。

進(jìn)一步地,參數(shù)轉(zhuǎn)換模塊和地址產(chǎn)生模塊分別具有定制的邏輯電路。

進(jìn)一步地,運(yùn)算累加模塊為僅受到一根信號(hào)線控制的乘加計(jì)算模塊。

進(jìn)一步地,循環(huán)控制單元通過axi總線與微控制單元相連接。

進(jìn)一步地,微控制單元為mcu或arm。

進(jìn)一步地,參數(shù)ram和圖像ram均為32位寬度的存儲(chǔ)陣列。

本發(fā)明還提供了另一種技術(shù)方案:一種利用上述的基于fpga的adaboost算法加速器的控制方法,包括以下步驟:

步驟1:圖像由微控制單元存入圖像ram;

步驟2:參數(shù)由微控制單元存入?yún)?shù)ram;步驟2與步驟1同時(shí)進(jìn)行;

步驟3:參數(shù)經(jīng)由特征轉(zhuǎn)換模塊和地址產(chǎn)生模塊,生成對(duì)應(yīng)于圖像的特征索引值;

步驟4:圖像ram輸出圖像值進(jìn)入運(yùn)算累加模塊;

步驟5:運(yùn)算累加模塊計(jì)算出結(jié)果,輸送至循環(huán)控制模塊;

步驟6:循環(huán)控制模塊經(jīng)過判斷和狀態(tài)機(jī)的控制,將數(shù)據(jù)輸出給微控制單元;循環(huán)步驟1至步驟6。

通過采用上述技術(shù)方案,本發(fā)明所提出的基于fpga的adaboost算法加速器及控制方法,例化了多個(gè)運(yùn)算累加模塊同時(shí)進(jìn)行計(jì)算,然后計(jì)算出的結(jié)果會(huì)由循環(huán)控制模塊進(jìn)行最后的輸出;會(huì)根據(jù)外部修改ram中的參數(shù)來實(shí)現(xiàn)不同的識(shí)別目標(biāo);fpga外部的微控制單元可以利用axi總線修改參數(shù)ram中的值,以應(yīng)用于不同的adaboost識(shí)別場景;整個(gè)加速器例化有多個(gè)運(yùn)算累加模塊用于實(shí)現(xiàn)計(jì)算的并行化,在足夠資源的情況下,可以例化多個(gè)不同的運(yùn)算累加模塊以加快運(yùn)算的速度。

上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,并可依照說明書的內(nèi)容予以實(shí)施,以下以本發(fā)明的較佳實(shí)施例并配合附圖詳細(xì)說明如后。

附圖說明

圖1為本發(fā)明基于fpga的adaboost算法加速器的結(jié)構(gòu)示意圖;

圖2為本發(fā)明利用本發(fā)明基于fpga的adaboost算法加速器的控制方法的步驟流程圖。

具體實(shí)施方式

下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。

參照附圖1,本實(shí)施例中的一種基于fpga的adaboost算法加速器,一種基于fpga的adaboost算法加速器,包括fpga和微控制單元。fpga包括分別與微控制單元相連接的參數(shù)ram和圖像ram、與參數(shù)ram相連接且用于轉(zhuǎn)換參數(shù)使被簡化的參數(shù)轉(zhuǎn)換為完整的參數(shù)特征的參數(shù)轉(zhuǎn)換模塊、與參數(shù)轉(zhuǎn)換模塊相連接和圖像ram分別相連接且用于計(jì)算所需要的值在圖像ram數(shù)據(jù)中的位置的地址產(chǎn)生模塊、與圖像ram相連接且用于累加計(jì)算的多個(gè)運(yùn)算累加模塊、與微控制單元和多個(gè)運(yùn)算累加模塊分別相連接且用于整個(gè)加速器的循環(huán)控制和最后計(jì)算的輸出的循環(huán)控制模塊。

參數(shù)ram和圖像ram均為多端口的ram,在一種更為優(yōu)選的實(shí)施方案中,參數(shù)ram和圖像ram均為32位寬度的存儲(chǔ)陣列。緩存ram是用來存儲(chǔ)待測(cè)窗口的緩存數(shù)據(jù)的,因?yàn)樵跀?shù)據(jù)輸出進(jìn)行計(jì)算的同時(shí),需要從外部輸入數(shù)據(jù),這時(shí)候就要有另外數(shù)列用于緩存下一個(gè)計(jì)算周期的新數(shù)據(jù)。同理,也會(huì)多出一行數(shù)據(jù)進(jìn)行下一個(gè)周期的緩存。這樣可以保證在計(jì)算的同時(shí),ram也同時(shí)在輸入數(shù)據(jù),這樣可以使得加速器流水線工作,提高效率。

循環(huán)控制模塊是這個(gè)加速器的主要控制單元,它包括控制整個(gè)加速器循環(huán)過程的狀態(tài)機(jī)。循環(huán)控制模塊與arm通過axi-lite總線連接,用來接收代碼里配置的參數(shù),例如強(qiáng)分類器的數(shù)量和弱分類器的數(shù)量,還有圖像的大小尺度。同時(shí),特征索引的值也會(huì)被傳輸?shù)絽?shù)ram中,這樣特征參數(shù)就會(huì)被提取。循環(huán)控制模塊也會(huì)給加速器中不同的模塊分發(fā)參數(shù)和控制信號(hào),所以循環(huán)控制模塊是整個(gè)加速器的核心單元。

特征轉(zhuǎn)換模塊用于轉(zhuǎn)換參數(shù)使參數(shù)變成完整的參數(shù)特征。由于后面的運(yùn)算累加模塊需要的是完整的特征數(shù)據(jù),所以使用特征轉(zhuǎn)換模塊將被簡化過的特征轉(zhuǎn)換為完整的特征。

地址產(chǎn)生模塊則是用來計(jì)算所需要的值在緩存的數(shù)據(jù)中的位置。根據(jù)地址產(chǎn)生模塊生成的地址,運(yùn)算累加模塊會(huì)從存儲(chǔ)圖像數(shù)據(jù)的圖像ram中獲得相應(yīng)的數(shù)據(jù),所獲得的圖像數(shù)據(jù)和對(duì)應(yīng)的分類器參數(shù)將會(huì)被送進(jìn)運(yùn)算累加模塊進(jìn)行計(jì)算。

參數(shù)轉(zhuǎn)換模塊和地址產(chǎn)生模塊分別具有定制的邏輯電路以使各自的功能得以實(shí)現(xiàn)。

運(yùn)算累加模塊用于輸入圖像數(shù)值的計(jì)算和與閾值進(jìn)行比較的計(jì)算。具體地,是用來進(jìn)行探測(cè)窗的累加計(jì)算,并且用于累加每一個(gè)分類器的值,這個(gè)值與參數(shù)中的閾值進(jìn)行比較最后會(huì)來進(jìn)行結(jié)果的判斷。優(yōu)選地,運(yùn)算累加模塊為僅受到一根信號(hào)線控制的乘加計(jì)算模塊,用于輸入數(shù)據(jù)的計(jì)算和累加。

微控制單元為mcu或arm。

參照附圖2,本實(shí)施例還提供了一種利用上述的基于fpga的adaboost算法加速器的控制方法,包括以下步驟:

步驟1:圖像由微控制單元存入圖像ram;

步驟2:參數(shù)由微控制單元存入?yún)?shù)ram;步驟2與步驟1同時(shí)進(jìn)行;

步驟3:參數(shù)經(jīng)由特征轉(zhuǎn)換模塊和地址產(chǎn)生模塊,生成對(duì)應(yīng)于圖像的特征索引值;

步驟4:圖像ram輸出圖像值進(jìn)入運(yùn)算累加模塊;

步驟5:運(yùn)算累加模塊計(jì)算出結(jié)果,輸送至循環(huán)控制模塊;

步驟6:循環(huán)控制模塊經(jīng)過判斷和狀態(tài)機(jī)的控制,將數(shù)據(jù)輸出給微控制單元;循環(huán)步驟1至步驟6。

以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,并不用于限制本發(fā)明,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明技術(shù)原理的前提下,還可以做出若干改進(jìn)和變型,這些改進(jìn)和變型也應(yīng)視為本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1