基于DM642的運動(dòng)目標檢測系統設計與實(shí)現
此硬件平臺從攝像機獲取模擬圖像,經(jīng)過(guò)SAA7115解碼得到標準的。BT.656格式的YUV4:2:2數字圖像碼流,然后通過(guò)DM642的EDMA功能將碼流暫存到SDRAM,再用算法進(jìn)行處理后,然后通過(guò)DM642的EDMA功能送入到SAA7105進(jìn)行解碼,經(jīng)過(guò)CVBS引腳輸出,這樣系統的處理結果就可以在顯示器上實(shí)時(shí)地顯示。
2.2 算法的DM642實(shí)現
系統的軟件在TI提供的集成開(kāi)發(fā)環(huán)境CCS完成,編程用C語(yǔ)言和匯編語(yǔ)言實(shí)現,軟件采用TI推薦的RF-5架構,采用了三個(gè)線(xiàn)程tsk_inpu-t、tsk_process、tsk_output。
軟件的執行流程如下:
(1)TMS320DM642的初始化。包括初始化BIOS、CSL、設置CACKE;
(2)初始化RF-5模塊。用CHAN_init,ICC_init,SCOM_init分別初始化CHAN模塊、ICC模塊、SCOM模塊;
(3)DSP/BIOS根據操作系統的調度規則環(huán)調度執行tsk_input、tsk_process、tsk_output三個(gè)線(xiàn)程。其中tsk_inpufi通過(guò)按照順序調用FVID_create、FVID_control、FVID_aUoc函數實(shí)現對FVID驅動(dòng)的調用,打開(kāi)輸入通道,實(shí)現得到SAA7ll5獲取的BT.656格式的YUV422數字視頻碼流。tsk_process負責對tsk_input線(xiàn)程獲取的數字圖像進(jìn)行運動(dòng)圖像檢測算法的處理,其中要調用到上一節所述的算法函數,經(jīng)過(guò)處理,運動(dòng)目標被分割出來(lái)。tsk-output負責調用FVID_create、FVID_control、FVID_alloc函數,打開(kāi)輸出通道實(shí)現對已經(jīng)分割處理的數字視頻流通過(guò)SAA7105輸出,在顯示器上予以顯示。這三個(gè)線(xiàn)程在DSP/BIOS的調度下循環(huán)并行運行,三個(gè)線(xiàn)程之間的數據交換通過(guò)SCOM模塊實(shí)現。
上述程序中,核心程序為tsk_process線(xiàn)程,其主要代碼如下:
While(1)
{……
Background()://獲取背景并根據條件更新
Diff_picture()://背景與當前圖像差分
Otsu_binary(): //由改進(jìn)的大津法進(jìn)行閥值分割并二值化
Filter_obitct()://對二值化圖像進(jìn)行濾波得到運動(dòng)的物體,即為檢測的結果。
……
}
2.3 軟件優(yōu)化
應用TMS320DM6425開(kāi)發(fā)運動(dòng)目標檢測系統時(shí),為保證檢測結果的高效、實(shí)時(shí),軟件代碼的優(yōu)化顯得尤為重要?;赥MS320DM642編程時(shí),我們參照該芯片的特點(diǎn)在編寫(xiě)算法時(shí)進(jìn)行了如下的優(yōu)化:
(1)使用流水線(xiàn)技術(shù)。采用編譯選項-o2、-o3,充分利用軟件流水線(xiàn)方式提高運行效率。
(2)對寄存器進(jìn)行優(yōu)化,通過(guò)CCS自帶的性能分析工具Profiler對調用頻率高的C語(yǔ)言代碼采用匯編語(yǔ)言改寫(xiě),并采用匯編優(yōu)化器進(jìn)行優(yōu)化,使代碼的執行效率得到最大限度提升。
2.4 實(shí)驗結果
基于DM642的運動(dòng)目標檢測系統實(shí)驗結果如圖3所示。本文引用地址:http://dyxdggzs.com/article/166355.htm
3 結論
本文采用TI的專(zhuān)用圖像處理芯片TMS320DM642構建硬件平臺,采用背景差分法來(lái)檢測運動(dòng)物體,采用大津法獲取自適應閥值,并按閥值取值來(lái)判斷是否有物體運動(dòng),這樣簡(jiǎn)化了后續的形態(tài)學(xué)處理,然后再對差分圖像進(jìn)行二值化處理,最后用形態(tài)學(xué)處理消除孤立的點(diǎn),經(jīng)過(guò)試驗,本文的運動(dòng)檢測系統有很強的適應能力,能避免背景死鎖情況,并能最大程度抑制拖影和空洞現象的產(chǎn)生。
評論