新聞中心

EEPW首頁 > 汽車電子 > 設(shè)計應用 > 利用多核Blackfin處理器實現(xiàn)基于攝像頭的交通標志識別

利用多核Blackfin處理器實現(xiàn)基于攝像頭的交通標志識別

作者:ADI公司 Thorsten Lorenzen 時間:2008-06-06 來源:汽車電子技術(shù)???/span> 收藏

引言

  汽車行業(yè)對于基于系統(tǒng)的需求在不斷增長。交通標志是一個正在受到人們高度重視的應用領(lǐng)域,因為它可望改善駕駛員和乘客在公路行駛過程中的安全性。交通標志目前仍是一種高端選項,需要政府和領(lǐng)先的汽車廠商們聯(lián)手進行推廣,才能開辟大規(guī)模的市場。它是圖像技術(shù)的一個實例,可以應用到車輛和工業(yè)設(shè)計的多個方面。交通標志識別建立在模式識別算法基礎(chǔ)上,這些算法目前已經(jīng)很好地為機器視覺方面的專家們所掌握。

  毫無疑問,即使對于先進的通用而言,經(jīng)典的模式識別算法就已經(jīng)足以讓其應接不暇。對于這種類型的信號處理應用來說,選擇一種可以有效應對特定計算和I/O操作挑戰(zhàn)的架構(gòu)是非常有利的,這些挑戰(zhàn)是在尋找交通信號圖像的過程中所涉及的連續(xù)視頻流處理所固有的。關(guān)鍵的一點在于,算法的代碼實現(xiàn)必須能夠保證盡可能高的速度和效率。

  本文詳細介紹了一種基于的交通標志識別系統(tǒng),該系統(tǒng)以公司低功耗、低成本的嵌入式DSP—Blackfin為核心。我們將展示一種高效率的軟件架構(gòu)設(shè)計,并運用濾波器模塊算法來實現(xiàn)交通標志識別的應用。文中對各種結(jié)果進行了比較,并給出為了能更好地利用現(xiàn)有計算性能而可以采取的步驟。

本文引用地址:http://www.butianyuan.cn/article/83815.htm

基于系統(tǒng)

  基于攝像頭的典型模式識別系統(tǒng)由視頻攝像頭和顯示器組成,它們都連接到處理器的I/O接口上,處理器則控制著系統(tǒng)的運行,并執(zhí)行所需的信號處理功能。系統(tǒng)往往需要外接SDRAM,為從輸入視頻流中提取道路標志信息的視頻處理功能提供所需的存儲器空間。圖1示出了該典型系統(tǒng)的方框圖。雖然在最終應用中不一定會部署顯示器,但它有助于進行應用開發(fā)和演示。

  領(lǐng)先的汽車廠商將高品質(zhì)的CMOS圖像傳感器用作系統(tǒng)的視頻信號源。目前,大多數(shù)攝像頭都可以捕捉VGA尺寸(640×480像素)的灰度圖像,并具有10比特的灰階深度。幀速率一般達到了30幀/s,CMOS傳感器的靈敏度使其既適用于低光照環(huán)境和夜間,也適用于艷陽高照和有光線直射的情況。未來的應用將需要具有更大的幀尺寸和色彩分辨能力的傳感器。在本文的示例中,攝像頭提供彩色圖像,該圖像以亮度/色度 YUV差分圖像格式傳送。大多數(shù)傳感器是由一個外部時鐘發(fā)生器驅(qū)動的,通過一條寬度達10比特的同步并行數(shù)據(jù)總線提供圖像數(shù)據(jù)。兩路附加的信號用于實現(xiàn)行寬度和場高度的同步。

顯示

  LCD 顯示器在汽車儀表板上已經(jīng)十分常見,它需要系統(tǒng)提供RGB圖像數(shù)據(jù)。每個顯示器的像素都需要3基色(紅、綠和藍)的輸入數(shù)值。捕捉和顯示之間圖像格式的不匹配在視頻系統(tǒng)中是很常見的現(xiàn)象,在RGB和YUV格式之間實現(xiàn)轉(zhuǎn)換的色彩空間變換算法也已經(jīng)廣為人知。圖2示出顯示器與處理器之間的連接。

多核嵌入式處理器加速信號處理

  本文中的駕駛員輔助系統(tǒng)所采用的中央處理器是Blackfin BF561。Blackfin架構(gòu)是針對信號和圖像處理應用而開發(fā)的,可以提供算術(shù)和邏輯單元(ALU),它允許指令流在不同數(shù)據(jù)上并行執(zhí)行。正如在引言部分所提到的那樣,由于具有高效率的信號處理指令集和硬件功能特色,專為信號處理應用設(shè)計的處理器可以確保濾波和模式匹配算法能夠高效率和靈活地運行。BF561 Blackfin是一款雙核處理器,具有兩個對稱的處理器內(nèi)核,因此可為應用提供約兩倍的計算能力。

  我們已經(jīng)提到了用作捕捉和顯示視頻接口的并行I/O 端口。此外,Blackfin處理器提供了大量的其他接口,如用作普通系統(tǒng)級接口的I2C和NAND FLASH接口,以及用于在特定應用環(huán)境中運行的接口,比如汽車系統(tǒng)中經(jīng)常用到的CAN總線和MOST總線。

軟件架構(gòu)

  我們用軟件架構(gòu)一詞來概括對系統(tǒng)進行控制的軟件。它是指包括了系統(tǒng)狀態(tài)機的控制代碼。該控制代碼配置系統(tǒng)的所有接口,按預定的順序調(diào)用所需要的濾波器模塊,啟動DMA數(shù)據(jù)傳送,并同步那些暫?;蚍磸吞幚淼氖录?/p>

處理器內(nèi)核

  處理器內(nèi)核運行控制軟件并執(zhí)行數(shù)學計算。每個Blackfin處理器內(nèi)核都擁有兩個算術(shù)和邏輯單元(ALU),最多允許同時執(zhí)行4項計算。讀、寫操作用于從存儲器中檢索出計算所需的數(shù)據(jù),并將結(jié)果保存下來。下面示出了一條寬度最大的指令。該指令可以同時在每個內(nèi)核上都執(zhí)行兩次獨立的乘法,以及隨后進行的加法和兩次載入操作。

  R4.l=(A0+=R0.l*R1.l), R4.h=(A1+=R0.h*R1.h) || R0=[I0++] || R1=[I1++];

  如果由于地址沖突,該最大寬度指令無法被調(diào)用,則可以執(zhí)行該并行化指令的一部分。下面是幾個例子:

  R4.l=(A0+=R0.l*R1.l), R4.h=(A1+=R0.h*R1.h) || R0=[I0++] || NOP
  MNOP || R0=[I0++] || R1=[I1++];
  A0+=R0.l*R1.l || R0.l=w[I0++] || R1.l=w[I1++];

  可以并行執(zhí)行的操作種類舉不勝舉,但需要考慮硬件實現(xiàn)方面的相互制約。


上一頁 1 2 3 4 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉