精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

行業 | 當Faster RCNN遇到FPGA,自動駕駛開始起飛!

ml8z_IV_Technol ? 來源:YXQ ? 2019-06-28 14:03 ? 次閱讀

當今的自動駕駛行業是一個百舸爭流的局面,總體來看,還是西方引導東方的探索摸索,以 google 為主的以激光雷達為主的流派和以 Tesla 為主的機器視覺流派引導了整個市場。從發展趨勢來看,兩種方法正在進一步融合,最終會各取優勢而相互補充發展。對整個自動駕駛領域,其核心技術是個擬人化的實現過程,即:感知->認知->決策->控制->執行五部分。感知,是所有智能體所要擁有的基本屬性,自動駕駛要解決的第一個問題,就是汽車的感知系統,AI 算法的核心就是要解決感知問題。汽車的感知系統是多種傳感器融合的系統。

圖 1 自動駕駛技術框架圖 來源:億歐智庫

如上圖所示,多傳感器融合共同組成自動駕駛的感知層已經成為行業共識,這是一個復雜的技術體系,本文主要討論最主要的感知部分:機器視覺,以攝像頭為主的計算機視覺解決方案,為汽車加上「眼睛」,能有效識別周邊環境及物體屬性。隨著 AI 算法的蓬勃發展, 機器視覺由基于規則向基于 CNN 神經網絡轉變。

圖 2 汽車傳感器示意圖 來源:億歐智庫

國內的主要發展方向集中在視覺上的突破,一種原因是激光雷達和毫米波雷達被國外幾個大公司控制,核心技術短期內難以突破,成本居高不下。而做機器視覺, 則成本低廉,且容易上手,國內攝像頭的供應鏈很完善,所以在這種情況下,國內廠商更傾向于 CNN 網絡的機器視覺能做更多的事情,其實這種選擇是正確的,國內廠商突破的最好的一個點就是視覺突破,視覺方案相對成熟和完善,可以利用國內的一些特點,找到差異化競爭的突破口,快速形成優勢,再逐步迭代更新技術。如開車時任意變道的行為,這個國外的汽車檢測方式是等尾部進入車道內再進行檢測,這明顯不符合國情,所以算法本土化,解決國人開車遇到的問題,就是差異化競爭,這也更需要對算法有自己的把控能力。

車載系統對 CNN 網絡的目標檢測識別的要求是很高的,而且越高越好,這不僅僅是為了檢測車道和障礙物,還會在自動駕駛中的另一個必不可少的條件:高精度地圖上有巨大的利用空間。因為傳統的地圖模式無法滿足自動駕駛的需求,它需要更多的維度信息,更新更及時,精度達到厘米級。精度要想達到厘米級,僅僅依靠衛星是遠遠不夠的,目前兩個解決方案,一個是 RTK 方案,即在地面上建立大量的基準站,由基準站來彌補 GNSS 定位的不足,這個方案精準,但卻很貴。另外一個方案就是先將地圖上的多維度信息保存到數據庫,然后通過車載上的多傳感器(攝像頭,雷達)所獲取到的特征信息和數據庫進行匹配,從而修正和彌補定位的精度問題,毫無疑問,這個方案更加實用和快速部署。國內地圖公司更傾向于用這種方式,這就更加要求攝像頭檢測物體特征精準度的問題了。

由算法的精度問題,不得不提算法的實現芯片方案,現在的精度最好的算法還是基于 CNN 的 AI 算法模型,CNN 算法要求的計算量是很大的,目前很多廠商都是直接用 nvidia 的 TX2 做為運算主要載體,在 TX2 上運行對 GPU 友好的算法,這里其實有個誤區,當算法對 GPU 不友好時,就直接宣判了該算法的死刑,這樣操作是不合理的,GPU 成了前進路上的一個拐杖,拐杖用的多了就產生了依賴性,反而喪失了發現更多空間的創造性,我們用兩條腿走路,還是要回歸到問題的本質,根據問題的具體需求來尋求最優的解決方案。自動駕駛車載系統的基本要求低延時低功耗 以及算法的復雜性和多變性,決定了用 FPGA 做車載加速方案是一個理想的選擇。用 FPGA 做加速方案的另外一個不可忽視的好處是:成本可以做的很低。

所以機器視覺的好的方案已經不單單是好的算法,而是一個在合理的硬件成本里得到一個最優算法的求解問題。由算法來保證識別精度,由硬件來保證算法的實現速度,由成本來保證兩者都需要性價比最優的搭配,這才是正確的解決思路。當然,想同時實現上述幾點,并非易事。路,要一步一步的走,坑,要一個一個的趟,我們上述的問題一個一個的分析。

算法同源不同行,孰高孰低檢測忙

在整個 AI 算法的大環境下,車載視覺系統的算法也是基于 CNN 的分割算法,這就引出目前主要的兩個算法 Faster RCNN 系列和 yolo 系列,兩者各有千秋,前者精度更準,后者速度更快。前者是 two-stage 的方案,即先用最好的網絡來找出特征值,然后再調整框來檢測目標。后者是 one-stage 的方案,即找特征值和畫框在一個網絡里完成。

通俗的理解,Faster RCNN 更符合人類「強強聯合」的概念,即:找出目前性能最好的網絡,然后再組裝成一起,產生更優的效果,它是基于多網絡融合的方案,所以它的特點就很明確:算的準,但是算的慢。yolo 的誕生,恰恰是解決了這個問題,yolo 的最大的特點就是快到沒朋友,但在精度方面卻遜色于 Faster RCNN。

數據對比:

圖 3 Faster R-CNN 是精度最高的 來源:網絡

COCO 數據集上,前 10 名中有 9 項都是來自于 Faster R-CNN 的變體。

這兩種方法都有很多變體,one-stage 的方法在精度上不斷想與 two-stage 的方法抗衡,two-stage 不斷的在加快計算速度,但在數據集上的結論以及越來越快的 Faster R-CNN 變體的可以說明,Faster R-CNN 的 檢測精度始終保持領先。但在速度上,yolo 是遙遙領先的。

圖 4 yolo 的速度是最快的 來源:網絡

正是 Yolo 在速度上明顯提高,YOLO 的確受到車載系統的青睞,Yolo 真的是車載系統的首選嗎?答案未必,正如上文所述,Faster RCNN 的精度是最好的,如果能將其速度也提上去,豈不是更好的選擇。

為此,我們先分析下 Faster RCNN 精度高的原因:

首先,前景背景分離的區別。Faster RCNN 是有前景背景分離的。這會要求在訓練該網絡時需要進行正負樣本都要訓練,也就是說正確的范疇我要負責,錯誤的范疇我也要負責。這會大大減少誤檢率的概率,所以 Faster RCNN 的查全率(recall)會特別的高。

而 yolo 則沒有這樣的算法結構,它只有正樣本訓練,不會區分前景和背景的區別。其實這一點是對自動駕駛不太友好的,例如之前 Tesla 的自動駕駛事故就是因為檢測算法沒有區分前景和背景,將迎面開來的白色卡車和背景中的白云混為一體,從而導致事故發生。

其次,畫框方式的區別。Faster RCNN 和畫框的方式和 yolo 是不一樣的,yolo 是將框的問題作為一個聚類問題解決,由算法去自適應物體形狀。而 Faster RCNN 是按照一定規則的框去逼近物體形狀。如下圖所示,9 個矩形共有 3 種形狀,長寬比為大約為(1:2,1:1,2:1)三種,通過 anchors 就引入了檢測中常用到的多尺度方法。

圖 5 框的類型 來源:網絡

這種人為定義的框的結構更能精準的標定物體,當然,任何優勢都是有代價的。Faster RCNN 為每一個點都配備這 9 種 anchors 作為初始的檢測框,所以在原始圖上,anchors 的個數特別多,然后讓 cnn 來判斷哪些是有目標的前景,哪些是沒有目標的背景,然后再對目標 anchors 進行排序和 NMS(非最大值抑制),即能得到最好的效果。能量是守恒的,當獲得優勢 A 時,并將付出 B 的代價,關鍵看代價是什么。feature map 每個點設置 9 個 Anchor,所以他的 anchor 是很多的,如下圖所示(網絡截圖):

圖 6 anchor 的框圖 來源:網絡

當然,好處也是很明顯的,舉個例子,如下圖:

圖 7 框的平移轉換示意圖 來源:網絡

每個 Anchor 的平移量和變換尺度,顯然即可用來修正 Anchor 位置了。紅色為提取的 foreground anchors,即便紅色的框被分類器識別為飛機,但是由于紅色的框定位不準,這張圖相當于沒有正確的檢測出飛機,每個 Anchor 的平移量和變換尺度,即可用來修正 Anchor 位置了,表現結果即是由只標出主體的紅框轉換為標記更準的綠框,顯然,綠框的精度更準。

相對來說,Yolo 系列不區分前景和背景,畫框的方式也是做一個回歸的問題,這會對密集的目標的畫框方式導致不準,yolo 會把密集的目標會畫成一個框。

圖 8 yolo 密集目標檢測 來源:雪湖實測

除了精度高之外,能做多網融合是 Faster RCNN 的另外一個很重要的特點。特別對于車載系統,由于現實的復制性和應用的廣泛性,經常會需要添加不同的網絡和良好的性能,如增加車道檢測等,可以將不同的網絡通過 interp(雙線性插值)層來進行實現不同網絡之間的平滑過渡。

利用這個特點,我們可以做很多啟發性的探索,前面提到,多傳感器融合來構建自動駕駛的感知層是行業共識,如激光雷達在自動駕駛中是個很核心的傳感器,有沒有將激光雷達和視覺同時融合到一個網絡中的方案呢?有人提出這樣的方案,如下:

圖 9 用 FasterRCNN 來融合激光雷達和視覺算法 來源:網絡

上圖的方案,總體上沿用了 Faster RCNN 的檢測框架,但是在輸入、proposal 的形式以及 Faster RCNN 網絡上做了較大的改動,以實現視覺與激光點云的信息融合。

這個網絡給了我們很大的啟示,多傳感器融合方案框架是自動駕駛的必備技能,我們必然要考慮不同的傳感器的特性和適應該傳感器的算法結構,然后將多種算法結構融合到一個算法框架中來,而 Faster RCNN 網絡本身就是基于多網絡融合的方案制成的,所以用 Faster RCNN 來做車載系統有其兼容多傳感器方案的巨大優勢。

既然 Faster RCNN 這么多的好處,為什么用的人少呢?主要原因就是算的慢,如下圖所示

由上面圖表可以看出,Faster RCNN 在 TX2 的運行結果是非常慢的。算法慢,便無解了嗎?未必。因為這里所謂的慢,是針對 GPU 而言的,是因為算法對 GPU 不友好導致的結果,而對 GPU 不友好,未必對其他異構計算平臺不友好,事實證明,這恰恰是 FPGA 的優勢所在。

安能得來偷天技?兼顧精度與速度

在 GPU 運行慢的網絡,可以在 FPGA 上進行加速實現。而要想提高速度,就要對網絡進行具體分析,是哪些層運算速度慢以及慢的原因在哪里?

圖 11 Faster RCNN 的框架圖 來源:網絡

如上圖所示,前半部分是基礎網絡來提取特征值,后半部分在畫框,RPN 網絡負責前景背景分離,排序算法負責篩選,最后全連接輸出結果。

總體運行結果,進一步分析每層的耗時:

圖 12 Faster RCNN 在 gpu 中每層的耗時 來源:雪湖實測

關鍵層 interp 層的分析:

圖 13 Interp 層分析 來源:雪湖實測

通過圖 12 的分析結果我們得出結論,耗時最長的都集中在了 proposal(排序)及以后的層(FC 層)。通過圖 13 Interp 層(雙線性插值)的分析,我們也得出結論,GPU 對 Interp 層的加速有限,速度沒有 CPU 的運算快。通過這些數據的分析,我們就能很明白的知道 GPU 的優勢和劣勢在哪里,GPU 的優勢在于能重復數據切片,在運算 cnn 圖片時它是有優勢的,因為圖片可以分成不同的 tile 片,然后 GPU 會對每個 tile 進行并行計算,當算法并不能很好的完成切片動作時,GPU 便沒有什么實質的優勢,從上圖可以看出,proposal 和 FC6 都很耗時,proposal 層就是在排序,排序對 GPU 是不友好的。Interp 層也是不好切片操作的,所以 proposal 模塊及以后耗時比較大。

知道了相應的數據和原理,在 FPGA 上就能很好解決這些問題,對 FPGA 來說,FPGA 是可編程的,是可以將整個算法一分為二的,在 proposal 之前是一部分,在 proposal 之后是一部分,兩者在全流水運算后是一個并行的狀態。這樣用并行的計算來抵消后面的耗時時間,就能大大的縮小計算時延。

針對 Interp 層,FPGA 可以將相應放大的系數存入 BRAM 中,這樣的時間更短,是 CPU 的 3 倍左右的速度。Interp 層的意義是很大的,因為前面我們分析過,自動駕駛的感知層很適合做多網絡融合的方案,而 Interp 層正式這些網絡結合的連接層,經過大量實驗證明,用 Interp 做分辨率的上下采樣切換,能最大的保留原始圖片的特征信息,從而使多個網絡間能夠平滑過渡。這也就意味著多網絡融合的方案更適合用 FPGA 來實現。

除了前面的優化方法之外,我們還可以考慮層合并,切割 featuremap,權重共享,減少 IO 讀寫時間等方式來進行進一步的優化。另外一個不得不提到優化方向就是量化成 8bit 數據進行計算,這樣 FPGA 中的 DSP 每次都能運算兩個數,這就可以使用性價比更高的 FPGA 芯片上進行運算,從而得到更高的收益。雪湖科技就是這樣做的。

圖 14 雪湖科技開發的 Faster RCNN 的性能參數

當然,并非說 yolo 算法沒有優勢,雪湖也對 yolo 系列做了 FPGA 加速的方案。

圖 15 雪湖開發的 yolov3-tiny 的性能參數

雪湖做的工作只是說明用什么樣的算法應該根據真實情況而定,而不單單是看 GPU 的運算指標,FPGA 有很多很驚艷的東西,它的潛力一直擺在那里,只是尚未被挖掘出來,雪湖在 FPGA 領域深耕多年,能把 FPGA 的潛力充分挖掘,只要能做到這一點,出來的結果就足夠驚艷。

風景莫道塞外好, 江南深處藏雪湖

開發 FPGA 是有難度的,要對 FPGA 的邏輯實現和算法優化有很深的理解之外,

沒有一支精干的團隊,沒有一個好的驗證平臺,沒有強有力的 EDA 開發工具,

將這么復雜的算法要在一個資源有限的 FPGA 芯片上實現并達到很高的吞吐量,難度是可想而知的。

雪湖科技在這方面下足了功夫,十年磨一劍,打造出一套完全自主產權的完整的先進的工具系統,同時,針對 CNN 的 AI 算法這塊,專門打磨出一套完整的開發/驗證系統。

圖 16 雪湖 CNN 算法實現框架圖 來源:雪湖科技

如上圖所示,我們將所有的計算模塊都進行封裝,并通過不同的 command 來執行不同的算子操作,最終會加快 CNN 算法的實現和落地。

將 AI 算法快速落地,是雪湖的優勢所在。雪湖,以算力為根本,為加速而存在,不止步于自動駕駛,不畏懼于技術變遷。以擁有完全自主產權的核心技術為榮,以創新和拼搏為榮。在 FPGA 芯片加速計算領域 (包括但不限于 AI 算法) 絕對是一道亮麗的風景線,正所謂:風景莫道塞外好,江南深處藏雪湖!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1626

    文章

    21669

    瀏覽量

    601866
  • 自動駕駛
    +關注

    關注

    783

    文章

    13684

    瀏覽量

    166150

原文標題:當Faster RCNN遇到FPGA,自動駕駛開始起飛!

文章出處:【微信號:IV_Technology,微信公眾號:智車科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    自動駕駛汽車安全嗎?

    隨著未來汽車變得更加互聯,汽車逐漸變得更加依賴技術,并且逐漸變得更加自動化——最終實現自動駕駛,了解自動駕駛汽車的安全問題變得非常重要,這樣你才能回答“自動駕駛汽車安全嗎”和“
    的頭像 發表于 10-29 13:42 ?438次閱讀
    <b class='flag-5'>自動駕駛</b>汽車安全嗎?

    自動駕駛HiL測試方案案例分析--ADS HiL測試系統#ADAS #自動駕駛 #VTHiL

    自動駕駛
    北匯信息POLELINK
    發布于 :2024年10月22日 15:20:19

    自動駕駛技術的典型應用 自動駕駛技術涉及到哪些技術

    自動駕駛技術的典型應用 自動駕駛技術是一種依賴計算機、無人駕駛設備以及各種傳感器,實現汽車自主行駛的技術。它通過使用人工智能、視覺計算、雷達、監控裝置和全球定位系統等技術,使自動駕駛
    的頭像 發表于 10-18 17:31 ?519次閱讀

    自動駕駛HiL測試方案——攝像頭仿真之視頻注入#ADAS #自動駕駛 #VTHiL

    自動駕駛
    北匯信息POLELINK
    發布于 :2024年10月17日 15:18:41

    自動駕駛HiL測試方案 ——場景仿真3D演示#ADAS #自動駕駛 #VTHiL

    自動駕駛
    北匯信息POLELINK
    發布于 :2024年10月16日 10:55:35

    自動駕駛HiL測試方案介紹#ADAS #自動駕駛 #VTHiL

    自動駕駛
    北匯信息POLELINK
    發布于 :2024年10月12日 18:02:07

    FPGA自動駕駛領域有哪些優勢?

    FPGA(Field-Programmable Gate Array,現場可編程門陣列)在自動駕駛領域具有顯著的優勢,這些優勢使得FPGA成為自動駕駛技術中不可或缺的一部分。以下是
    發表于 07-29 17:11

    FPGA自動駕駛領域有哪些應用?

    FPGA(Field-Programmable Gate Array,現場可編程門陣列)在自動駕駛領域具有廣泛的應用,其高性能、可配置性、低功耗和低延遲等特點為自動駕駛的實現提供了強有力的支持。以下
    發表于 07-29 17:09

    自動駕駛識別技術有哪些

    自動駕駛的識別技術是自動駕駛系統中的重要組成部分,它使車輛能夠感知并理解周圍環境,從而做出智能決策。自動駕駛識別技術主要包括多種傳感器及其融合技術,以及基于這些傳感器數據的處理和識別算法。
    的頭像 發表于 07-23 16:16 ?540次閱讀

    特斯拉在華推進全自動駕駛

    特斯拉自動駕駛技術入華成為市場焦點。馬斯克提出的“無人駕駛出租車”概念正引領特斯拉在中國市場加速推進自動駕駛技術的創新。
    的頭像 發表于 05-11 09:39 ?409次閱讀

    未來已來,多傳感器融合感知是自動駕駛破局的關鍵

    巨大的進展;自動駕駛開始摒棄手動編碼規則和機器學習模型的方法,轉向全面采用端到端的神經網絡AI系統,它能模仿學習人類司機的駕駛遇到場景直接輸入傳感器數據,再直接輸出轉向、制動和加速信
    發表于 04-11 10:26

    自動駕駛發展問題及解決方案淺析

    隨著科技的飛速進步,自動駕駛汽車已經從科幻概念逐漸轉變為現實。然而,在其蓬勃發展的背后,自動駕駛汽車仍面臨一系列亟待解決的問題和挑戰。本文將對這些問題進行深入的剖析,并提出相應的解決方案,以期為未來自動駕駛
    的頭像 發表于 03-14 08:38 ?1069次閱讀

    華為自動駕駛技術怎么樣?

    ? ? ? 自動駕駛技術是當今世界汽車產業的重要發展方向。作為全球領先的科技企業,華為在自動駕駛技術方面也進行了深入的研發和創新。 一、華為自動駕駛技術的實力 華為在自動駕駛技術方面的
    的頭像 發表于 02-02 16:58 ?1667次閱讀

    LabVIEW開發自動駕駛的雙目測距系統

    LabVIEW開發自動駕駛的雙目測距系統 隨著車輛駕駛技術的不斷發展,自動駕駛技術正日益成為現實。從L2級別的輔助駕駛技術到L3級別的受條件約束的
    發表于 12-19 18:02

    自動駕駛“十問十答”

    ? 很多人下意識的認為自動駕駛是為了提升大家日常出行的舒適度和便捷性,實際上,自動駕駛的推動最開始的主要原因之一是為了【安全】,據國外研究表明,其中95%事故與人的因素有關,近70%由人為因素造成,所以
    的頭像 發表于 11-29 07:40 ?969次閱讀
    <b class='flag-5'>自動駕駛</b>“十問十答”