概述
此項目解釋了如何在FPGA上使用resizer IP來調(diào)整圖像的大小。其中對比了兩種圖像大小調(diào)整的解決方案的運算速度,其中之一為使用Python Image Library通過軟件算法實現(xiàn)圖像大小調(diào)整,另一種使用Xilinx xfopencv library實現(xiàn)了在FPGA上硬件加速的圖像大小調(diào)整。
初始化
1. 首先在SD卡內(nèi)配置Pynq-Z2最新鏡像PYNQ image v2.5并燒錄在其中
2. 根據(jù)pynq.io上的官方指南配置環(huán)境
(https://pynq.readthedocs.io/en/latest/getting_started/pynq_z2_setup.html)
根據(jù)數(shù)字編號依次連接并點亮板卡,最后在板卡出現(xiàn)BTN0~BTN3同時點亮閃爍一次后為開機完成狀態(tài)。
3. 在筆記本電腦上配置網(wǎng)絡(luò),使得無線網(wǎng)卡的上網(wǎng)功能與Pynq-Z2連接的以太網(wǎng)網(wǎng)口共享,以做到Pynq-Z2同時能夠上網(wǎng)。
4. 借用Xshell或者開源軟件PuTTY對于Pynq-Z2端口進行SSH獲得其新ip口,此時其一般會被重定向至192.168.137.X。此時在瀏覽器內(nèi)登錄此ip即可通過Jupyter Notebook與Pynq-Z2板卡通信。
5. 在Jupyter Notebook中新建terminal并ping 182.61.200.6驗證與百度的連接是否正常上述驗證完成后即為Pynq-Z2板卡與網(wǎng)絡(luò)的基礎(chǔ)通信功能與配置完成。
快速開始
在Jupyter Notebook的Terminal中輸入以下指令:
sudo pip3 install --upgrade git+
https://github.com/xilinx/pynq-helloworld.git
更新在Pynq-Z2內(nèi)所有Packages并從github下載本次項目的代碼。
(更新需要耐心等待一定時間。)
(項目Github文件及其詳細代碼請點擊查看原文)
案例測試
1. 最終會在Files文件夾下生成名為helloworld/的文件夾,點開此文件夾可以看到兩個Jupyter Notebook文件(.ipynb)。
2. 其中resizer_PS.ipynb的軟件方案采用了Python內(nèi)建的Python Imaging Library通過軟件上的算法實現(xiàn)完成對于一張640*360的sample圖像壓縮為原圖像的四分之一大小(320*180)。此軟件方案通過PIL庫加載與重置圖像的大小,用numpy庫存儲圖像的像素矩陣,用IPython.display在Jupyter notebook中顯示圖像。
3. 而resizer_PL.ipynb的FPGA硬件方案并沒有直接在ARM核中單純采用算法借用Python本地的內(nèi)存進行運算后直接返回。而是先將圖片數(shù)據(jù)通過ARM核從SD卡中讀入,再以數(shù)據(jù)流的形式通過Python的本地內(nèi)存的DRAM形式傳入共享的物理內(nèi)存中。
接下來通過AXI的內(nèi)部連接將PS層面的數(shù)據(jù)傳入PL層的可編輯邏輯單元,通過 Xilinx xfopencv library在DMA與Resize IP之間的運算最后將數(shù)據(jù)傳回ARM核至SD卡。
最后,在縮小圖片的演示最后我們可以看到PS方案得到的最快單次圖像處理為24.1ms,而在PL方案中最快單次圖像處理僅僅為8.95ms,在此實際圖像案例上處理圖像的時間效率上縮小了接近2.7倍。如果放至更多張更高像素的圖片,相信此圖像處理方案會有著較大優(yōu)勢。
-
FPGA
+關(guān)注
關(guān)注
1645文章
22050瀏覽量
618596 -
圖像處理
+關(guān)注
關(guān)注
27文章
1329瀏覽量
58063 -
Xilinx
+關(guān)注
關(guān)注
73文章
2185瀏覽量
125374 -
python
+關(guān)注
關(guān)注
56文章
4827瀏覽量
86772
發(fā)布評論請先 登錄
當(dāng)我問DeepSeek AI爆發(fā)時代的FPGA是否重要?答案是......
數(shù)據(jù)中心中的FPGA硬件加速器

FPGA在AI方面有哪些應(yīng)用
基于FPGA實現(xiàn)圖像直方圖設(shè)計

基于Xilinx XCKU115的半高PCIe x8 硬件加速卡

FPGA技術(shù)對5G通信的影響
FPGA加速深度學(xué)習(xí)模型的案例
FPGA在圖像處理領(lǐng)域的優(yōu)勢有哪些?
基于 DSP5509 進行數(shù)字圖像處理中 Sobel 算子邊緣檢測的硬件連接電路圖
TDA4VM上的硬件加速運動恢復(fù)結(jié)構(gòu)算法

AM62A SoC通過硬件加速視覺處理改進條形碼讀取器

適用于數(shù)據(jù)中心應(yīng)用中的硬件加速器的直流/直流轉(zhuǎn)換器解決方案

圖形圖像硬件加速器卡設(shè)計原理圖:270-VC709E 基于FMC接口的Virtex7 XC7VX690T PCIeX8 接口卡

評論