利用多核Blackfin處理器實現基于攝像頭的交通標志識別
DMA的使用
DMA通道可以傳送來自于內部或外部存儲器中的數據,而且傳送時僅占用最少的CPU周期。還可以利用DMA傳輸對數據進行重新組織。圖像處理應用往往使用二維的數據域(代表著傳感器采集到的2維平面圖像),而且很多經典的濾波操作也是由這些數據域的矩陣乘法(2維卷積)組成。因為DMA通道的工作獨立于處理器內核,因此在當前數據集正被處理的過程中,下一組數據集就可以被載入系統中。此外,由于DMA控制器能夠確保各通道間的同步,因此即使多個DMA通道正在訪問相同的存儲器,他們也可以并行工作。
如圖3所示,一個DMA傳輸是通過向DMA控制器的兩個寄存器的寫入操作來啟動的。然后,DMA控制器使用已存儲的描述符表,該表記錄了有待執行的活動。舉例來說,該描述符表包含了數據的目的地址和/或源地址,以及有待傳輸的單元數量,當只需要數據的一個子集時,該表還可能包括地址的跳轉信息。在DMA控制器中,幾百兆字節的信息傳輸通過向兩個寄存器的寫入操作即可啟動。
Blackfin處理器將存儲器細分為3個層次。1級存儲器(L1)允許以處理器內核的時鐘頻率來訪問數據。該頻率可高達600MHz,具體取決于處理器的類型。處理器在單個時鐘周期內可以執行從L1存儲器載入數據的指令。2級存儲器(L2)允許以處理器內核時鐘頻率的一半來訪問數據。因此,載入數據需要經過2個時鐘周期。3級存儲器(L3)是指外部存儲器。所連接的SDRAM存儲器可以在高達133MHz的頻率下工作。訪問該存儲器需要幾個時鐘周期。為了確保高效處理,對時間要求最嚴格的數據和指令應該駐留在最快的可用存儲器內。
存儲器系統
交通標志識別處理模塊
將交通標志識別視為一系列的處理模塊是一種有效的方法,具體描述如下:
1. 視頻接口(PPI)接收視頻圖像,并通過一個DMA通道將其保存在存儲器中。
2. Sobel探測器對圖像進行濾波,使圖像只有邊沿部分仍然可見。只有圖像的高頻部分可以通過。從濾波后的圖像中可以計算出邊沿的厚度和邊沿的朝向。
3. 利用Sobel濾波器輸出的矢量場,Hough變換能夠產生一個由多個可能的圓環構成的視場。
4. 簇形成這一步驟收集鄰近的點,決定所有可能的圓環的權重,并儲存其位置。
5. 圓環探測器建立在來自于上一步驟的位置指示的基礎上,可以利用來自于Sobel濾波處理步驟的邊沿數據提取出圓環。此時,就可以識別出一個交通標志,但尚未識別出其內部的數字。
6. 在數字識別模塊中,圓環狀的交通標志被載入,經過縮放后與交通標志的數字化圖像數據庫中的圖樣或圖例進行比較。具有最高概率的數字則被輸入到最高位置處的列表上。
7. 可能性最高的交通標志圖像被選中,然后復制到待發送的視頻圖像上。標志的圖像被用來生成視頻疊加。此時顯示的圖像為縱向。隨后還將執行3個附加的步驟:從YUV格式到RGB格式的色彩空間變換,從VGA到顯示格式(在本例中是VGA/4)的縮放,以及圖像的旋轉。圖像通過第二條并行接口被傳送到TFT顯示器上。圖4以圖形方式示出了這些步驟。
評論