當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]摘要:針對(duì)脈沖耦合神經(jīng)網(wǎng)絡(luò)(PCNN)具有神經(jīng)元脈沖同步激發(fā)、適合硬件實(shí)現(xiàn)的特點(diǎn),提出了一種基于FPGA的PCNN實(shí)時(shí)處理系統(tǒng)。系統(tǒng)設(shè)計(jì)了時(shí)鐘分頻、串口通信、串并轉(zhuǎn)換、PCNN結(jié)

摘要:針對(duì)脈沖耦合神經(jīng)網(wǎng)絡(luò)(PCNN)具有神經(jīng)元脈沖同步激發(fā)、適合硬件實(shí)現(xiàn)的特點(diǎn),提出了一種基于FPGA的PCNN實(shí)時(shí)處理系統(tǒng)。系統(tǒng)設(shè)計(jì)了時(shí)鐘分頻、串口通信、串并轉(zhuǎn)換、PCNN結(jié)構(gòu)和VGA顯示等功能模塊,利用Verilog語(yǔ)言完成各個(gè)模塊的硬件描述,并在ModelSim10.0c環(huán)境下進(jìn)行了仿真,最后在Altera CvcloneII開(kāi)發(fā)平臺(tái)上對(duì)系統(tǒng)進(jìn)行了驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)完成了PCNN的FPGA實(shí)現(xiàn),實(shí)時(shí)性較好。

人工神經(jīng)網(wǎng)絡(luò)在智能控制、模式識(shí)別、圖像處理等領(lǐng)域中應(yīng)用廣泛。在進(jìn)行神經(jīng)網(wǎng)絡(luò)的應(yīng)用研究時(shí),人們可以將神經(jīng)網(wǎng)絡(luò)模型或算法在通用的計(jì)算機(jī)上軟件編程實(shí)現(xiàn),但很多時(shí)間浪費(fèi)在分析指令、讀出寫(xiě)入數(shù)據(jù)等,其實(shí)現(xiàn)效率并不高。軟件實(shí)現(xiàn)的缺點(diǎn)是并行程度較低,因此利用軟件實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的方法無(wú)法滿足某些對(duì)數(shù)據(jù)實(shí)時(shí)處理要求較高的場(chǎng)合(如工業(yè)控制等領(lǐng)域)。

目前實(shí)現(xiàn)大規(guī)模、實(shí)時(shí)性要求高的神經(jīng)網(wǎng)絡(luò),傳統(tǒng)的軟件算法實(shí)現(xiàn)方法顯示出其難以滿足速度等要求的不足。此外,在構(gòu)建神經(jīng)網(wǎng)絡(luò)時(shí)必然需要考慮硬件實(shí)現(xiàn)問(wèn)題。由于神經(jīng)網(wǎng)絡(luò)具有并行計(jì)算的特點(diǎn)和功能,可以有效發(fā)掘算法本身的并行特性,提出高效的硬件電路結(jié)構(gòu),從而完成神經(jīng)網(wǎng)絡(luò)的硬件實(shí)現(xiàn)。

脈沖耦合神經(jīng)網(wǎng)絡(luò)(Pulse Coupled Neural Network,PCNN)是新一代的神經(jīng)網(wǎng)絡(luò),在研究貓等哺乳動(dòng)物的視覺(jué)神經(jīng)元時(shí),根據(jù)其脈沖同步發(fā)放的工作原理所提出的。目前,P CNN理論仍在發(fā)展中,由于其獨(dú)特的并行性能,在圖像分割與平滑、邊緣檢測(cè)與細(xì)化、決策與優(yōu)化等領(lǐng)域應(yīng)用廣泛。當(dāng)前的研究重點(diǎn)在于模型的優(yōu)化和軟件的實(shí)現(xiàn),而相關(guān)的硬件實(shí)現(xiàn)在國(guó)內(nèi)并不多見(jiàn),PCNN并行結(jié)構(gòu)的特性為硬件實(shí)現(xiàn)提供了可能。

1 PCNN的基本原理

脈沖耦合神經(jīng)網(wǎng)絡(luò)是一種單層模式的兩維神經(jīng)網(wǎng)絡(luò),它的基本單元是脈沖耦合網(wǎng)絡(luò)的神經(jīng)元。圖1為PCNN的單個(gè)神經(jīng)元模型框圖,它由輸入部分、連接調(diào)制部分、脈沖發(fā)生器部分3部分構(gòu)成。

 

 

輸入部分即接收域,其接收信號(hào)來(lái)源有兩部分:鄰近神經(jīng)元產(chǎn)生的信號(hào)和外部的輸入激勵(lì)。這兩部分信號(hào)通過(guò)兩個(gè)不同的路徑進(jìn)行傳遞,其中一個(gè)路徑傳遞反饋輸入信號(hào),其包含外部輸入激勵(lì),該路徑即為F路徑;另一個(gè)路徑傳遞連接輸入信號(hào),其包含來(lái)自鄰近神經(jīng)元產(chǎn)生的信號(hào),該路徑即為L(zhǎng)路徑。

連接調(diào)制部分完成上述兩個(gè)路徑信號(hào)的耦合,經(jīng)過(guò)一定的信號(hào)處理,產(chǎn)生神經(jīng)元的內(nèi)部活動(dòng)項(xiàng)。該信號(hào)處理需要首先通過(guò)一個(gè)正的單位偏置和L路徑的連接輸入信號(hào)的累加,然后與F路徑的反饋輸入信號(hào)完成相乘調(diào)制。該神經(jīng)元的內(nèi)部活動(dòng)項(xiàng)即為信號(hào)經(jīng)調(diào)制得到的乘積結(jié)果。

脈沖發(fā)生器和閾值大小變化的比較器構(gòu)成PCNN單個(gè)神經(jīng)元的脈沖發(fā)生部分。如果達(dá)到脈沖發(fā)放條件,則該脈沖發(fā)生器起作用,發(fā)出一個(gè)頻率恒定不變的脈沖,此時(shí)神經(jīng)元處于點(diǎn)火狀態(tài)。

根據(jù)圖1模型,每個(gè)神經(jīng)元按照公式(1)完成迭代運(yùn)算,實(shí)現(xiàn)上述PCNN的功能。

 

 

式(1)中,F(xiàn)ij[n]是某個(gè)神經(jīng)元的第n次反饋輸入信號(hào);αF與αL表示迭代時(shí)間常數(shù);Sij表示外部輸入常數(shù),在圖像處理時(shí)即為像素矩陣中像素的灰度值;Lij[n]是神經(jīng)元的線性輸入項(xiàng);wijkl與mijkl表示突觸間聯(lián)接權(quán)值系數(shù);Uij[n]是神經(jīng)元的內(nèi)部活動(dòng)項(xiàng);Tij[n]是Uij[n]是否激發(fā)生成脈沖的動(dòng)態(tài)閾值;β是神經(jīng)元突觸間的連接強(qiáng)度系數(shù);Yij[n]為PCNN的脈沖輸出項(xiàng)。由于信號(hào)Lij[n]比信號(hào)Fij[n]變化快,經(jīng)過(guò)相乘調(diào)制的信號(hào)Uij[n]就等同于把一個(gè)快速變化的信號(hào)加在一個(gè)近似不變的信號(hào)上。

如果某個(gè)神經(jīng)元點(diǎn)火,即發(fā)出一個(gè)脈沖信號(hào),那么由于內(nèi)部活動(dòng)項(xiàng)大于當(dāng)前的門限閾值,下一次迭代運(yùn)算后閾值將通過(guò)其時(shí)間常數(shù)αT和幅度系數(shù)VT突然變大。而此時(shí)迭代后的閾值Tij[n]遠(yuǎn)大于Uij[n],因此神經(jīng)元將被抑制,脈沖信號(hào)停止輸出,即處于未點(diǎn)火狀態(tài)。在這一狀態(tài)下,周圍神經(jīng)元不斷點(diǎn)火,產(chǎn)生響應(yīng)的脈沖信號(hào),通過(guò)L路徑的輸入提高內(nèi)部活動(dòng)項(xiàng),與此同時(shí)閾值經(jīng)指數(shù)運(yùn)算不斷較小。在某一次迭代時(shí),當(dāng)前閾值將再次小于Uij[n],此時(shí)神經(jīng)元將被激活,脈沖信號(hào)開(kāi)始輸出,即神經(jīng)元再次被點(diǎn)火。如此周而復(fù)始,不用神經(jīng)元在點(diǎn)火和為點(diǎn)火狀態(tài)進(jìn)行切換,從而實(shí)現(xiàn)脈沖同步激發(fā)。

2 系統(tǒng)硬件實(shí)現(xiàn)

2.1 PCNN模型的改進(jìn)

對(duì)于上述PCNN模型結(jié)構(gòu),在圖像處理等應(yīng)用中仍存在一定的局限性:

1)PCNN涉及到的參數(shù)較多,增加了數(shù)學(xué)運(yùn)算的難度,實(shí)現(xiàn)算法比較困難;

2)網(wǎng)絡(luò)參數(shù)確定較為困難。

此外,為了易于FPGA實(shí)現(xiàn).把標(biāo)準(zhǔn)的PCNN進(jìn)行一定的簡(jiǎn)化和改進(jìn)。將反饋輸入只當(dāng)做對(duì)應(yīng)象素的灰度值強(qiáng)度,所以F路徑的連接權(quán)值矩陣M為零。改進(jìn)后的第一個(gè)優(yōu)點(diǎn)是減少了迭代的時(shí)間,而迭代的質(zhì)量仍與標(biāo)準(zhǔn)PCNN模型接近,第二個(gè)優(yōu)點(diǎn)是節(jié)約了FPGA資源的利用。改進(jìn)模型的數(shù)學(xué)表達(dá)式與標(biāo)準(zhǔn)模型相似,只是饋送域不同。饋送域表達(dá)式為:

Fij[n]=Sij (2)

2.2 小數(shù)的定點(diǎn)表示方法

由于Vetilog無(wú)法直接定義小數(shù)類型,所以采用小數(shù)的定點(diǎn)表示法表示小數(shù)??紤]到灰度值為8位二進(jìn)制數(shù)據(jù),故小數(shù)的表示形式為<8.8>,即整數(shù)位數(shù)和小數(shù)位數(shù)都為8位,整數(shù)的表示形式為<8.0>,即整數(shù)位數(shù)為8位,小數(shù)位數(shù)為0位。由于并沒(méi)有存儲(chǔ)小數(shù)的位置信息,所以需要根據(jù)先前的約定對(duì)最后的結(jié)果進(jìn)行截取。如式(3)所示,最后的運(yùn)算結(jié)果為24位,低8位為小數(shù)部分,而利用Verilog的位操作運(yùn)算截取中間8位即為更新后的灰度值。

<8.8>*<8.0>+<8.8>*<8.0>=<16.8> (3)

2.3 PCNN參數(shù)選擇

利用2.1節(jié)介紹的PCNN改進(jìn)模型,描述單個(gè)神經(jīng)元的PCNN算法。表1為本設(shè)計(jì)方案PCNN模型參數(shù)的經(jīng)驗(yàn)設(shè)定,其閾值衰減設(shè)為每次運(yùn)算后閾值的約0.9倍。為使算法利于硬件實(shí)現(xiàn),實(shí)驗(yàn)中將設(shè)定神經(jīng)元連接強(qiáng)度β=1,連接域增益VL=1。

 

 

其連接域鄰域矩陣為:

 

 

2.4 系統(tǒng)整體設(shè)計(jì)框圖

在進(jìn)行圖像處理時(shí),需要把神經(jīng)元與像素一一對(duì)應(yīng),神經(jīng)網(wǎng)絡(luò)的大小取決于圖像的大小。如果需要處理的圖像體積較大,那么硬件資源將被大量占用,繼而需要更高規(guī)格的FPGA芯片來(lái)實(shí)現(xiàn)。本文介紹一個(gè)簡(jiǎn)單的PCNN硬件系統(tǒng),可以處理3×3、8位的灰度圖像。

PCNN在FPGA實(shí)現(xiàn)的系統(tǒng)框圖如圖2所示。系統(tǒng)分為5個(gè)主要的功能模塊:時(shí)鐘分頻模塊、串口接收模塊、串并轉(zhuǎn)換模塊、PCNN模塊和VGA顯示模塊。圖中除PC機(jī)部分都在FPGA上實(shí)現(xiàn)。PC機(jī)包含上位機(jī)串口通信軟件,常見(jiàn)的有VB串口通信助手、串口大師等,可實(shí)現(xiàn)串口的調(diào)試、測(cè)試、監(jiān)控和過(guò)濾等功能。

 

 

系統(tǒng)需要完成的工作分為三大部分:圖像的輸入、圖像的處理和圖像的顯示輸出。系統(tǒng)詳細(xì)的工作過(guò)程描述如下:PC機(jī)通過(guò)串口軟件(如串口大師)發(fā)送圖像數(shù)據(jù),串口接收模塊接收?qǐng)D像數(shù)據(jù)并通過(guò)模塊內(nèi)部的FIFO存儲(chǔ)數(shù)據(jù);串并轉(zhuǎn)換模塊將串口接收模塊存儲(chǔ)的圖像數(shù)據(jù)并行輸出給PCNN模塊,等待處理;PCNN模塊接收到圖像數(shù)據(jù)后,開(kāi)始進(jìn)行迭代,并輸出給VGA顯示模塊;VGA顯示模塊負(fù)責(zé)顯示圖像經(jīng)PCNN模塊處理后的二值序列,以觀察PCNN的處理效果。由于本實(shí)驗(yàn)采用的FPGA實(shí)驗(yàn)平臺(tái)提供的時(shí)鐘頻率為50 MHz,而串口接收模塊、PCNN模塊和VGA顯示模塊需要特定的時(shí)鐘頻率才能工作,所以必須設(shè)計(jì)時(shí)鐘分頻模塊以產(chǎn)生滿足要求的時(shí)鐘頻率。

3 系統(tǒng)仿真

由于考慮邊緣神經(jīng)元的特殊情況,設(shè)計(jì)了3種略有差異的神經(jīng)元,即周圍神經(jīng)元輸入分別為2、3和4的神經(jīng)元。這里僅選取4輸入的PCNN神經(jīng)元進(jìn)行仿真,神經(jīng)元的閾值為200以驗(yàn)證神經(jīng)元功能的正確性。通過(guò)選取了4個(gè)典型的圖像灰度值S輸入,分別為4、100、200和250,經(jīng)仿真驗(yàn)證了單個(gè)神經(jīng)元的正確性。

利用單個(gè)PCNN神經(jīng)元,構(gòu)建了包含9個(gè)PCNN神經(jīng)元PCNN模塊,能處理3×3大小的圖像,通過(guò)網(wǎng)絡(luò)迭代,得到理想的圖像。通過(guò)串口輸入數(shù)據(jù):181、187、140、120、120、4、46、83、120,對(duì)PCNN模塊進(jìn)行了仿真。為了便于觀察,選取其中3個(gè)神經(jīng)元的時(shí)序仿真結(jié)果,如圖3所示。由圖3知,PCNN輸出呈現(xiàn)0和1的不斷變化,且能看出3個(gè)神經(jīng)元中由于耦合效應(yīng)產(chǎn)生了不同的結(jié)果。圖3中S1~S3為9個(gè)像素灰度值的3個(gè)輸入,Y1~Y3為圖像經(jīng)PCNN處理后3個(gè)二值序列值。

 

 

4 系統(tǒng)驗(yàn)證與分析

本實(shí)驗(yàn)以Altera Cyclone II開(kāi)發(fā)平臺(tái)為驗(yàn)證環(huán)境,選用Cyclone系列中的EP2C35F672芯片。利用串口軟件發(fā)送網(wǎng)像數(shù)據(jù),F(xiàn)PGA經(jīng)PCNN處理后將二值結(jié)果顯示在VGA顯示器上。PCNN模塊的時(shí)鐘輸入頻率為100MHz,VGA顯示模塊的時(shí)鐘輸入頻率為25 MHz。對(duì)于波特率,考慮到已經(jīng)完成的串口接收模塊,選取波特率115 200 bps,以匹配串口接收模塊

的采樣頻率。數(shù)據(jù)位有8位,無(wú)檢驗(yàn)位,包含1位停止位,傳輸數(shù)據(jù)以16進(jìn)制的形式進(jìn)行發(fā)送。

為了便于觀察,考慮到顯示器的刷新頻率和人眼的視覺(jué)暫留,將PCNN網(wǎng)絡(luò)的迭代處理頻率設(shè)定為1 Hz,即顯示器每1秒顯示一次迭代效果圖。圖4為顯示器前40次的顯示效果。圖中九宮格代表要處理的3×3輸出圖像,一個(gè)方格代表一個(gè)像素點(diǎn)。九宮格中灰色方框神經(jīng)元點(diǎn)火,即輸出為“1”。黑色方框代表神經(jīng)元未點(diǎn)火,即輸出為“0”。

 

 

據(jù)實(shí)驗(yàn)平臺(tái)的測(cè)試結(jié)果,與除去VGA模塊的硬件模塊ModelSim仿真結(jié)果進(jìn)行了對(duì)比。圖5為除去VGA模塊的硬件模塊的功能仿真圖。圖中高電平代表“1”,低電平代表“0”。

 

 

將圖5與圖4進(jìn)行對(duì)比,圖5中高電平代表圖4中的黃色方塊,圖5中低電平代表圖4中的黑色方塊,兩結(jié)果完全符合,這也驗(yàn)證了PCNN網(wǎng)絡(luò)硬件實(shí)現(xiàn)的正確性。此外,由圖4和圖5看出,神經(jīng)元1、2、3、4、5、8、9在幾次迭代后輸出始終為“1”,這是由于神經(jīng)元的內(nèi)部活動(dòng)項(xiàng)始終大于閾值。而由于神經(jīng)元6和7的圖像輸入值較小,內(nèi)部活動(dòng)項(xiàng)部分和閾值部分不斷變化,使得在周圍神經(jīng)元的作用下,呈現(xiàn)周期性的“0”和“1”輸出。

5 結(jié)論

本文根據(jù)脈沖耦合神經(jīng)網(wǎng)絡(luò)具有并行計(jì)算的特點(diǎn),提出了一種基于FPGA的神經(jīng)網(wǎng)絡(luò)硬件實(shí)現(xiàn)方案。利用Verilog硬件描述語(yǔ)言完成了系統(tǒng)模塊的設(shè)計(jì),構(gòu)建的PCNN神經(jīng)網(wǎng)絡(luò)

在FPGA開(kāi)發(fā)平臺(tái)上進(jìn)行了驗(yàn)證。通過(guò)處理簡(jiǎn)單的3x3圖像,并觀察VGA顯示結(jié)果,完成了PCNN的FPGA實(shí)現(xiàn),達(dá)到了設(shè)計(jì)要求,圖像處理實(shí)時(shí)性較好。下一步將研究構(gòu)建更復(fù)雜的PCNN網(wǎng)絡(luò)結(jié)構(gòu),以處理更大的圖像數(shù)據(jù)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉