0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為什么以及如何將 Efinix FPGA 用于 AI/ML 成像第 2 部分:圖像采集和處理

海闊天空的專欄 ? 來(lái)源:Adam Taylor ? 作者:Adam Taylor ? 2023-10-03 14:45 ? 次閱讀

作者:Adam Taylor

編者按:全新的 FPGA 架構(gòu)方法帶來(lái)了更精細(xì)的控制和更大的靈活性,以滿足機(jī)器學(xué)習(xí) (ML) 和人工智能AI) 的需求。本系列文章包括兩部分,第 1部分介紹了 Efinix 一款此類架構(gòu)的產(chǎn)品,以及如何借助開發(fā)板開始使用該產(chǎn)品。本文是第 2 部分,討論了開發(fā)板與外部器件和外設(shè)(如攝像頭)的連接,以及如何利用
FPGA 消除圖像處理的瓶頸。

工業(yè)控制和安全到機(jī)器人、航空航天和汽車,F(xiàn)PGA 在許多應(yīng)用中扮演著重要角色。憑借可編程邏輯內(nèi)核的靈活性及其廣泛的接口能力,F(xiàn)PGA 在可以部署機(jī)器學(xué)習(xí)(ML) 的影像處理中的應(yīng)用日漸廣泛。由于其并行邏輯結(jié)構(gòu),F(xiàn)PGA 非常適合用來(lái)實(shí)現(xiàn)具有多個(gè)高速攝像頭接口的解決方案。此外,F(xiàn)PGA還能在邏輯中使用專門的處理管道,從而消除與基于 CPUGPU 的解決方案相關(guān)的共享資源瓶頸。

本文將再次介紹 Efinix 的 Titanium FPGA,并探討該 FPGA 的 Ti180 M484開發(fā)板附帶的參考圖像處理應(yīng)用。其目的是了解設(shè)計(jì)的構(gòu)成部分,并明確 FPGA 技術(shù)能夠消除哪些方面的瓶頸或?yàn)殚_發(fā)人員帶來(lái)其他好處。

基于 Ti180 M484 的參考設(shè)計(jì)

從概念上看,該參考設(shè)計(jì)(圖 1)接收來(lái)自幾個(gè)移動(dòng)行業(yè)處理器接口 (MIPI) 攝像頭的圖像,在 LPDDR4x
中執(zhí)行幀緩沖,然后將圖像輸出到高清多媒體接口 (HDMI) 顯示器。利用一個(gè) FPGA 夾層卡 (FMC) 和開發(fā)板上的四個(gè) Samtec QSE接口提供攝像頭輸入和 HDMI 輸出。

1.png

FMC 轉(zhuǎn) QSE 擴(kuò)展卡與 HDMI 子卡配合使用,提供輸出視頻路徑,而 3 個(gè) QSE 連接器用于與 DFRobot SEN0494 MIPI攝像頭連接。如果沒(méi)有多個(gè) MIPI 攝像頭,可以使用單個(gè)攝像頭,通過(guò)回環(huán)單個(gè)攝像頭通道來(lái)模擬其他攝像頭。

從高層次看,這種應(yīng)用可能看起來(lái)很簡(jiǎn)單。但是要以高幀率接收多個(gè)高清 (HD) MIPI 流頗具挑戰(zhàn)性。這恰好是 FPGA技術(shù)的優(yōu)勢(shì)所在,因?yàn)樗试S設(shè)計(jì)人員并行利用多個(gè) MIPI 流。

該參考設(shè)計(jì)的架構(gòu)利用了 FPGA 的并行和順序處理結(jié)構(gòu)。并行結(jié)構(gòu)用于實(shí)現(xiàn)圖像處理管道,而 RISC-V 處理器提供用于 FPGA 查詢表 (LUT)的順序處理。

在許多基于 FPGA的圖像處理系統(tǒng)中,圖像處理管道可以分成兩個(gè)部分,即輸入和輸出流。輸入流連接到攝像頭/傳感器接口,各種處理功能則應(yīng)用至傳感器輸出。這些處理功能包括 Bayer轉(zhuǎn)換、自動(dòng)白平衡和其他增強(qiáng)功能。在輸出流中,準(zhǔn)備圖像用于顯示。這包括改變顏色空間(例如從 RGB 更改為 YUV),以及后處理為所需的輸出格式,如HDMI。

通常,輸入圖像處理鏈以傳感器的像素時(shí)鐘頻率運(yùn)行。這與輸出鏈的時(shí)序不同,輸出鏈以輸出顯示頻率進(jìn)行處理。

幀緩沖區(qū)用于連接輸入和輸出處理管道,它通常存儲(chǔ)在 LPDDR4x等外部高性能存儲(chǔ)器中。該幀緩沖區(qū)在輸入和輸出管道之間去耦,從而允許以適當(dāng)?shù)臅r(shí)鐘頻率通過(guò)直接內(nèi)存訪問(wèn)來(lái)訪問(wèn)幀緩沖區(qū)。

Ti180 參考設(shè)計(jì)采用了與上述概念類似的方法。輸入圖像處理管道實(shí)現(xiàn)了一個(gè) MIPI 攝像頭串行接口 2 (CSI-2) 接收器知識(shí)產(chǎn)權(quán) (IP)內(nèi)核,該內(nèi)核建立在支持 MIPI 物理層 (MIPI D-PHY) 的 Titanium FPGA 輸入/輸出 (I/O) 之上。MIPI接口頗為復(fù)雜,因?yàn)槌说退俸透咚?a target="_blank">通信,它還在同一差分對(duì)上同時(shí)使用單端和差分信號(hào)。將 MIPI D-PHY 集成到 FPGA I/O中,降低了電路板設(shè)計(jì)的復(fù)雜性,同時(shí)還可簡(jiǎn)化物料清單 (BOM)。

收到攝像頭的圖像流后,參考設(shè)計(jì)會(huì)將 MIPI CSI-2 RX 的輸出轉(zhuǎn)換為高級(jí)可擴(kuò)展接口 (AXI) 流。AXI
流屬于單向高速接口,提供從主設(shè)備到從設(shè)備的數(shù)據(jù)流。除了在主設(shè)備和從設(shè)備之間傳輸?shù)奈帐中盘?hào)(tvalid 和tready),還提供了邊帶信號(hào)。這些邊帶信號(hào)可用于傳遞圖像時(shí)序信息,如幀的開始和行的結(jié)束。

AXI 流是圖像處理應(yīng)用的理想選擇,使 Efinix 能夠提供一系列的圖像處理 IP,然后可以根據(jù)應(yīng)用的需要輕松集成到處理鏈中。

接收后,MIPI CSI-2 圖像數(shù)據(jù)和時(shí)序信號(hào)被轉(zhuǎn)換為 AXI 流,并輸入到直接內(nèi)存訪問(wèn) (DMA) 模塊,該模塊將圖像幀寫入 LPDDR4x并充當(dāng)幀緩沖區(qū)。

此 DMA 模塊在 Sapphire 片上系統(tǒng) (SoC) 內(nèi) FPGA 中的 RISC-V 內(nèi)核控制下運(yùn)行。該 SoC 提供停止和開始 DMA寫入等控制功能,此外還為 DMA 寫入通道提供必要的信息,以便將圖像數(shù)據(jù)正確寫入
LPDDR4x。這包括有關(guān)存儲(chǔ)器位置的信息以及圖像寬度和高度(以字節(jié)為單位)。

該參考設(shè)計(jì)中的輸出通道在 RISC-V SoC 的控制下從 LPDDR4x 幀緩沖區(qū)讀取圖像信息。數(shù)據(jù)作為 AXI 流從 DMA IP輸出,然后從傳感器提供的 RAW 格式轉(zhuǎn)換為 RGB 格式(圖 2),并準(zhǔn)備通過(guò)板載 Analog Devices 的 ADV7511 HDMI發(fā)射器輸出。

2.png

借助 DMA,Sapphire SoC RISC-V 也能夠訪問(wèn)存儲(chǔ)于幀緩沖區(qū)中的圖像,以及統(tǒng)計(jì)和圖像信息摘要。Sapphire SoC 還能將覆蓋層寫入LPDDR4x 中,以便與輸出的視頻流合并。

現(xiàn)代 CMOS 圖像傳感器 (CIS) 有幾種工作模式,可配置為提供片上處理,以及幾種不同的輸出格式和時(shí)鐘方案。通常通過(guò) I2C 接口提供這種配置。在該Efinix 參考設(shè)計(jì)中,與 MIPI 攝像頭的 I2C 通信由 Sapphire SoC RISC-V 處理器提供。

在 Titanium FPGA 中集成 RISC-V 處理器減少了最終解決方案的整體尺寸,因?yàn)椴恍枰渴饡?huì)增加設(shè)計(jì)風(fēng)險(xiǎn)的復(fù)雜 FPGA狀態(tài)機(jī),也不需要會(huì)增加 BOM 的外部處理器。

集成該處理器后,還可以支持額外的 IP 與 MicroSD 卡進(jìn)行通信。這能夠支持可能需要存儲(chǔ)圖像以供日后分析的現(xiàn)實(shí)應(yīng)用。

總的來(lái)說(shuō),Ti180 參考設(shè)計(jì)的架構(gòu)經(jīng)過(guò)優(yōu)化,可實(shí)現(xiàn)緊湊、低成本但高性能的解決方案,使開發(fā)人員能夠通過(guò)系統(tǒng)集成降低 BOM 成本。

參考設(shè)計(jì)的主要優(yōu)點(diǎn)之一是可用于在定制硬件上啟動(dòng)應(yīng)用開發(fā),使開發(fā)人員能夠利用設(shè)計(jì)的關(guān)鍵元素,并以此為基礎(chǔ)進(jìn)行所需的定制。這包括能夠利用 Efinix 的TinyML 流程來(lái)實(shí)現(xiàn)運(yùn)行于 FPGA 上的視覺(jué) TinyML 應(yīng)用。這既可利用 FPGA 邏輯的并行特性,又可輕松地將自定義指令添加至 RISC-V處理器中,從而能夠在 FPGA 邏輯內(nèi)創(chuàng)建加速器。

實(shí)現(xiàn)

正如第 1 部分所述,Efinix 架構(gòu)的獨(dú)特之處在于,它使用可交換邏輯和路由 (XLR)單元來(lái)提供路由和邏輯功能。像上述參考設(shè)計(jì)這樣的視頻系統(tǒng)屬于邏輯和路由都很復(fù)雜的混合系統(tǒng):需要大量的邏輯來(lái)實(shí)現(xiàn)圖像處理功能,還需要廣泛的路由來(lái)以所需的頻率連接IP 單元。

該參考設(shè)計(jì)使用了器件內(nèi)約 42% 的 XLR 單元,留下了充足的空間來(lái)添加內(nèi)容,包括邊緣 ML 等定制應(yīng)用。

RAM數(shù)字信號(hào)處理 (DSP) 塊的使用也非常高效,只使用了 640 個(gè) DSP 塊中的 4 個(gè)和 40% 的存儲(chǔ)塊(圖 3)。

3.png

在器件 IO 上,LPDDR4x 的 DDR 接口用于為 Sapphire SoC 提供應(yīng)用存儲(chǔ)器以及提供圖像幀緩沖區(qū)。所有器件專用的 MIPI 資源與50% 的鎖相環(huán)一起使用(圖 4)。
4.png

通用 I/O (GPIO) 用于提供 I2C 通信以及幾個(gè)連接到 Sapphire SoC 的接口,包括 NOR FLASH、USB UARTSD卡。HSIO 用于向 ADC7511 HDMI 發(fā)射器提供高速視頻輸出。

采用 FPGA 進(jìn)行設(shè)計(jì)的一個(gè)關(guān)鍵因素是,不僅要在 FPGA 中實(shí)現(xiàn)和擬合設(shè)計(jì),還要能夠在 FPGA內(nèi)放置邏輯設(shè)計(jì),并在路由時(shí)達(dá)到所需的時(shí)序性能。

單時(shí)鐘域 FPGA 設(shè)計(jì)的時(shí)代已經(jīng)一去不復(fù)返了。在 Ti180參考設(shè)計(jì)中,有幾個(gè)不同的時(shí)鐘,都以高頻率運(yùn)行。最終時(shí)序表顯示了系統(tǒng)內(nèi)時(shí)鐘達(dá)到的最大頻率。在此表中也可以看到時(shí)鐘約束中要求的時(shí)序性能(圖 5),其中 HDMI輸出時(shí)鐘的最大時(shí)鐘頻率為 148.5 MHz。

5.png

針對(duì)時(shí)鐘約束的時(shí)序?qū)崿F(xiàn)顯示了 Titanium FPGA XLR 結(jié)構(gòu)的潛力,因?yàn)樗鼫p少了可能的路由延遲,從而提高了設(shè)計(jì)性能(圖 6)。

6.png

總結(jié)

Ti180 M484 參考設(shè)計(jì)清楚地展示了 Efinix FPGA 的能力,尤其是 Ti180。該設(shè)計(jì)利用幾個(gè)獨(dú)特的 I/O
結(jié)構(gòu)來(lái)實(shí)現(xiàn)復(fù)雜的圖像處理路徑,支持多個(gè)傳入的 MIPI 流。此圖像處理系統(tǒng)在軟核 Sapphire SoC的控制下運(yùn)行,實(shí)現(xiàn)了該應(yīng)用必需的順序處理元素。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21736

    瀏覽量

    603420
  • HDMI
    +關(guān)注

    關(guān)注

    32

    文章

    1704

    瀏覽量

    151931
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    30896

    瀏覽量

    269108
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5050

    瀏覽量

    97484
  • ML
    ML
    +關(guān)注

    關(guān)注

    0

    文章

    149

    瀏覽量

    34658
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA的B超成像系統(tǒng)圖像采集的原理和實(shí)現(xiàn)

    FPGA的B超成像系統(tǒng)圖像采集的原理和實(shí)現(xiàn) 1、引言 醫(yī)學(xué)超聲診斷成像技術(shù)大多數(shù)采用超聲脈沖回波法,即利用探頭產(chǎn)生超聲波進(jìn)入人體,由人體
    發(fā)表于 04-21 10:02 ?1540次閱讀
    <b class='flag-5'>FPGA</b>的B超<b class='flag-5'>成像</b>系統(tǒng)<b class='flag-5'>圖像</b><b class='flag-5'>采集</b>的原理和實(shí)現(xiàn)

    基于FPGA的實(shí)時(shí)視頻圖像采集處理系統(tǒng)

    設(shè)計(jì)了一種基于FPGA的實(shí)時(shí)視頻圖像采集處理電路系統(tǒng)。采用FPGA作為整個(gè)系統(tǒng)的控制和圖像數(shù)據(jù)
    發(fā)表于 02-10 02:43 ?2w次閱讀
    基于<b class='flag-5'>FPGA</b>的實(shí)時(shí)視頻<b class='flag-5'>圖像</b><b class='flag-5'>采集</b><b class='flag-5'>處理</b>系統(tǒng)

    為什么以及如何使用 Efinix FPGA 進(jìn)行 AI/ML 成像 1 部分:入門

    編者按:FPGA 架構(gòu)的新方法帶來(lái)了更細(xì)粒度的控制和更大的靈活性,以滿足機(jī)器學(xué)習(xí) (ML) 和人工智能 (AI) 的需求。這個(gè)由兩部分組成的系列的
    的頭像 發(fā)表于 04-24 14:49 ?9163次閱讀
    為什么<b class='flag-5'>以及</b>如何使用 <b class='flag-5'>Efinix</b> <b class='flag-5'>FPGA</b> 進(jìn)行 <b class='flag-5'>AI</b>/<b class='flag-5'>ML</b> <b class='flag-5'>成像</b> — <b class='flag-5'>第</b> 1 <b class='flag-5'>部分</b>:入門

    為什么以及如何將 Efinix FPGA 用于 AI/ML 成像 1 部分:入門指南

    Efinix 的一款此類架構(gòu),以及如何借助開發(fā)板快速入門。 2 部分討論了開發(fā)板與外部器件和外設(shè)(如攝像頭)的連接。 從工業(yè)控制和安全到
    的頭像 發(fā)表于 10-03 14:45 ?784次閱讀
    為什么<b class='flag-5'>以及</b><b class='flag-5'>如何將</b> <b class='flag-5'>Efinix</b> <b class='flag-5'>FPGA</b> <b class='flag-5'>用于</b> <b class='flag-5'>AI</b>/<b class='flag-5'>ML</b> <b class='flag-5'>成像</b> — <b class='flag-5'>第</b> 1 <b class='flag-5'>部分</b>:入門指南

    新冒出來(lái)的Efinix會(huì)革掉FPGA的命么?

    具有專用功能的每個(gè)電路板格(這些電路板格被稱為可交換邏輯和路由處理器)的基礎(chǔ)上,每一個(gè)電路板格都可以根據(jù)特定目的被編程。顛覆了過(guò)去FPGA的基本架構(gòu)。也就是說(shuō),Efinix的新FPGA
    發(fā)表于 11-01 20:08

    FPGA圖像緩存部分電路是怎么寫的

    FPGA 采集到的圖像數(shù)據(jù)保存到緩存中,為后端對(duì)圖像的進(jìn)一步處理提供數(shù)據(jù)。下面提供一種
    發(fā)表于 12-10 09:54

    如何實(shí)現(xiàn)視頻采集與DVI成像設(shè)計(jì)?

    視頻采集是進(jìn)行圖像及圖形處理的第一步,目前視頻采集系統(tǒng)一般由FPGA和DSP組成,FPGA作為視
    發(fā)表于 08-14 07:17

    如何在ML403 FPGA開發(fā)板上實(shí)現(xiàn)圖像處理?

    我正在嘗試在ML403 FPGA開發(fā)板上實(shí)現(xiàn)圖像處理。我知道如何進(jìn)行圖像處理但是,我很困惑
    發(fā)表于 11-07 09:20

    【HarmonyOS HiSpark AI Camera】AI圖像開發(fā)

    夜間成效效果比較差,影響模型的推理識(shí)別,影響識(shí)別效果。目前在調(diào)研其它硬件配套比較完善的AI識(shí)別硬件方案,看是否能運(yùn)用到實(shí)際項(xiàng)目當(dāng)中。項(xiàng)目計(jì)劃①根據(jù)文檔資料,調(diào)通攝像頭采集以及AI神經(jīng)網(wǎng)
    發(fā)表于 09-25 10:11

    基于FPGA的遠(yuǎn)程圖像采集系統(tǒng)設(shè)計(jì)

    基于FPGA的遠(yuǎn)程圖像采集系統(tǒng)設(shè)計(jì) 圖像信息的獲取和傳輸是圖像處理系統(tǒng)的重要組成
    發(fā)表于 11-23 21:03 ?1271次閱讀
    基于<b class='flag-5'>FPGA</b>的遠(yuǎn)程<b class='flag-5'>圖像</b><b class='flag-5'>采集</b>系統(tǒng)設(shè)計(jì)

    基于FPGA的網(wǎng)絡(luò)圖像采集處理系統(tǒng)設(shè)計(jì)

    本文介紹了一種基于FPGA的網(wǎng)絡(luò)圖像處理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)方法。系統(tǒng)主要包括圖像采集模塊、RAM控制模塊、JPEG編碼器3
    發(fā)表于 02-08 14:41 ?1913次閱讀
    基于<b class='flag-5'>FPGA</b>的網(wǎng)絡(luò)<b class='flag-5'>圖像</b><b class='flag-5'>采集</b><b class='flag-5'>處理</b>系統(tǒng)設(shè)計(jì)

    基于FPGA圖像采集處理

    基于FPGA圖像采集處理,是一個(gè)適合初學(xué)者學(xué)習(xí)的書籍。 內(nèi)容詳細(xì)完整。
    發(fā)表于 03-04 15:48 ?50次下載

    基于FPGA與USB的CMOS圖像獲取與采集系統(tǒng)設(shè)計(jì)

    實(shí)現(xiàn)了基于FPGA與USB的CMOS圖像獲取與采集系統(tǒng)的設(shè)計(jì)。介紹了成像系統(tǒng)的結(jié)構(gòu)、CMOS圖像獲取時(shí)序的VHDL程序?qū)崿F(xiàn)、包含
    發(fā)表于 09-22 16:53 ?23次下載

    使用FPGA實(shí)現(xiàn)激光散射圖像采集卡及圖像處理裝置的技術(shù)詳細(xì)說(shuō)明

    本發(fā)明涉及基于FPGA的激光散射圖像采集以及基于FPGA的激光散射圖像
    發(fā)表于 11-22 08:00 ?2次下載
    使用<b class='flag-5'>FPGA</b>實(shí)現(xiàn)激光散射<b class='flag-5'>圖像</b><b class='flag-5'>采集</b>卡及<b class='flag-5'>圖像</b><b class='flag-5'>處理</b>裝置的技術(shù)詳細(xì)說(shuō)明

    利用FPGA設(shè)計(jì)基于LVDS的圖像數(shù)據(jù)采集傳輸系統(tǒng)

    點(diǎn)擊上方 藍(lán)字 關(guān)注我們 引言 圖像信息的獲取和傳輸是圖像處理系統(tǒng)的重要組成部分,直接影響圖像處理
    的頭像 發(fā)表于 09-28 10:35 ?1823次閱讀