近年來行泊一體大行其道,德州儀器的TDA4占了行泊一體大約70%的市場。其背后關(guān)鍵的就是OpenVX。
圖片來源:德州儀器
TDA4是一個(gè)龐大的家族,可以對應(yīng)六大場景,如上圖。TDA4系列產(chǎn)品眾多,TDA4VM是最早推出的,性能最低,2023年2季度量產(chǎn)的TDA4VH和TDA4AH是TDA4系列的旗艦產(chǎn)品,具備32TOPS的AI算力(4個(gè)MMA),100K DMIPS的CPU算力(8個(gè)2.0GHz的Cortex-A72內(nèi)核),16K DMIPS的MCU算力(8個(gè)Cortex-R5F內(nèi)核),320 GFLOPS的DSP算力(4個(gè)C7X),4個(gè)4K60顯示,內(nèi)置4口以太網(wǎng)交換,2口PCIe交換。
圖片來源:德州儀器
這是典型的行泊一體框架圖,10個(gè)攝像頭,對TDA4VMP來說太吃力,還是需要TDA4VH。行車方面,可實(shí)現(xiàn)盲區(qū)檢測(BSD)、開門預(yù)警(DOW)、車道偏離預(yù)警(LDW)、前向碰撞預(yù)警(FCW)、智能遠(yuǎn)光燈控制(IHC)、前方穿行預(yù)警(FCTA)、后方穿行預(yù)警(RCTA)、后方碰撞預(yù)警(RCW)、自適應(yīng)巡航(ACC)、車道保持輔助 (LKA)、手動(dòng)變道(PLC)、交通擁堵輔助(TJA)、高速輔助駕駛(HWA)、自動(dòng)緊急制動(dòng)(AEB)、交互式高速公路自動(dòng)駕駛(HWP)、交互式高速公路擁堵自動(dòng)駕駛(TJP)、自動(dòng)輔助導(dǎo)航駕駛(NOA)等功能;泊車方面,可實(shí)現(xiàn)全景功能(AVM)、自動(dòng)泊車輔助(APA)、遙控泊車輔助(RPA)、家庭區(qū)域記憶泊車(HAVP)等功能。
圖片來源:福瑞泰克
這是福瑞泰克最頂級的ADC30域控制器架構(gòu),12V5R3L方案,基于3顆地平線征程5芯片、2顆TDA4VH以及2顆英飛凌TC397的架構(gòu)。3顆征程5芯片主要做BEV鳥瞰圖。高精度地圖處理、傳感器融合、軌跡預(yù)測、行為決策、路徑規(guī)劃和自動(dòng)泊車由TDA4VH負(fù)責(zé)。據(jù)說一汽紅旗將使用這個(gè)域控制器。一汽紅旗是福瑞泰克的大客戶。
TDA4VM內(nèi)部框架圖
圖片來源:德州儀器
TDA4VMID的應(yīng)用框架圖
圖片來源:德州儀器
TDA4VMID自動(dòng)泊車的數(shù)據(jù)流分析
圖片來源:德州儀器
TDA4VMID的軟件棧與負(fù)載分析
圖片來源:德州儀器
關(guān)鍵的算法部分是OpenVX。
OpenVX中間件
圖片來源:OpenVX
圖片來源:OpenVX
我們來研究一下今天的主角:OpenVX,這實(shí)際是TDA4的核心。
圖片來源:OpenVX
OpenVX是芯片內(nèi)部的硬件加速器與視覺應(yīng)用間的橋梁,也就是個(gè)API。
圖片來源:OpenVX
一個(gè)Graph,可以說是對象也可以說是圖形,一個(gè)Graph代表一個(gè)圖像處理流程,每個(gè)進(jìn)程內(nèi)可以有多個(gè)context(上下文),每個(gè)context內(nèi)可以有多個(gè)graph(圖,或連接關(guān)系),每個(gè)graph內(nèi)可以有多個(gè)node(節(jié)點(diǎn))。一個(gè)node就是一個(gè)最小的調(diào)度單元,可以是圖像預(yù)處理算法,可以是邊緣檢測算法;一個(gè)graph就是一個(gè)功能,是由多個(gè)步驟連接在一起的完整功能;當(dāng)graph構(gòu)造完成后,即可調(diào)用vxVerifyGraph函數(shù),交由OpenVX后端去檢查參數(shù)是否合法。如果合法,即可調(diào)用vxProcessGraph函數(shù),交由OpenVX后端將任務(wù)分發(fā)給特定的加速器和異構(gòu)核心,等待全部計(jì)算完成后即函數(shù)返回。
也支持CNN,不過還是不如專用的AI芯片
圖片來源:OpenVX
OpenVX是非盈利開源組織Khronos定義的一套API框架,包括:
宏的定義與含義
結(jié)構(gòu)體的定義與含義
函數(shù)的定義與行為
而框架的代碼完全由各個(gè)公司自行實(shí)現(xiàn)(實(shí)現(xiàn)的API行為符合Khronos定義即可),例如TIOVX是TI公司對OpenVX 的實(shí)現(xiàn),Khronos組織本身也提供了一個(gè)OpenVX實(shí)現(xiàn)作為參考。OpenVX提出的初衷之一是統(tǒng)一各個(gè)平臺的圖像處理接口,提高業(yè)務(wù)代碼在不同平臺下的移植性。
很明顯,框架使用了面向?qū)ο蟮脑O(shè)計(jì)思路,即結(jié)構(gòu)體(對象)中的數(shù)據(jù)對使用者隱藏,使用者只能調(diào)用相應(yīng)的函數(shù)讀取及修改結(jié)構(gòu)體中的數(shù)據(jù)。OpenVX偏向于硬件硬解碼,由芯片廠家決定,OpenCV偏向于通用軟件實(shí)現(xiàn)功能,由社區(qū)決定。
OpenVX規(guī)范了標(biāo)準(zhǔn)化的數(shù)據(jù)結(jié)構(gòu),基本滿足了嵌入式系統(tǒng)的主要需求,尤其是這種數(shù)據(jù)結(jié)構(gòu)的描述方法對嵌入式系統(tǒng)非常友好:支持虛擬地址、物理地址等異構(gòu)內(nèi)存;提供了數(shù)據(jù)在多種地址之間映射的接口;提供了統(tǒng)一化的自定義結(jié)構(gòu)體的描述方法。
圖片來源:OpenVX
OpenCL與OpenVX對比,OpenVX受限于硬件,國內(nèi)接觸的很少,熟悉OpenCL的人很多。
圖片來源:OpenVX
目前支持OpenVX主要是以上幾家,包括樹莓派、日本索喜、德州儀器、英特爾、AMD、高通,還有IP公司芯原、Imagination、CADENCE、Synopsys和 ETRI (韓國電信研究院)。2016年推出第一版OpenVX標(biāo)準(zhǔn),目前是2019年的1.3版本,AMD和德州儀器是最早使用OpenVX的公司。
圖片來源:KHRONOS
TIOVXFramework包含了官方OpenVX的標(biāo)準(zhǔn)API和TI擴(kuò)展的API,其中包括public: Context, Parameter, Kernel, Node, Graph Array, Image,Scalar, Pyramid, ObjectArray ;TI: Target, Target Kernel, Obj Desc。TIOVX Platform提供了特定硬件(如TDAx, AM65x)的操作系統(tǒng)(如TI-RTOS, Linux)調(diào)用API。API就像飯店服務(wù)員,廚師就是底層的硬件系統(tǒng),食客就像軟件應(yīng)用調(diào)度,食客是看不見廚師的,封裝好的內(nèi)核就像菜單,廚師一般只能按菜單做,新菜也能做,但會(huì)比較麻煩。
TIOVXKernel Wrapper提供了由硬件模塊VPAC(Vision Pre-processing Accelerator)和DMPAC(Depthand Motion Perception Accelerator)封裝成的Kernel,用戶也可用Wrapper將自定義的算法(如OpenCV算法,DSP算法)封裝成Kernel。Kernel是指OpenVX中的一種功能,比如對一個(gè)圖片進(jìn)行高通濾波,這在OpenVX 里面叫做一個(gè)user kernel。
在OpenVX中,把參數(shù)定義初始化好后的kernel叫做node,因此,node就是 kernel的一個(gè)實(shí)例化--即擁有指定參數(shù)的 kernel。 視覺預(yù)處理加速器(VPAC)是一組常見的視覺基元函數(shù),執(zhí)行內(nèi)存到內(nèi)存 (M2M)像素?cái)?shù)據(jù)處理任務(wù),例如:顏色處理和增強(qiáng)、噪聲過濾、寬動(dòng)態(tài)范圍 (WDR)處理,鏡頭失真校正,用于去扭曲的像素重新映射,即時(shí)比例生成,即時(shí)金字塔生成。
VPAC從主SoC處理器(ARM、DSP等)卸載這些常見任務(wù),因此可以將這些CPU用于差異化的高級算法。VPAC旨在通過在時(shí)分復(fù)用模式下工作來支持多個(gè)攝像頭。VPAC用作視覺處理的前端,并為SoC中的其他視覺加速器或處理器內(nèi)核的進(jìn)一步處理。
VPAC邏輯圖
圖片來源:TIOVX
DMPAC包含兩個(gè)模塊,即 Sterei Disparity Engine(SDE, 用于加速立體深度預(yù)測)和Dense Optical Flow Engine (DOF Engine,用于加速密集光流)。DMPAC計(jì)算來自相機(jī)輸入的密集立體深度圖(深度)和密集光流矢量(運(yùn)動(dòng))。基于圖像/視頻傳感器的環(huán)境感知(也稱為場景理解)是汽車、工業(yè)和消費(fèi)電子領(lǐng)域許多新興應(yīng)用的核心。通常這涉及通過分析一個(gè)或多個(gè)相關(guān)的輸入視頻流來檢測場景中的所有對象,以及它們相對于觀察者或汽車的3D位置和運(yùn)動(dòng)。
圖片來源:TIOVX
上圖為TIOVX的典型應(yīng)用,L2級智能駕駛最核心功能AEB。每一步就是一個(gè)node。EVE是一個(gè)比較復(fù)雜的應(yīng)用,需要調(diào)用ARM CPU和DSP。HWA是硬件加速,可以理解為FPGA那種查找表類型的硬連線輸出。
光流功能的實(shí)現(xiàn)可以用來追蹤目標(biāo)及預(yù)測目標(biāo)軌跡位置
圖片來源:OpenVX
用TDA4來做ADAS,算法工作量可以大幅度縮減,并且執(zhí)行效率遠(yuǎn)高于手工OpenCV代碼,研發(fā)成本可以大幅度降低,這也是TDA4橫掃行泊一體市場的原因。
審核編輯:劉清
-
以太網(wǎng)交換機(jī)
+關(guān)注
關(guān)注
0文章
124瀏覽量
14286 -
MMA
+關(guān)注
關(guān)注
0文章
7瀏覽量
18434 -
TDA
+關(guān)注
關(guān)注
3文章
269瀏覽量
77628 -
TOPSIS
+關(guān)注
關(guān)注
0文章
6瀏覽量
6568 -
openvx
+關(guān)注
關(guān)注
0文章
2瀏覽量
4593
原文標(biāo)題:TDA4橫掃行泊一體市場與其背后的OpenVX
文章出處:【微信號:zuosiqiche,微信公眾號:佐思汽車研究】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論