《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 解決方案 > 使用TI的Vision AccelerationPac,實現(xiàn)汽車可視探測

使用TI的Vision AccelerationPac,實現(xiàn)汽車可視探測

2013-10-28
關(guān)鍵詞: SOC TDA2x ADAS

作者:德州儀器(TI) 戰(zhàn)略營銷經(jīng)理Zhihong Lin、嵌入式視覺引擎首席架構(gòu)師Jagadeesh Sankaran博士和技術(shù)戰(zhàn)略主任Tom Flanagan

引言

    到20139月,谷歌的自主駕駛汽車已在計算機控制下成功行駛了500000多英里,并且沒有發(fā)生過一起交通事故[1]。谷歌具有革命性的無人駕駛汽車項目旨在利用攝像頭、雷達傳感器和激光測距儀(以及谷歌的地圖數(shù)據(jù)庫)監(jiān)測和引導(dǎo)汽車行駛,從而提高汽車駕駛的安全性和效率。谷歌的無人駕駛汽車原型車使用了價值150,000美元的機器人組件,包括價值70,000美元的激光雷達系統(tǒng),因此距離商用還有很長的路要走。20138月,尼桑汽車公司宣布計劃于2020年前推出無人駕駛汽車,以實現(xiàn)零交通事故死亡率。自主駕駛汽車商用化進展的重點工作是,如何讓自主駕駛汽車價格更低、可靠性和安全性更高。實現(xiàn)自主駕駛汽車的關(guān)鍵技術(shù)之一是計算機視覺,其使用基于攝像頭的視覺分析,目的是提供高可靠、低成本的視覺解決方案。盡管基于攝像頭的傳感器成本低于其它技術(shù),但其處理要求會急劇增加。今天的系統(tǒng)要求我們處理30幀每秒、1,280x800分辨率的圖像,通常會同時要求運行5種以上的算法。德州儀器最新的應(yīng)用處理器TDA2x基于OMAP5技術(shù),擁有頂級的Vision AccelerationPac,可以高效率、低成本、可編程和靈活地實現(xiàn)高級駕駛輔助系統(tǒng)(ADAS),以支持自主駕駛汽車的20/20視覺功能。Vision AccelerationPac是一種可編程加速器,擁有專用硬件單元和定制過程,可使用高級語言實現(xiàn)完全編程。它允許視覺開發(fā)人員使用標(biāo)準(zhǔn)處理器架構(gòu)所不具備的一些高級性能。使用高級語言實現(xiàn)的Vision AccelerationPac可編程支持,允許終端汽車制造廠商在算法調(diào)整方面進行探索,做出一些具有創(chuàng)新性的解決方案。當(dāng)這些算法遠(yuǎn)未成熟時,這種功能特別重要,并且對于縮短產(chǎn)品上市時間也至關(guān)重要。

長眼睛的汽車

    美國人口普查局的統(tǒng)計數(shù)據(jù)表明,在美國,平均每年發(fā)生600萬起機動車交通事故。16-24歲年青人的交通事故死亡率最高。該統(tǒng)計數(shù)據(jù)還表明,大多數(shù)交通事故的原因均為人為操作失誤。人們相信,給機動車加裝視覺和智能裝置可以減少人為操作失誤,降低交通事故發(fā)生率,從而挽救生命。另外,人們還認(rèn)為,汽車視覺系統(tǒng)可以幫助緩解交通擁堵,提高公路通行能力,提高汽車燃油效率,并提高駕駛者的行車舒適性。

   高級駕駛輔助系統(tǒng)(ADAS)是朝著完全自主駕駛汽車的目標(biāo)邁出的關(guān)鍵性一步。ADAS系統(tǒng)包括但不限于自適應(yīng)巡航控制、車道保持輔助、盲點探測、車道偏離警告、碰撞警告系統(tǒng)、智能速度自適應(yīng)、交通標(biāo)志識別、行人保護與物體探測、自適應(yīng)燈光控制和自動泊車輔助系統(tǒng)。

    攝像頭是一種低成本方法,涵蓋許多交通應(yīng)用環(huán)境,可用于智能分析。立體前置攝像頭可用于自適應(yīng)巡航控制,監(jiān)控實時交通狀況,幫助保持與前車的最佳距離。前置攝像頭還可用于車道保持輔助,讓汽車保持在車道中間,也可用于交通標(biāo)志識別和物體探測。側(cè)攝像頭可用于并道監(jiān)控、盲點探測和行人感知。

    攝像頭后臺數(shù)據(jù)分析功能,讓汽車擁有類似人類視覺的能力。實時視覺分析引擎需要對每一個視頻攝像幀進行分析,提取正確的信息來做出智能決策。它不僅僅需要超強的計算能力,在瞬間對數(shù)據(jù)進行處理,以讓快速運動的汽車做出正確的機動,還需要寬I/O來提供多個攝像頭的視覺分析引擎輸入,從而實現(xiàn)同步關(guān)聯(lián)。低功耗、低延遲和可靠性也是汽車視覺系統(tǒng)的幾個關(guān)鍵方面。

TI技術(shù)實現(xiàn)者—Vision AccelerationPac

   TI的Vision AccelerationPac是一種可編程加速器,專門用于滿足汽車、機器視覺和機器人市場計算機視覺應(yīng)用的處理、功耗、延遲和可靠性需要。Vision AccelerationPac包含一個或者多個嵌入式視覺引擎(EVE),用于實現(xiàn)嵌入式視覺系統(tǒng)的可編程性、靈活性、低延遲處理和功率效率以及小硅片面積,因此可實現(xiàn)性能與價格的優(yōu)異結(jié)合。相同功率級別下,相比現(xiàn)有ADAS系統(tǒng),每個EVE擁有8倍以上的高級視覺分析計算性能改善。詳情,請參看圖1。

1 Cortex-A15相同功率預(yù)算時計算性能為原來的8倍以上

    下一頁中的圖2顯示了Vision AccelerationPac架構(gòu)。

    Vision AccelerationPac內(nèi)有一個或者多個EVE,它是一種視覺優(yōu)化處理引擎,包括一個32位自適應(yīng)專用RISC處理器(ARP32)和一個512位矢量協(xié)處理器(VCOP),并使用內(nèi)置機制和獨特的視覺專用指令,用于同時、低開銷處理。ARP32包括32KB的程序緩存,用于實現(xiàn)高效程序執(zhí)行。它還擁有一個旨在簡化調(diào)試的內(nèi)置仿真模塊,并與TI的Code Composer Studio™集成開發(fā)環(huán)境(IDE)兼容。共有3個并行平面內(nèi)存接口,每個接口均有256比特加載與存儲帶寬,共提供768比特寬內(nèi)存帶寬(是大多數(shù)處理器內(nèi)部內(nèi)存帶寬的6倍),并擁有共計96KB L1數(shù)據(jù)內(nèi)存,可實現(xiàn)極低處理延遲的同步數(shù)據(jù)傳送。每個EVE還具有一個本地專用直接內(nèi)存訪問(DMA),用于主處理器內(nèi)存的數(shù)據(jù)進出傳輸,以實現(xiàn)快速數(shù)據(jù)傳送,同時還有一個內(nèi)存管理單元(MMU),用于地址翻譯和內(nèi)存保護。為了實現(xiàn)可靠運行,每個EVE還在所有數(shù)據(jù)內(nèi)存上使用單比特誤差檢測,對程序內(nèi)存使用雙比特誤差檢測。一個關(guān)鍵的架構(gòu)級功能是DMA引擎、控制引擎(RISC CPU)和處理引擎(VCOP)的完全并發(fā)。例如,它讓ARP32 RISC CPU可以在處理一個中斷命令或者執(zhí)行順序代碼的同時,VCOP執(zhí)行一個循環(huán)并在底層對另一條語句解碼,并在沒有任何架構(gòu)或者內(nèi)存子系統(tǒng)停止工作的情況下傳送數(shù)據(jù)。另外,它還通過硬件郵箱方法,對處理器間通信提供嵌入式支持。大多數(shù)高功效視覺處理中,EVE僅使用400mW的最大總功耗,便實現(xiàn)了8GMAC處理性能和384Gbps數(shù)據(jù)帶寬。

2 Vision AccelerationPac架構(gòu)

    VCOP矢量協(xié)處理器是一種帶嵌入式環(huán)路控制和地址生成的單指令多數(shù)據(jù)(SIMD)引擎。它提供每周期16個16位倍增器的雙8路SIMD,以及500MHz頻率持續(xù)數(shù)據(jù)流量下8GMACS每秒的速度,其由舍入和飽和相關(guān)加載/存儲與內(nèi)置的零循環(huán)開銷維持。它可以三源運行,讓兩個矢量單元提高兩倍,每個周期多計算32個32位。VCOP還具有8個地址生成單元,每個均擁有4維地址功能,能夠存儲4個嵌套循環(huán)和3個內(nèi)存接口的地址,從而實現(xiàn)4級嵌套循環(huán)零開銷。它大大減少了迭代像素操作所需的計算周期。矢量協(xié)處理器擁有許多專用通道,用于加速柱狀圖、加權(quán)直方圖和查詢表,并支持一般計算機視覺處理級,例如:梯度、方向、排序、位交錯/去交錯/置換、全景圖像和局部二進制模式。另外,矢量協(xié)處理器還具有一些實現(xiàn)靈活性和并發(fā)加載存儲運行的專用指令,旨在加速重要解碼和分散/集合運行區(qū),從而實現(xiàn)非鄰近內(nèi)存數(shù)據(jù)的高效處理。它最小化了傳統(tǒng)圖像處理程序所需的常見數(shù)據(jù)傳輸和拷貝,實現(xiàn)超快處理性能。同標(biāo)準(zhǔn)處理器架構(gòu)相關(guān)的各種功能處理速度提高4到12倍是正常的。VCOP本身就支持分散/集合和重要處理區(qū)功能。排序是一種常見的計算機視覺功能,其發(fā)生在一些多用情況下,例如:追蹤目標(biāo)特性識別和密集光流搜索匹配等。EVE極大加快了自定義指令支持排序,從而使EVE能夠在15.2µ秒內(nèi)對2048個32位數(shù)據(jù)點進行排序。

    利用標(biāo)準(zhǔn)TI代碼生成工具套件可對Vision AccelerationPac進行完全編程,允許直接編譯軟件,并在PC上運行來模擬。通過TI的實時操作系統(tǒng)BIOS(RTOS),ARP32 RISC內(nèi)核可以完全運行C/C++程序。通過TI的VCOP內(nèi)核C構(gòu)建的C/C++專用子集,對VCOP矢量協(xié)處理器編程。VCOP內(nèi)核C是一種模板化的C++矢量庫,其通過一種高級語言顯示相關(guān)硬件的各種功能。利用一些標(biāo)準(zhǔn)編譯器(例如:GNU GCC或者Microsoft® MSVC等),可以在一臺標(biāo)準(zhǔn)的PC或者工作站上評估和驗證寫入VCOP內(nèi)核C的算法。它允許開發(fā)人員在算法開發(fā)過程初期融入矢量化和驗證位精確度,并對大量數(shù)據(jù)集進行測試,從而確保算法的穩(wěn)健性。只需使用TI的代碼生成工具對源代碼進行重新編譯,這些算法便可直接運行在Vision AccelerationPac上。寫入VCOP內(nèi)核C的程序有許多優(yōu)點;它們經(jīng)過優(yōu)化后可使用Vision AccelerationPac架構(gòu)和指令集,擁有特殊的循環(huán)結(jié)構(gòu),可對矢量數(shù)據(jù)進行操作,并且在C聲明和匯編語言之間有一個幾乎是一對一的映射,從而得到非常高效的代碼,代碼體積和內(nèi)存占用較小。

   共有超過100個Vision AccelerationPac編程舉例。相比VCOP內(nèi)核C,使用ARM® NEON® SIMD的陣列添加簡單例子表明,在6個周期中,ARM可以增加4個32位值,從而獲得1.5周期每輸出的內(nèi)循環(huán)性能,同時,VCOP充分使用其768位加載存儲帶寬,在一個周期內(nèi)獲得8個輸出。該結(jié)果相當(dāng)于1/8周期每輸出的吞吐量,其實現(xiàn)了12倍于ARM的總體周期到周期速度。

    Vision AccelerationPac內(nèi)部EVE的ARP32 RISC內(nèi)核針對控制代碼和順序處理進行了優(yōu)化。它支持運行SYS/BIOS、TI的實時操作系統(tǒng),因此提供了對線程、信號和其它RTOS特性的支持。

    EVE受到全套代碼生成工具的支持,包括TI的Code Composer Studio IDE中集成的優(yōu)化編譯器即模擬器。EVE通過硬件計數(shù)器對非侵入式性能監(jiān)控提供嵌入式支持。它允許用戶對多個性能信號進行監(jiān)控,與此同時,在無需進行任何代碼修改的情況下,應(yīng)用程序運行并允許深度監(jiān)控應(yīng)用程序的運行時間表現(xiàn)。

使用Vision AccelerationPac的圓形交通標(biāo)志識別舉例

    典型的視覺分析處理涉及幾個階段(如圖3所示),包括圖像預(yù)處理與特性檢測、相關(guān)物體識別、圖像與模式匹配,最后才是決策判斷。TI的Vision AccelerationPac最適合于減輕視覺分析處理前三個階段的密集計算。決策判斷通常包括分類器、浮點運算和矩陣轉(zhuǎn)換,C66x DSP內(nèi)核對它們的處理最為有效。正因如此,Vision AccelerationPac在SoC中與一個或者多個DSP配對使用。結(jié)果是,把視覺分析工作量合理是劃分開來。

    TI的TDA2x可實現(xiàn)低功耗、高性能的視覺處理系統(tǒng)。它擁有兩顆C66x DSP內(nèi)核和一個Vision AccelerationPac,以及兩個嵌入式視覺引擎(EVE)。另外,它還包括一個視頻前端和汽車汽車聯(lián)網(wǎng)接口。下一頁的圖4顯示了TDA2xx SoC結(jié)構(gòu)圖。

    下面,我們來探討Vision AccelerationPac如何能夠加速ADAS圓形交通標(biāo)志識別。

   一些世界圓形交通標(biāo)志使用紅色圓圈作為分界線,因此第一步便是從YUV422輸入數(shù)據(jù)只提取紅色像素。第二步是,計算水平和垂直梯度,使用亮度和對比度來確證紅色邊界線。然后,使用霍夫變換算法找出圓形?,F(xiàn)在,使用數(shù)據(jù)庫中存儲的模式使圓形內(nèi)被識別相關(guān)區(qū)域圖像關(guān)聯(lián)起來,以解釋交通標(biāo)志(80 MPH),最終做出決策判斷。在這種情況下,結(jié)論是限速80英里/小時。

3視覺分析處理流程圖

    如下面圖5所示,Vision AccelerationPac可以高效地分擔(dān)圓形交通標(biāo)志識別處理的大多數(shù)工作量,包括基于互關(guān)聯(lián)的塊匹配模板加速器。DSP內(nèi)核用于提高最終決策的穩(wěn)健性。使用霍夫變換算法來查找圓形是一項高計算密集型工作,但使用Vision AccelerationPac時,霍夫變換算法查找圓形僅需140字節(jié)個代碼空間,約(1.88*NUM_RADIUS) +1.81 cyc/pix個處理時間周期,其中,NUM_RADIUS為我們在霍夫空間內(nèi)選擇搜索的半徑數(shù),因此它的視覺識別時間非常短,功耗非常低,并且硅片面積的性價比很高。以每秒30幀對一幅720 × 480圖像進行完全交通標(biāo)志識別約需50 MHz,即小于10% EVE周期。保持了豐富的處理功能,表明一個EVE可以同時運行多個視覺算法。

4 TDA2x結(jié)構(gòu)圖

5 使用Vision AccelerationPac實現(xiàn)圓形交通標(biāo)志識別

機器視覺Vision AccelerationPac—汽車或者攝像頭處理以外的應(yīng)用

    Vision AccelerationPac可以使用的其它領(lǐng)域還有很多。除視頻攝像頭分析處理以外,Vision AccelerationPac的固點倍增器和硬件通道是雷達分析處理的理想選擇,因為它可以高效地處理快速傅里葉變換(FFT)和波束形成算法。利用Vision AccelerationPac來處理1024點FFT所花費的時間小于3.5µ秒。因此,雷達可用作汽車攝像頭系統(tǒng)的補充,以探測許多不同的交通和氣象狀況。

    汽車視覺所使用的相同機制,也適用于許多其它機器視覺行業(yè);工業(yè)自動化、視頻安全監(jiān)控和警告系統(tǒng)、交通監(jiān)控和車牌識別便是例子。Vision AccelerationPac可用于擴展DSP應(yīng)用,以一種更加自主和高功效的方式來解決今天的許多視覺分析問題。

結(jié)論

    Vision AccelerationPac是德州儀器創(chuàng)新型視覺分析解決方案。利用一種針對高效嵌入式視覺處理進行高度優(yōu)化的靈活SIMD架構(gòu),Vision AccelerationPac擁有非常低的功耗和優(yōu)異的硅片面積效率。Vision AccelerationPac與C66x DSP內(nèi)核結(jié)合使用,可實現(xiàn)浮點和矩陣計算,從而極大地加速完整嵌入式視覺應(yīng)用處理鏈。除是一種高效、可靠的架構(gòu)以外,Vision AccelerationPac還使用一種簡單的基于C/C++的編程模型,輸出非常緊湊的代碼。它意味著,Vision AccelerationPac實現(xiàn)的系統(tǒng)具有非常低的內(nèi)存占用,從而進一步降低了視覺系統(tǒng)成本和功耗。TDA2x SoC及其Vision AccelerationPac,是實現(xiàn)智能汽車系統(tǒng)、工業(yè)機器和“可視”機器人視覺分析的一個理想平臺,它們共同提高了我們的生活品質(zhì)。

TDAx SoC更多詳情,請訪問www.ti.com/TDA2x。

參考文獻

(1)    谷歌在Va. Tech測試無人駕駛汽車

(2)    尼桑宣布史無前例的無人駕駛汽車發(fā)展計劃

鳴謝

感謝Stephanie Pearson、Debbie Greenstreet、Gaurav Agarwal、Frank Forster、Brooke Williams、Dennis Rauschmayer、Jason Jones、Andre Schnarrenberger、Peter Labaziewicz、Dipan  Mandal、Roman Staszewski和Curt Moore給本文提供的支持。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。