久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 分布式多視角目標跟蹤算法在OMAP3平臺上的實現與優化

分布式多視角目標跟蹤算法在OMAP3平臺上的實現與優化

作者: 時間:2011-05-21 來源:電子產品世界 收藏

  4.2 軟件優化

本文引用地址:http://cqxgywz.com/article/119685.htm

  軟件優化就是對程序代碼進行優化。只在C語言的層面上進行優化有利于保持程序良好的移植性。不管是ARM上的C程序,還是DSP上的C程序,其優化的一般方法都具有相似性。

  A.dsplib的使用:TI公司為程序員提供了一個高效的函數庫dsplib,這個函數庫實現了很多常用運算,如相關、乘加、FFT等。通過使用dsplib,一方面減少了算法優化的時間和工作量,另一方面又能到達與匯編優化相近的效果。

  B.循環內部優化及循環展開:內循環往往是程序運行效率低下的瓶頸,通過優化內循環代碼,可以大大提高代碼的運行效率。一方面,應盡量精簡內循環的代碼,合理安排內循環存儲器的操作;另一方面,通過循環展開的方法提高代碼運行的并行程度,充分發揮C64+DSP單周期多指令的性能。

  C.提高存儲器操作的并行性:通過在函數聲明中使用關鍵字const和restrict等,并合理安排存儲器的操作,可以消除存儲器的關聯性,使串行的存取操作變成并行的存取操作,從而提高程序運行速度。

  D.浮點運算轉定點運算:C64+DSP核是一款定點DSP處理器,不支持硬件的浮點運算,只支持軟件的浮點運算。為了提高運算速度,需要盡可能把浮點運算轉化為定點運算。

  E.intrinsics函數(內聯函數)的使用: instrinsics是直接映射為內聯的C64x+指令的特殊函數,使用instrinsics函數相當于在一定程度上做匯編優化,可以大大提高了代碼的執行效率。

  5.實現的性能與結果

  5.1 跟蹤效果演示

  圖3所示為遮擋情況下跟蹤情況。本系統可以抗各種類型遮擋,包括短期遮擋,長遮擋。此外,本系統為分布式跟蹤,也就是說部分節點的失效并不會影響我們最終的跟蹤效果,節點的失效可以是網絡的出錯或者節點斷電。在圖4中從左到右有三個視角,每個視角內的白框為當前視角跟蹤結果,藍框為其他視角的跟蹤結果在本地的投影。視角內的綠色點為粒子位置。

  一幀視頻消耗的DSP周期數

  為了測量優化效果,我們使用CCS對跟蹤算法進行了離線仿真。通過使用Clock工具和斷點配合,我們可以精確地得到整個程序處理一整幀視頻數據及程序內各函數需要的時鐘周期數。我們選取了其中一個攝像頭的某一幀視頻,對跟蹤算法所消耗的時鐘周期數進行測量。表1顯示了優化前和優化后這幀視頻所消耗的DSP時鐘周期數。表1只對DSP上運行的跟蹤算法的主流程進行測量,其他的如視頻采集和預處理等不在測量范圍中。

  從表中可以發現,在小模板的情況下,優化比率并不高,這是由于粒子濾波中產生粒子的開銷不隨模板的變化而變化。在模板較大的情況下,優化比率迅速上升,因為起主導作用的是SSIM計算函數和插值函數。特別是SSIM計算函數,其優化比率隨模板大小增加而迅速上升。在63×63大小的模板下,SSIM計算函數優化比率為117.6倍,而插值函數的優化比率為32.9倍,插值函數的優化比率基本不隨模板的大小而變化。



評論


相關推薦

技術專區

關閉