加入星計劃,您可以享受以下權益:

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

FPGA芯片同時識別22張人臉,總共需要幾步?

2021/11/29
702
閱讀需 10 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

 

 

1:FPGA與生產(chǎn)力

FPGA被稱為萬能芯片,通過邏輯編程,可以實現(xiàn)基本上所有功能,其具體原理可見《大話FPGA-“萬能的芯片?”》。

那么問題來了,所以如果用FPGA加速人工智能,實現(xiàn)深度學習算法,難度大不大?

難度很大!

如果從AI算法開始,然后從verilog開始編寫,調(diào)試,優(yōu)化,再下載到FPGA中運行,中間需要眾多的人力,物力,沒有個一年半載,很難有收獲。

但是,如果有一個FPGA的APP庫,里面有各種人工智能APP,可以下載相應的程序到FPGA中,例如下圖所示:

人臉識別智能相機,缺陷檢測,ReID(行人檢測/行人跟蹤技術),語音識別,多目標人臉識別,智能駕駛輔助等等。

這些應用直接編譯下載相應應用到FPGA中,用基于現(xiàn)成的應用進行開發(fā),相對流程就簡化很多,達到“即下即用”的效果。

可以很快形成的生產(chǎn)力。

即使有定制的需求,也可以迅速評估路線的可行性,在此基礎上二次開發(fā)。

這個就比直接從verilog編碼開始要更快一些,也效率更高。

那這個怎么操作?

2:怎么做

用FPGA搭建了一個人臉識別系統(tǒng)需要幾步?如果用搭載zynq ultrascale+  FPGA的  KV260??偣灿昧巳剑?/p>

第一步:組裝配件:

KV260是一個基于zynq ultrascale+的FPGA系統(tǒng),內(nèi)部包括CPU,F(xiàn)PGA,GPU等等資源。

紅色的散熱片下面就是Zynq UltraScale+的芯片。上面有一個四核A53處理器,還有256K LC的邏輯資源的FPGA,屬于“雙劍合璧”的架構。

配件包括,

1:電源: 系統(tǒng)供電。

2:SD卡:燒寫操作系統(tǒng)。

3:攝像頭:視頻輸入。

4:USB轉串口線:系統(tǒng)串口輸出。

5:網(wǎng)線:用于連接互聯(lián)網(wǎng),下載智能應用。

6:HDMI線:用于視頻輸出。

然后將這些部件組裝起來。

第二步:下載應用

1:下載linux系統(tǒng)下載到TF卡里,插入TF卡,上電后linux啟動。

2:連接網(wǎng)線,檢查鏈接性,可以直接ping一下網(wǎng)關,看看是不是連接成功

3:可以上網(wǎng)后,直接選擇安裝相應的應用,就是智能攝像頭,可以人臉識別。

下圖是下載安裝應用,點擊下載命令后 ,注意,一定要在root模式下下載,sudo dnf install packagegroup-kv260-smartcam。

安裝時間有點長,裝上后,讓子彈飛一會。

第三步:啟動測試

啟動應用開始測試,在linux系統(tǒng)中掛載應用,然后啟動啟動人工智能的應用。

sudo smartcam -mipi -W 1920 -H 1080 -r 30 --target dp

這個和大象關在冰箱里分為幾步有異曲同工之妙!

然后,效果怎么樣。

3:效果怎么樣?

這玩意是這個樣子的。

我利用這個FPGA系統(tǒng)裝在了一個直播桿,然后配上了一個顯示器,看起了有點像一個基于工業(yè)用相機的直播室。

有了這個“直播室”,看了一下,沒有美顏效果。直播就算了。

看看這玩意AI效果如何?

于是給KV260看了一個歐洲杯足球比賽頒獎視頻。

為什是歐洲杯頒獎,主要是這個視頻里同時出現(xiàn)的人多,并且畫面一直在動,主要想測試一下,這個系統(tǒng)的處理能力,

1:人臉識別的數(shù)量。

2:處理時延。

那種兩三個人的視頻,測試不出這個人工智能芯片的能力。

并且畫面一直不動,對于時延也沒有太高的要求。像是小區(qū)門禁的那個人臉識別就會感覺明顯延遲。

那可以看看KV260能不能識別視頻中多少人臉?

這個比賽是歐洲杯頒獎的比賽,可以看到,kv260立即就識別到了所有奪冠隊員的面部。

這個效率很高,我數(shù)了一下,最多時,有22張人臉可以可以同時被識別捕捉到。主力和替補全部都捕捉到了。

能夠同時捕捉到22張人臉,這個也體現(xiàn)了這個芯片的人臉的識別能力。

并且畫面一直在動態(tài)切換,具體時延控制不錯,只不過就沒有辦法定量來分析一下。

4:系統(tǒng)及原理

看完FPGA實現(xiàn)這個系統(tǒng)的效果了,下面我們來點干貨。

人工智能芯片系統(tǒng),需要有哪些部分組成?

CPU系統(tǒng):負責OS運行,系統(tǒng)初始化,數(shù)據(jù)流控制,信號傳輸,外設管理等等。

DPU系統(tǒng):(Deep Learning Processor Unit,深度學習處理器)負責深度學習算法的加速,是一個智能加速引擎引擎。

簡單來說:兩個部分,控制和計算。

這個就是經(jīng)典的CPU+FPGA的方案,很多嵌入式工業(yè)領域都用此方案,一般是ARM+FPGA;

ARM負責控制管理,各種外設的管理,F(xiàn)PGA負責AI加速

而Zynq UltraScale+就是把這兩個做到了一個芯片上,下圖就是這個芯片的架構。

其主要資源包括:四核CPU A53,一個Mali GPU,還有支持實時CPU,雙核R5F。

DPU這個詞,讓人聯(lián)想到xilinx收購深鑒科技,這場收購當時在業(yè)界引起了很大影響力。

當時深鑒科技的核心技術,就是基于FPGA的DPU(Deep Learning Processing Unit)技術,當時,深鑒科技號稱神經(jīng)網(wǎng)絡壓縮編譯技術,它不僅可以將神經(jīng)網(wǎng)絡壓縮數(shù)十倍而不影響準確度,還可以使用“片上存儲”來存儲深度學習算法模型,減少內(nèi)存讀取,大幅度減少功耗。

現(xiàn)在來看,不知道在Zynq UltraScale+這款芯片上,是不是一脈相承的技術實現(xiàn),從性能上還是很強的。

其主要的工作流程和性能指標如下圖所示:

支持11路mipi的攝像頭,11個攝像頭,應該足夠一個車需要用到的攝像頭。

反正能夠支持到這么多攝像頭的芯片,我印象中還是最多的。

除此之外,最重要的是,這顆芯片F(xiàn)PGA可編程資源非常豐富:256K logic Cell; (logic cell 內(nèi)部就是LUT和REG )。  其在333Mhz  其配置在可編程邏輯的 深度學習處理器DPU能力達到1.3Tops。

除了智攝像頭,還有一些其他的應用可以供不同應用選擇

例如智能駕駛,語音識別,安防檢測等等。

這里重點提一下ADAS高級駕駛輔助系統(tǒng))利用安裝于車上的各式各樣的傳感器, 在第一時間收集車內(nèi)外的環(huán)境數(shù)據(jù), 進行靜、動態(tài)物體的辨識、偵測與追蹤等技術上的處理, 從而能夠讓駕駛者在最快的時間察覺可能發(fā)生的危險, 以引起注意和提高安全性的主動安全技術。包括駕駛員疲勞預警和身份識別,人臉識別在乘用車的個性化駕駛艙,以及未來的商業(yè)模式都是非常必要的。也有一些原型在做。

總結一下:

1:處理能力:KV260用了zynq ultrascale+  mpsoc 這顆芯片,內(nèi)部有四核應用處理器,GPU,實時處理器,以及256K LC的FPGA,硬件資源足夠來處理人工智能方面的應用。

2:外設接口:KV260支持11路攝像頭,能夠支持類似汽車輔助設備ADAS ,先進駕駛輔助系統(tǒng)這類應用。

3:軟件配套:除了硬件之外,還有很多的軟件套件,例如人臉識別,入侵檢測,自動駕駛等等一些應用,方便二次開發(fā)。

FPGA通過深度學習可以達到毫秒級別的應用,吞吐量大,時延低,這個可能一個優(yōu)勢。前面的人臉測試中,同時識別22張人臉,也側面說明了人臉識別的數(shù)量很多,延時較低。

為什么是22張,是因為找的視頻中也就是22張人臉。

當然,這個測試只是提供一個肉眼可以感受的角度。實際的應用可以根據(jù)需求進行測試,從測試結果進行評估,從而加速design in的過程。

相關推薦

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

公眾號:歪睿老哥;一個芯片設計行業(yè)老哥,忙時研發(fā),閑時寫作;聚焦芯片行業(yè)的那些事,唯武俠與芯片不可辜負!