加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

英偉達(dá)Orin算法庫(kù)都有什么算法?

2022/08/04
2159
閱讀需 10 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

自動(dòng)駕駛芯片必須軟硬一體,最多的工作不是芯片本身,而是與之對(duì)應(yīng)的算法庫(kù)。對(duì)于自動(dòng)駕駛,英偉達(dá)提供兩種合作模式。

圖片來源:互聯(lián)網(wǎng)

一種是車企交出全部靈魂,英偉達(dá)提供全套解決方案,包括底層OS,中間件DRIVEWORKS,上層應(yīng)用模塊DRIVE AV包括座艙的模塊DRIVE IX也一起提供。不過中國(guó)禁止國(guó)外廠家上路采集信息,也就是用于識(shí)別的訓(xùn)練數(shù)據(jù)集還是需要中國(guó)廠家自己去做。如果是在美國(guó),訓(xùn)練數(shù)據(jù)集英偉達(dá)也可以提供。

另一種是車企交出部分靈魂,英偉達(dá)提供底層的基礎(chǔ)算法,這些算法大多基于手工模型,和深度學(xué)習(xí)沒關(guān)聯(lián)。實(shí)際深度學(xué)習(xí)或者說AI是自動(dòng)駕駛領(lǐng)域最容易做的部分,搜集數(shù)據(jù),標(biāo)注數(shù)據(jù),訓(xùn)練數(shù)據(jù),提取權(quán)重模型。這也是為什么AI不具備可解釋性,無法迭代,好在AI可溯源。工作量最大,難度最高的都是非深度學(xué)習(xí)部分。手工模型,傳統(tǒng)算法的好處是可解釋,可迭代,具備確定性。

后一種的算法庫(kù),英偉達(dá)稱之為VPI,即Vision Programming Interface,2021年2月發(fā)布,目前是2.0版本,VPI除了針對(duì)智能駕駛,也能用在任何計(jì)算機(jī)視覺領(lǐng)域,英偉達(dá)Jeston系列硬件平臺(tái)都支持VPI。VPI提供一系列軟件庫(kù),可在英偉達(dá)的硬件平臺(tái)上得到加速,通常加速器還叫Backend后端。VPI用來取代NVIDIA®VisionWorks™。VPI可以最大化利用硬件,特別是Xavier和Orin的PVA、VIC、OFA。簡(jiǎn)單地說VPI將一些簡(jiǎn)單的算法封裝成了類似硬件指令集的指令,對(duì)用戶幾乎透明,可直接調(diào)用,讓原本需要N行代碼才能完成的算法函數(shù),只需一行指令就完成,讓不熟悉基礎(chǔ)算法的人也能勝任。大大縮減了開發(fā)周期和開發(fā)人員,效率顯著提升。缺點(diǎn)是被英偉達(dá)深度捆綁,想換個(gè)平臺(tái)絕無可能。

圖片來源:互聯(lián)網(wǎng)

 

用C++或Python都可以直接使用。

  • PVA(Programmable Vision Accelerator),可編程視覺加速器;VIC(Video Image Compositor),做一些固定功能的圖像處理,如縮放、色彩轉(zhuǎn)換、消噪;NVENC(NVIDIA Encoder Engine),主要做視覺編碼,也能做稠密光流應(yīng)用。

整個(gè)VPI的執(zhí)行概念,就是提供適合實(shí)時(shí)圖像處理應(yīng)用的異步計(jì)算管道,由一個(gè)或多個(gè)異步計(jì)算流(streams)組成,這些流在可用計(jì)算后端(backends)的緩沖區(qū)(buffers)上運(yùn)行算法(algorithms),流之間使用事件(events)進(jìn)行同步。VPI將數(shù)據(jù)封裝到需要使用的每個(gè)算法的緩沖區(qū)中,提供Images(二維圖像)、Arrays(一維數(shù)組)和Pyramids(二維圖像金字塔)的三種抽象,以及用戶分配內(nèi)存包裝,由VPI直接分配和管理。

英偉達(dá)VPI 2.0算法對(duì)應(yīng)硬件。

圖片來源:互聯(lián)網(wǎng)

算法庫(kù)主要包含三類算法:

  • 一是簡(jiǎn)單的圖像前處理,包括各種平滑濾波、鏡頭畸變矯正、縮放、透視、拼接、直方圖、消噪、快速傅里葉變換等;
  • 二是針對(duì)立體雙目視差的獲得;三是光流追蹤。

OFA即光流加速器,為Orin平臺(tái)獨(dú)有,Xavier平臺(tái)不支持。OFA只針對(duì)一個(gè)算法,就是立體雙目視差估算。

英偉達(dá)VPI核心算法即圖中這六大算法

圖片來源:互聯(lián)網(wǎng)

 

盡管只有奔馳和豐田用英偉達(dá)處理器處理立體雙目,新型造車除了RIVIAN目前都不使用立體雙目(小鵬小米可能在將來使用立體雙目),但英偉達(dá)每一次硬件升級(jí)都不忘對(duì)立體雙目部分特別關(guān)照。

英偉達(dá)立體雙目處理流程

圖片來源:互聯(lián)網(wǎng)

 

立體雙目視差的獲得需要多種運(yùn)算資源的參加,包括了VIC、GPU(CUDA)、CPU和PVA。

圖片來源:互聯(lián)網(wǎng)

 

英偉達(dá)Orin平臺(tái)立體雙目視差測(cè)試成績(jī),要達(dá)到每秒30幀,那么處理時(shí)間必須低于30毫秒,考慮到還有后端決策與控制系統(tǒng)的延遲,處理時(shí)間必須低于20毫秒。1個(gè)下取樣情況下,顯然都無法滿足30幀的要求,4個(gè)下取樣,不加置信度圖時(shí),單用OFA就可以滿足。加置信圖后,需要OFA/PVA/VIC聯(lián)手,也能滿足30幀需求。但這只是200萬像素,300萬像素估計(jì)就無法滿足了。

圖片來源:互聯(lián)網(wǎng)

 

并且此時(shí)是火力全開,運(yùn)行頻率如下:

  • CPU: 12x ARMv8 Processor rev 1 (v8l) running at 2.2016 GHzEMC freq.: 3.1990 GHzGPU freq.: 1.3005 GHzPVA/VPS freq.: 1.1520 GHzPVA/AXI freq.: 832.8 MHzVIC freq.: 729.6 GHzPower mode: MAXNFan speed: MAX

這種火力全開情況下,恐怕不能持續(xù)太長(zhǎng)時(shí)間。

光流Optical Flow追蹤主要用于目標(biāo)的行駛軌跡的預(yù)測(cè)。

圖片來源:互聯(lián)網(wǎng)

上圖就是奔馳用光流法預(yù)測(cè)車輛行駛軌跡。

圖片來源:互聯(lián)網(wǎng)

 

上圖是奔馳的顏色編碼,不同的顏色代表車輛即將行駛的速度和方位角。

光流是利用圖像序列中像素在時(shí)間域上的變化以及相鄰幀之間的相關(guān)性來找到上一幀跟當(dāng)前幀之間存在的對(duì)應(yīng)關(guān)系,從而計(jì)算出相鄰幀之間物體的運(yùn)動(dòng)信息的一種方法。研究光流場(chǎng)的目的就是為了從圖片序列中近似得到不能直接得到的運(yùn)動(dòng)場(chǎng),其本質(zhì)是一個(gè)二維向量場(chǎng),每個(gè)向量表示了場(chǎng)景中該點(diǎn)從前一幀到后一幀的位移。那對(duì)于光流的求解,即輸入兩張連續(xù)圖像(圖像像素),輸出二維向量場(chǎng)的過程。除了智能駕駛,體育比賽中各種球類的軌跡預(yù)測(cè),軍事行動(dòng)中的目標(biāo)軌跡預(yù)測(cè)都能用到。光流場(chǎng)是運(yùn)動(dòng)場(chǎng)在二維圖像平面上的投影。因?yàn)榱Ⅲw雙目和激光雷達(dá)都是3D傳感器,而單目或三目是2D傳感器,所以單目或三目的光流非常難做。光流再分為稀疏和稠密(Dense)兩種,稀疏光流對(duì)部分特征點(diǎn)進(jìn)行光流解算,稠密光流則針對(duì)的是所有點(diǎn)的偏移。

最常見的光流算法即KLT特征追蹤,源自1981年,早期的光流算法都是稀疏光流,手工模型或者說傳統(tǒng)算法。2015年有人提出深度學(xué)習(xí)光流法,在CVPR2017上發(fā)表改進(jìn)版本FlowNet2.0,成為當(dāng)時(shí)最先進(jìn)的方法。截至目前,F(xiàn)lowNet和FlowNet2.0依然是深度學(xué)習(xí)光流估計(jì)算法中引用率最高的論文。傳統(tǒng)算法計(jì)算資源消耗少,實(shí)時(shí)性好,效果比較均衡,但魯棒性不佳。深度學(xué)習(xí)消耗大量的運(yùn)算資源,魯棒性好,但容易出現(xiàn)極端,即某個(gè)場(chǎng)景非常差,但無法解釋,與訓(xùn)練數(shù)據(jù)集關(guān)聯(lián)程度高。即使強(qiáng)大的Orin也無法FlowNet2.0做到實(shí)時(shí)性,畢竟Orin不能只做光流這一件事。因此英偉達(dá)還是推薦KLT。產(chǎn)業(yè)領(lǐng)域光流法主流還是KLT。但學(xué)術(shù)領(lǐng)域已經(jīng)是深度學(xué)習(xí)了。

硬件與算法互相推動(dòng),硬件算力的增強(qiáng)讓人們敢于部署越來越大規(guī)模的深度學(xué)習(xí)模型,反過來,這又推動(dòng)硬件算力的需求,特別是自動(dòng)駕駛,傳統(tǒng)可解釋算法研究的人越來越少,因?yàn)橥度氘a(chǎn)出比太低,深度學(xué)習(xí)正橫掃一切,但深度學(xué)習(xí)不可解釋,汽車領(lǐng)域需要的是可解釋可預(yù)測(cè)可確定。否則無法迭代,無法劃出安全邊際線。這也是自動(dòng)駕駛難以落地的主要原因。

聲明:本文僅代表作者個(gè)人觀點(diǎn)。

英偉達(dá)

英偉達(dá)

NVIDIA(中國(guó)大陸譯名:英偉達(dá),港臺(tái)譯名:輝達(dá)),成立于1993年,是一家美國(guó)跨國(guó)科技公司,總部位于加利福尼亞州圣克拉拉市,由黃仁勛、克里斯·馬拉科夫斯基(Chris Malachowsky)和柯蒂斯·普里姆(Curtis Priem)共同創(chuàng)立。公司早期專注于圖形芯片設(shè)計(jì)業(yè)務(wù),隨著公司技術(shù)與業(yè)務(wù)發(fā)展,已成長(zhǎng)為一家提供全棧計(jì)算的人工智能公司,致力于開發(fā)CPU、DPU、GPU和AI軟件,為建筑工程、金融服務(wù)、科學(xué)研究、制造業(yè)、汽車等領(lǐng)域的計(jì)算解決方案提供支持。

NVIDIA(中國(guó)大陸譯名:英偉達(dá),港臺(tái)譯名:輝達(dá)),成立于1993年,是一家美國(guó)跨國(guó)科技公司,總部位于加利福尼亞州圣克拉拉市,由黃仁勛、克里斯·馬拉科夫斯基(Chris Malachowsky)和柯蒂斯·普里姆(Curtis Priem)共同創(chuàng)立。公司早期專注于圖形芯片設(shè)計(jì)業(yè)務(wù),隨著公司技術(shù)與業(yè)務(wù)發(fā)展,已成長(zhǎng)為一家提供全棧計(jì)算的人工智能公司,致力于開發(fā)CPU、DPU、GPU和AI軟件,為建筑工程、金融服務(wù)、科學(xué)研究、制造業(yè)、汽車等領(lǐng)域的計(jì)算解決方案提供支持。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

佐思汽車研究:致力于汽車、TMT、新能源(特別是新能源汽車、智能汽車、車聯(lián)網(wǎng))領(lǐng)域的產(chǎn)業(yè)研究、專項(xiàng)調(diào)研、戰(zhàn)略規(guī)劃和投資咨詢服務(wù)。