欧美日韩亚州综合,国产一区二区三区影视,欧美三级三级三级爽爽爽,久久中文字幕av一区二区不卡

你的位置:首頁 > EMC安規 > 正文

FPGA:下一代機器人感知處理器

發布時間:2017-11-23 責任編輯:lina

【導讀】十年前,微軟創始人比爾 · 蓋茨在其文章《A Robot in Every Home》里提出他對未來的憧憬:機器人將會像個人電腦一樣進入每個家庭,為人類服務。隨著人工智能以及智能硬件在過去幾年的飛速發展,到了2016年的今天,筆者堅信各項技術已臻成熟,智能機器人很快進入商業化時代,蓋茨的愿景也極有可能在5到10年內實現。


要想機器人有智能,必先賦予其感知能力。感知計算,特別是視覺以及深度學習,通常計算量比較大,對性能要求高。但是機器人受電池容量限制,可分配給計算的能源比較低。除此之外,由于感知算法不斷發展,我們還需要不斷更新機器人的感知處理器。與其它處理器相比,FPGA具有低能耗、高性能以及可編程等特性,十分適合感知計算。本文首先解析FPGA的特性,然后介紹FPGA對感知算法的加速以及節能,最后談一談機器人操作系統對FPGA的支持。

 

FPGA:高性能、低能耗、可編程

與其它計算載體如CPU與GPU相比,FPGA具有高性能、低能耗以及可硬件編程的特點。圖1介紹了FPGA的硬件架構,每個FPGA主要由三個部分組成:輸入輸出邏輯,主要用于FPGA與外部其他部件,比如傳感器的通信;計算邏輯部件,主要用于建造計算模塊;以及可編程連接網絡,主要用于連接不同的計算邏輯部件去組成一個計算器。在編程時,我們可以把計算邏輯映射到硬件上,通過調整網絡連接把不同的邏輯部件連通在一起去完成一個計算任務。比如要完成一個圖像特征提取的任務,我們會連接FPGA的輸入邏輯與照相機的輸出邏輯,讓圖片可以進入FPGA。然后,連接FPGA的輸入邏輯與多個計算邏輯部件,讓這些計算邏輯部件并行提取每個圖片區域的特征點。最后,我們可以連接計算邏輯部件與FPGA的輸出邏輯,把特征點匯總后輸出。由此可見,FPGA通常把算法的數據流以及執行指令寫死在硬件邏輯中,從而避免了CPU的Instruction Fetch與Instruction Decode 工作。

 

1 FPGA硬件架構

高性能

雖然FPGA的頻率一般比CPU低,但是可以用FPGA實現并行度很大的硬件計算器。比如一般CPU每次只能處理4到8個指令,在FPGA上使用數據并行的方法可以每次處理256個或者更多的指令,讓FPGA可以處理比CPU多很多的數據量。另外,如上所述,在FPGA中一般不需要Instruction Fetch與Instruction Decode, 減少了這些流水線工序后也節省了不少計算時間。

為了讓讀者對FPGA加速有更好的了解,我們總結了微軟研究院2010年對BLAS算法的FPGA加速研究。BLAS是矩陣運算的底層庫,被廣泛運用到高性能計算、機器學習等領域。在這個研究中,微軟的研究人員分析了CPU、GPU以及FPGA對BLAS的加速以及能耗。圖2對比了FPGA以及CPU、GPU執行GaxPy算法每次迭代的時間,相對于CPU,GPU與FPGA都達到了60%的加速。圖中顯示的是小矩陣運算,隨著矩陣的增大,GPU與FPGA相對與CPU的加速比會越來越明顯。

 

2 GaxPy 算法性能對比 (單位:微秒)

低能耗

FPGA相對于CPU與GPU有明顯的能耗優勢,主要有兩個原因。首先,在FPGA中沒有Instruction Fetch與Instruction Decode,在Intel的CPU里面,由于使用的是CISC架構,僅僅Decoder就占整個芯片能耗的50%;在GPU里面,Fetch與Decode也消耗了10%~20%的能源。其次,FPGA的主頻比CPU與GPU低很多,通常CPU與GPU都在1GHz到3GHz之間,而FPGA的主頻一般在500MHz以下。如此大的頻率差使得FPGA消耗的能源遠低于CPU與GPU。

3對比了FPGA以及CPU、GPU執行GaxPy算法每次迭代的能源消耗。可以發現CPU與GPU的能耗是相仿的,而FPGA的能耗只是CPU與GPU的8%左右。由此可見,FPGA計算比CPU快60%,而能耗只是CPU的1/12,有相當大的優勢,特別在能源受限的情況下,使用FPGA會使電池壽命延長不少。

 

3 GaxPy 算法能耗對比(單位:毫焦)

可硬件編程

   由于FPGA是可硬件編程的,相對于ASIC而言,使用FPGA可以對硬件邏輯進行迭代更新。但是FPGA也會被詬病,因為把算法寫到FPGA硬件并不是一個容易的過程,相比在CPU與GPU上編程技術門檻高許多,開發周期也會長很多。

 

4 傳統FPGA開發流程與C-to-FPGA開發流程

   圖4顯示了傳統FPGA開發流程與C-to-FPGA開發流程的對比。在傳統的FPGA開發流程中,我們需要把C/C++寫成的算法逐行翻譯成基于Verilog的硬件語言,然后再編譯Verilog,把邏輯寫入硬件。隨著近幾年FPGA技術的發展,從C直接編譯到FPGA的技術已經逐漸成熟,并已在百度廣泛被使用。在C-to-FPGA開發流程中,我們可以在CC++的代碼中加Pragma, 指出哪個計算Kernel應該被加速,然后C-to-FPGA引擎會自動把代碼編譯成硬件。在我們的經驗中,使用傳統開發流程,完成一個項目大約需要半年時間,而使用了C-to-FPGA開發流程后,一個項目大約兩周便可完成,效率提升了10倍以上。

 

感知計算在FPGA上的加速

  接下來主要介紹機器人感知計算在FPGA上的加速,特別是特征提取與位置追蹤的計算(可以認為是機器人的眼睛),以及深度學習計算(可以認為是機器人的大腦)。當機器人有了眼睛以及大腦后,就可以在空間中移動并定位自己,在移動過程中識別所見到的物體。

 

特征提取與位置追蹤

   特征提取與位置追蹤的主要算法包括SIFT、SURF和SLAM。SIFT是一種檢測局部特征的算法,通過求一幅圖中的特征點及其有關規模和方向的描述得到特征并進行圖像特征點匹配。SIFT特征匹配算法可以處理兩幅圖像之間發生平移、旋轉、仿射變換情況下的匹配問題,具有很強的匹配能力。SIFT算法有三大工序:1. 提取關鍵點;2. 對關鍵點附加詳細的信息(局部特征)也就是所謂的描述器;3. 通過兩方特征點(附帶上特征向量的關鍵點)的兩兩比較找出相互匹配的若干對特征點,也就建立了景物間的對應關系。SURF算法是對SIFT算法的一種改進,主要是通過積分圖像Haar求導提高SIFT算法的執行效率。SLAM即同時定位與地圖重建,目的就是在機器人運動的同時建立途經的地圖,并同時敲定機器人在地圖中的位置。使用該技術后,機器人可以在不借助外部信號(WIFI、Beacon、GPS)的情況下進行定位,在室內定位場景中特別有用。定位的方法主要是利用卡曼濾波器對不同的傳感器信息(圖片、陀螺儀)進行融合,從而推斷機器人當前的位置。

 

   為了讓讀者了解FPGA對特征提取與位置追蹤的加速以及節能,下面我們關注加州大學洛杉磯分校的一個關于在FPGA上加速特征提取與SLAM算法的研究。圖5展示了FPGA相對CPU在執行SIFT feature-matching、SURF feature-matching以及SLAM算法的加速比。使用FPGA后,SIFT與SURF的feature-matching分別取得了30倍與9倍的加速,而SLAM的算法也取得了15倍的加速比。假設照片以30FPS的速度進入計算器,那么感知與定位的算法需要在33毫秒內完成對一張圖片的處理,也就是說在33毫秒內做完一次特征提取與SLAM計算,這對CPU會造成很大的壓力。用了FPGA以后,整個處理流程提速了10倍以上,讓高幀率的數據處理變得可能。

 

5 感知算法性能對比 (單位:加速比)

    6展示了FPGA相對CPU在執行SIFT、SURF以及SLAM算法的節能比。使用FPGA后,SIFT與SURF分別取得了1.5倍與1.9倍的節能比,而SLAM的算法取得了14倍的節能比。根據我們的經驗,如果機器人將手機電池用于一個多核的Mobile CPU去跑這一套感知算法,電池將會在40分鐘左右耗光。但是如果使用FPGA進行計算,手機電池就足以支撐6小時以上,即可以達到10倍左右的總體節能 (因為SLAM的計算量比特征提取高很多)。

 

6 感知算法能耗對比 (單位:節能比)

   根據數據總結一下,如果使用FPGA進行視覺感知定位的運算,不僅可以提高感知幀率,讓感知更加精準,還可以節能,讓計算持續多個小時。當感知算法確定,而且對芯片的需求達到一定的量后,我們還可以把FPGA芯片設計成ASIC,進一步的提高性能以及降低能耗。

 

深度學習

   深度神經網絡是一種具備至少一個隱層的神經網絡。與淺層神經網絡類似,深度神經網絡也能夠為復雜非線性系統提供建模,但多出的層次為模型提供了更高的抽象層次,因而提高了模型的能力。在過去幾年,卷積深度神經網絡(CNN)在計算機視覺領域以及自動語音識別領域取得了很大的進步。在視覺方面,Google、Microsoft與Facebook不斷在ImageNet比賽上刷新識別率紀錄。在語音識別方面,百度的DeepSpeech 2系統相比之前的系統在詞匯識別率上有顯著提高,把詞匯識別錯誤率降到了7%左右。

   為了讓讀者了解FPGA對深度學習的加速以及節能,我們下面關注北京大學與加州大學的一個關于FPGA加速CNN算法的合作研究。圖7展示了FPGA與CPU在執行CNN時的耗時對比。在運行一次迭代時,使用CPU耗時375毫秒,而使用FPGA只耗時21毫秒,取得了18倍左右的加速比。假設如果這個CNN運算是有實時要求,比如需要跟上相機幀率(33毫秒/幀),那么CPU就不可以達到計算要求,但是通過FPGA加速后,CNN計算就可以跟上相機幀率,對每一幀進行分析。

 

7 CNN性能對比 (單位:毫秒)

    圖8展示了FPGA與CPU在執行CNN時的耗能對比。在執行一次CNN運算,使用CPU耗能36焦,而使用FPGA只耗能10焦,取得了3.5倍左右的節能比。與SLAM計算相似,通過用FPGA加速與節能,讓深度學習實時計算更容易在移動端運行。

 

8 CNN能耗對比 (單位:焦)

FPGA與ROS機器人操作系統的結合

   上文介紹了FPGA對感知算法的加速以及節能,可以看出FPGA在感知計算上相對CPU與GPU有巨大優勢。本節介紹FPGA在當今機器人行業被使用的狀況,特別是FPGA在ROS機器人操作系統中被使用的情況。

 

   機器人操作系統(ROS),是專為機器人軟件開發所設計出來的一套操作系統架構。它提供類似于操作系統的服務,包括硬件抽象描述、底層驅動程序管理、共用功能的執行、程序間消息傳遞、程序發行包管理,它也提供一些工具和庫用于獲取、建立、編寫和執行多機融合的程序。ROS的首要設計目標是在機器人研發領域提高代碼復用率。ROS是一種分布式處理框架(又名Nodes)。這使可執行文件能被單獨設計,并且在運行時松散耦合。這些過程可以封裝到數據包(Packages)和堆棧(Stacks)中,以便于共享和分發。ROS還支持代碼庫的聯合系統,使得協作亦能被分發。ROS目前被廣泛應用到多種機器人中,逐漸變成機器人的標準操作系統。在2015年的DARPA Robotics Challenge比賽中,有過半數的參賽機器人使用了ROS。

   隨著FPGA技術的發展,越來越多的機器人使用上了FPGA,在ROS社區中也有越來越多的聲音要求ROS兼容FPGA。一個例子是美國Sandia國家實驗室的機器人手臂Sandia Hand。如圖9所示,Sandia Hand使用FPGA預處理照相機以及機器人手掌返回的信息,然后把預處理的結果傳遞ROS的其它計算Node。

 

9 ROS在Sandia Hand中對FPGA的支持

   為了使ROS與FPGA之間可以連接,Sandia Hand使用了Rosbridge機制。 Rosbridge通過JSON API來連接ROS與非ROS的程序。比如一個ROS的程序可以通過JSON API連接一個非ROS的網絡前端。在Sandia Hand的設計中,一個ROS Node通過JSON API連接到FPGA計算器,FPGA傳遞數據以及發起計算指令,然后從FPGA取回計算結果。

 

   Rosbridge為ROS與FPGA的聯通提供了一種溝通機制,但是在這種機制中,ROS Node并不能運行在FPGA上,而且通過JSON API的連接機制也帶來了一定的性能損耗。為了讓FPGA與ROS更好的耦合,最近日本的研究人員提出了ROS-Compliant FPGA的設計,讓ROS Node可以直接運行在FPGA上。如圖10所示,在這個設計中,FPGA了實現一個輸入的接口,這個接口可以直接訂閱ROS的topic,使數據可以無縫連接流入FPGA計算單元中。另外,FPGA上也實現了一個輸出接口, 讓FPGA上的ROS Node可以直接發表數據,讓訂閱這個topic的其他ROS Node可以直接使用FPGA產出的數據。在這個設計中,開發者只要把自己開發的FPGA計算器插入到ROS-compliant的FPGA框架中,便可以無縫連接其他ROS Node。

 

10 FPGA成為ROS的一部分

   最近跟ROS的運營機構Open Source Robotics Foundation溝通中發現,越來越多的機器人開發者使用FPGA作為傳感器的計算單元以及控制器,對FPGA融入ROS的需求越來越多。相信ROS很快將會拿出一個與FPGA緊密耦合的解決方案。

 

展望未來

   FPGA具有低能耗、高性能以及可編程等特性,十分適合感知計算。特別是在能源受限的情況下,FPGA相對于CPU與GPU有明顯的性能與能耗優勢。除此之外,由于感知算法不斷發展,我們需要不斷更新機器人的感知處理器。相比ASIC,FPGA又具有硬件可升級可迭代的優勢。由于這些原因,筆者堅信FPGA在機器人時代將會是最重要的芯片之一。由于FPGA的低能耗特性,FPGA很適合用于傳感器的數據預處理工作。可以預見,FPGA與傳感器的緊密結合將會很快普及。而后隨著視覺、語音、深度學習的算法在FPGA上的不斷優化,FPGA將逐漸取代GPU與CPU成為機器人上的主要芯片。




推薦閱讀:
五大優勢凸顯 可編程邏輯或將呈現快速增長 
 量子點和OLED,誰會是電視市場下半場的主流技術數 
淺顯易懂的理解嵌入式開發中的硬件知識 
為什么分立式JFET仍然活躍于模擬設計中? 

特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索
?

關閉

?

關閉

欧美日韩亚州综合,国产一区二区三区影视,欧美三级三级三级爽爽爽,久久中文字幕av一区二区不卡
亚洲成人av一区| 国产福利一区在线| 国产麻豆视频一区| 色www精品视频在线观看| 26uuu色噜噜精品一区| 亚洲成a天堂v人片| 99精品欧美一区二区蜜桃免费 | 精品成人在线观看| 性久久久久久久久| 色综合中文字幕国产 | 2020国产精品| 日韩国产精品久久| 欧美性受xxxx| 亚洲精品国产一区二区精华液 | 一区二区三区.www| av影院午夜一区| 欧美激情综合在线| 国产成人精品免费在线| 欧美成人精品1314www| 日本免费新一区视频| 制服丝袜激情欧洲亚洲| 午夜不卡av在线| 欧美福利一区二区| 日韩av不卡在线观看| 911精品国产一区二区在线| 亚洲午夜羞羞片| 欧美日韩午夜在线视频| 亚洲国产欧美另类丝袜| 欧美日韩精品一区二区在线播放| 亚洲男人天堂av| 色欧美片视频在线观看| 亚洲自拍偷拍网站| 欧美久久久久久蜜桃| 亚洲成年人影院| 日韩视频中午一区| 国产伦精一区二区三区| 中文字幕乱码久久午夜不卡| av电影在线观看完整版一区二区| 中文字幕一区二区三区视频| 91小视频免费看| 亚洲国产欧美在线| 日韩欧美中文一区二区| 国产中文字幕精品| 中文字幕中文乱码欧美一区二区| 91小视频在线观看| 视频一区视频二区中文| 精品国产伦一区二区三区观看方式 | 国产成a人亚洲精| 亚洲人成精品久久久久| 欧美日韩国产一级片| 久久成人免费网站| 国产欧美一二三区| 欧美中文字幕一二三区视频| 视频一区中文字幕| 中文字幕精品一区二区精品绿巨人| www.欧美.com| 美女mm1313爽爽久久久蜜臀| 国产欧美精品在线观看| 欧美影院精品一区| 国产自产2019最新不卡| 亚洲精品中文在线影院| 日韩欧美一级二级三级久久久| 成人一区二区三区视频 | 欧美最猛性xxxxx直播| 麻豆91免费看| 一区二区不卡在线播放| 欧美精品一区二区三区蜜桃| 色综合久久中文字幕综合网| 久久精品国产亚洲aⅴ| 亚洲人123区| www国产成人免费观看视频 深夜成人网| 成人av电影在线| 久久精工是国产品牌吗| 一区二区欧美精品| 国产片一区二区三区| 欧美美女一区二区在线观看| 东方aⅴ免费观看久久av| 日韩中文字幕麻豆| 亚洲靠逼com| 国产亚洲成aⅴ人片在线观看| 欧美色网站导航| caoporn国产精品| 国产伦精品一区二区三区免费迷| 亚洲综合在线电影| 亚洲欧洲一区二区三区| 久久综合久久综合亚洲| 欧美女孩性生活视频| 99re成人在线| 成人av免费在线| 国产精品白丝jk黑袜喷水| 男人的天堂久久精品| 亚洲午夜免费电影| 亚洲欧美一区二区三区极速播放 | 精品国产sm最大网站免费看| 欧美性受极品xxxx喷水| 99精品国产91久久久久久| 国产福利91精品一区| 精品一区二区三区视频在线观看| 亚洲一卡二卡三卡四卡五卡| 一区二区视频在线| 亚洲手机成人高清视频| 国产精品丝袜91| 国产精品免费视频观看| 国产亚洲婷婷免费| 国产视频在线观看一区二区三区 | 美日韩一区二区三区| 一区二区三区免费| 亚洲欧美欧美一区二区三区| 国产精品日产欧美久久久久| 中文字幕免费一区| 国产精品视频一二三区| 国产精品久久久久aaaa樱花| 久久久精品免费免费| 久久久久久久精| 国产欧美一区二区精品忘忧草| 欧美精品一区二区久久久| 精品福利一二区| 久久一二三国产| 亚洲国产精品99久久久久久久久 | 免费三级欧美电影| 久久激情五月激情| 国产精品一区二区在线播放 | 国产一区二区不卡在线 | 免费观看日韩av| 激情综合色综合久久| 国产一区二区三区免费观看 | 美女视频一区在线观看| 看电视剧不卡顿的网站| 国产成人av资源| 97精品超碰一区二区三区| 色综合久久99| 日韩你懂的在线观看| 国产女主播一区| 一区二区三区91| 久久99国产精品久久99果冻传媒| 国产精品1区2区3区在线观看| 欧美tk—视频vk| 国产精品日产欧美久久久久| 一区二区三区在线观看视频| 青青草原综合久久大伊人精品 | 91免费看`日韩一区二区| 欧美日韩在线播放一区| 日韩免费观看2025年上映的电影| 国产日韩欧美精品一区| 亚洲精品乱码久久久久| 奇米精品一区二区三区四区| 福利一区二区在线| 精品视频一区二区不卡| 国产无遮挡一区二区三区毛片日本| 国产精品毛片大码女人| 秋霞av亚洲一区二区三| 99国产精品国产精品久久| 欧美大片在线观看一区| 亚洲人亚洲人成电影网站色| 蜜桃视频一区二区三区| 91网站最新网址| www国产亚洲精品久久麻豆| 亚洲欧美自拍偷拍色图| 六月丁香综合在线视频| 94-欧美-setu| 久久女同性恋中文字幕| 亚洲国产精品自拍| 成人精品国产一区二区4080| 日韩亚洲欧美综合| 亚洲成a人v欧美综合天堂下载| 国产精品综合网| 日韩一区和二区| 亚洲成人一区在线| 91视频免费看| 国产精品视频一二三区| 国产永久精品大片wwwapp| 555夜色666亚洲国产免| 亚洲三级在线看| 波多野结衣中文字幕一区二区三区| 91精品国产综合久久精品图片 | 国产精品一区在线观看乱码| 欧美放荡的少妇| 亚洲一区二区偷拍精品| 成人av网站在线观看| 久久久99精品久久| 精品在线一区二区三区| 精品美女在线播放| 男女性色大片免费观看一区二区 | 欧洲一区二区三区在线| 亚洲图片欧美激情| 99久久精品国产导航| 国产精品美日韩| zzijzzij亚洲日本少妇熟睡| 国产色综合久久| 国产成人av福利| 国产日韩欧美制服另类| 国产激情视频一区二区在线观看 | 亚洲欧洲在线观看av| 国产**成人网毛片九色| 欧美国产成人精品| 日韩欧美黄色影院| 麻豆精品一二三| 精品捆绑美女sm三区| 国模一区二区三区白浆| 久久亚洲一区二区三区明星换脸|