0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA硬件加速的图像大小调整案例分析

电子设计 来源:PYNQ开源社区 作者:PYNQ开源社区 2020-11-19 15:29 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

概述

此项目解释了如何在FPGA上使用resizer IP来调整图像的大小。其中对比了两种图像大小调整的解决方案的运算速度,其中之一为使用Python Image Library通过软件算法实现图像大小调整,另一种使用Xilinx xfopencv library实现了在FPGA上硬件加速的图像大小调整。

初始化

1. 首先在SD卡内配置Pynq-Z2最新镜像PYNQ image v2.5并烧录在其中

2. 根据pynq.io上的官方指南配置环境

https://pynq.readthedocs.io/en/latest/getting_started/pynq_z2_setup.html)


根据数字编号依次连接并点亮板卡,最后在板卡出现BTN0~BTN3同时点亮闪烁一次后为开机完成状态。

3. 在笔记本电脑上配置网络,使得无线网卡的上网功能与Pynq-Z2连接的以太网网口共享,以做到Pynq-Z2同时能够上网。

4. 借用Xshell或者开源软件PuTTY对于Pynq-Z2端口进行SSH获得其新ip口,此时其一般会被重定向至192.168.137.X。此时在浏览器内登录此ip即可通过Jupyter Notebook与Pynq-Z2板卡通信

5. 在Jupyter Notebook中新建terminal并ping 182.61.200.6验证与百度的连接是否正常上述验证完成后即为Pynq-Z2板卡与网络的基础通信功能与配置完成。

快速开始

在Jupyter Notebook的Terminal中输入以下指令:

sudo pip3 install --upgrade git+

https://github.com/xilinx/pynq-helloworld.git

更新在Pynq-Z2内所有Packages并从github下载本次项目的代码。

(更新需要耐心等待一定时间。)

(项目Github文件及其详细代码请点击查看原文)

案例测试

1. 最终会在Files文件夹下生成名为helloworld/的文件夹,点开此文件夹可以看到两个Jupyter Notebook文件(.ipynb)。

2. 其中resizer_PS.ipynb的软件方案采用了Python内建的Python Imaging Library通过软件上的算法实现完成对于一张640*360的sample图像压缩为原图像的四分之一大小(320*180)。此软件方案通过PIL库加载与重置图像的大小,用numpy库存储图像的像素矩阵,用IPython.display在Jupyter notebook中显示图像。


3. 而resizer_PL.ipynb的FPGA硬件方案并没有直接在ARM核中单纯采用算法借用Python本地的内存进行运算后直接返回。而是先将图片数据通过ARM核从SD卡中读入,再以数据流的形式通过Python的本地内存的DRAM形式传入共享的物理内存中。



接下来通过AXI的内部连接将PS层面的数据传入PL层的可编辑逻辑单元,通过 Xilinx xfopencv library在DMA与Resize IP之间的运算最后将数据传回ARM核至SD卡。



最后,在缩小图片的演示最后我们可以看到PS方案得到的最快单次图像处理为24.1ms,而在PL方案中最快单次图像处理仅仅为8.95ms,在此实际图像案例上处理图像的时间效率上缩小了接近2.7倍。如果放至更多张更高像素的图片,相信此图像处理方案会有着较大优势。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1664

    文章

    22537

    浏览量

    640181
  • 图像处理
    +关注

    关注

    29

    文章

    1352

    浏览量

    59749
  • Xilinx
    +关注

    关注

    73

    文章

    2208

    浏览量

    132086
  • python
    +关注

    关注

    59

    文章

    4891

    浏览量

    90371
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于米尔安路飞龙派 MYD-YM90X开发板多功能智能车系统开发

    ; vsync_right; endmoduleFPGA 深度图生成(SGM 立体匹配,硬件加速),实现图像采集、畸变校正、立体匹配、深度图生成的全链路硬件化,端到端延迟 <
    发表于 04-25 16:23

    新思科技2026 HAV硬件加速验证技术开放日深圳站圆满落幕

    4 月 2 日,新思科技 2026 硬件加速验证(HAV)技术开放日在深圳湾畔盛大举行。作为新思科技 HAV 技术开放日全国巡回活动的首站,本次活动汇聚了来自新思科技总部及中国技术团队的顶尖专家
    的头像 发表于 04-14 11:37 354次阅读

    综合图像处理硬件平台设计资料:2-基于6U VPX的双TMS320C6678+Xilinx FPGA K7 XC7K420T的图像信号处理板

    FPGA光纤, XCVU9P板卡, 高速图像采集, 基带信号处理, 加速计算卡, 无线仿真平台, 图像信号处理板
    的头像 发表于 03-30 14:39 186次阅读
    综合<b class='flag-5'>图像</b>处理<b class='flag-5'>硬件</b>平台设计资料:2-基于6U VPX的双TMS320C6678+Xilinx <b class='flag-5'>FPGA</b> K7 XC7K420T的<b class='flag-5'>图像</b>信号处理板

    FPGA硬件加速卡设计原理图:1-基于Xilinx XCKU115的半高PCIe x8 硬件加速卡 PCIe半高 XCKU115-3-FLVF1924-E芯片

    FPGA硬件加速, PCIe半高卡, XCKU115, 光纤采集卡, 信号计算板, 硬件加速
    的头像 发表于 02-12 09:52 615次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>硬件加速</b>卡设计原理图:1-基于Xilinx XCKU115的半高PCIe x8 <b class='flag-5'>硬件加速</b>卡 PCIe半高 XCKU115-3-FLVF1924-E芯片

    FPGA和GPU加速的视觉SLAM系统中特征检测器研究

    特征检测是SLAM系统中常见但耗时的模块,随着SLAM技术日益广泛应用于无人机等功耗受限平台,其效率优化尤为重要。本文首次针对视觉SLAM流程开展硬件加速特征检测器的对比研究,通过对比现代SoC平台
    的头像 发表于 10-31 09:30 913次阅读
    <b class='flag-5'>FPGA</b>和GPU<b class='flag-5'>加速</b>的视觉SLAM系统中特征检测器研究

    常用硬件加速的方法

    之前总结了一些常用硬件加速方法 1)面积换速度:也就是串转并运算,可以多个模块同时计算; 2)时间换空间:时序收敛下通过频率提高性能,虽然面积可能稍微加大点; 3)流水线操作:流水线以面积换性能,以
    发表于 10-29 06:20

    硬件加速模块的时钟设计

    硬件加速模块需要四个时钟,分别为clk_l , clk_r , clk_c , clk_n 。 clk_l : 整个硬件加速模块为了最大化的节约时间成本而采用了类似处理器的流水线设计,具体上将每一层
    发表于 10-23 07:28

    睿擎SDK V1.5.0重磅升级:EtherCAT低抖动,AMP虚拟网卡,LVGL硬件加速,多核调试等性能大幅提升|产品动态

    )。AMP模式下虚拟网卡驱动支持,双系统通信更加便利,更完善的Perfetto多核性能调试工具,AIUVC人脸识别示例,优化LVGL支持硬件加速等。并提供对应的教
    的头像 发表于 09-29 17:36 1.1w次阅读
    睿擎SDK V1.5.0重磅升级:EtherCAT低抖动,AMP虚拟网卡,LVGL<b class='flag-5'>硬件加速</b>,多核调试等性能大幅提升|产品动态

    FAQ_MA35D1如何将 SD 卡大小调整为最大?

    FAQ_MA35D1 将 SD 卡大小调整为最大
    发表于 09-03 06:13

    如何验证硬件加速是否真正提升了通信协议的安全性?

    验证硬件加速是否真正提升通信协议的安全性,需从 安全功能正确性、抗攻击能力增强、安全性能适配、合规一致性 等核心维度展开,结合实验室测试与真实场景验证,避免 “硬件参与即安全提升” 的表面判断。以下
    的头像 发表于 08-27 10:16 1402次阅读
    如何验证<b class='flag-5'>硬件加速</b>是否真正提升了通信协议的安全性?

    有哪些方法可以确保硬件加速与通信协议的兼容性?

      确保硬件加速与通信协议的兼容性,核心是从 硬件选型、协议标准匹配、软硬件接口适配、全场景测试验证 四个维度建立闭环,避免因硬件功能缺失、接口不兼容或协议特性支持不全导致的性能损耗、
    的头像 发表于 08-27 10:07 1416次阅读

    如何利用硬件加速提升通信协议的安全性?

    产品实拍图 利用硬件加速提升通信协议安全性,核心是通过 专用硬件模块或可编程硬件 ,承接软件层面难以高效处理的安全关键操作(如加密解密、认证、密钥管理等),在提升性能的同时,通过硬件
    的头像 发表于 08-27 09:59 1238次阅读
    如何利用<b class='flag-5'>硬件加速</b>提升通信协议的安全性?

    【米尔MYC-YM90X安路飞龙DR1开发板】HMI人机界面开发

    运行、人机交互、高层协议处理等。 FPGA 逻辑:负责实时信号处理、硬件加速(如 AI 推理、图像处理)、自定义接口适配、高速数据采集等。 接口定义:规划处理器与 FPGA 的通信方
    发表于 08-14 21:26

    大模型推理显存和计算量估计方法研究

    GPU、FPGA硬件加速。通过分析硬件加速器的性能参数,可以估算模型在硬件加速下的计算量。 四、实验与
    发表于 07-03 19:43

    推动硬件辅助验证平台增长的关键因素

    硬件加速和基于FPGA的原型设计诞生于1980年代中期,开发者将当时初露头角的现场可编程门阵列(FPGA)率先应用于硅前设计的原型验证,由此催生了一种全新的验证工具,打破了软件仿真的主导局面。
    的头像 发表于 06-11 14:42 1126次阅读
    推动<b class='flag-5'>硬件</b>辅助验证平台增长的关键因素