1 引言
利用紅外成像傳感器實現(xiàn)實時目標(biāo)成像跟蹤是精確制導(dǎo)武器的核心技術(shù),圖像中目標(biāo)的分割效果尤其是有效地使目標(biāo)從背景中分離出來是保證系統(tǒng)穩(wěn)定跟蹤的關(guān)鍵,Otsu分割算法因其簡單有效在實時目標(biāo)成像跟蹤系統(tǒng)中得到了很廣泛的應(yīng)用,用這種聚類準(zhǔn)則分割圖象,當(dāng)目標(biāo)在圖象中占有適當(dāng)?shù)谋壤龝r,分割結(jié)果比較好。然而對小目標(biāo)圖象卻不能把目標(biāo)從背景中分割出來,經(jīng)常會把很多背景錯分為目標(biāo),本文提出了利用改進的快速局部遞歸Otsu分割算法對圖象分割。并且依靠并行Nios II軟核和硬件邏輯結(jié)合的速度優(yōu)勢對算法實時實現(xiàn)。
2 算法原理
Otsu方法(即大律方法)在獲得圖像灰度直方圖的條件下,利用概率論的知識,通過計算最大類間方差而得到分割門限.在較為理想的“雙峰”條件下,用Otsu準(zhǔn)則能夠得到較好的分割效果。Otsu算法步驟如下:
在冷背景(如天空)下的紅外飛機圖像中,飛機目標(biāo)的灰度級比較高,而且目標(biāo)區(qū)域的面積往往要比背景區(qū)域的面積小一些,當(dāng)兩者面積相差懸殊時,簡單的一次Otsu分割會錯誤地將部分背景劃分到目標(biāo)區(qū)域Otsu,考慮到一次Otsu分割的結(jié)果圖像可以分為兩部分:背景區(qū)域和(含有部分背景的)目標(biāo)區(qū)域.由于只對目標(biāo)區(qū)域感興趣,把背景區(qū)域去掉并不會丟失目標(biāo)信息.那么,可以對結(jié)果圖像的(含有部分背景的)目標(biāo)區(qū)域進行Otsu分割得到新的結(jié)果圖像,接著,把新的結(jié)果圖像中背景區(qū)域去掉,若目標(biāo)區(qū)域還包含有部分背景,則再對(含有部分背景的)目標(biāo)區(qū)域進行Otsu分割,依次遞歸下去,直到得到比較理想的分割圖像為止.這種方法稱為Otsu局部遞歸分割方法。
對紅外圖像數(shù)據(jù)流處理時,由于Otsu局部遞歸分割算法需要對圖像進行多次迭代處理,而且對每場圖像分割需要的迭代次數(shù)不同,所以很難保證分割的實時性,為此我們提出了利用Otsu準(zhǔn)則對圖象進行兩次局部遞歸分割。即在第一次Otsu方法分割之后,將分割得到的亮像素再次利用Otsu分割準(zhǔn)則計算得到新的分割閾值。實驗表明,即使存在復(fù)雜的云層背景的情況下,經(jīng)過兩次迭代分割后,目標(biāo)也較好地被分割出來。
3 雙Nios II的實現(xiàn)方案
Nios II嵌入式處理器是Altera公司于2004年6月推出的第二代用于可編程邏輯器件的可配置的軟核處理器,性能超過100 DMIPS。NioslI是基于哈佛結(jié)構(gòu)的RISC通用嵌入式處理器軟核,能與用戶邏輯相結(jié)合,編程至Altera的FPGA中。處理器具有32位指令集,32位數(shù)據(jù)通道和可配置的指令以及數(shù)據(jù)緩沖。它特別為可編程邏輯進行了優(yōu)化設(shè)計,也為可編程單芯片系統(tǒng)(SOPC)設(shè)計了一套綜合解決方案。NioslI處理器系列包括三種內(nèi)核:一種是高性能的內(nèi)核(Nios II/f);一種是低成本內(nèi)核(Nios II/e);一種是性能/成本折中的標(biāo)準(zhǔn)內(nèi)核(Nios II/s),它是前兩種的平衡。本系統(tǒng)采用高性能內(nèi)核。Nios II處理器支持256個具有同定或可變時鐘周期操作的定制指令;允許Nios II設(shè)計人員利用擴展CPU 指令集,通過提升那些對時間敏感的應(yīng)用軟件的運行速度,來提高系統(tǒng)性能。
根據(jù)紅外焦平面成像特性,為了保證算法的實時性,采用雙Nios II軟核和硬件加速器協(xié)同設(shè)計的方式,在圖像場的間隙做實時Otsu局部遞歸分割處理。如圖 1 所示實現(xiàn)算法原理圖
圖 1 算法實現(xiàn)原理圖
局部遞歸區(qū)域提取單元將需要分割的紅外數(shù)據(jù)讀入FPGA內(nèi)部雙端口RAM0,直方圖統(tǒng)計對數(shù)據(jù)統(tǒng)計直方圖,存放于雙端口RAM2,聚類統(tǒng)計單元分別對直方圖依次從高低兩個方向計算類內(nèi)均值和概率,把累加結(jié)果存入三端口RAM0和RAM1中,聚類統(tǒng)計結(jié)束后,兩個Nios II并行對高低兩個方向的聚類統(tǒng)計結(jié)果進行類間方差計算并分別求最大值。取兩者最大為分割閾值,完成一次分割后,局部遞歸區(qū)域提取單元依據(jù)得到的閾值提取出目標(biāo)區(qū)域存入雙端口RAM1中,接著按照第一次分割步驟完成快速局部0tsu遞歸分割算法。
實現(xiàn)算法的CPU互聯(lián)結(jié)構(gòu):
為了最大化的提高算法的處理速度,系統(tǒng)采用CPU并行工作方式。如圖 2 所示,兩個Nios II同時負(fù)責(zé)收發(fā)處理數(shù)據(jù)。當(dāng)其中一個CPU執(zhí)行完制定的任務(wù)后等待另一Nios II,當(dāng)兩個Nios II任務(wù)全部完成后,Nios II0從MailBox中取出Nios II1的處理結(jié)果計算最終分割閾值,采用這種將數(shù)據(jù)塊分細(xì)處理結(jié)構(gòu),減少單個CPU處理的數(shù)據(jù)量,縮短了算法延遲。
考慮到算法需要進行循環(huán)的浮點數(shù)計算,采用Nios II的定制指令和VHDL編寫硬件算法加速器保證系統(tǒng)運行速度,如圖3 所示采用自定義浮點指令和軟件實現(xiàn)浮點運算性能對比。定制指令邏輯和Nios II的連接在SoPC Builder 中完成。Nios II CPU配置向?qū)峁┝艘粋€可添加256條定制指令的圖形用戶界面,在該界面中導(dǎo)入設(shè)計文件,設(shè)置定制指令名,并分配定制指令所需的CPU時鐘周期數(shù)目。系統(tǒng)生成時,Nios II IDE為每條用戶指令產(chǎn)生一個在系統(tǒng)頭文件中定義的宏,可以在C或C++應(yīng)用程序代碼中直接調(diào)用這個宏。圖4 Nios II軟件實現(xiàn)系統(tǒng)算法和自定義指令實現(xiàn)性能對比。
4 結(jié)束語
局部遞歸Otsu分割方法,通過遞歸計算對圖像中目標(biāo)不斷的逼近,因此在復(fù)雜的背景下,對紅外圖像目標(biāo)分割有很好的效果,但是由于算法迭代繁瑣很難實時實現(xiàn),本文提出了一種基于雙Nios II嵌入式處理器的紅外圖像快速局部遞歸Otsu分割實時實現(xiàn)方法。通過在Altera的Stratix FPGA 中集成兩個l00 MHz軟核配合一定的硬件邏輯,大大減小了算法的處理時間,實現(xiàn)了算法的實時處理,實驗表明,該設(shè)計每秒可處理25幀320x240x8bits的紅外圖像。如圖 3 所示對系統(tǒng)對3公里外的坦克目標(biāo)分割效果圖,(a)為原始圖像,圖像中心位置有一坦克目標(biāo),(b)圖像一次Otsu分割結(jié)果,由于背景比較復(fù)雜,坦克目標(biāo)與背景沒有完全分割開,(c)經(jīng)過本文快速局部遞歸Otsu分割后效果圖,圖中的坦克目標(biāo)從背景中很好的分割出來。
責(zé)任編輯:gt
-
傳感器
+關(guān)注
關(guān)注
2552文章
51302瀏覽量
755246 -
處理器
+關(guān)注
關(guān)注
68文章
19384瀏覽量
230510 -
可編程
+關(guān)注
關(guān)注
2文章
872瀏覽量
39865
發(fā)布評論請先 登錄
相關(guān)推薦
評論