摘要:運動目標(biāo)檢測可以從連續(xù)變化的多幅圖像中把運動目標(biāo)提取出來。運動目標(biāo)的捕捉對于目標(biāo)分化、采集和動作歸類等后續(xù)處理相當(dāng)重要,因為后期過程只處理圖像中運動目標(biāo)周圍一定范圍內(nèi)的像素。但由于運動目標(biāo)所處背景的隨機性,比如氣候、光線及噪聲干擾的影響,檢測運動目標(biāo)實際上是一項比較困難的任務(wù)。目前對于運動目標(biāo)的檢測的算法可以劃分為兩類:基于象素強度的算法及基于運動的算法。細(xì)分又包括四種:基于特征的方法、基于幀間差分的方法、基于背景建模的方法和基于光流場的方法。其中前三種屬于基于象素強度變化檢測的算法,第四種可以看作是基于運動的檢測方法?;趶姸人惴ㄈ菀讓崿F(xiàn)、效率高,可處理目標(biāo)跟蹤問題比較難?;谶\動的算法穩(wěn)定性強,處理跟蹤問題相對簡單。該文重點研究目標(biāo)檢測的DSP算法實現(xiàn),所以在參考大量文獻后,選用了傳統(tǒng)檢測算法中速度較快而且相對便于硬件實現(xiàn)的幀間差分算法,為了取得良好快速的目標(biāo)檢測結(jié)果,該文采用Sobel算子與幀間差分結(jié)合的方法。
關(guān)鍵詞:DSP的檢測算法;實現(xiàn)及優(yōu)化
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2014)13-3070-05
1 基于Sobel算子的幀間差分檢測算法
1.1 幀間差分法
由于紅外圖像的目標(biāo)特性,用灰度變化表述物體的運動軌跡可以獲得較高的檢測效率,從而滿足檢測過程的實時性要求。
假設(shè)輸入圖像為:
[F={fj(a,b),a∈X,b∈Y,j=0,1,2,....}]
其中,(a , b)為實際場景中(X , Y)上一點,[fj(a,b)]為第j幀上(a , b)點的灰度值,j為圖像的編號,以下為圖像差分的結(jié)果:
[D={dj(a,b),a∈X,b∈Y,j=0,1,2,....}]
[其中:dj(a,b)={|fj(a,b)-fj-i(a,b)|,j=0,1,2,...;i=0,1,2,3,...}]
[dj(a,b)]基本上體現(xiàn)出運動目標(biāo)的邊界和高差異區(qū)域。一般選擇i=1也就是相鄰兩幅圖像進行差分,如果運動目標(biāo)的速度小于相鄰兩幅圖像的時間差時,可以增大i值避免檢測目標(biāo)遺失。如i=5時仍然沒有目標(biāo),則可以認(rèn)為無檢測目標(biāo),就換為下一幅圖像(j+1)圖像進行檢測。
選擇一個恰當(dāng)?shù)拈撝礫Tj],將差分結(jié)果[dj(a,b)] 轉(zhuǎn)變?yōu)槎祱D像:
[wj(a,b)=0,dj(a,b)≥Tj1,dj(a,b) 其中閾值[Tj]定義為:[Tj=0.5×Max(dj(a,b))] 1.2 圖像去噪、增強 一般采集到的圖像均含有噪聲,導(dǎo)致二值圖像上有一些孤立點,這些點并不是目標(biāo)但會對圖像的分割產(chǎn)生影響,因此對二值圖像進行廣義濾波,可以去除這些并非目標(biāo)的孤立點,廣義濾波會對圖像造成一定程度的削弱所以濾波后需對圖像進行增強。 為使算法獲得比較高的執(zhí)行效率,濾波采用下式: [E(A)=I(a,b)I(a-1,b)I(a+1,b)I(a,b-1)I(a,b+1)I(a-1,b-1) I(a+1,b+1) (a-1,b+1)I(a+1,b-1) ] 增強采用下式: [E(A)=I(a,b)| I(a-1,b)| I(a+1,b)| I(a,b-1)| I(a,b+1)| I(a-1,b-1) | I(a+1,b+1)| I(a-1,b+1)|I(a+1,b-1)] 1.3 圖像分割 對于圖像上一點[fj(a,b)∈[Ni,Nj]],其中[Ni和Nj]是兩個灰度值。若設(shè)定灰度集n?[[Ni,Nj]]作為判定依據(jù),灰度值屬于n的則將像素轉(zhuǎn)變?yōu)槟骋换叶戎?,其余像素轉(zhuǎn)變?yōu)榱硪换叶戎?,處理后圖像就被劃分為兩個區(qū)域。 這一過程可表示如下: [fj(a,b)=n1,fj(a,b)∈nn2,其他] 上式中n1和n2是設(shè)定的目標(biāo)灰度和背景灰度。如果[n1=1,n2=0],則分割結(jié)果就為二值圖像。 通過差分可以找到兩幅圖像的差異,差值較大的區(qū)域就有可能是目標(biāo)所處的位置。用降噪后的二值圖像查找目標(biāo)可能存在的位置,并把該位置從整幅圖中分割出來。方法為:找到[wj(a,b)=0] 的點,劃定它周圍區(qū)域作為目標(biāo)范圍,區(qū)域劃定以(a-5,b-5)作為左上角,以(a+10,b+10)作為右下角。把劃定區(qū)域的二值圖像[wj(a,b)=0]的點設(shè)置為1,即找到了目標(biāo)可能存在的范圍。 1.4 邊緣檢測 用sobel算子對整幅圖像進行差分和濾波,可減少干擾,邊緣定位準(zhǔn)確和相對完整,適用于灰度漸變和有一定噪聲干擾的圖像處理。Sobel 算子用于檢測邊沿的算子有2個,一個水平模板、一個垂直模板。如圖1: [-1-2-1000121] [-101-202-101] 水平邊沿模板 垂直邊沿模板 圖1 sobel算子 邊緣檢測完以后將結(jié)果與圖像分割的結(jié)果相結(jié)合即能獲得目標(biāo)的位置。 2 檢測算法的程序開發(fā) 2.1 圖像分幀的實現(xiàn) 2.1.1 子圖提取 系統(tǒng)硬件包含的L2總共有64k,均分為四段,通常緩存直接影響運行速度,但如果將L2都用來做緩存,程序涉及的指令和數(shù)據(jù)將被放在外部存儲器中,這將使緩存操作復(fù)雜化,速度反而降低。要使L2與外存保持一致要通過編程來達到, L2和外部存儲間的數(shù)據(jù)線寬為32b,數(shù)據(jù)的交換速率比較低。通常采取的的做法是把變量和數(shù)組存放在L2 中,而把程序存放在外部存儲器中。該文的做法是用32k存儲器加32k緩存,如果截取的子圖過大內(nèi)存會不夠,過小又會額外增加EDMA傳遞數(shù)據(jù)的次數(shù),比較后取1k,將程序編譯以后內(nèi)存的使用量大約為26k,可見這樣設(shè)置是比較合理的。
子圖提取是為了在不消耗CPU的情況下,把數(shù)據(jù)讀入內(nèi)部存儲L2 方便CPU使用,節(jié)約CPU讀寫存儲器的時間。為了穩(wěn)定控制數(shù)據(jù)流動,該文采用QDMA方式。
具體設(shè)置如表1,圖2:
a) QDMA寄存器設(shè)置
表1 寄存器內(nèi)容
[可選參數(shù)\&4520 0001h\&源地址\&Image_address+offset\&單元設(shè)置\&000Fh\&0010h\&目標(biāo)地址\&Ping_addr\&單元索引\&013ch\&Dont care\&]
b) QDMA可選參數(shù)寄存器內(nèi)容
圖2 提取子圖的參數(shù)寄存器設(shè)置
2.1.2 子圖回寫
提取出的子圖經(jīng)多步處理后仍存于內(nèi)存中,需回寫到外存中方便顯示時讀取,可利用EDMA實現(xiàn)該動作。
把子圖數(shù)據(jù)從L2 回寫到外存時有些調(diào)整:數(shù)據(jù)從一維變回二維,寬度為8b、每幅子圖的數(shù)據(jù)量也有差異。該差異是由于邊界檢測運算導(dǎo)致的。對于64x16大小的一幅子圖,經(jīng)檢測運算處理后周邊各有一行、一列無用數(shù)據(jù),假如用讀出時的方式直接回寫有效的數(shù)據(jù)會被無用數(shù)據(jù)改寫,所以,只需回寫有效的、62x14大小的數(shù)據(jù)即可。
2.2 內(nèi)存的使用
為了確保CPU可以不間斷運算,分別定義4個緩存區(qū)域in1、in2及out1、out2。在初始化程序時把相鄰兩幅子圖(各1k)數(shù)據(jù)導(dǎo)入in1和in2,先對in1內(nèi)的子圖像進行運算,運算結(jié)果保存到out1,完成后,啟用QDMA-out1將數(shù)據(jù)從內(nèi)存?zhèn)魉偷酵獯孢M行存儲;在對in2內(nèi)子圖運算前提交一個新的QDMA-in1申請,把緊鄰的新子圖從外存讀入到in1中,在對in2中的子圖運算結(jié)束后,將結(jié)果存到out2,啟用QDMA-out2。在重新開始in1內(nèi)的子圖運算前又啟用QDMA-in2,如此循環(huán),每完成一幅子圖運算,就提交一個新的QDMA申請,在對應(yīng)的子圖緩沖存放一幅新的子圖, DSP可以直接處理圖像數(shù)據(jù),而不必消耗時間從外設(shè)讀取,如示意圖3。
圖3 內(nèi)存使用示意圖
檢測程序的主流程為:1、對相鄰兩幅原圖差分2、廣義濾波、增強 3、圖像分割然后與sobel檢測結(jié)果相“與”。
3 檢測算法的優(yōu)化
程序代碼編寫結(jié)束后需要檢查程序與DSP硬件特性相符程度,依據(jù)硬件的緩存結(jié)構(gòu)做相應(yīng)調(diào)整應(yīng)作為重點。
3.1 依據(jù)DSP結(jié)構(gòu)特性進行優(yōu)化
原始圖像大小為380×240,在輸入系統(tǒng)時提取374×240,也就是舍棄邊緣,這是DSP的結(jié)構(gòu)特性決定的,而且提取子圖時不會有數(shù)據(jù)量較少的邊界圖片需要單獨處理,減去少量的邊界像素不會影響整幅圖像的處理結(jié)果。
1)設(shè)備C6711 DSP的一級緩存包括用于存儲程序的和存儲數(shù)據(jù)的兩個部分各4k。數(shù)據(jù)緩存控制器的特性是:無論CPU用到的多少數(shù)據(jù),數(shù)據(jù)緩存控制器總是一次讀入一集也就是32B,所以應(yīng)把需要參與運算的數(shù)據(jù)對齊并排列成集,且數(shù)據(jù)讀入內(nèi)存后應(yīng)等全部運算完畢后再清除,以減少反復(fù)讀入數(shù)據(jù)而消耗的時間。
隨意排放數(shù)據(jù)與成集排放數(shù)據(jù)相比處理速度的不同:
表2 隨意排放數(shù)據(jù)與成集排放數(shù)據(jù)相比處理速度差異
2)當(dāng)需要對一組數(shù)據(jù)進行多個運算時,應(yīng)考慮把中間運算結(jié)果保存在一級數(shù)據(jù)緩存中,以避免相同數(shù)據(jù)寫出后又讀入從而提高運算效率。
對目標(biāo)的檢測需要運行多個處理函數(shù),中間數(shù)據(jù)的讀入寫出會消耗費大量時間。若使用數(shù)據(jù)鏈方式,把中間運算結(jié)果保存在一級數(shù)據(jù)緩存而不是內(nèi)存,可以節(jié)約讀寫數(shù)據(jù)的時間。但在分段問題上需要折中處理,因為過多分段會會增加代碼復(fù)雜度、降低代碼易懂性。折中后將一幅圖化分為四段。下表為利用數(shù)據(jù)處理鏈后程序速度的提升:
表3 利用數(shù)據(jù)處理鏈后程序速度的提升
3)一級程序緩存與CPU及二級緩存間的線寬是256b,可以同時傳送32×8條指令。一級程序緩存與CPU及二級緩存間的線寬是128b,緩存內(nèi)數(shù)據(jù)是按“l(fā)ine”形式存放的,并且二級緩存中“l(fā)ine”的寬度為128B,因此,程序應(yīng)用128B的整數(shù)倍來定義數(shù)組的長度,以此提高緩存在運行過程中的命中率。下表為子圖大小不同時速度的差異:
表4 子圖大小不同時速度的差異
提取子圖為512B時運算一幅圖像消耗的時間略少于子圖為1kB時,但是子圖的數(shù)量相比子圖大小取1kB時增加一倍,為此需要增加一倍的子圖數(shù)據(jù)傳輸次數(shù),不可取。
4)二級緩存的大小為64k均分為四塊,可以配置成內(nèi)部存儲或緩存,一般情況下緩存空間越大程序執(zhí)行速度越快,但也并非絕對。表5為緩存取不同值時的執(zhí)行速度差異:
表5 緩存取不同值時的執(zhí)行速度差異
3.2 用軟件流水對程序進行優(yōu)化
軟件流水是指的指令循環(huán)執(zhí)行、多次迭代且并行執(zhí)行的一種技術(shù)。通過在編譯器中進行相應(yīng)的設(shè)置,可實現(xiàn)循環(huán)代碼的軟件流水化。具體的方法是提取循環(huán)并把它保存為單獨文件,按照4.1的調(diào)整以后,再進行編譯并運行。
下表為采用軟件流水與不采用流水的執(zhí)行速度差異:
表6 采用軟件流水與不采用流水的執(zhí)行速度差異
3.3 匯編代碼優(yōu)化
C程序代碼在上一步優(yōu)化后,匯編代碼中的冗余碼已經(jīng)非常少了,但仍然可對消耗時間較多時濾波、增強程序代碼做匯編優(yōu)化,下表為匯編優(yōu)化的效果:
表7 為匯編優(yōu)化的效果
經(jīng)過以上優(yōu)化過程,程序執(zhí)行速度有了大幅提升,下表為具體提升效果:
表8 優(yōu)化的具體提升效果
3.4 程序的執(zhí)行結(jié)果
目標(biāo)檢測算法經(jīng)過多步優(yōu)化以后,圖象數(shù)據(jù)讀入內(nèi)存便連續(xù)執(zhí)行,僅在完成檢測的所有步驟以后才回寫到外存當(dāng)中。以下是各個步驟的執(zhí)行結(jié)果圖:
下圖中image01和image02是相鄰兩幀紅外圖像。
圖4 相鄰兩幀紅外圖像
圖5為檢測結(jié)果圖,其中:a是image01和image01差分的結(jié)果,這一步有效消除了噪聲干擾;b和c分別為經(jīng)過廣義濾波和增強后的結(jié)果,圖片中的孤立點在這一步被有效去除,并強化了目標(biāo);d為圖像分割后的結(jié)果,途中用15×15的白色區(qū)塊標(biāo)出了目標(biāo)區(qū)域;e為Sobel檢測結(jié)果,Sobel檢測結(jié)果和差分檢測結(jié)果相與得到目標(biāo)如圖f,從f圖的窗口中左下角可以清楚看到檢測出的目標(biāo)位于原圖的坐標(biāo)值。
3.5 系統(tǒng)測試性能
本文程序執(zhí)行結(jié)果取自TI公司的DSP C6711,目標(biāo)檢測算法經(jīng)過多步優(yōu)化后,最終執(zhí)行結(jié)果如表9。
從表9可見,各處理步驟消耗時間均為毫秒級別,處理一幅380×240大小的紅外圖像所消耗的時間共計53毫秒,也就是檢測速度為18.8幅/秒,假定觀測船舶目標(biāo)的距離為600米,船舶行駛速度為10米/秒(也就是36公里/小時),移動方向與攝像機屏幕平行,假定焦距為20厘米則映射到攝像機上為每秒種運動4毫米,在10厘米寬的鏡頭取380個像素時,該移動值可換算為16個像素點。系統(tǒng)處理速度18. 8幅/秒,平均在每幅圖像上移動的距離不超過1個像素,系統(tǒng)運行速度可以跟上目標(biāo)的運動,可見系統(tǒng)能夠滿足實時性要求。
4 小結(jié)
系統(tǒng)硬件平臺的穩(wěn)定性決定了目標(biāo)檢測算法的實現(xiàn)效果,軟件設(shè)計的合理性又是系統(tǒng)獲得良好性能的基礎(chǔ)。該文介紹了基
于DSP的檢測算法實現(xiàn)及優(yōu)化,其中優(yōu)化是重點,需要同時考慮DSP的緩存結(jié)構(gòu)特性、硬件并行處理及軟件流水線化等。該文的優(yōu)化運行結(jié)果是用PRD函數(shù)進行估算的,具體結(jié)果表明經(jīng)過優(yōu)化提高了程序的執(zhí)行速度,系統(tǒng)性能明顯改善。
參考文獻:
[1] 徐向輝.紅外圖像目標(biāo)檢測與跟蹤研究[D].北京:北京理工大學(xué),2001.
[2] 李宏貴,李興國.基于分形特征的紅外圖像識別方法[J].紅外與激光工程,1999,28(1).
[3] 姜錦鋒.紅外圖像的目標(biāo)檢測、識別與跟蹤技術(shù)研究[D].西北工業(yè)大學(xué),2004.
[4] 何斌,馬天予,王運堅.數(shù)字圖像處理[M].北京:北京人民郵電出版社,2002.
[5] 柯麗,黃廉卿.DSP芯片在實時圖像處理系統(tǒng)中的應(yīng)用[J].光機電信息,2005(1).
[6] 彭啟棕,管慶.DSP集成開發(fā)環(huán)境[M].北京:電子工業(yè)出版社,2004.
[7] 趙訓(xùn)威.TMS320C6200系列DSPS芯片應(yīng)用與開發(fā)[M].北京:北京人民郵電出版社,2002.
[8] TMS320C621x/C671x DSP Two-Level Internal Memory Reference Guide,Copyright, Texas Instruments Incorporated,2004.
3.2 用軟件流水對程序進行優(yōu)化
軟件流水是指的指令循環(huán)執(zhí)行、多次迭代且并行執(zhí)行的一種技術(shù)。通過在編譯器中進行相應(yīng)的設(shè)置,可實現(xiàn)循環(huán)代碼的軟件流水化。具體的方法是提取循環(huán)并把它保存為單獨文件,按照4.1的調(diào)整以后,再進行編譯并運行。
下表為采用軟件流水與不采用流水的執(zhí)行速度差異:
表6 采用軟件流水與不采用流水的執(zhí)行速度差異
3.3 匯編代碼優(yōu)化
C程序代碼在上一步優(yōu)化后,匯編代碼中的冗余碼已經(jīng)非常少了,但仍然可對消耗時間較多時濾波、增強程序代碼做匯編優(yōu)化,下表為匯編優(yōu)化的效果:
表7 為匯編優(yōu)化的效果
經(jīng)過以上優(yōu)化過程,程序執(zhí)行速度有了大幅提升,下表為具體提升效果:
表8 優(yōu)化的具體提升效果
3.4 程序的執(zhí)行結(jié)果
目標(biāo)檢測算法經(jīng)過多步優(yōu)化以后,圖象數(shù)據(jù)讀入內(nèi)存便連續(xù)執(zhí)行,僅在完成檢測的所有步驟以后才回寫到外存當(dāng)中。以下是各個步驟的執(zhí)行結(jié)果圖:
下圖中image01和image02是相鄰兩幀紅外圖像。
圖4 相鄰兩幀紅外圖像
圖5為檢測結(jié)果圖,其中:a是image01和image01差分的結(jié)果,這一步有效消除了噪聲干擾;b和c分別為經(jīng)過廣義濾波和增強后的結(jié)果,圖片中的孤立點在這一步被有效去除,并強化了目標(biāo);d為圖像分割后的結(jié)果,途中用15×15的白色區(qū)塊標(biāo)出了目標(biāo)區(qū)域;e為Sobel檢測結(jié)果,Sobel檢測結(jié)果和差分檢測結(jié)果相與得到目標(biāo)如圖f,從f圖的窗口中左下角可以清楚看到檢測出的目標(biāo)位于原圖的坐標(biāo)值。
3.5 系統(tǒng)測試性能
本文程序執(zhí)行結(jié)果取自TI公司的DSP C6711,目標(biāo)檢測算法經(jīng)過多步優(yōu)化后,最終執(zhí)行結(jié)果如表9。
從表9可見,各處理步驟消耗時間均為毫秒級別,處理一幅380×240大小的紅外圖像所消耗的時間共計53毫秒,也就是檢測速度為18.8幅/秒,假定觀測船舶目標(biāo)的距離為600米,船舶行駛速度為10米/秒(也就是36公里/小時),移動方向與攝像機屏幕平行,假定焦距為20厘米則映射到攝像機上為每秒種運動4毫米,在10厘米寬的鏡頭取380個像素時,該移動值可換算為16個像素點。系統(tǒng)處理速度18. 8幅/秒,平均在每幅圖像上移動的距離不超過1個像素,系統(tǒng)運行速度可以跟上目標(biāo)的運動,可見系統(tǒng)能夠滿足實時性要求。
4 小結(jié)
系統(tǒng)硬件平臺的穩(wěn)定性決定了目標(biāo)檢測算法的實現(xiàn)效果,軟件設(shè)計的合理性又是系統(tǒng)獲得良好性能的基礎(chǔ)。該文介紹了基
于DSP的檢測算法實現(xiàn)及優(yōu)化,其中優(yōu)化是重點,需要同時考慮DSP的緩存結(jié)構(gòu)特性、硬件并行處理及軟件流水線化等。該文的優(yōu)化運行結(jié)果是用PRD函數(shù)進行估算的,具體結(jié)果表明經(jīng)過優(yōu)化提高了程序的執(zhí)行速度,系統(tǒng)性能明顯改善。
參考文獻:
[1] 徐向輝.紅外圖像目標(biāo)檢測與跟蹤研究[D].北京:北京理工大學(xué),2001.
[2] 李宏貴,李興國.基于分形特征的紅外圖像識別方法[J].紅外與激光工程,1999,28(1).
[3] 姜錦鋒.紅外圖像的目標(biāo)檢測、識別與跟蹤技術(shù)研究[D].西北工業(yè)大學(xué),2004.
[4] 何斌,馬天予,王運堅.數(shù)字圖像處理[M].北京:北京人民郵電出版社,2002.
[5] 柯麗,黃廉卿.DSP芯片在實時圖像處理系統(tǒng)中的應(yīng)用[J].光機電信息,2005(1).
[6] 彭啟棕,管慶.DSP集成開發(fā)環(huán)境[M].北京:電子工業(yè)出版社,2004.
[7] 趙訓(xùn)威.TMS320C6200系列DSPS芯片應(yīng)用與開發(fā)[M].北京:北京人民郵電出版社,2002.
[8] TMS320C621x/C671x DSP Two-Level Internal Memory Reference Guide,Copyright, Texas Instruments Incorporated,2004.
3.2 用軟件流水對程序進行優(yōu)化
軟件流水是指的指令循環(huán)執(zhí)行、多次迭代且并行執(zhí)行的一種技術(shù)。通過在編譯器中進行相應(yīng)的設(shè)置,可實現(xiàn)循環(huán)代碼的軟件流水化。具體的方法是提取循環(huán)并把它保存為單獨文件,按照4.1的調(diào)整以后,再進行編譯并運行。
下表為采用軟件流水與不采用流水的執(zhí)行速度差異:
表6 采用軟件流水與不采用流水的執(zhí)行速度差異
3.3 匯編代碼優(yōu)化
C程序代碼在上一步優(yōu)化后,匯編代碼中的冗余碼已經(jīng)非常少了,但仍然可對消耗時間較多時濾波、增強程序代碼做匯編優(yōu)化,下表為匯編優(yōu)化的效果:
表7 為匯編優(yōu)化的效果
經(jīng)過以上優(yōu)化過程,程序執(zhí)行速度有了大幅提升,下表為具體提升效果:
表8 優(yōu)化的具體提升效果
3.4 程序的執(zhí)行結(jié)果
目標(biāo)檢測算法經(jīng)過多步優(yōu)化以后,圖象數(shù)據(jù)讀入內(nèi)存便連續(xù)執(zhí)行,僅在完成檢測的所有步驟以后才回寫到外存當(dāng)中。以下是各個步驟的執(zhí)行結(jié)果圖:
下圖中image01和image02是相鄰兩幀紅外圖像。
圖4 相鄰兩幀紅外圖像
圖5為檢測結(jié)果圖,其中:a是image01和image01差分的結(jié)果,這一步有效消除了噪聲干擾;b和c分別為經(jīng)過廣義濾波和增強后的結(jié)果,圖片中的孤立點在這一步被有效去除,并強化了目標(biāo);d為圖像分割后的結(jié)果,途中用15×15的白色區(qū)塊標(biāo)出了目標(biāo)區(qū)域;e為Sobel檢測結(jié)果,Sobel檢測結(jié)果和差分檢測結(jié)果相與得到目標(biāo)如圖f,從f圖的窗口中左下角可以清楚看到檢測出的目標(biāo)位于原圖的坐標(biāo)值。
3.5 系統(tǒng)測試性能
本文程序執(zhí)行結(jié)果取自TI公司的DSP C6711,目標(biāo)檢測算法經(jīng)過多步優(yōu)化后,最終執(zhí)行結(jié)果如表9。
從表9可見,各處理步驟消耗時間均為毫秒級別,處理一幅380×240大小的紅外圖像所消耗的時間共計53毫秒,也就是檢測速度為18.8幅/秒,假定觀測船舶目標(biāo)的距離為600米,船舶行駛速度為10米/秒(也就是36公里/小時),移動方向與攝像機屏幕平行,假定焦距為20厘米則映射到攝像機上為每秒種運動4毫米,在10厘米寬的鏡頭取380個像素時,該移動值可換算為16個像素點。系統(tǒng)處理速度18. 8幅/秒,平均在每幅圖像上移動的距離不超過1個像素,系統(tǒng)運行速度可以跟上目標(biāo)的運動,可見系統(tǒng)能夠滿足實時性要求。
4 小結(jié)
系統(tǒng)硬件平臺的穩(wěn)定性決定了目標(biāo)檢測算法的實現(xiàn)效果,軟件設(shè)計的合理性又是系統(tǒng)獲得良好性能的基礎(chǔ)。該文介紹了基
于DSP的檢測算法實現(xiàn)及優(yōu)化,其中優(yōu)化是重點,需要同時考慮DSP的緩存結(jié)構(gòu)特性、硬件并行處理及軟件流水線化等。該文的優(yōu)化運行結(jié)果是用PRD函數(shù)進行估算的,具體結(jié)果表明經(jīng)過優(yōu)化提高了程序的執(zhí)行速度,系統(tǒng)性能明顯改善。
參考文獻:
[1] 徐向輝.紅外圖像目標(biāo)檢測與跟蹤研究[D].北京:北京理工大學(xué),2001.
[2] 李宏貴,李興國.基于分形特征的紅外圖像識別方法[J].紅外與激光工程,1999,28(1).
[3] 姜錦鋒.紅外圖像的目標(biāo)檢測、識別與跟蹤技術(shù)研究[D].西北工業(yè)大學(xué),2004.
[4] 何斌,馬天予,王運堅.數(shù)字圖像處理[M].北京:北京人民郵電出版社,2002.
[5] 柯麗,黃廉卿.DSP芯片在實時圖像處理系統(tǒng)中的應(yīng)用[J].光機電信息,2005(1).
[6] 彭啟棕,管慶.DSP集成開發(fā)環(huán)境[M].北京:電子工業(yè)出版社,2004.
[7] 趙訓(xùn)威.TMS320C6200系列DSPS芯片應(yīng)用與開發(fā)[M].北京:北京人民郵電出版社,2002.
[8] TMS320C621x/C671x DSP Two-Level Internal Memory Reference Guide,Copyright, Texas Instruments Incorporated,2004.