江鴻鵠 賀蔚
摘要:圖像識(shí)別是圖像跟蹤一直都是圖像處理的關(guān)鍵技術(shù),運(yùn)用軟件進(jìn)行圖像處理是較為常規(guī)的方式,不過在追求實(shí)時(shí)、高效的背景下,硬件處理逐漸成為圖像處理的重要方向。本文將簡(jiǎn)要概述FPGA技術(shù)的基本原理,并研究基于FPGA的圖像識(shí)別與跟蹤系統(tǒng)設(shè)計(jì),以期為基于硬件的圖像處理技術(shù)提供一定建議。
關(guān)鍵詞:FPGA;圖像識(shí)別;跟蹤系統(tǒng)
引言:硬件處理采用專門的圖像處理系統(tǒng)和處理器配合FPGA技術(shù)的可重構(gòu)性,能夠極大地提升圖像識(shí)別和跟蹤系統(tǒng)的靈活性及通用性。這需要深入分析FPGA的設(shè)計(jì)流程,完善各系統(tǒng)模塊的設(shè)計(jì)要求,以達(dá)到對(duì)目標(biāo)的識(shí)別和跟蹤。
1FPGA技術(shù)的基本原理
FPGA技術(shù)在PAL、GAL等可編程器上發(fā)展出的新型產(chǎn)物,在專用集成電路中有著廣泛的運(yùn)用。FPGA作為一種高密度的集成電路,改善了傳統(tǒng)可編程器門電路有限的問題,增強(qiáng)了定制電路的邏輯功能,可以重復(fù)進(jìn)行編程,重構(gòu)系統(tǒng)。這為配置數(shù)據(jù)和系統(tǒng)功能的靈活性運(yùn)用提供了基礎(chǔ)。FPGA由嵌入式SRAM、數(shù)字時(shí)鐘、邏輯模塊組成,其豐富的避險(xiǎn)資源,為可編程邏輯的控制提供了多種算法設(shè)計(jì),可用于SRAM的更新升級(jí),而且FPGA所具有的大量門電路能夠有效實(shí)現(xiàn)加減法等邏輯運(yùn)算,復(fù)雜算法也可以通過編程來(lái)實(shí)現(xiàn),這與傳統(tǒng)數(shù)字信息處理器相比,F(xiàn)PGA的計(jì)算能力更強(qiáng)。FPGA在使用時(shí)應(yīng)當(dāng)采用同步設(shè)計(jì),可以防止出現(xiàn)不穩(wěn)定狀態(tài),避免對(duì)系統(tǒng)穩(wěn)定性產(chǎn)生影響,F(xiàn)PGA技術(shù)適合實(shí)時(shí)性要求高、頻率快的功能模塊,在使用時(shí)需要開了存儲(chǔ)器和芯片資源占用,合理配置系統(tǒng)結(jié)構(gòu)。
2基于FPGA的圖像識(shí)別與跟蹤系統(tǒng)設(shè)計(jì)
2.1系統(tǒng)架構(gòu)
FPGA核心系統(tǒng)的控制芯片最為重要,本設(shè)計(jì)中系統(tǒng)控制芯片選用的是EP4CE10F17C8型芯片;RGB圖像的處理算法芯片則采用具有較高分辨率數(shù)字?jǐn)z像頭,型號(hào)為OV5640,可以滿足圖像采集的要求;圖像存儲(chǔ)模塊選用了傳統(tǒng)的SDRAM存儲(chǔ)芯片,其在數(shù)據(jù)交互和數(shù)據(jù)傳輸方面具有一定優(yōu)勢(shì);圖像處理模塊設(shè)計(jì)了均值濾波算法和Sobel邊緣檢測(cè)算法結(jié)合的方式,來(lái)實(shí)現(xiàn)對(duì)目標(biāo)進(jìn)行跟蹤檢測(cè);顯示模塊使用了VGA顯示器作為跟蹤結(jié)果顯示層面。系統(tǒng)的基本工作流程是從數(shù)字圖像傳感器得到數(shù)據(jù)圖像數(shù)據(jù)后,圖像采集模塊會(huì)收集圖像數(shù)據(jù)信息,再將這些數(shù)據(jù)傳送到圖像處理和色彩轉(zhuǎn)換模塊中,將數(shù)據(jù)轉(zhuǎn)換為傳統(tǒng)的RGB形式,處理模塊便能對(duì)圖像中的目標(biāo)進(jìn)行識(shí)別和跟蹤,得到的跟蹤結(jié)果將通過SDRAM控制器存儲(chǔ)到芯片當(dāng)中,并同時(shí)將相關(guān)結(jié)果反饋到顯示模塊上,整個(gè)圖像處理系統(tǒng)的流程如圖1所示。
2.2圖像采集模塊
外部的數(shù)字圖像傳感器可以選用功耗較低的CMOS圖像傳感器,通常來(lái)說(shuō)能夠支持圖像幀率需求,并能夠提供多種運(yùn)作模式的傳感器皆可使用。本系統(tǒng)所采用的CMOS數(shù)字圖像傳感器OV5640就是能夠支持多種分辨率,最高可支持500W像素的傳感器,此次設(shè)計(jì)中輸出圖像分辨率為1920*1080,35fps,輸出格式設(shè)置為RGB565,像素時(shí)鐘信號(hào)頻率設(shè)定為48MHz。圖像采集模塊的設(shè)計(jì)參數(shù)包括分辨率,曝光時(shí)間、RGB增益和消隱。首先在圖像采集的分辨率保證上,從設(shè)備到FPGA控制芯片之前門系統(tǒng)中應(yīng)當(dāng)不再多加節(jié)點(diǎn),采集模塊只需要完成初始化操作即可,在模塊發(fā)出起始信號(hào)后寫入寄存器地址,發(fā)送完畢后進(jìn)行初始化,來(lái)保證圖像采集的原本面貌[1]。
然后,為了保證在高頻率或者多圖像處理過程中圖像傳感器和系統(tǒng)控制的運(yùn)行吻合,需要進(jìn)行時(shí)序控制,使圖像采集模塊讀取到有效的圖像信息。
之后是圖像的色彩轉(zhuǎn)換需求,為了便于后續(xù)RGB模式進(jìn)行識(shí)別,需要在采集后便對(duì)圖像進(jìn)行色彩轉(zhuǎn)換。通常采用線性插值法來(lái)獲得轉(zhuǎn)換圖像的像素信息,基本能夠滿足圖像采集的要求為后續(xù)圖像識(shí)別跟蹤提供幫助。
最后是圖像存儲(chǔ),在實(shí)際的圖像采集處理過程中受硬件和算法的要求,數(shù)據(jù)時(shí)序必須一直才能進(jìn)行識(shí)別和跟蹤,為了避免時(shí)序不同步而導(dǎo)致圖像可靠性降低,可以依靠存儲(chǔ)模塊進(jìn)行輔助,來(lái)達(dá)到高速的圖像跟蹤。
2.3圖像識(shí)別模塊
圖像識(shí)別模塊包含預(yù)處理和識(shí)別兩大關(guān)鍵部分,在設(shè)計(jì)中需要考慮圖像信息的灰階模式,保障能夠?qū)GB彩色圖像信息有效識(shí)別。在邊緣檢測(cè)前需要進(jìn)行圖像灰階處理。傳統(tǒng)方式是采用(R+G+B)/3的方式得到灰階圖像,雖然較為簡(jiǎn)便,但是得到的數(shù)據(jù)并非準(zhǔn)確的RGB轉(zhuǎn)灰階,而且在FPGA算法運(yùn)算中除法會(huì)占用較大資源,應(yīng)當(dāng)避免使用。這里采用分析R、G、B不同色域?qū)译A的影響權(quán)重,根據(jù)灰階程度來(lái)選取某一項(xiàng)代表灰階,有利于在硬件系統(tǒng)中完成RGB轉(zhuǎn)灰階圖像的處理。對(duì)于實(shí)時(shí)生成的灰階圖像則先行存儲(chǔ)在SDRAM之中,這樣在讀取時(shí)便能節(jié)省大量頻寬,提升預(yù)處理速度。
圖像識(shí)別設(shè)計(jì)要使系統(tǒng)能夠準(zhǔn)確根據(jù)目標(biāo)的形狀和特征或者顏色等因素識(shí)別出目標(biāo)的類型。邊緣檢測(cè)算法是識(shí)別圖像的基本特征的主要方式,基于FPGA設(shè)計(jì)的Sobel算法,需要清楚存儲(chǔ)地址與每個(gè)像素點(diǎn)的圖像信息并不一一相對(duì),需要通過改變數(shù)組指針的方式為相關(guān)語(yǔ)句賦值,進(jìn)而獲取圖像信息。也可以采用三條線性緩沖器的方式求不同線性上的梯度和值,經(jīng)過相關(guān)算法來(lái)判斷像素梯度和閾值大小,檢測(cè)圖像邊緣[2]。
2.4圖像跟蹤模塊
圖像跟蹤模塊設(shè)計(jì)是對(duì)目標(biāo)物體圖像信息的跟蹤處理,能夠通過有效的跟蹤方式來(lái)對(duì)目標(biāo)的運(yùn)動(dòng)特性進(jìn)行穩(wěn)定跟蹤。當(dāng)前跟蹤算法主要有根據(jù)目標(biāo)邊緣特征信息的跟蹤方式以及結(jié)合目標(biāo)區(qū)域特征信息的跟蹤方式兩種。前者較為常用,與圖像識(shí)別的邊緣檢測(cè)原理類似,可以很好的識(shí)別目標(biāo)物體。只是在面對(duì)背景圖像干擾較多時(shí)較為乏力,很容易對(duì)目標(biāo)的定位產(chǎn)生影響。而后者則是根據(jù)目標(biāo)紋理信息、灰度分布信息等因素來(lái)更準(zhǔn)確地定位目標(biāo),此種方式會(huì)增加算法處理的負(fù)擔(dān)。本設(shè)計(jì)中采用將目標(biāo)物體邊緣特征和目標(biāo)物體區(qū)域特征相結(jié)合的方式,先由邊緣特征進(jìn)行分析處理,而區(qū)域特征只是進(jìn)行目標(biāo)像素的信號(hào)追蹤,當(dāng)系統(tǒng)進(jìn)入圖像采集模塊后圖像信息轉(zhuǎn)變?yōu)閿?shù)據(jù),將會(huì)初始化存儲(chǔ)在寄存器中,邊緣特征根據(jù)目標(biāo)信息進(jìn)行像素點(diǎn)跟蹤操作,當(dāng)出現(xiàn)跟蹤顏色不是跟蹤顏色信息時(shí)不進(jìn)行操作,而是由區(qū)域特征進(jìn)行信息處理,通過判斷像素點(diǎn)的方式不斷循環(huán)來(lái)實(shí)現(xiàn)對(duì)目標(biāo)物體的實(shí)時(shí)跟蹤。這樣在FPGA系統(tǒng)運(yùn)算中既可以減少資源的占用情況,降低功耗,達(dá)到實(shí)時(shí)跟蹤目標(biāo)物體的目的。
結(jié)論:本文同通過對(duì)FPGA技術(shù)的基本原理分析得到其在圖像處理方面的運(yùn)作特點(diǎn),并以此設(shè)計(jì)了基于FPGA的圖像采集、圖像識(shí)別和圖像跟蹤系統(tǒng),在基礎(chǔ)系統(tǒng)結(jié)構(gòu)、采集模塊、識(shí)別模塊和跟蹤模塊的科學(xué)設(shè)計(jì)下,能夠?qū)崿F(xiàn)硬件系統(tǒng)處理圖像的高效性和準(zhǔn)確性,實(shí)現(xiàn)了圖像信息的實(shí)時(shí)采集顯示與跟蹤識(shí)別,證明了FPGA提升系統(tǒng)處理圖像的效果。
參考文獻(xiàn):
[1]余田椿,孫先松.FPGA的圖像識(shí)別與目標(biāo)跟蹤系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2019,19(09):30-34.
[2]向澤明,段昌才,張琳玲,等.基于FPGA的單光源定位跟蹤系統(tǒng)[J].中國(guó)新通信,2018,20(14):77.