本發(fā)明涉及一種圖像特征提取方法,特別是涉及一種基于FPGA的圖像紋理特征提取算法,屬于圖像處理技術(shù)領(lǐng)域。
背景技術(shù):
圖像處理與圖像識(shí)別技術(shù),是當(dāng)今最熱門的領(lǐng)域之一,尤其是對(duì)圖像特征的提取工作是目前先進(jìn)的模式識(shí)別和人工智能系統(tǒng)的前提。這些技術(shù)的開展將在民用、軍工和航天科學(xué)等重要領(lǐng)域,取得質(zhì)的飛躍。圖像特征的一個(gè)重要分支就是紋理特征,它體現(xiàn)了不同圖像和物體的形態(tài)、大小、分布、方向等重要參數(shù),對(duì)圖像特征識(shí)別起到?jīng)Q定性因素。但是紋理特征提取的過程十分復(fù)雜且計(jì)算量巨大,例如一張1080p的全高清圖像,應(yīng)用經(jīng)典的Basic Image Features算法,需要進(jìn)行多達(dá)400多億次運(yùn)算。這對(duì)于傳統(tǒng)的CPU而言是一個(gè)非常艱巨的任務(wù)。由于運(yùn)算時(shí)間過長(zhǎng),所以嚴(yán)重限制了算法的實(shí)際應(yīng)用。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于,克服現(xiàn)有技術(shù)中的不足,提供一種基于FPGA的圖像紋理特征提取算法,可以極大地提高圖像紋理特征的提取速度,解決了提取算法對(duì)性能的需求;同時(shí)其低功耗的設(shè)計(jì),可以嵌入到微型設(shè)備中,使得提取算法和模式識(shí)別等技術(shù)得到更廣泛的實(shí)際應(yīng)用。
為了達(dá)到上述目的,本發(fā)明所采用的技術(shù)方案是:
一種基于FPGA的圖像紋理特征提取算法,通過構(gòu)建基于FPGA的快速圖像紋理特征提取系統(tǒng),來執(zhí)行圖像紋理特征提取算法,以實(shí)現(xiàn)基本圖像特征的提取。
其中,所述基于FPGA的快速圖像紋理特征提取系統(tǒng)包括指令控制器,均與指令控制器單向連接的圖像處理器、網(wǎng)絡(luò)控制器和雙模式DMA控制器,以及與雙模式DMA控制器互聯(lián)的DDR2控制器和用于供電的電源模塊;所述圖像處理器和網(wǎng)絡(luò)控制器均與雙模式DMA控制器互聯(lián);所述網(wǎng)絡(luò)控制器,用于接收來自控制端的命令以及收發(fā)待處理圖像的數(shù)據(jù)流;所述指令控制器,用于解析控制端的命令,完成對(duì)各模塊的控制與調(diào)度;所述DDR2控制器,用于根據(jù)命令完成對(duì)數(shù)據(jù)流進(jìn)行暫存;所述雙模式DMA控制器,用于自主地完成流模式與內(nèi)存模式的數(shù)據(jù)轉(zhuǎn)換;所述圖像處理器,用于根據(jù)命令采用圖像紋理特征提取算法完成對(duì)數(shù)據(jù)流進(jìn)行處理及回傳操作。
而且,所述圖像紋理特征提取算法,包括以下步驟,
1)利用六個(gè)高斯導(dǎo)數(shù)濾波器組成的濾波器響應(yīng)空間得到七種不同的紋理特征;
2)建立多級(jí)流水線結(jié)構(gòu)的卷積模塊計(jì)算高斯濾波器響應(yīng),并將計(jì)算結(jié)果標(biāo)準(zhǔn)化,獲得卷積結(jié)果;
所述卷積模塊包括依次相連的流模式接收模塊、像素計(jì)算模塊、窗口生成模塊、乘法器矩陣、平行加法器、雙端FIFO緩存和流模式發(fā)送模塊,以及與像素計(jì)算模塊、窗口生成模塊相連的圖像行緩存;
2-1)流模式接收模塊采用流模式傳輸方式接收待處理圖像,并將待處理圖像傳輸給像素計(jì)算模塊;
2-2)經(jīng)像素計(jì)算模塊獲得每個(gè)像素點(diǎn)的坐標(biāo),利用MUX分路器將每個(gè)像素點(diǎn)的坐標(biāo)寫入圖像行緩存;
2-3)經(jīng)窗口生成模塊讀取相應(yīng)位置的緩存數(shù)據(jù),并利用移位寄存器組合成卷積窗口;
2-4)經(jīng)乘法器矩陣運(yùn)算出卷積核,利用多個(gè)定點(diǎn)乘法器,將卷積窗口與卷積核進(jìn)行點(diǎn)積,并利用平行加法器對(duì)點(diǎn)積的結(jié)果進(jìn)行累加得到卷積結(jié)果;
2-5)將卷積結(jié)果緩存入雙端FIFO緩存,并通過流模式發(fā)送模塊以數(shù)據(jù)流形式發(fā)送出去;
3)利用分類函數(shù),依次計(jì)算出卷積結(jié)果的基本圖像特征;
其中,分類函數(shù)包括定點(diǎn)加法、定點(diǎn)乘法和Cordic算法,基本圖像特征包括中間變量和7個(gè)參數(shù)值,7個(gè)參數(shù)值分別為平坦型Flat、坡型Slop、暗點(diǎn)型Dark Blob、明點(diǎn)型Light Blob、暗線型Dark Line、明線型Light Line和鞍型Saddle;
采用Cordic算法的向量模式進(jìn)行取模操作,通過比較7個(gè)參數(shù)值的大小,選擇參數(shù)值最大的類型作為描述該像素點(diǎn)的紋理特征,并采用數(shù)據(jù)流控制完成紋理特征分類,實(shí)現(xiàn)基本圖像特征的提取。
本發(fā)明進(jìn)一步設(shè)置為:所述卷積模塊利用Matlab軟件工具預(yù)先生成取值參數(shù)和誤差控制參數(shù)。
本發(fā)明進(jìn)一步設(shè)置為:所述網(wǎng)絡(luò)控制器采用千兆以太網(wǎng)PHY。
本發(fā)明進(jìn)一步設(shè)置為:所述網(wǎng)絡(luò)控制器還包括變壓器,所述變壓器用于配合千兆以太網(wǎng)PHY工作,所述電源模塊通過變壓器給千兆以太網(wǎng)PHY進(jìn)行供電。
本發(fā)明進(jìn)一步設(shè)置為:所述電源模塊采用AX3102開關(guān)電源。
本發(fā)明進(jìn)一步設(shè)置為:所述電源模塊還包括AMS1085CM線性穩(wěn)壓器,所述AX3102開關(guān)電源通過AMS1085CM線性穩(wěn)壓器進(jìn)行供電。
本發(fā)明進(jìn)一步設(shè)置為:所述DDR2控制器采用KVR667D2S5/1G的DDR2內(nèi)存模組。
與現(xiàn)有技術(shù)相比,本發(fā)明具有的有益效果是:
通過構(gòu)建基于FPGA的快速圖像紋理特征提取系統(tǒng),來執(zhí)行圖像紋理特征提取算法,以實(shí)現(xiàn)基本圖像特征的提取,其中圖像紋理特征提取算法,首先利用六個(gè)高斯導(dǎo)數(shù)濾波器組成的濾波器響應(yīng)空間得到七種不同的紋理特征;接著建立多級(jí)流水線結(jié)構(gòu)的卷積模塊計(jì)算高斯濾波器響應(yīng),并將計(jì)算結(jié)果標(biāo)準(zhǔn)化,獲得卷積結(jié)果;最后利用分類函數(shù),依次計(jì)算出卷積結(jié)果的基本圖像特征。不僅可以極大地提高圖像紋理特征的提取速度,解決提取算法對(duì)性能的需求;而且低功耗的設(shè)計(jì),可以嵌入到微型設(shè)備中,在同等功耗條件下,可以達(dá)到十倍于傳統(tǒng)CPU的性能,實(shí)現(xiàn)快速提取圖像紋理特征的目的。
上述內(nèi)容僅是本發(fā)明技術(shù)方案的概述,為了更清楚的了解本發(fā)明的技術(shù)手段,下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的描述。
附圖說明
圖1為本發(fā)明的基于FPGA的快速圖像紋理特征提取系統(tǒng)的結(jié)構(gòu)框圖;
圖2為本發(fā)明的多級(jí)流水線結(jié)構(gòu)的卷積模塊的結(jié)構(gòu)框圖;
圖3為本發(fā)明的Cordic算法的實(shí)現(xiàn)流程圖;
圖4為本發(fā)明的基本圖像特征的提取效果圖。
具體實(shí)施方式
下面結(jié)合說明書附圖,對(duì)本發(fā)明作進(jìn)一步的說明。
本發(fā)明提供一種基于FPGA的圖像紋理特征提取算法,通過構(gòu)建基于FPGA的快速圖像紋理特征提取系統(tǒng),來執(zhí)行圖像紋理特征提取算法,以實(shí)現(xiàn)基本圖像特征的提取。
如圖1所示,所述基于FPGA的快速圖像紋理特征提取系統(tǒng)包括指令控制器1,均與指令控制器1單向連接的圖像處理器2、網(wǎng)絡(luò)控制器3和雙模式DMA控制器4,以及與雙模式DMA控制器4互聯(lián)的DDR2控制器5和用于供電的電源模塊;所述圖像處理器2和網(wǎng)絡(luò)控制器3均與雙模式DMA控制器4互聯(lián)。
所述網(wǎng)絡(luò)控制器3采用千兆以太網(wǎng)PHY,通信速率高。
所述網(wǎng)絡(luò)控制器3還包括變壓器,所述變壓器用于配合千兆以太網(wǎng)PHY工作,所述電源模塊通過變壓器給千兆以太網(wǎng)PHY進(jìn)行供電。
所述電源模塊采用AX3102開關(guān)電源,具有輸出電流大,效率高,紋波小等優(yōu)點(diǎn)。所述電源模塊還包括AMS1085CM線性穩(wěn)壓器,所述AX3102開關(guān)電源通過AMS1085CM線性穩(wěn)壓器進(jìn)行供電,可減少電源噪聲。
所述DDR2控制器5采用KVR667D2S5/1G的DDR2內(nèi)存模組,提供了一個(gè)高速、大容量的圖像與數(shù)據(jù)緩沖。
所述網(wǎng)絡(luò)控制器3,用于接收來自控制端的命令以及收發(fā)待處理圖像的數(shù)據(jù)流;所述指令控制器1,用于解析控制端的命令,完成對(duì)各模塊的控制與調(diào)度;所述DDR2控制器5,用于根據(jù)命令完成對(duì)數(shù)據(jù)流進(jìn)行暫存;所述雙模式DMA控制器4,用于自主地完成流模式與內(nèi)存模式的數(shù)據(jù)轉(zhuǎn)換;所述圖像處理器2,用于根據(jù)命令采用圖像紋理特征提取算法完成對(duì)數(shù)據(jù)流進(jìn)行處理及回傳操作。雙模式DMA控制器4自主地完成流模式與內(nèi)存模式的數(shù)據(jù)轉(zhuǎn)換,是圖像控制器2與DDR2控制器5和網(wǎng)絡(luò)控制器3之間的傳輸橋梁。其中DDR2控制器5訪問采用內(nèi)存模式,即利用讀寫使能、地址與數(shù)據(jù)信號(hào)來完成的訪問模式。但是由于圖像是一組連續(xù)、方向單一且數(shù)量巨大的數(shù)據(jù),所以本發(fā)明采用了流模式的方案,即利用包起始、包結(jié)束、包有效和數(shù)據(jù)信號(hào)來訪問,達(dá)到最大的讀寫速度。
本發(fā)明的圖像紋理特征提取算法,包括以下步驟,
1)利用六個(gè)高斯導(dǎo)數(shù)濾波器組成的濾波器響應(yīng)空間得到七種不同的紋理特征。
2)建立多級(jí)流水線結(jié)構(gòu)的卷積模塊計(jì)算高斯濾波器響應(yīng),并將計(jì)算結(jié)果標(biāo)準(zhǔn)化,獲得卷積結(jié)果;
如圖2所示,所述卷積模塊包括依次相連的流模式接收模塊、像素計(jì)算模塊、窗口生成模塊、乘法器矩陣、平行加法器、雙端FIFO緩存和流模式發(fā)送模塊,以及與像素計(jì)算模塊、窗口生成模塊相連的圖像行緩存;可利用Matlab軟件工具預(yù)先生成卷積模塊的取值參數(shù)和誤差控制參數(shù)。
卷積模塊的具體步驟為,
2-1)流模式接收模塊采用流模式傳輸方式接收待處理圖像,并將待處理圖像傳輸給像素計(jì)算模塊;
2-2)經(jīng)像素計(jì)算模塊獲得每個(gè)像素點(diǎn)的坐標(biāo),利用MUX分路器將每個(gè)像素點(diǎn)的坐標(biāo)寫入圖像行緩存;
2-3)經(jīng)窗口生成模塊讀取相應(yīng)位置的緩存數(shù)據(jù),并利用移位寄存器組合成卷積窗口;
2-4)經(jīng)乘法器矩陣運(yùn)算出卷積核,利用多個(gè)定點(diǎn)乘法器,將卷積窗口與卷積核進(jìn)行點(diǎn)積,并利用平行加法器對(duì)點(diǎn)積的結(jié)果進(jìn)行累加得到卷積結(jié)果;
2-5)將卷積結(jié)果緩存入雙端FIFO緩存,并通過流模式發(fā)送模塊以數(shù)據(jù)流形式發(fā)送出去。
3)利用分類函數(shù),依次計(jì)算出卷積結(jié)果的基本圖像特征;
其中,分類函數(shù)包括定點(diǎn)加法、定點(diǎn)乘法和Cordic算法,基本圖像特征包括中間變量和7個(gè)參數(shù)值,7個(gè)參數(shù)值分別為平坦型Flat、坡型Slop、暗點(diǎn)型Dark Blob、明點(diǎn)型Light Blob、暗線型Dark Line、明線型Light Line和鞍型Saddle;
采用Cordic算法的向量模式進(jìn)行取模操作,通過比較7個(gè)參數(shù)值的大小,選擇參數(shù)值最大的類型作為描述該像素點(diǎn)的紋理特征,并采用數(shù)據(jù)流控制完成紋理特征分類,實(shí)現(xiàn)基本圖像特征的提取。
Cordic算法是二進(jìn)制方式計(jì)算三角函數(shù)的一種快速方法,同時(shí)也可以通過適當(dāng)?shù)淖冃蝸韺?shí)現(xiàn)取模運(yùn)算。如圖3所示,Cordic算法的具體實(shí)現(xiàn)為,利用旋轉(zhuǎn)模塊將旋轉(zhuǎn)角的旋轉(zhuǎn)過程進(jìn)行分解,即將旋轉(zhuǎn)分解成多個(gè)線性組合,同時(shí)設(shè)定每次旋轉(zhuǎn)角,對(duì)于FPGA而言就可以利用簡(jiǎn)單的移位來計(jì)算乘法。根據(jù)每次旋轉(zhuǎn)結(jié)果的符號(hào),來決定下一次旋轉(zhuǎn)的方向,通過多次旋轉(zhuǎn)后,其結(jié)果將逼近取模結(jié)果。其中旋轉(zhuǎn)模塊比較上一級(jí)值的符號(hào)并計(jì)算,給出本次旋轉(zhuǎn)的結(jié)果,最終利用乘法器與定值K相乘,得到模結(jié)果。
可利用C#編寫的上位機(jī)進(jìn)行實(shí)際測(cè)試,測(cè)試結(jié)果如圖4所示,實(shí)現(xiàn)快速提取圖像紋理特征和低功耗的目的。
以上顯示和描述了本發(fā)明的基本原理、主要特征及優(yōu)點(diǎn)。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會(huì)有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。本發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書及其等效物界定。