<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

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

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

作者:Adam Taylor

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

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

本文將再次介紹 Efinix 的 Titanium FPGA,并探討該 FPGA 的 Ti180 M484開發板附帶的參考圖像處理應用。其目的是了解設計的構成部分,并明確 FPGA 技術能夠消除哪些方面的瓶頸或為開發人員帶來其他好處。

基于 Ti180 M484 的參考設計

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

1.png

FMC 轉 QSE 擴展卡與 HDMI 子卡配合使用,提供輸出視頻路徑,而 3 個 QSE 連接器用于與 DFRobot SEN0494 MIPI攝像頭連接。如果沒有多個 MIPI 攝像頭,可以使用單個攝像頭,通過回環單個攝像頭通道來模擬其他攝像頭。

從高層次看,這種應用可能看起來很簡單。但是要以高幀率接收多個高清 (HD) MIPI 流頗具挑戰性。這恰好是 FPGA技術的優勢所在,因為它允許設計人員并行利用多個 MIPI 流。

該參考設計的架構利用了 FPGA 的并行和順序處理結構。并行結構用于實現圖像處理管道,而 RISC-V 處理器提供用于 FPGA 查詢表 (LUT)的順序處理。

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

通常,輸入圖像處理鏈以傳感器的像素時鐘頻率運行。這與輸出鏈的時序不同,輸出鏈以輸出顯示頻率進行處理。

幀緩沖區用于連接輸入和輸出處理管道,它通常存儲在 LPDDR4x等外部高性能存儲器中。該幀緩沖區在輸入和輸出管道之間去耦,從而允許以適當的時鐘頻率通過直接內存訪問來訪問幀緩沖區。

Ti180 參考設計采用了與上述概念類似的方法。輸入圖像處理管道實現了一個 MIPI 攝像頭串行接口 2 (CSI-2) 接收器知識產權 (IP)內核,該內核建立在支持 MIPI 物理層 (MIPI D-PHY) 的 Titanium FPGA 輸入/輸出 (I/O) 之上。MIPI接口頗為復雜,因為除了低速和高速通信,它還在同一差分對上同時使用單端和差分信號。將 MIPI D-PHY 集成到 FPGA I/O中,降低了電路板設計的復雜性,同時還可簡化物料清單 (BOM)。

收到攝像頭的圖像流后,參考設計會將 MIPI CSI-2 RX 的輸出轉換為高級可擴展接口 (AXI) 流。AXI
流屬于單向高速接口,提供從主設備到從設備的數據流。除了在主設備和從設備之間傳輸的握手信號(tvalid 和tready),還提供了邊帶信號。這些邊帶信號可用于傳遞圖像時序信息,如幀的開始和行的結束。

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

接收后,MIPI CSI-2 圖像數據和時序信號被轉換為 AXI 流,并輸入到直接內存訪問 (DMA) 模塊,該模塊將圖像幀寫入 LPDDR4x并充當幀緩沖區。

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

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

2.png

借助 DMA,Sapphire SoC RISC-V 也能夠訪問存儲于幀緩沖區中的圖像,以及統計和圖像信息摘要。Sapphire SoC 還能將覆蓋層寫入LPDDR4x 中,以便與輸出的視頻流合并。

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

在 Titanium FPGA 中集成 RISC-V 處理器減少了最終解決方案的整體尺寸,因為不需要部署會增加設計風險的復雜 FPGA狀態機,也不需要會增加 BOM 的外部處理器。

集成該處理器后,還可以支持額外的 IP 與 MicroSD 卡進行通信。這能夠支持可能需要存儲圖像以供日后分析的現實應用。

總的來說,Ti180 參考設計的架構經過優化,可實現緊湊、低成本但高性能的解決方案,使開發人員能夠通過系統集成降低 BOM 成本。

參考設計的主要優點之一是可用于在定制硬件上啟動應用開發,使開發人員能夠利用設計的關鍵元素,并以此為基礎進行所需的定制。這包括能夠利用 Efinix 的TinyML 流程來實現運行于 FPGA 上的視覺 TinyML 應用。這既可利用 FPGA 邏輯的并行特性,又可輕松地將自定義指令添加至 RISC-V處理器中,從而能夠在 FPGA 邏輯內創建加速器。

實現

正如第 1 部分所述,Efinix 架構的獨特之處在于,它使用可交換邏輯和路由 (XLR)單元來提供路由和邏輯功能。像上述參考設計這樣的視頻系統屬于邏輯和路由都很復雜的混合系統:需要大量的邏輯來實現圖像處理功能,還需要廣泛的路由來以所需的頻率連接IP 單元。

該參考設計使用了器件內約 42% 的 XLR 單元,留下了充足的空間來添加內容,包括邊緣 ML 等定制應用。

RAM數字信號處理 (DSP) 塊的使用也非常高效,只使用了 640 個 DSP 塊中的 4 個和 40% 的存儲塊(圖 3)。

3.png

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

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

采用 FPGA 進行設計的一個關鍵因素是,不僅要在 FPGA 中實現和擬合設計,還要能夠在 FPGA內放置邏輯設計,并在路由時達到所需的時序性能。

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

5.png

針對時鐘約束的時序實現顯示了 Titanium FPGA XLR 結構的潛力,因為它減少了可能的路由延遲,從而提高了設計性能(圖 6)。

6.png

總結

Ti180 M484 參考設計清楚地展示了 Efinix FPGA 的能力,尤其是 Ti180。該設計利用幾個獨特的 I/O
結構來實現復雜的圖像處理路徑,支持多個傳入的 MIPI 流。此圖像處理系統在軟核 Sapphire SoC的控制下運行,實現了該應用必需的順序處理元素。

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

    關注

    1603

    文章

    21328

    瀏覽量

    593264
  • HDMI
    +關注

    關注

    32

    文章

    1490

    瀏覽量

    149762
  • AI
    AI
    +關注

    關注

    87

    文章

    26465

    瀏覽量

    264095
  • 開發板
    +關注

    關注

    25

    文章

    4436

    瀏覽量

    94057
  • ML
    ML
    +關注

    關注

    0

    文章

    139

    瀏覽量

    34295
收藏 人收藏

    評論

    相關推薦

    FPGA的B超成像系統圖像采集的原理和實現

    FPGA的B超成像系統圖像采集的原理和實現 1、引言 醫學超聲診斷成像技術大多數采用超聲脈沖回波法,即利用探頭產生超聲波進入人體,由人體
    發表于 04-21 10:02 ?1415次閱讀
    <b class='flag-5'>FPGA</b>的B超<b class='flag-5'>成像</b>系統<b class='flag-5'>圖像</b><b class='flag-5'>采集</b>的原理和實現

    為什么以及如何使用 Efinix FPGA 進行 AI/ML 成像 — 第 1 部分:入門

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

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

    Efinix 的一款此類架構,以及如何借助開發板快速入門。第 2 部分討論了開發板與外部器件和外設(如攝像頭)的連接。 從工業控制和安全到機器人、航空航天和汽車,FPGA 在許多應
    的頭像 發表于 10-03 14:45 ?361次閱讀
    為什么<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> — 第 1 <b class='flag-5'>部分</b>:入門指南

    Labview中的圖像實時采集以及處理

    圖像的實時采集以及處理利用生產者消費者模式寫了一個圖像實時采集
    發表于 10-13 21:28

    新冒出來的Efinix會革掉FPGA的命么?

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

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

    FPGA 采集到的圖像數據保存到緩存中,為后端對圖像的進一步處理提供數據。下面提供一種
    發表于 12-10 09:54

    基于FPGA圖像平滑處理

    \sources_1\new下的average_filter.v模塊實現了1/16的圖像加權均值濾波處理。該模塊功能框圖如下,使用2個FIFO,分別緩存前后行,即進入圖像
    發表于 07-05 13:51

    如何實現視頻采集與DVI成像設計?

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

    怎么設計基于FPGA多波束成像的聲納系統?

    用于并行處理的現場可編程門陣列(FPGA)器件的快速發展,采用大規模FPGA為核心處理器的圖像
    發表于 10-09 06:04

    如何在ML403 FPGA開發板上實現圖像處理?

    我正在嘗試在ML403 FPGA開發板上實現圖像處理。我知道如何進行圖像處理但是,我很困惑
    發表于 11-07 09:20

    【HarmonyOS HiSpark AI Camera】AI圖像開發

    夜間成效效果比較差,影響模型的推理識別,影響識別效果。目前在調研其它硬件配套比較完善的AI識別硬件方案,看是否能運用到實際項目當中。項目計劃①根據文檔資料,調通攝像頭采集以及AI神經網
    發表于 09-25 10:11

    基于FPGA的遠程圖像采集系統設計

    基于FPGA的遠程圖像采集系統設計 圖像信息的獲取和傳輸是圖像處理系統的重要組成
    發表于 11-23 21:03 ?1184次閱讀
    基于<b class='flag-5'>FPGA</b>的遠程<b class='flag-5'>圖像</b><b class='flag-5'>采集</b>系統設計

    基于FPGA的網絡圖像采集處理系統設計

    本文介紹了一種基于FPGA的網絡圖像處理系統設計和實現方法。系統主要包括圖像采集模塊、RAM控制模塊、JPEG編碼器3
    發表于 02-08 14:41 ?1756次閱讀
    基于<b class='flag-5'>FPGA</b>的網絡<b class='flag-5'>圖像</b><b class='flag-5'>采集</b><b class='flag-5'>處理</b>系統設計

    基于FPGA圖像采集處理

    基于FPGA圖像采集處理,是一個適合初學者學習的書籍。 內容詳細完整。
    發表于 03-04 15:48 ?50次下載

    FPGA 上實施 AI/ML 的選項

    FPGA 上實施 AI/ML 的選項
    的頭像 發表于 12-28 09:51 ?548次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>