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

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

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

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

 

 

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

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

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

難度很大!

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

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

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

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

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

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

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

那這個(gè)怎么操作?

2:怎么做

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

第一步:組裝配件:

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

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

配件包括,

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

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

3:攝像頭:視頻輸入。

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

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

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

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

第二步:下載應(yīng)用

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

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

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

下圖是下載安裝應(yīng)用,點(diǎn)擊下載命令后 ,注意,一定要在root模式下下載,sudo dnf install packagegroup-kv260-smartcam。

安裝時(shí)間有點(diǎn)長,裝上后,讓子彈飛一會(huì)。

第三步:啟動(dòng)測試

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

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

這個(gè)和大象關(guān)在冰箱里分為幾步有異曲同工之妙!

然后,效果怎么樣。

3:效果怎么樣?

這玩意是這個(gè)樣子的。

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

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

看看這玩意AI效果如何?

于是給KV260看了一個(gè)歐洲杯足球比賽頒獎(jiǎng)視頻。

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

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

2:處理時(shí)延。

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

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

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

這個(gè)比賽是歐洲杯頒獎(jiǎng)的比賽,可以看到,kv260立即就識(shí)別到了所有奪冠隊(duì)員的面部。

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

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

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

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

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

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

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

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

簡單來說:兩個(gè)部分,控制和計(jì)算。

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

ARM負(fù)責(zé)控制管理,各種外設(shè)的管理,F(xiàn)PGA負(fù)責(zé)AI加速

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

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

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

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

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

其主要的工作流程和性能指標(biāo)如下圖所示:

支持11路mipi的攝像頭,11個(gè)攝像頭,應(yīng)該足夠一個(gè)車需要用到的攝像頭。

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

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

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

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

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

總結(jié)一下:

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

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

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

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

為什么是22張,是因?yàn)檎业囊曨l中也就是22張人臉。

當(dāng)然,這個(gè)測試只是提供一個(gè)肉眼可以感受的角度。實(shí)際的應(yīng)用可以根據(jù)需求進(jìn)行測試,從測試結(jié)果進(jìn)行評估,從而加速design in的過程。

相關(guān)推薦

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

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