專利名稱:基于fpga實(shí)現(xiàn)的運(yùn)動(dòng)目標(biāo)識(shí)別與跟蹤裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種運(yùn)用SOM神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像特征檢測(cè)的方法,尤其涉及 一種基于FPGA實(shí)現(xiàn)的運(yùn)動(dòng)目標(biāo)識(shí)別與跟蹤裝置及其方法。
背景技術(shù):
1、 FPGA作為圖像處理核心
在運(yùn)動(dòng)目標(biāo)識(shí)別與跟蹤中,由于以視頻信號(hào)為處理對(duì)像,數(shù)據(jù)量,處理 速度和硬件資源是視覺(jué)傳感器實(shí)現(xiàn)這一目標(biāo)的三個(gè)相互制約的因素,傳統(tǒng)上 有三種途徑實(shí)現(xiàn)圖像處理,通用處理器,數(shù)字信號(hào)處理器(DSP)芯片,專 用集成芯片(ASIC)。各種途徑都存在缺點(diǎn)通用處理器數(shù)據(jù)處理速度慢, 不能滿足高速處理的要求;DSP擁有流水線特色和優(yōu)化的算法(MAC只需一 個(gè)時(shí)鐘周期),可以加速圖像處理速度,但不適用于所有運(yùn)算;ASIC功能專 一,傳感器功能單一,造價(jià)昂貴,適應(yīng)性差。目前現(xiàn)場(chǎng)可編程門(mén)陣列FPGA (Field Programmable Gate Array )的規(guī)模和速度,已經(jīng)能夠?qū)崿F(xiàn)具有一 定復(fù)雜度的算法運(yùn)算,以FPGA為計(jì)算與控制核心,具有速度快,適應(yīng)性好, 造價(jià)低等優(yōu)點(diǎn)。
2、 基于背景差和神經(jīng)網(wǎng)絡(luò)相結(jié)合的運(yùn)動(dòng)目標(biāo)識(shí)別與跟蹤方法
目前對(duì)于運(yùn)動(dòng)目標(biāo)識(shí)別與跟蹤算法的研究已經(jīng)較為成熟。傳統(tǒng)的方法是 從圖像中提取一些變量,通過(guò)們之間的比較來(lái)進(jìn)行目標(biāo)識(shí)別。目前流行的算 法有光流法、幀間差法、背景差法。光流法運(yùn)算公式復(fù)雜,計(jì)算量大,不適用于實(shí)時(shí)性要求很高的場(chǎng)合;實(shí)時(shí)性要求很高的情況下一般都采用幀間差法 和背景差法。背景差法是3種方法中最直接、最簡(jiǎn)單的一種方法。這種方法 事先把背景圖像存儲(chǔ)下來(lái),然后將前景圖像與背景圖像作差。 一般情況下, 由于運(yùn)動(dòng)物體在灰度上與背景灰度存在著很明顯的差異,這樣作差后的差值 圖像只是在運(yùn)動(dòng)物體處有較大的灰度值。選取適當(dāng)?shù)年R值T,差值圖像的灰度 值大于T,視為前景物體,灰度值小于T,視為背景點(diǎn)。運(yùn)用背景差法通常 會(huì)遇到背景的獲取、背景的更新和背景的擾動(dòng)等問(wèn)題。近年來(lái)神經(jīng)網(wǎng)絡(luò)的方 法非常流行,既有用一階神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)的,也有用高階神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)的,例 如BP神經(jīng)網(wǎng)絡(luò)用作圖像目標(biāo)識(shí)別。而其作為神經(jīng)網(wǎng)絡(luò)輸入的或者是從圖像 中提取的某些特征,或者是對(duì)圖像進(jìn)行歸一化處理后的圖像,與傳統(tǒng)目標(biāo)識(shí) 別方法相比較,能夠更快速、準(zhǔn)確地識(shí)別目標(biāo)。
目前這些算法能夠直接用于硬件上實(shí)現(xiàn)并用于現(xiàn)場(chǎng)的并不多。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)不足,提供一種基于FPGA實(shí)現(xiàn)的運(yùn) 動(dòng)目標(biāo)識(shí)別與跟蹤裝置及方法,具有高效的前端視覺(jué)處理能力,視覺(jué)系統(tǒng)對(duì) 運(yùn)動(dòng)敏感,并可實(shí)現(xiàn)對(duì)機(jī)器人運(yùn)動(dòng)同步采集,其輸出應(yīng)具有明確語(yǔ)義而不只 是像素級(jí)信息。
本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的
本發(fā)明裝置部分包括一個(gè)低分辨率的視覺(jué)傳感器EVS100K, 一塊大容量 的FPGA作圖像特征檢測(cè)計(jì)算,還包括視覺(jué)傳感器讀寫(xiě)控制、雙口RAM、 SOM神經(jīng)網(wǎng)絡(luò)、FIR濾波,NIOS控制核心,以及SOM神經(jīng)網(wǎng)絡(luò)包括的權(quán)值 初始化單元、權(quán)值更新單元、求取獲勝者單元,其中,視覺(jué)傳感器讀寫(xiě)控制、雙口 RAM、 SOM神經(jīng)網(wǎng)絡(luò)、FIR濾波通過(guò)avalon總線連接NIOS控制核心, 主機(jī)通過(guò)串口連接NIOS控制核心,Zigbee通信網(wǎng)絡(luò)通過(guò)PIO 口連接NIOS 控制核心,視覺(jué)傳感器通過(guò)PIO口連接FPGA主板。
一種基于FPGA實(shí)現(xiàn)的運(yùn)動(dòng)目標(biāo)識(shí)別與跟蹤方法,目標(biāo)識(shí)別與跟蹤方法 分為下述三個(gè)步驟
第一步,按照公式(一),將前景圖像與背景圖像作灰度差,將差值圖像 二值化,得到包含目標(biāo)區(qū)域大小和位置的二值圖像,將不為零的像素點(diǎn)認(rèn)為 是目標(biāo)區(qū)域,所述公式(一)如下<formula>formula see original document page 7</formula>
jc,y代表像素點(diǎn)在像素平面的位置,//e/gfe,奶WA為圖像的高與寬, Fowgraww/,5flcA:grow;K/為前景圖像灰度值與背景圖像灰度值,為灰度 差,77『es/2o^/為設(shè)定的閾值;
第二步,將上述信息輸入到SOM神經(jīng)網(wǎng)絡(luò)算法模塊,得到目標(biāo)區(qū)域的 中心位置及大小信息;
第三步,按照公式(二),將上述位置信息輸入到FIR濾波器中,得到 目標(biāo)區(qū)域的速度估計(jì),所述公式(二)如下
<formula>formula see original document page 7</formula>vx, Vy為目標(biāo)區(qū)域在x, y方向上的運(yùn)動(dòng)速度,jc,., 乂.為目標(biāo)區(qū)域的
位置信息,w為FiR濾波器的階數(shù),r為采樣的時(shí)間間隔。所述SOM神經(jīng)網(wǎng)絡(luò)算法模塊中,只需從像素平面隨機(jī)選擇1000個(gè)像素
點(diǎn)輸入到神經(jīng)網(wǎng)絡(luò)模塊進(jìn)行訓(xùn)練,因此將公式( 一 )所述 D^,F(xiàn)owgroi/^,5acAgraw"i/圖像數(shù)據(jù)全部存儲(chǔ)在FPGA內(nèi)部的M4K
RAM單元,無(wú)需外部擴(kuò)展RAM。
所述FIR濾波器中,假定公式(二)所述的目標(biāo)區(qū)域在很小一段時(shí)間Az 內(nèi)運(yùn)動(dòng)方程如公式(三),即勻速直線運(yùn)動(dòng),所述公式(三)如下
<formula>formula see original document page 8</formula>
坤),KO為f時(shí)刻目標(biāo)區(qū)域的位置,a, y。為目標(biāo)區(qū)域的初始位置;
所述的SOM神經(jīng)網(wǎng)絡(luò)算法模塊中,該模塊中算法包括下述步驟-
第一步,按照公式(四)權(quán)值向量初始化,所述如公式(四)
<formula>formula see original document page 8</formula> 公式(四)為輸入圖像 數(shù)據(jù),8位位寬。參照?qǐng)D7所示,對(duì)視覺(jué)傳感器的讀寫(xiě)控制是一個(gè)Mealy型的狀態(tài)機(jī),其 狀態(tài)包括初始化、曝光71、圖像采樣72A、 72B、數(shù)據(jù)讀取73;當(dāng)/m'f-l時(shí), EVS100K開(kāi)始進(jìn)行初始化,初始化完畢輸出—/*^辦=1 ;L^^,W一_y—flfiyr為設(shè)置行,列地址使能信號(hào),高有效,當(dāng)設(shè)置行, 列地址完畢后輸出一 x 一卿辦=1, J"—少 一 卿辦=1 °參照?qǐng)D8所示,SOM神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖,輸出神經(jīng)元組織成二維陣列, 輸入神經(jīng)元和輸出神經(jīng)元為全連接。本發(fā)明涉及一種運(yùn)動(dòng)信息檢測(cè)器裝置,是一種能夠檢測(cè)復(fù)雜環(huán)境中機(jī)器 人運(yùn)動(dòng)信息的電子設(shè)備。它的核心是一個(gè)CM0S+FPGA的視覺(jué)系統(tǒng),它包含一 個(gè)低分辨率CMOS視覺(jué)傳感器,用于采集連續(xù)的圖像數(shù)據(jù), 一塊大容量的FPGA, 實(shí)現(xiàn)圖像的特征檢測(cè)算法以及系統(tǒng)控制,對(duì)連續(xù)圖像中的機(jī)器人及障礙物進(jìn)行識(shí)別與跟蹤,利用RS232串口和主機(jī)通信。FPGA中實(shí)現(xiàn)了 SOM神經(jīng)網(wǎng)絡(luò)算 法進(jìn)行圖像處理,以得到目標(biāo)區(qū)域的位置及大小信息,它分為三個(gè)步驟權(quán) 值初始化、距離計(jì)算、權(quán)值更新。最后對(duì)通過(guò)FIR濾波消除噪聲,提取平滑、 一致的速度信息。該信息檢測(cè)器具有體積小,功耗低,處理速度快的特點(diǎn)。 下面介紹該裝置的原理及具體實(shí)施方法。1、 圖像數(shù)據(jù)采集本發(fā)明采用EVS100K型號(hào)的低分辨視覺(jué)傳感器,對(duì)它的讀寫(xiě)控制如附 圖7所示,分為初始化、曝光71、圖像采樣72A、 72B、數(shù)據(jù)讀取73四個(gè)階 段,在FPGA里面用Verilog描述該過(guò)程是一 Mealy型的狀態(tài)機(jī)。EVS100K 的曝光時(shí)間是可控的,根據(jù)光照不同,光照條件好的話曝光時(shí)間可達(dá)5ms。 EVS100K的最大分辨率可達(dá)352行X288列,內(nèi)部圖像RGB數(shù)據(jù)按照Bayer 模式排列,即第一行數(shù)據(jù)為RGRGRG……,第二行GBGBGB……,第三 行RGRGRG ,第四行GBGBGB 。因此(U)處的RGB值可由其八鄰域的圖像數(shù)據(jù)推算出。2、 背景更新背景更新部分電路圖如圖6所示,它包含由二塊雙口 RAM構(gòu)成的乒乓 結(jié)構(gòu)。 一塊用于更新背景圖像數(shù)據(jù)61,而另一塊才是真正用于存儲(chǔ)算法中作 背景差的背景圖片62。其中主要的控制信號(hào)為^/_60^—/mage,當(dāng) 犯/—6acA:—//wage=l時(shí),系統(tǒng)利用RAMI更新背景數(shù)據(jù),利用RAM2中的 圖像數(shù)據(jù)計(jì)算背景差。同時(shí),當(dāng)對(duì)o"—6ad—/wflfge=l時(shí),兩塊RAM則同 時(shí)更新背景數(shù)據(jù),這是由于系統(tǒng)在開(kāi)機(jī)運(yùn)行時(shí),兩塊RAM都沒(méi)有存儲(chǔ)背景 數(shù)據(jù),這時(shí)兩塊RAM則同時(shí)需要存儲(chǔ)背景數(shù)據(jù),所以在系統(tǒng)開(kāi)機(jī)采集第一幀圖像數(shù)據(jù)時(shí),將對(duì)ore—6acA: —z'wage設(shè)為1。兩塊RAM的數(shù)據(jù)輸出要通 過(guò)一個(gè)二選一的譯碼器,和更新背景數(shù)據(jù)相對(duì)應(yīng),當(dāng)^/—6ad—/附age-l 時(shí),選擇RAM2的數(shù)據(jù)進(jìn)行輸出,當(dāng)"/—&cA:_/wage=0,時(shí),選擇RAM1
的數(shù)據(jù)進(jìn)行輸出。 3、 SOM神經(jīng)網(wǎng)絡(luò)
自組織特征映射網(wǎng)絡(luò)(Self-OrganizingFeatureMap,即SOM)是由芬蘭 科學(xué)家Kohonen于1984年提出的,其本質(zhì)上是一種無(wú)監(jiān)督競(jìng)爭(zhēng)學(xué)習(xí)網(wǎng)絡(luò)。 其結(jié)構(gòu)上本身具有的2D特性吸引我們嘗試用SOM網(wǎng)絡(luò)進(jìn)行圖像識(shí)別。
我們采用二維的SOM網(wǎng)絡(luò),它由輸入和輸出層組成,每個(gè)輸入通過(guò)權(quán) 值與輸出神經(jīng)元相連接。
算法步驟
W印h網(wǎng)絡(luò)初始化,特別是權(quán)值初始化,對(duì)所有n個(gè)輸入到m個(gè)輸出 節(jié)點(diǎn)的連接權(quán)值陚予(O,l)區(qū)間上的小隨機(jī)數(shù) W印2:輸入給定向量X
W印3:計(jì)算給定輸入和各神經(jīng)元之間的歐氏距離
W印6尋找最小距離的神經(jīng)元節(jié)點(diǎn)(獲勝節(jié)點(diǎn))
W印5:對(duì)獲勝節(jié)點(diǎn)鄰域(Nc)內(nèi)的神經(jīng)元的權(quán)值進(jìn)行調(diào)整 w (t +1) = w (A) +義x (Zn/wf - w (A))
W印6:按鄰域函數(shù)計(jì)算下鄰域大小,學(xué)習(xí)速率按線性遞減。 如象素未處理完畢,返回step2。
本發(fā)明在FPGA中實(shí)現(xiàn)SOM神經(jīng)網(wǎng)絡(luò),它不需要對(duì)整幅圖像的所有數(shù) 據(jù)進(jìn)行處理,只需要從圖像中隨機(jī)選取一部分?jǐn)?shù)據(jù)輸入到神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,便可以得到目標(biāo)區(qū)域的大小及位置信息,從而有效地減小存儲(chǔ)空間,特別是
基于FPGA實(shí)現(xiàn),利用FPGA并行計(jì)算的特點(diǎn),顯著地提高了運(yùn)算速度。 下面具體描述SOM在神經(jīng)網(wǎng)絡(luò)中的實(shí)現(xiàn)。
系統(tǒng)流程如圖2所示,如其所述,包括三部分。首先初始化權(quán)值向量21, 接著計(jì)算輸入向量和各神經(jīng)元的距離22,最后對(duì)獲勝節(jié)點(diǎn)進(jìn)行權(quán)值更新23。 其中權(quán)值向量初始化, 一種方法是對(duì)權(quán)值賦一個(gè)隨機(jī)數(shù),但是這種方法需要 一個(gè)隨機(jī)數(shù)生成器;另 一種方法是通過(guò)隨機(jī)選取一些輸入向量對(duì)權(quán)值向量進(jìn) 行初始化。在這里,考慮到FPGA內(nèi)部生成隨機(jī)數(shù)比較困難,采用后者,但 每次初始化選取的像素點(diǎn)的位置是固定的,這些固定的位置是在圖像平面上 隨機(jī)選取的,并將其存儲(chǔ)在FPGA內(nèi)部的ROM中。
3.1、 數(shù)據(jù)表示
由于硬件中只能表示整數(shù),所以在這里需要將小數(shù)量化為整數(shù)來(lái)表示。 神經(jīng)網(wǎng)絡(luò)的輸入向量及權(quán)值向量均為三維向量(《,JC2,;c3),分別表示像素灰度
值,像素點(diǎn)所在像平面的縱坐標(biāo),橫坐標(biāo),在這里都將其量化為[O, 255]區(qū) 間上的整數(shù)。像素的灰度值取值范圍為0-255,縱坐標(biāo)取值范圍為0~240, 橫坐標(biāo)取值范圍為0~320,在FPGA中采用8位整數(shù)對(duì)其進(jìn)行量化,量化方法 如下
乂1=255*灰度值/255; 乂2=255*縱坐標(biāo)/240; 幻=255*橫坐標(biāo)/320;
3.2、 鄰域函數(shù)臉(/)
神經(jīng)網(wǎng)絡(luò)算法中要求鄰域函數(shù)ATc(O關(guān)于t嚴(yán)格單調(diào)遞減,并且保證f — w時(shí),鄰域中只包含獲勝神經(jīng)元本身。在FPGA中,采用6X6的二維神經(jīng)元陣 列,所以其鄰域函數(shù)的取值范圍為0.01 6,更新時(shí)每次遞減0.5,因此可將 其量化為1 12,這樣Verilog語(yǔ)言中只需對(duì)其進(jìn)行自減運(yùn)算。
3.3、 學(xué)習(xí)速率;i
A是時(shí)變的,計(jì)算公式為0.2* (l-t/1000),即當(dāng)t-O時(shí),義取得最大值為 0.2,當(dāng)t-1000時(shí)義取得最小值為0,每次更新遞減0.2/1000=0.0002。這里為 了在FPGA里面適合于用整數(shù)表示。對(duì)計(jì)算公式稍作修改,即為0.25* (l-t/1024),因此可以將其在FPGA量化為12位整數(shù),對(duì)應(yīng)的整數(shù)取值范圍 為當(dāng)1=0時(shí)取最大值0.25,當(dāng)1=1024時(shí),取小值O。因此,更新;i需進(jìn)行 減一運(yùn)算,因此每次遞減0.25/1024=0.000244。
3.4、 距離計(jì)算
計(jì)算給定輸入(A,X2,X3)向量和各神經(jīng)元權(quán)值向量之間的歐氏距離 A =ii"—,但是由于實(shí)現(xiàn)乘法器在FPGA中會(huì)占用大量邏輯單元,所以
/-1
具體實(shí)現(xiàn)時(shí)我們采用下式來(lái)取代上述距離計(jì)算公式A=t|x,-^,|,然后尋
找最小距離的神經(jīng)元節(jié)點(diǎn)(獲勝節(jié)點(diǎn)),min(Z)》,距離結(jié)果保留9位精度。 對(duì)于36個(gè)神經(jīng)元,如果同進(jìn)行權(quán)值更新,需要36個(gè)距離計(jì)算模塊進(jìn)行并行 計(jì)算。上述每個(gè)距離計(jì)算模塊實(shí)現(xiàn)如圖3所示,包括四個(gè)加法器31,32,33,37, 三個(gè)求絕對(duì)值部分34,35,36。 3.5、權(quán)值更新
Kohonen算法中對(duì)鄰域內(nèi)的節(jié)點(diǎn),按權(quán)值調(diào)整公式計(jì)算如下 wto《(A: +1) = wte^+義x (/wpwf — wto〃上式中,權(quán)值wts為8位整數(shù),自適應(yīng)算法中,權(quán)值的調(diào)整使其趨近于輸入 input,因此,輸入input為8位整數(shù),輸入仍為8位整數(shù),不會(huì)產(chǎn)生溢出。 權(quán)值更新中存在乘法運(yùn)算,在這里采用兆函數(shù)乘法包(lpm—mul),參數(shù)設(shè)置
如下
lpm—mult mul225
C
.dataa Gam), .datab (datab225), .result (deta225)
);
de&aram mul225.1pm_widtha=12; de^)aram mul225.1pm—widthb=10; deQ)aram mul225.1pm—widthp=10; de^)aimn mul225.1pm一wi她s-22; defj)aram mul225.lpm_representation=" SIGNED";
其中學(xué)習(xí)速率為12位整數(shù),datab225-、-weights225,由于datab225可能 為負(fù),采用補(bǔ)碼表示^和weights225均為9位整數(shù),所以結(jié)果datab225用 10位整數(shù)表示。最終乘法輸出結(jié)果保留10位,最高位為符號(hào)位,乘法器計(jì) 算方式為有符號(hào)數(shù)計(jì)算,lpm—representation="SIGNED"。
上述實(shí)現(xiàn)電路如圖4所示,它包括二個(gè)乘法器41,42, 一個(gè)加法器43。 4、 FIR濾波
SOM神經(jīng)網(wǎng)絡(luò)輸出的物體位置序列含有量測(cè)噪聲。Motion Estimation濾除這種噪聲影響,提取平滑、 一致的速度信息。假定SOM神經(jīng)網(wǎng)絡(luò)的測(cè)量時(shí) 間間隔為T(mén),得到的物體的一個(gè)位置序列為(^,為),0c2,_y2), 0c3,_y3), …(j^,;v)。在一段較短的時(shí)間內(nèi),物體的運(yùn)動(dòng)形式可以認(rèn)為是勻速直線運(yùn) 動(dòng),艮P
其中、,、分別是:c和y方向的速度,(JC。,^)是物體的初始位置。按照最小 二乘準(zhǔn)則,應(yīng)讓i(JC,.-(/7X+:c。)y取得最小值,此時(shí)有-
<formula>formula see original document page 18</formula>
上式中,,r已知,v《是AT個(gè)jc,.的線性組合,,是W個(gè)x的線性組合。這可以 用FIR濾波器來(lái)實(shí)現(xiàn),可以高效地由FPGA實(shí)現(xiàn)。
例如,這里運(yùn)用最小二乘法,采樣連續(xù)七組數(shù)據(jù)(x或y),對(duì)運(yùn)動(dòng)物體 X方向和Y方向的速度進(jìn)行估計(jì)??梢缘玫?,<formula>formula see original document page 18</formula>
取T-1,有,=0.1071Ax71 +0.0714Ax62 +0.0357Ax53 即這里只需要用一個(gè)三階的FIR濾波器即可實(shí)現(xiàn)對(duì)運(yùn)動(dòng)物體X方向的速度估 計(jì)。同理,可以得到,對(duì)于Y方向的速度估計(jì)
^ =0.1071 71 + 0.0714Ay62 +0.03 57A_y53
可以看出,對(duì)速度的估計(jì)實(shí)計(jì)上是與;c,無(wú)關(guān)的。
權(quán)利要求
1.一種基于FPGA實(shí)現(xiàn)的運(yùn)動(dòng)目標(biāo)識(shí)別與跟蹤裝置,其硬件包括一個(gè)低分辨率的視覺(jué)傳感器EVS100K(11),一塊大容量的FPGA作圖像特征檢測(cè)計(jì)算,其特征在于,還包括視覺(jué)傳感器讀寫(xiě)控制(12)、雙口RAM(13)、SOM神經(jīng)網(wǎng)絡(luò)(14)、FIR濾波(15),NIOS控制核心(16),以及SOM神經(jīng)網(wǎng)絡(luò)包括的權(quán)值初始化單元(21)、權(quán)值更新單元(22)、求取獲勝者單元(23),其中,視覺(jué)傳感器讀寫(xiě)控制(12)、雙口RAM(13)、SOM神經(jīng)網(wǎng)絡(luò)(14)、FIR濾波(15)通過(guò)avalon總線連接NIOS控制核心(16),主機(jī)通過(guò)串口連接NIOS控制核心(16),Zigbee通信網(wǎng)絡(luò)通過(guò)PIO口連接NIOS控制核心(16),視覺(jué)傳感器通過(guò)PIO口連接FPGA主板。
2. —種基于FPGA實(shí)現(xiàn)的運(yùn)動(dòng)目標(biāo)識(shí)別與跟蹤方法,其特征在于,目標(biāo) 識(shí)別與跟蹤方法分為下述三個(gè)步驟第一步,按照公式(一),將前景圖像與背景圖像作灰度差,將差值圖像 二值化,得到包含目標(biāo)區(qū)域大小和位置的二值圖像,將不為零的像素點(diǎn)認(rèn)為 是目標(biāo)區(qū)域,所述公式(一)如下0S"服g似,0S少,碰; 公式(一)x,;;代表像素點(diǎn)在像素平面的位置,//e/g&,『/^/2為圖像的高與寬,F(xiàn)w^raw^/,&a^ow"J為前景圖像灰度值與背景圖像灰度值,D#為灰度差,77^Wo/(i為設(shè)定的閾值;第二步,將上述信息輸入到SOM神經(jīng)網(wǎng)絡(luò)算法模塊,得到目標(biāo)區(qū)域的中心位置及大小信息;第三步,按照公式(二),將上述位置信息輸入到fir濾波器中,得到目標(biāo)區(qū)域的速度估計(jì),所述公式(二)如下<formula>formula see original document page 3</formula>為目標(biāo)區(qū)域在x, y方向上的運(yùn)動(dòng)速度,a, 乂.為目標(biāo)區(qū)域的 位置信息,iV為fir濾波器的階數(shù),r為采樣的時(shí)間間隔。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述SOM神經(jīng)網(wǎng)絡(luò)算法 模塊中,只需從像素平面隨機(jī)選擇1000個(gè)像素點(diǎn)輸入到神經(jīng)網(wǎng)絡(luò)模塊進(jìn)行訓(xùn) 練,因此將公式(一)所述Di^,Fo^grawwflf,5acA:graw^/圖像數(shù)據(jù)全部存 儲(chǔ)在FPGA內(nèi)部的M4K RAM單元,無(wú)需外部擴(kuò)展RAM。
4. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述fir濾波器中,假定 公式(二)所述的目標(biāo)區(qū)域在很小一段時(shí)間Ar內(nèi)運(yùn)動(dòng)方程如公式(三),即 勻速直線運(yùn)動(dòng),所述公式(三)如下<formula>formula see original document page 3</formula> 公式(三)x0), ;^)為f時(shí)刻目標(biāo)區(qū)域的位置,&,少。為目標(biāo)區(qū)域的初始位置。
5. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述的SOM神經(jīng)網(wǎng)絡(luò)算法模塊中,該模塊中算法包括下述步驟第一步,按照公式(四)權(quán)值向量初始化,所述如公式(四)如下<formula>formula see original document page 3</formula>公式(四)[W0,^,W2]為神經(jīng)網(wǎng)絡(luò)的權(quán)值向量,X,y為像素點(diǎn)在像素平面的位置信息,D^(;c,力為對(duì)應(yīng)像素點(diǎn)灰度差值;第二步,按照公式(五)計(jì)算輸入向量和各神經(jīng)元之間的距離,所述公式(五)如下:公式(五)A為輸入向量的/分量,w,,為權(quán)值向量的/分量,D,為輸入向量與權(quán)值向量的距離;第三步,按照公式(六)權(quán)值更新,所述公式(六)如下Wy7(/ + l) = ^7(/) + /U(x,.(0 —公式(六) w力.W, ^.,(/ + 1)表示"/ + 1時(shí)刻權(quán)值向量的/分量,x,(O為f時(shí)刻輸入向量的/分量,;i為收斂因子;第四步,求取獲勝節(jié)點(diǎn),所述公式(七)如下:iV為輸出神經(jīng)元的個(gè)數(shù)。公式(七)
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,通過(guò)隨機(jī)選擇像素輸入對(duì) 神經(jīng)元向量進(jìn)行初始化,所選像素的像平面位置存儲(chǔ)在FPGA內(nèi)部的ROM 中。
7. 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法第二步計(jì)算輸入 向量和各神經(jīng)元之間的距離中,采用求絕對(duì)值代替乘法求輸入向量和各神經(jīng) 元之間的距離,所述如公式(八)所示+少-wJ + lD機(jī)x,力-w公式(八)然后在得到的距離中求取最小值作為獲勝節(jié)點(diǎn)(
全文摘要
本發(fā)明公開(kāi)了一種基于FPGA實(shí)現(xiàn)的運(yùn)動(dòng)目標(biāo)識(shí)別與跟蹤裝置及方法,核心是一個(gè)CMOS+FPGA的視覺(jué)系統(tǒng),它包含一個(gè)低分辨率CMOS視覺(jué)傳感器,用于采集連續(xù)的圖像數(shù)據(jù),一塊大容量的FPGA,實(shí)現(xiàn)圖像的特征檢測(cè)算法以及系統(tǒng)控制,對(duì)連續(xù)圖像中的機(jī)器人及障礙物進(jìn)行識(shí)別,跟蹤,利用RS232串口和主機(jī)通信。FPGA中實(shí)現(xiàn)了SOM神經(jīng)網(wǎng)絡(luò)算法進(jìn)行圖像處理,以得到目標(biāo)區(qū)域的位置及大小信息,它分為三個(gè)步驟權(quán)值初始化、計(jì)算距離、權(quán)值更新。最后對(duì)通過(guò)FIR濾波消除噪聲,提取平滑、一致的速度信息。該信息檢測(cè)器具有體積小,功耗低,處理速度快的特點(diǎn)。
文檔編號(hào)G06K9/62GK101299233SQ200810017899
公開(kāi)日2008年11月5日 申請(qǐng)日期2008年4月8日 優(yōu)先權(quán)日2008年4月8日
發(fā)明者馮祖仁, 劉鎖山, 梁耀斌, 峰 田 申請(qǐng)人:西安交通大學(xué)