色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>基于FPGA的披薩切片角度計算器

基于FPGA的披薩切片角度計算器

2023-06-16 | zip | 0.00 MB | 次下載 | 免費

資料介紹

描述

介紹

嗨,在這個項目中,我想向您展示如何構(gòu)建一個基于 FPGA 加速 Yolov3 網(wǎng)絡的披薩切片角度計算器。披薩配料由 Yolov3 網(wǎng)絡分析。根據(jù) Yolo 輸出,計算出意大利辣香腸熱圖。此熱圖用于計算將比薩餅切成兩半的完美角度。最佳切割角度的結(jié)果投影在披薩附近。Avnet 的 Ultra96-V2 板用于所有計算。GoPro Hero 相機用于從意大利辣香腸比薩餅中捕捉圖像。相機和投影儀連接到 Ultra96-V2 板。我使用了定制的 HDMI 板,但您可以使用 USB 網(wǎng)絡攝像頭進行圖像捕捉。來自相機的傳入圖像會調(diào)整大小,這是通過可編程邏輯 (PL) 加速器完成的。Yolov3對象檢測網(wǎng)絡,DPU ) 執(zhí)行比薩餅和意大利辣香腸檢測。#projectofthemonth

pYYBAGN1HgqAEqbhAAA6AVUESW4941.png
系統(tǒng)總覽
?

在你開始之前

項目文檔分為“入門”、“從數(shù)據(jù)集到DPU精靈”和“切片器程序”三個部分。“入門”部分描述了在 Ultra96V2 板上運行基于 Yolo 的披薩切片機所需的步驟。“從數(shù)據(jù)集到 DPU elf”一節(jié)描述了從自定義數(shù)據(jù)集到 DPU elf 文件的整個開發(fā)過程。該項目的這一部分最耗時,因為賽靈思文檔和示例僅涵蓋了整個開發(fā)過程的一部分。目前,這部分正在建設中,但結(jié)合項目源代碼,它是您自定義 Xilinx DPU 項目的良好起點。就在這個項目在 hackster 上發(fā)布前幾個小時,LogicTronix 發(fā)布了這個教程,其中涵蓋了 Yolov3 到 DPU 精靈編譯的某些部分。最后但同樣重要的是,您可以在“切片器程序”部分找到實現(xiàn) Pizza 切片器應用程序的 Python 代碼的詳細描述。

入門

  • 下載 Ultra96V2 的 PYNQ V2.6映像
  • 從這個黑客教程安裝 PYNQ-DPU
  • 為了提高 OpenCV 的速度,我Tengine 支持下重建了 OpenCV。這提高了基于 ARM 處理器的系統(tǒng)的整體性能。
  • 克隆我的項目存儲庫以構(gòu)建 FPGA 硬件我使用了定制的 HDMI 板,因此 Pizza-base-without-hdmi.tcl 創(chuàng)建了帶有 pl 圖像調(diào)整器和 DPU 的 Ultra96-V2 板,沒有 HDMI 輸入/輸出。
  • 從 Vitis ai docker 運行 compile-caffe.sh 腳本。該腳本使用預訓練的 Caffe 模型。我還將用于 DPU 量化和編譯的測試圖像放入存儲庫中。
  • 復制板上的FPGA *.bin 文件和DPU *.elf 文件。但一切都在與披薩切片機 jupyter notebook 相同的目錄中。
  • 使用我的 repo 中的披薩切片機 jupyter notebook 并測試 yolov3 網(wǎng)絡并切片一些披薩。

?

從數(shù)據(jù)集到 DPU 精靈

遺憾的是,Xilinx 的 Zoo 模型沒有提供用于比薩檢測的預訓練網(wǎng)絡,所以我不得不從頭開始構(gòu)建網(wǎng)絡。下圖顯示了在 Xilinx DPU 上運行 Yolo 網(wǎng)絡所需的步驟。

poYBAGN1Hg2AB4CNAACqeb0xOQk890.png
從數(shù)據(jù)集到 DPU 精靈的工作流程
?

詳細的工作流程:

  • 圖片:首先我必須得到一些意大利辣香腸披薩的圖片。我使用了來自 Google 的 22 張圖片,后來我添加了一些來自 GoPro 的真實圖片。所有圖像都已調(diào)整大小并裁剪為 320x320 像素。
  • 圖像注釋:圖像注釋的一個很好的工具是Microsoft VoTT 對于披薩切片機應用程序,使用了披薩和意大利辣香腸的邊界框。VoTT 可以導出不同格式的數(shù)據(jù)集,我使用Pascal VOC 格式進行導出。
  • 數(shù)據(jù)增強:訓練一個只有 22 張圖像的網(wǎng)絡對于網(wǎng)絡推理來說不是很健壯。為了提高訓練數(shù)據(jù)集和魯棒性,來自roboflow ai的數(shù)據(jù)增強工作流程. 用來。這是一種修改小型數(shù)據(jù)集并添加一些預處理圖像進行訓練的簡單方法。使用每個數(shù)據(jù)集限制為 1000 張圖像的免費帳戶,可以構(gòu)建一個小型數(shù)據(jù)集。對于這個用例,旋轉(zhuǎn)和飽和是模擬真實世界場景的好方法。很酷的是,roboflow 在預處理步驟中更新注釋。我的最終數(shù)據(jù)集包含大約 800 張披薩圖像,慢慢地我餓了…… 需要將預處理的數(shù)據(jù)集導出到 Pascal VOC(Xilinx DPU 編譯)和 Yolo 數(shù)據(jù)集(用于訓練)。生成多種輸出格式的可能性是 roboflow 的另一個重要功能。
  • 網(wǎng)絡訓練:YOLO 網(wǎng)絡是用darknet訓練的對于訓練,使用了Google Colab GPU 筆記本培訓筆記本可在我的 GitHub 存儲庫中找到。我在我的 Colab 筆記本中添加了對 yolov2-tiny、yolov3-tiny 和 yolov4-tiny 訓練的支持。訓練后,您可以比較不同的網(wǎng)絡及其輸出。用于該項目的預訓練網(wǎng)絡可在我的 GitHub 存儲庫中獲得。
  • Darknet to Caffe convert:要將 Yolo 網(wǎng)絡與 Xilinx DPU 一起使用,必須將網(wǎng)絡轉(zhuǎn)換為 Caffe 格式。這一步很棘手。幾乎沒有關于如何將暗網(wǎng)輸出轉(zhuǎn)換為與 Xilinx Vitis ai 編譯器兼容的 Caffe 模型的文檔。Xilinx 在Vitis-Ai存儲庫中提供了 xilinx-caffe 版本我構(gòu)建了一個docker 容器,它構(gòu)建了 xilinx-caffe 版本,該容器能夠?qū)稻W(wǎng)模型轉(zhuǎn)換為 caffe 模型。要轉(zhuǎn)換暗網(wǎng)模型(*cfg 和 *weights),請使用convert.py腳本,該腳本位于Vitis-AI/AI-Model-Zoo/caffe-xilinx/scripts/如果一切正常,您將獲得一個 *.prototxt 和一個 *.caffe 模型
  • 編譯DPU elf:最后一步,DPU elf文件的量化和編譯需要一些準備。需要一個 Vivado 硬件項目,其中包括 DPU IP、Pascal 驗證數(shù)據(jù)集、Caffe 網(wǎng)絡和 Vitis-AI docker 容器。這僅對 Ultra96-V2 板 DPU 上的 Yolo 網(wǎng)絡有效,對于其他網(wǎng)絡類型,要求可能有所不同。需要在 Vitis Ai docker 容器內(nèi)執(zhí)行以下步驟。但在我們能夠編譯模型之前,我們必須更改 *.prototxt 文件的第一個“層”。請參閱項目 GitHub RepoXilinx 教程。 量化步驟需要有效的網(wǎng)絡輸入數(shù)據(jù)。為了讓第一層的圖像加載器運行起來,我們需要 ms coco 數(shù)據(jù)集格式的圖像。幸運的是,roboflow 可以以 coco 格式導出數(shù)據(jù)集(參見“數(shù)據(jù)增強”步驟)。對于量化,可以使用來自 roboflow 的測試圖像。Roboflow 自動將數(shù)據(jù)集拆分為測試、訓練和有效部分。完整的編譯代碼、測試圖像和 DPU 配置是我 repo 的一部分。除了網(wǎng)絡層適配之外,DPU 編譯器還需要一些有關 DPU 的信息,這些信息在硬件設計中實現(xiàn)。配置存儲在 JSON 文件中。JSON 文件分為兩部分,一是 CPU 架構(gòu)和 DPU 類型,另一部分是 DPU 配置(Cores、Softmax 等)。這個 JSON 文件可以使用 DELT 工具生成。DELT 工具將 *.hwh 文件轉(zhuǎn)換為 JSON 文件,可用于編譯。有關更多信息,請參閱此賽靈思論壇帖子我的自定義 JSON 文件是我的repo的一部分如果你準備好了一切,你就可以量化和編譯 DPU 精靈了。從您的自定義網(wǎng)絡。如果一切成功,就會生成dpu.elf文件。該文件可以使用 PYNQ-DPU python 框架加載。

切片程序

最后一部分解釋了 Pizza Slicer 代碼。該程序是用python3編寫的,并使用jupyter notebook來控制程序。源代碼

前三個單元格涵蓋了所有 Python 導入和 FPGA/DPU 文件加載。

pYYBAGN1Hg-AYtEWAAFSU9ME240037.png
Python 導入、FPGA bin 和 DPU 文件加載
?

生成切片蒙版。找到最佳角度的問題以幾何方式解決。我使用了 180 個蒙版,將 320 x 320 的圖像分成兩部分。注釋代碼,啟用繪制切片 mak 的 matplotlib 圖。

poYBAGN1HhKAUTVBAAFTr5_Rza8773.png
生成切片蒙版
?

為 Yolov3 網(wǎng)絡加載錨點。Yolov3 使用一組固定的錨點來生成邊界框。這些錨點用于評估函數(shù)。

pYYBAGN1HhWAE-I1AADfqsQYTk0897.png
yolov3 主播
?

評估函數(shù)將 Yolov3 輸出轉(zhuǎn)換為框、類和分數(shù)。這是必需的,因為所有其他步驟都需要邊界框格式的輸出。

poYBAGN1HhiAKDd4AAIDXfeLX-I038.png
評價功能
?

用于相機輸入和投影儀輸出的 HDMI 設置。該代碼與 PYNQ HDMI 接口兼容。此時可以設置自定義輸入/輸出。

poYBAGN1HhuAYy7VAADg6QhzepI330.png
輸入/輸出設置
?

第一步中裁剪來自相機的輸入圖像,以選擇感興趣區(qū)域 (ROI)。我的 GoPro 攝像機輸出 720p 圖像,因此 ROI 設置為 440 x 440 像素,裁剪是在軟件中完成的。如果您的相機沒有固定在投影儀上,并且需要進行一些調(diào)整以使比薩餅適合 ROI 中間,這將非常有用。ROI 圖像數(shù)據(jù)被傳輸?shù)?FPGA 圖像縮放器,數(shù)據(jù)傳輸由一些 DMA 任務完成。為了啟用從 python 內(nèi)存到 PL 內(nèi)存的數(shù)據(jù)傳輸,使用了 pynq.buffer。PL 圖像縮放器的輸出用作 DPU 輸入。PL resizer 的源代碼來自這個PYNQ-Helloworld GitHub repo. PL resizer 可以處理自定義輸入/輸出圖像,輸入/輸出圖像的設置可以通過寄存器進行設置。必須設置四個寄存器值: 0x10:輸入圖像高度;0x18 輸入圖像寬度;0x20 輸出圖像高度;0x28 輸出圖像寬度

pYYBAGN1Hh6AYVgZAAIF_-7frdQ566.png
圖像捕捉、裁剪和調(diào)整大小
?

DPU init 和 DPU Task 啟動。評估函數(shù)將原始 Yolov3 網(wǎng)絡輸出轉(zhuǎn)換為邊界框格式。

poYBAGN1HiKAYBxNAAJ4WRgS7nY286.png
DPU 初始化和評估
?

評估函數(shù)的輸出被傳遞到排序過程。重復的比薩檢測被刪除,只使用比薩的最高置信度。如果置信度高于 0.5,則使用 Pepperoni 檢測。

pYYBAGN1HiWAEOCoAAFB_9-KNGQ399.png
重新排序原始的 Yolo 輸出
?

基于排序過程,在 320 x320 uint8 數(shù)組中繪制了一個虛擬披薩。邊界框坐標用于在邊界框內(nèi)繪制一個橢圓。橢圓的內(nèi)部用 1 填充,外部用 0 填充。每個意大利辣香腸近似值都添加到 320 x 320 基本數(shù)組中。基本數(shù)組元素是一個披薩邊界框近似。披薩基數(shù)組之外的意大利辣香腸檢測將被忽略。結(jié)果是一個意大利辣香腸熱圖。

poYBAGN1HieAXtPVAAEtHj95q-o867.png
生成意大利辣香腸熱圖
?

意大利辣香腸熱圖,覆蓋意大利辣香腸切片也被模擬(較亮的區(qū)域)。這就是為什么使用對象檢測網(wǎng)絡而不是分割網(wǎng)絡的原因之一。使用目標檢測網(wǎng)絡和橢圓區(qū)域近似覆蓋意大利辣香腸可以進行模擬。

pYYBAGN1HiqADkdEAAHFt3NxxFs263.png
意大利辣香腸熱圖與輸入圖像
?

3D 意大利辣香腸熱圖,重疊的意大利辣香腸區(qū)域被繪制為尖峰。該圖非常清楚地顯示了在橢圓區(qū)域近似和層添加之后如何組合熱圖數(shù)據(jù)。

poYBAGN1Hi2ANAVdAAGgfxVxGBg791.png
3D 近似熱圖
?

在計算意大利辣香腸熱圖后,必須定義最佳切割角度。這個問題是通過對意大利辣香腸熱圖應用蒙版來解決的。掩碼將熱圖值的一半設置為零。應用掩碼后,所有元素都被匯總。該值與原始意大利辣香腸熱圖中的所有元素的一半進行比較。二分搜索算法試圖最小化從掩碼總和到半熱圖總和的差異。我使用了我們只需要從 0 到 180 度搜索的事實,因為掩碼圍繞數(shù)組的中心旋轉(zhuǎn)。這種搜索非常有效,并且極大地減少了計算次數(shù)。

pYYBAGN1HjGAI8GPAAKQfN34lb4339.png
二分查找最佳切割角度
?

3D 最佳切割角度的可視化

poYBAGN1HjOAeKsiAAG8_JRhfCk583.png
3D 披薩切片
?

在最后一步中,計算“Cut Here”的輸出圖像和切割箭頭。

pYYBAGN1HjaAUrMmAAD5arm7sQ8364.png
輸出圖像計算
?

設置

pYYBAGN1HjuAVEPtAAncX2znGow074.jpg
帶鏡子和 GoPro 攝像頭的 Bottum Up 投影儀
?
poYBAGN1HkCAdpRjAAZGT0nCOmo868.jpg
帶鏡子和 GoPro 攝像頭的 Top Down 投影儀
?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 99国产在线观看| 无码中文字幕热热久久| 俄罗斯人与动ZOZ0| 特级aa 毛片免费观看| 国产手机在线视频| 野花韩国视频中文播放| 老师掀开短裙让我挺进动态| 97无码欧美熟妇人妻蜜| 青娱乐极品视觉盛宴国产视频| 第一次破女视频出血视频| 午夜福利理论片在线播放| 寂寞夜晚看免费视频| 879影视动漫h免费观看| 日本wwwxx爽69护士| 国产色婷亚洲99精品AV| 御姐被吸奶| 青青视频国产依人在线| 国产午夜福利片| 真人裸交有声性动态图| 祺鑫WRITEAS流出来了| 国产精品亚洲电影久久成人影院| 亚洲日韩一区精品射精| 蜜芽无码亚洲资源网站| 东北疯狂xxxxbbbb中国| 亚洲精品久久国产高清| 男人吃奶摸下弄进去好爽| 古代荡乳尤物H妓女调教| 亚洲日本在线不卡二区| 男女午夜性爽快免费视频不卡 | 韩国黄色影院| 最近中文字幕免费高清MV视频| 欧美又粗又大AAAA片| 国产午夜福利片| 97成人碰碰在线人妻少妇| 视频成人永久免费视频| 精品国产免费人成视频| A级超碰视频在线观看| 王小军怎么了最新消息| 狂躁美女BBBBBB视频| 儿子好妈妈的HD3中字抢劫| 野花韩国中文版免费观看|