利用FPGA和嵌入式軟核處理器實(shí)現(xiàn)高性能的罪犯抓捕系統(tǒng)
由于高科技工具成為抓捕罪犯的武器中越來(lái)越關(guān)鍵的部分,因此執(zhí)法機(jī)構(gòu)和安全專業(yè)人員不斷尋求更快更方便的數(shù)據(jù)收集和解讀方式就不足為奇了。針對(duì)這一領(lǐng)域的應(yīng)用越來(lái)越復(fù)雜,必須適應(yīng)不斷演變的要求,并把成本控制在機(jī)構(gòu)的有限預(yù)算范圍之內(nèi)。鑒于此,具有高性能、靈活性和高成本效益等優(yōu)勢(shì)的可編程邏輯(PLD)解決方案無(wú)疑是一種理想的解決方案。
兩個(gè)大學(xué)生團(tuán)隊(duì)利用FPGA和嵌入式軟核處理器開(kāi)發(fā)了兩個(gè)抓捕罪犯系統(tǒng)的原型,一個(gè)是帶無(wú)線自動(dòng)追蹤攝像機(jī)的警車支持系統(tǒng),一個(gè)是防止安全系統(tǒng)被突破的指紋識(shí)別系統(tǒng)。盯住可疑對(duì)象不放-即使是高速情況下 當(dāng)追蹤行動(dòng)啟動(dòng)時(shí),警官只有很短的時(shí)間用來(lái)激活警笛、向控制中心作匯報(bào)并與其他巡邏隊(duì)通信。由于這些事情的發(fā)生幾乎是同時(shí)的,因此警官還依賴于車輛追蹤系統(tǒng)把逃跑的犯罪分子鎖定在視距內(nèi)。然而,當(dāng)疑犯在擁擠的交通中急速穿越時(shí),采用固定位置攝像機(jī)的傳統(tǒng)追蹤系統(tǒng)很容易失去他們的蹤跡。因此將需要這樣一種車載系統(tǒng):它能時(shí)刻盯住可疑車輛,同時(shí)讓警官與現(xiàn)場(chǎng)及總部的同事共享和接收信息。圖1:設(shè)計(jì)理念 韓國(guó)仁荷/弘益航空航天大學(xué)的學(xué)生開(kāi)發(fā)出的板載警用車輛支持系統(tǒng)原型,該集成解決方案包含以下幾個(gè)組件:• 無(wú)線自動(dòng)追蹤系統(tǒng):可持續(xù)追蹤可疑車輛,將車輛的圖像顯示在顯示器中心。一部全方向移動(dòng)的攝像機(jī)使用FPGA控制的步進(jìn)電機(jī)實(shí)現(xiàn)上下左右的移動(dòng),可以通過(guò)快速反應(yīng)捕獲快速行進(jìn)的車輛。• 自動(dòng)語(yǔ)音告警系統(tǒng):使用嵌入式處理器來(lái)實(shí)現(xiàn)MPEG音頻解碼,用于向逃跑疑犯發(fā)出警告。• HSDPA功能:提供實(shí)時(shí)數(shù)據(jù)和圖像共享。• 基于FPGA的連接板載診斷系統(tǒng)(OBD-II)的接口:用于監(jiān)視警用車輛的發(fā)動(dòng)機(jī)性能參數(shù)。FPGA和嵌入式處理器的有機(jī)結(jié)合使該系統(tǒng)很容易實(shí)現(xiàn)圖像、語(yǔ)音、圖像和數(shù)據(jù)處理。在單系統(tǒng)中實(shí)現(xiàn)語(yǔ)音、視頻和數(shù)據(jù)在技術(shù)平臺(tái)方面,設(shè)計(jì)團(tuán)隊(duì)使用了Altera的DE2開(kāi)發(fā)和教學(xué)板,這種板包含了Cyclone II FPGA、Quartus II設(shè)計(jì)軟件和Nios II嵌入式處理器。單個(gè)Cyclone II FPGA支持整個(gè)系統(tǒng)的運(yùn)行,可以完成圖像處理、壓縮、數(shù)據(jù)傳送、MPEG音頻解碼、電機(jī)控制和OBD通信等功能。所有必要的組件都利用SOPC Builder系統(tǒng)設(shè)計(jì)工具裝配在一起,從而允許設(shè)計(jì)團(tuán)隊(duì)設(shè)計(jì)一個(gè)模塊,并可以經(jīng)過(guò)修改用于或直接復(fù)用于其他應(yīng)用。圖2:自動(dòng)追蹤系統(tǒng)的架構(gòu)自動(dòng)追蹤攝像機(jī)攝像機(jī)的圖像處理模塊將全方位移動(dòng)命令傳送給FPGA上的系統(tǒng)步進(jìn)電機(jī)控制器。根據(jù)這樣的命令,步進(jìn)電機(jī)控制器可以產(chǎn)生操作信號(hào)脈沖,然后將這些信號(hào)發(fā)送給每個(gè)電機(jī)。攝像機(jī)的圖像捕捉模塊將模擬圖像信息轉(zhuǎn)換成DE2板上的ITU656標(biāo)準(zhǔn)數(shù)字流,并使用該數(shù)據(jù)流:控制自動(dòng)追蹤攝像機(jī)的左、右、上、下操作;支持視像共享系統(tǒng)和JPEG壓縮的無(wú)線傳送;提供車載顯示。當(dāng)警官需要啟動(dòng)攝像機(jī)的追蹤模式時(shí),只需將攝像機(jī)對(duì)準(zhǔn)目標(biāo)車輛,并按下DE2板上的一個(gè)按鍵。接著由同樣在FPGA上運(yùn)行的圖像處理模塊從目標(biāo)車輛中提取平均顏色,并估計(jì)其位置。一旦車輛開(kāi)始移動(dòng),全方位移動(dòng)攝像機(jī)就開(kāi)始對(duì)它進(jìn)行追蹤。該系統(tǒng)每隔30分之一秒就向電機(jī)控制器傳送一次控制命令,速度是它的關(guān)鍵優(yōu)勢(shì)之一。捕獲到的圖像被存儲(chǔ)在USB存儲(chǔ)設(shè)備中,同時(shí)傳送給警局命令中心。當(dāng)然,追蹤模式只適用于白天。實(shí)時(shí)JPEG壓縮通常要求高性能DSP芯片或ASSP。在這個(gè)情況下,設(shè)計(jì)團(tuán)隊(duì)使用Nios II C到硬件的加速編譯器(C2H)執(zhí)行l(wèi)ibjpeg前向離散余弦變換(DCT)函數(shù)來(lái)滿足性能目標(biāo)要求,而不需要外部處理器或DSP芯片。C2H編譯器可以將時(shí)間關(guān)鍵的ANSI C函數(shù)轉(zhuǎn)換成FPGA中的硬件加速器,從而提升它們的性能。圖3:實(shí)現(xiàn)自動(dòng)追蹤系統(tǒng)的原理框圖自動(dòng)語(yǔ)音警告當(dāng)車輛的自動(dòng)追蹤攝像機(jī)開(kāi)始工作在追蹤模式時(shí),會(huì)觸發(fā)自動(dòng)語(yǔ)音警告功能打開(kāi),并向逃跑疑犯發(fā)出警告。在DE2板上100MHz的嵌入式處理器用于播放MPEG音頻數(shù)據(jù)的定制指令集。最初回放性能是個(gè)問(wèn)題,但通過(guò)在Nios II軟核處理器中增加6?位乘法定制指令,設(shè)計(jì)團(tuán)隊(duì)將性能提高了2.5倍。定制的OBD-II接口連接OBD-II的接口不僅貫通了汽車電子設(shè)備之間的通信,而且也將診斷工具連接到發(fā)動(dòng)機(jī)控制單元(ECU),實(shí)現(xiàn)汽車維護(hù)和監(jiān)視。SOPC Builder UART組件連接到OBD-II接口,用于收集車輛行駛速度、燃油狀態(tài)和車輛故障狀態(tài)等信息。因此,設(shè)計(jì)團(tuán)隊(duì)能夠利用Nios II定制指令的性能優(yōu)勢(shì)和C到硬件的加速功能創(chuàng)建一個(gè)高性能系統(tǒng),為現(xiàn)場(chǎng)??提供幫助。由于使用了FPGA,團(tuán)隊(duì)可以靈活地根據(jù)需要提升性能,不需要增加時(shí)鐘頻率和降低功耗,也無(wú)需采用高速設(shè)計(jì)。當(dāng)團(tuán)隊(duì)遇到要求修改硬件設(shè)計(jì)的性能問(wèn)題時(shí),他們只需重新編程FPGA就能應(yīng)對(duì)這些變化。
將指紋轉(zhuǎn)換成供認(rèn)證據(jù)指紋識(shí)別技術(shù)具有很高的性價(jià)比和安全性,支持用于保護(hù)敏感數(shù)據(jù)和防止未授權(quán)進(jìn)入系統(tǒng)的各種應(yīng)用。傳統(tǒng)的指紋識(shí)別系統(tǒng)基于PC或DSP芯片。然而,在PC上處理圖像很慢,DSP芯片缺少支持全部所需功能的靈活性。FPGA則有效填補(bǔ)了高性能處理和系統(tǒng)靈活性之間的空白。來(lái)自中國(guó)華中科技大學(xué)的一個(gè)學(xué)生團(tuán)隊(duì)使用包含有Cyclone II FPGA和Nios II處理器的DE2板創(chuàng)建出了原型化的指紋識(shí)別系統(tǒng),該系統(tǒng)充分利用了FPGA技術(shù)的高性能和靈活性優(yōu)勢(shì)。
快速而靈活的系統(tǒng)增強(qiáng)功能采用系統(tǒng)級(jí)可編程芯片(SOPC)方法,該團(tuán)隊(duì)成功開(kāi)發(fā)出具有認(rèn)證和集中管理功能的網(wǎng)絡(luò)指紋識(shí)別系統(tǒng)。作為主機(jī)的PC運(yùn)行著提供各種管理功能的軟件。嵌入在Cyclone II FPGA上的50MHz Nios II/f內(nèi)核運(yùn)行相關(guān)算法以實(shí)現(xiàn)包含系統(tǒng)初始化、指紋收集、圖像處理、主從通信和用戶接口在內(nèi)的各種功能。在SOPC Builder的支持下,該團(tuán)隊(duì)不僅能以高效的方式將各個(gè)組件集成到單個(gè)系統(tǒng)中,還能根據(jù)需要對(duì)各個(gè)部件進(jìn)行配置。圖4:指紋處理的次序以下是指紋識(shí)別系統(tǒng)的工作原理:當(dāng)指紋收集器檢測(cè)到手指存在時(shí),它將從睡眠模式中蘇醒過(guò)來(lái)采集圖像,并提交最高質(zhì)量的圖像。DE2板上的12.5MHz SPI內(nèi)核將圖像數(shù)據(jù)傳送給嵌入式處理器,由該處理器執(zhí)行相應(yīng)圖像處理算法以完成對(duì)指紋的以下一些處理:• 模式發(fā)現(xiàn):系統(tǒng)首先根據(jù)目標(biāo)點(diǎn)周圍的點(diǎn)的灰度等級(jí)值計(jì)算單點(diǎn)的方向,然后使用統(tǒng)計(jì)方法得到5x5的塊模式,并在沒(méi)有關(guān)于背景的明確條件下對(duì)塊進(jìn)行標(biāo)記。• 圖像濾波:系統(tǒng)將沿著脊線增強(qiáng)圖像連續(xù)性,同時(shí)提高與脊線垂直的圖像對(duì)比度,以分割相鄰脊線。• 二進(jìn)制化:圖像脊線在濾波后將十分清晰,因此一個(gè)固定門限的二進(jìn)制化功能可以將固定灰度值作為標(biāo)準(zhǔn)而將圖像分割成黑白版本。• 脊線細(xì)化:在這個(gè)階段,圖像將經(jīng)過(guò)并行的細(xì)化過(guò)程,這個(gè)過(guò)程會(huì)逐漸調(diào)整脊線,直到脊線薄成單個(gè)像素的寬度,從而為圖像進(jìn)行細(xì)節(jié)定位做好準(zhǔn)備。• 定位細(xì)節(jié):在這最后一步,系統(tǒng)對(duì)圖案進(jìn)行掃描以定位指紋的中心點(diǎn)。從細(xì)化的脊線圖像開(kāi)始,系統(tǒng)將定位指尖點(diǎn),并分割這些點(diǎn)來(lái)評(píng)估指紋的唯一性。通過(guò)定制指令和定制外設(shè),該團(tuán)隊(duì)極大地提高了圖像處理算法的性能。由于要求52次乘法累加操作,設(shè)計(jì)團(tuán)隊(duì)設(shè)計(jì)了一條定制指令,該指令可在三個(gè)時(shí)鐘周期內(nèi)完成單次乘法累加操作,從而將沒(méi)有定制指令時(shí)的36.4s時(shí)間縮短到用定制指令時(shí)的4.77s,使圖像濾波性能提高了7倍;脊線細(xì)化要求對(duì)目標(biāo)像素進(jìn)行16次比較,該團(tuán)隊(duì)設(shè)計(jì)了兩個(gè)定制外設(shè),可在6個(gè)時(shí)鐘周期內(nèi)完成16次比較,從而將沒(méi)有定制外設(shè)時(shí)的13.5s縮短到有定制外設(shè)時(shí)的2.67s,使其性能提高了5倍。當(dāng)有人在終端提供他們的指紋和其他識(shí)別信息時(shí),該系統(tǒng)會(huì)先在數(shù)據(jù)庫(kù)中尋找匹配信息,以判斷是否允許訪問(wèn)。系統(tǒng)的錯(cuò)誤接受率(將不一致的指紋錯(cuò)誤判斷為一致的可能性)小于5%。它的錯(cuò)誤拒絕率(將一致的指紋判斷為不一致的可能性)小于20%。利用PLD深度挖掘罪犯就像警車支持應(yīng)用一樣,DSP器件或ASSP也可以用于指紋識(shí)別系統(tǒng)。然而設(shè)計(jì)團(tuán)隊(duì)發(fā)現(xiàn),通過(guò)簡(jiǎn)單地實(shí)現(xiàn)Nios II定制指令和定制外設(shè)可以極大地提高處理速度。在優(yōu)質(zhì)的FPGA基礎(chǔ)上,設(shè)計(jì)團(tuán)隊(duì)還集成了多個(gè)組件,從而減少了解決方案的復(fù)雜性、成本和功耗。大多數(shù)應(yīng)用都需要一定程度的靈活性來(lái)滿足性能和成本要求。這些團(tuán)隊(duì)展示了如何利用硬件來(lái)加速算法,從而允許以較低時(shí)鐘頻率運(yùn)行,因此有效降低功耗和簡(jiǎn)化了總體設(shè)計(jì)。同時(shí),他們還利用系統(tǒng)生成工具來(lái)幫助自己方便地復(fù)用和修改組件以用于其他應(yīng)用。作者: David Auyeung高級(jí)嵌入式產(chǎn)品營(yíng)銷工程師Altera公司