<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于DM642的實(shí)時(shí)運動(dòng)目標檢測系統

基于DM642的實(shí)時(shí)運動(dòng)目標檢測系統

作者: 時(shí)間:2011-08-26 來(lái)源:網(wǎng)絡(luò ) 收藏

  引言

  數字視頻系統在智能交通、圖像識別以及安防監控等領(lǐng)域,都得到了廣泛的應用,作為數字視頻系統的一個(gè)重要環(huán)節,是后續目標識別、目標跟蹤等應用的基礎。本文提出了一個(gè)基于的實(shí)時(shí)系統方案,依靠芯片強大的運算能力,使目標檢測的數據吞吐量及實(shí)時(shí)性得到保證。本方案設計合理、可擴展性強,具有實(shí)際應用價(jià)值。

  1 算法

  實(shí)現運動(dòng)目標檢測的算法很多,一般有光流法、背景差分法、相鄰幀間差分法等。光流法通過(guò)求解光流方程來(lái)實(shí)現運動(dòng)檢測,其算法復雜、計算量大,且較難滿(mǎn)足實(shí)時(shí)要求;而相鄰幀間差分法雖然算法簡(jiǎn)單、運算量小,但抗干擾能力很差,檢測效果不太理想;而背景差分法算法簡(jiǎn)單、運算量小、且抗干擾能力強,因此本文采用該方法實(shí)現運動(dòng)目標檢測。具體步驟如下:首先獲取數字圖像進(jìn)行預處理,之后采用背景差分法實(shí)現運動(dòng)檢測,再對所得的圖像用大津法進(jìn)行自適應閥值分割,最后通過(guò)濾波得到檢測出的運動(dòng)目標。圖1是本文運動(dòng)目標檢測的流程圖。

  

基于DM642的實(shí)時(shí)運動(dòng)目標檢測系統

  1.1 圖像獲取及預處理

  在CCS中配置系統的視頻輸入以及視頻輸出FVID驅動(dòng),從TMS320的VPORT口獲取到攝像頭采集的視頻流所對應的數字YUV視頻流,將其存放到緩存IMG_CURRENT、IMG_PREVIOUS、IMG_BACKGROUND里面,其中IMG CURRENT存放的是當前的圖像,IMG_PREVIOUS存放的是上一次存放的圖像,IMG BACKGROUND存放的圖像作為背景圖像。圖像的分辨率為720×576,每個(gè)分量為8比特。由于獲取的視頻圖像不可避免地含有噪聲,必須對這些噪聲加以抑制,本文采用高斯濾波對所得到的YUV視頻信息進(jìn)行高斯濾波處理。濾波后的圖像保存到IMG_CURRENT緩存中。

  1.2 背景差分法處理

  視頻圖像經(jīng)過(guò)預處理后,采用背景差分法檢測出運動(dòng)圖像,步驟如下:

  (1)獲取一幀圖像作為初始的背景Bg(x,y,tk);

  (2)間隔4幀再次獲取下一幅圖像,作為當前圖像Curr(x,y,tk);

  (3)按照背景差分法得到差分圖像Sub(x,y,tk)=|Curr(x,y,tk,)-Bg(x,y,tk);

  (4)統計所有和值

基于DM642的實(shí)時(shí)運動(dòng)目標檢測系統
,與設定的閥值FF相比較,如果小于閥值FF,按下式進(jìn)行背景更新Bg(x,y,tk)=α*Curr(x,y,tk)+(1-α)*Bg(x,y,tk-1);

  (5)重復前面(2)到(3)的步驟。

  上述背景差分法中,可隨機獲取開(kāi)機時(shí)刻的一幀圖像為初始背景圖像。為了讓圖像之間的差異更加明顯,按每間隔4幀來(lái)獲取下一幅圖像作為當前圖像,進(jìn)行背景差分得到差分圖像,將差分圖像灰度的和與設定閥值FF相比較,判定是否需要更新當前背景,閥值FF為經(jīng)驗值,本文取20000。背景更新公式中的系數a反映了背景更新快慢,其取值范圍在[0,1]之間,a越大,背景更新速度越快,a越小,背景更新速度越慢。

  1.3 差分圖像的二值化

  對差分圖像按照下式二值化:

  

基于DM642的實(shí)時(shí)運動(dòng)目標檢測系統

  式中的閥值TR采用大津法獲取。在實(shí)際測試時(shí)發(fā)現,直接采用大津法獲取的閥值TR對差分圖像二值化進(jìn)行處理時(shí),如果沒(méi)有物體運動(dòng),那么二值化得到的圖像為噪聲的二值化圖像,這樣直接處理得到的二值化噪聲圖像在后續的形態(tài)學(xué)濾波中很難完全消除,通過(guò)分析差分圖像的直方圖,發(fā)現當沒(méi)有物體運動(dòng)時(shí),差分圖像的直方圖主要分布在0~10間,此時(shí)大津法獲取的閥值為1~6之間;當有物體運動(dòng)時(shí),差分圖像的直方圖分布在0~255之間,此時(shí)大津法獲取的閥值為20以上。

  基于以上的分析,本文采用改進(jìn)的方法,如果大津法獲取的閥值小于10,則說(shuō)明沒(méi)有物體運動(dòng),否則說(shuō)明有物體運動(dòng),當閥值小于10時(shí),按照下式進(jìn)行二值化處理

  f(x,y,tk)=0 當TR10

  即當沒(méi)有物體運動(dòng)時(shí),獲取的二值化圖像應為全黑,這樣后續的形態(tài)學(xué)處理只需對有物體運動(dòng)時(shí)的二值化圖像進(jìn)行處理即可。圖2分別為無(wú)物體運動(dòng)時(shí)直接二值化和采用改進(jìn)方法二值化后的結果。其中a)為直接采用大津法獲取的閥值分割沒(méi)有物體運動(dòng)時(shí)的差分圖像的結果,可以看出圖中布滿(mǎn)噪聲;b)為對大津法獲取的閥值進(jìn)行判斷后,沒(méi)有物體運動(dòng)時(shí)的差分圖像分割的結果,可以看出此時(shí)圖像為全黑,也即沒(méi)有運動(dòng)物體,這與實(shí)際情況相符,簡(jiǎn)化了后續的形態(tài)學(xué)處理。

  

基于DM642的實(shí)時(shí)運動(dòng)目標檢測系統

  2 算法的TMS320DM642實(shí)現

  2.1 硬件平臺

  硬件平臺采用TMS320DM642作為CPU,該芯片主頻600MHz。視頻編解碼芯片采用SAA7115H和SAA7105H。另外采用了兩片SDRAM(共4M×64bi-t)芯片作為存儲介質(zhì),用于圖像的暫時(shí)存儲,同時(shí)還采用一片FLASH用于實(shí)現自啟動(dòng),硬件平臺框圖見(jiàn)圖3。

  

  此硬件平臺從攝像機獲取模擬圖像,經(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所示。

  

基于DM642的實(shí)時(shí)運動(dòng)目標檢測系統

  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)生。



關(guān)鍵詞: DM642 運動(dòng)目標檢測

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>