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

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

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

干貨 | 機(jī)器學(xué)習(xí)加持,基于FPGA的高性能視覺應(yīng)用方案設(shè)計(jì)

5CTi_cirmall ? 來源:YXQ ? 2019-07-16 09:28 ? 次閱讀

隨著攝像頭和其他設(shè)備產(chǎn)生的數(shù)據(jù)在快速增長(zhǎng),促使人們運(yùn)用機(jī)器學(xué)習(xí)從汽車、安防和其他應(yīng)用產(chǎn)生的影像中提取更多有用的信息。專用器件有望在嵌入式視覺應(yīng)用中實(shí)現(xiàn)高性能機(jī)器學(xué)習(xí) (ML) 推理。但是此類器件大都處于早期開發(fā)階段,因?yàn)樵O(shè)計(jì)人員正在努力尋找最有效的算法,甚至人工智能 (AI) 研究人員也在迅速推演新方法。

目前,開發(fā)人員一般使用針對(duì) ML 的可用 FPGA 平臺(tái)來構(gòu)建嵌入式視覺系統(tǒng),以期滿足更高的性能要求。與此同時(shí),他們可以保持所需的靈活性,以跟上機(jī)器學(xué)習(xí)發(fā)展的步伐。

本文將介紹 ML 處理的要求,以及為何 FPGA 能解決許多性能問題。然后,將介紹一個(gè)合適的基于 FPGA 的 ML 平臺(tái)及其使用方法。

機(jī)器學(xué)習(xí)算法和推理引擎

在 ML 算法中,卷積神經(jīng)網(wǎng)絡(luò) (CNN) 已成為圖像分類的首選解決方案。其圖像識(shí)別的準(zhǔn)確率非常高,因而得以廣泛應(yīng)用于多種應(yīng)用,跨越不同的平臺(tái),例如智能手機(jī)、安防系統(tǒng)和汽車駕駛員輔助系統(tǒng)。作為一種深度神經(jīng)網(wǎng)絡(luò) (DNN),CNN 使用的神經(jīng)網(wǎng)絡(luò)架構(gòu)由專用層構(gòu)成。在對(duì)標(biāo)注圖像進(jìn)行訓(xùn)練期間,它會(huì)從圖像中提取特征,并使用這些特征給圖像分類(參見“利用現(xiàn)成的軟硬件啟動(dòng)機(jī)器學(xué)習(xí)”)。

CNN 開發(fā)人員通常在高性能系統(tǒng)或云平臺(tái)上進(jìn)行訓(xùn)練,使用圖形處理單元 (GPU) 加速在標(biāo)注圖像數(shù)據(jù)集(通常數(shù)以百萬計(jì))上訓(xùn)練模型所需的巨量矩陣計(jì)算。訓(xùn)練完成之后,訓(xùn)練好的模型用在推理應(yīng)用中,對(duì)視頻流中的新圖像或幀進(jìn)行分類。推理部署完成后,訓(xùn)練好的模型仍然需要執(zhí)行同樣的矩陣計(jì)算,但由于輸入量要少很多,開發(fā)人員可以將 CNN 用于在通用硬件上運(yùn)行的普通機(jī)器學(xué)習(xí)應(yīng)用(參見“利用 Raspberry Pi 構(gòu)建機(jī)器學(xué)習(xí)應(yīng)用”)。

然而,對(duì)于許多應(yīng)用而言,通用平臺(tái)缺乏在 CNN 推理中同時(shí)實(shí)現(xiàn)高準(zhǔn)確率和高性能所需的性能。優(yōu)化技術(shù)和替代 CNN 架構(gòu)(如 MobileNet 或 SqueezeNet)有助于降低平臺(tái)要求,但通常會(huì)犧牲準(zhǔn)確率并增加推理延時(shí),而這可能與應(yīng)用要求相沖突。

與此同時(shí),快速發(fā)展的算法使得機(jī)器學(xué)習(xí) IC 的設(shè)計(jì)工作變得復(fù)雜,因?yàn)樾枰獧C(jī)器學(xué)習(xí) IC 既要足夠?qū)iT化以加速推理,又要足夠通用化以支持新算法。FPGA 多年來一直扮演著這一特定角色,提供加速關(guān)鍵算法所需的性能和靈活性,解決了通用處理器性能不足或沒有專用器件可用的問題。

FPGA 作為機(jī)器學(xué)習(xí)平臺(tái)

對(duì)于機(jī)器學(xué)習(xí)而言,GPU 仍然是標(biāo)桿——這是早期的 FPGA 根本無法企及的。最近出現(xiàn)的一些器件,如 Intel Arria 10 GX FPGA 和 Lattice Semiconductor ECP5 FPGA,大大縮小了先進(jìn) FPGA 和 GPU 之間的差距。對(duì)于某些使用緊湊的整數(shù)數(shù)據(jù)類型的 DNN 架構(gòu)來說,此類 FPGA 的性能/功耗比甚至高于主流 GPU。

高級(jí) FPGA 組合了嵌入式存儲(chǔ)器和數(shù)字信號(hào)處理 (DSP) 資源,對(duì)于一般矩陣乘法 (GEMM) 運(yùn)算能夠?qū)崿F(xiàn)很高的性能。其嵌入式存儲(chǔ)器靠近計(jì)算引擎,從而緩解了 CPU 存儲(chǔ)器瓶頸,而這種瓶頸通常會(huì)限制通用處理器上機(jī)器學(xué)習(xí)算法的性能。反之,相比于典型 DSP 器件(圖 1),F(xiàn)PGA 上的嵌入式 DSP 計(jì)算引擎提供了更多的并行乘法器資源。FPGA 廠商在交付專門用于機(jī)器學(xué)習(xí)的 FPGA 開發(fā)平臺(tái)時(shí)充分利用了這些特性。

例如,Intel 最近推出的支持 FPGA 的 OPENVINO? 擴(kuò)展了該平臺(tái)將推理模型部署到不同類型設(shè)備(包括 GPU、CPU 和 FPGA)的能力。在該平臺(tái)上,開發(fā)人員可使用 Intel 的深度學(xué)習(xí)推理引擎工作流程,其中整合了 Intel 深度學(xué)習(xí)部署工具包和在 Intel OPENVINO 工具包中提供的 Intel 計(jì)算機(jī)視覺軟件開發(fā)套件 (SDK)。開發(fā)人員使用 SDK 的應(yīng)用編程接口 (API) 構(gòu)建模型,并且可利用 Intel 的運(yùn)行模型優(yōu)化器針對(duì)不同硬件平臺(tái)進(jìn)行優(yōu)化。

深度學(xué)習(xí)部署工具包旨在與 Intel DK-DEV-10AX115S-A Arria 10 GX FPGA 開發(fā)套件配合使用,讓開發(fā)人員能從領(lǐng)先的 ML 框架(包括 Caffe 和 TensorFlow)導(dǎo)入訓(xùn)練好的模型(圖 2)。在諸如 Arria 10 GX FPGA 開發(fā)套件之類目標(biāo)平臺(tái)或使用 Arria 10 GX FPGA 器件的定制設(shè)計(jì)上,工具包中的模型優(yōu)化器和推理引擎分別處理模型轉(zhuǎn)換和部署。

為了遷移預(yù)訓(xùn)練模型,開發(fā)人員使用基于 Python 的模型優(yōu)化器生成了一個(gè)中間表示 (IR),該表示包含在一個(gè)提供網(wǎng)絡(luò)拓?fù)涞?xml 文件和一個(gè)以二進(jìn)制值提供模型參數(shù)的 bin 文件中。除了生成 IR 之外,模型優(yōu)化器還會(huì)執(zhí)行一項(xiàng)關(guān)鍵功能——移除模型中用于訓(xùn)練但對(duì)推理毫無作用的層。此外,該工具會(huì)在可能的情況下將每個(gè)提供獨(dú)立數(shù)學(xué)運(yùn)算的層合并到一個(gè)組合層中。

通過這種網(wǎng)絡(luò)修剪和合并,模型變得更緊湊,進(jìn)而加快推理時(shí)間并減少對(duì)目標(biāo)平臺(tái)的存儲(chǔ)器需求。

Intel 推理引擎是一個(gè) C++ 庫,其中包含一組 C++ 類。這些類對(duì)于受支持的目標(biāo)硬件平臺(tái)來說是通用的,因此可以在各個(gè)平臺(tái)上實(shí)現(xiàn)推理。對(duì)于推理應(yīng)用而言,開發(fā)人員使用像 CNNNetReader 這樣的類來讀取 xml 文件 (ReadNetwork) 中包含的 CNN 拓?fù)湟约?bin 文件 (ReadWeights) 中包含的模型參數(shù)。模型加載完成后,調(diào)用類方法 Infer() 執(zhí)行阻塞推理,同時(shí)調(diào)用類方法 StartAsync() 執(zhí)行異步推理,當(dāng)推理完成時(shí)使用等待或完成例程處理結(jié)果。

Intel 在 OPENVINO 環(huán)境提供的多個(gè)示例應(yīng)用程序中演示了完整的工作流程和詳細(xì)的推理引擎 API 調(diào)用。例如,安全屏障攝像機(jī)示例應(yīng)用程序展示了使用推理模型流水線,以首先確定車輛邊界框(圖 3)。流水線中的下一個(gè)模型檢查了邊界框中的內(nèi)容,識(shí)別車輛類別、顏色和車牌位置等車輛屬性。

流水線中的最后一個(gè)模型使用這些車輛屬性從車牌中提取字符。

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

    關(guān)注

    1625

    文章

    21637

    瀏覽量

    601336
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8357

    瀏覽量

    132330

原文標(biāo)題:機(jī)器學(xué)習(xí)加持,基于FPGA的高性能視覺應(yīng)用方案設(shè)計(jì)

文章出處:【微信號(hào):cirmall,微信公眾號(hào):電路設(shè)計(jì)技能】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AI干貨補(bǔ)給站 | 深度學(xué)習(xí)機(jī)器視覺的融合探索

    在智能制造的浪潮中,阿丘科技作為業(yè)界領(lǐng)先的工業(yè)AI視覺平臺(tái)及解決方案提供商,始終致力于推動(dòng)AI+機(jī)器視覺技術(shù)的革新與應(yīng)用。為此,我們特別開設(shè)了「AI
    的頭像 發(fā)表于 10-29 08:04 ?171次閱讀
    AI<b class='flag-5'>干貨</b>補(bǔ)給站 | 深度<b class='flag-5'>學(xué)習(xí)</b>與<b class='flag-5'>機(jī)器</b><b class='flag-5'>視覺</b>的融合探索

    微視傳感高性能3D視覺產(chǎn)品亮相2024上海機(jī)器視覺

    近日,2024上海機(jī)器視覺展在上海新國(guó)際博覽中心隆重舉行,微視傳感攜最新的高性能3D視覺產(chǎn)品亮相E2館2121展位,得到廣泛關(guān)注,這次展會(huì)不僅是微視傳感展示創(chuàng)新技術(shù)的舞臺(tái),更是與行業(yè)同
    的頭像 發(fā)表于 08-06 15:15 ?599次閱讀
    微視傳感<b class='flag-5'>高性能</b>3D<b class='flag-5'>視覺</b>產(chǎn)品亮相2024上海<b class='flag-5'>機(jī)器</b><b class='flag-5'>視覺</b>展

    深度學(xué)習(xí)在工業(yè)機(jī)器視覺檢測(cè)中的應(yīng)用

    隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,其在工業(yè)機(jī)器視覺檢測(cè)中的應(yīng)用日益廣泛,并展現(xiàn)出巨大的潛力。工業(yè)機(jī)器視覺檢測(cè)是工業(yè)自動(dòng)化領(lǐng)域的重要組成部分,通過圖
    的頭像 發(fā)表于 07-08 10:40 ?930次閱讀

    機(jī)器視覺光源的選擇和應(yīng)用有哪些

    機(jī)器視覺光源是機(jī)器視覺系統(tǒng)中的重要組成部分,它對(duì)圖像的質(zhì)量和機(jī)器視覺系統(tǒng)的
    的頭像 發(fā)表于 07-04 11:36 ?729次閱讀

    基于FPGA EtherCAT的六自由度機(jī)器視覺伺服控制設(shè)計(jì)

    人、Zynq和攝像頭為硬件基礎(chǔ),搭建了六自由度機(jī)器視覺平臺(tái)。 (2)設(shè)計(jì)了基于 FPGA視覺檢測(cè)方案。利用 西林提供的 HLS和CV庫
    發(fā)表于 05-29 16:17

    FPGA基礎(chǔ)知識(shí)學(xué)習(xí)

    自動(dòng)化控制系統(tǒng)中,實(shí)現(xiàn)高速數(shù)據(jù)采集、實(shí)時(shí)圖像處理、機(jī)器視覺等功能。這些功能對(duì)于提高生產(chǎn)效率和產(chǎn)品質(zhì)量至關(guān)重要。 軍事和航天領(lǐng)域 :FPGA在軍事和航天領(lǐng)域中具有重要的應(yīng)用,用于實(shí)現(xiàn)高性能
    發(fā)表于 04-29 23:26

    基于FPGA的六自由度機(jī)器視覺伺服控制方案設(shè)計(jì)

    ? 機(jī)器視覺系統(tǒng)的硬件選擇直接影響圖像采集,圖像的質(zhì)量和后期的處理,并影響整個(gè)控制系統(tǒng)的實(shí)時(shí)性,所以應(yīng)根據(jù)要求和這些硬件性能,嚴(yán)格選擇硬件?;谝辽氐牧杂啥?b class='flag-5'>機(jī)器
    發(fā)表于 04-24 10:31 ?428次閱讀
    基于<b class='flag-5'>FPGA</b>的六自由度<b class='flag-5'>機(jī)器</b>人<b class='flag-5'>視覺</b>伺服控制<b class='flag-5'>方案設(shè)計(jì)</b>

    FPGA學(xué)習(xí)筆記-入門

    實(shí)現(xiàn),大大簡(jiǎn)化了外圍電路的設(shè)計(jì)。 在半導(dǎo)體發(fā)展的過程中,有很多電平標(biāo)準(zhǔn)。這樣在混合電路中,電平匹配,會(huì)導(dǎo)致電路變得復(fù)雜,如果采用FPGA方案,同樣可以簡(jiǎn)化電路,減低兼容風(fēng)險(xiǎn)。 在高性能數(shù)字信號(hào)處理領(lǐng)域
    發(fā)表于 04-09 10:55

    機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)在光伏匯流焊機(jī)器人系統(tǒng)的解決方案

    、良率不穩(wěn)定、焊接質(zhì)量波動(dòng)大及靈活性受限等問題,最終不僅影響產(chǎn)品性能和可靠性,還增加生產(chǎn)成本,制約生產(chǎn)規(guī)模的擴(kuò)展。正運(yùn)動(dòng)技術(shù)解決方案:正運(yùn)動(dòng)針對(duì)這一市場(chǎng)需求,特此開發(fā)了基于VPLC711視覺運(yùn)動(dòng)控制
    發(fā)表于 02-28 15:01

    AI語音與機(jī)器視覺開發(fā)應(yīng)用系統(tǒng)

    一、簡(jiǎn)介 AI語音與機(jī)器視覺開發(fā)應(yīng)用系統(tǒng)是一款集成AI語音、機(jī)器視覺、深度學(xué)習(xí)基礎(chǔ)、嵌入式Linux于一體的高端教學(xué)科研實(shí)驗(yàn)平臺(tái)。 整個(gè)教學(xué)
    的頭像 發(fā)表于 01-26 11:24 ?363次閱讀
    AI語音與<b class='flag-5'>機(jī)器</b><b class='flag-5'>視覺</b>開發(fā)應(yīng)用系統(tǒng)

    基于機(jī)器視覺和深度學(xué)習(xí)的焊接質(zhì)量檢測(cè)系統(tǒng)

    基于機(jī)器視覺和深度學(xué)習(xí)的焊接質(zhì)量檢測(cè)系統(tǒng)是一種創(chuàng)新性的技術(shù)解決方案,它結(jié)合了先進(jìn)的計(jì)算機(jī)視覺和深度學(xué)習(xí)
    的頭像 發(fā)表于 01-18 17:50 ?726次閱讀

    大牛談如何學(xué)習(xí)機(jī)器視覺?

    國(guó)內(nèi)外機(jī)器視覺發(fā)展的不同。我本人認(rèn)為,只有先搞清了兩邊的不一樣,才便于說清如何下手學(xué)習(xí)。國(guó)外機(jī)器視覺發(fā)展到今天,已經(jīng)從“一包到底”式的工作程
    發(fā)表于 01-15 11:02 ?375次閱讀
    大牛談如何<b class='flag-5'>學(xué)習(xí)機(jī)器</b><b class='flag-5'>視覺</b>?

    如何通過DLP FPGA實(shí)現(xiàn)低延時(shí)高性能的深度學(xué)習(xí)處理器設(shè)計(jì)呢?

    圖像識(shí)別和分析對(duì)于產(chǎn)品創(chuàng)新至關(guān)重要,但需要高工作負(fù)載,對(duì)服務(wù)質(zhì)量要求嚴(yán)格。解決方案如GPU無法滿足低延遲和高性能要求。DLP FPGA是一種可行的選擇,本文將探討如何實(shí)現(xiàn)這種技術(shù)。
    的頭像 發(fā)表于 12-27 09:13 ?1256次閱讀
    如何通過DLP <b class='flag-5'>FPGA</b>實(shí)現(xiàn)低延時(shí)<b class='flag-5'>高性能</b>的深度<b class='flag-5'>學(xué)習(xí)</b>處理器設(shè)計(jì)呢?

    FPGA高性能計(jì)算中的優(yōu)勢(shì)及其用例都有哪些?

    近年來,現(xiàn)場(chǎng)可 編程 門陣列 ( FPGA ) 因其可定制性、并行處理和低延遲而成為高性能計(jì)算 (HPC) 的可行技術(shù)。 高性能計(jì)算 (HPC) 是一個(gè)計(jì)算領(lǐng)域,涉及使用先進(jìn)的 硬件 和軟件資源,以
    的頭像 發(fā)表于 12-09 12:15 ?992次閱讀
    <b class='flag-5'>FPGA</b>在<b class='flag-5'>高性能</b>計(jì)算中的優(yōu)勢(shì)及其用例都有哪些?

    紫光同創(chuàng)FPGA開發(fā)套件,高性能國(guó)產(chǎn)FPGA方案

    紫光同創(chuàng)FPGA開發(fā)套件,高性能國(guó)產(chǎn)FPGA方案,100%國(guó)產(chǎn)化,全系列產(chǎn)品,方案可定制,滿足多方面需求
    發(fā)表于 11-16 17:25