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

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

3天内不再提示

基于FPGA并行计算的图像处理案例

454398 来源:PYNQ开源社区 作者:PYNQ开源社区 2020-11-04 12:07 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

图像处理算法在各种场景中都有广泛应用,借助于FPGA并行计算的优势可以将算法性能有效提升,但为了提升系统整体性能,仅仅提升某一部分的性能是不够的,一个好的方法是在FPGA内实现全部视频输入输出接口和图像算法的完整通路。本Overlay的视频输入来自OV5640摄像头,包含多个可任意切换的图像处理算法,并包含了一个HDMI输出接口显示处理结果。

图像处理算法在各种场景中都有广泛应用,借助于FPGA并行计算的优势可以将算法性能有效提升,但为了提升系统整体性能,仅仅提升某一部分的性能是不够的,一个好的方法是在FPGA内实现全部视频输入输出接口和图像算法的完整通路。本Overlay的视频输入来自OV5640摄像头,包含多个可任意切换的图像处理算法,并包含了一个HDMI输出接口显示处理结果。

设备清单
- PYNQ-Z2套件
- OV5640 Camera Board
(如Waveshare OV5640或者其它兼容版本)
- PMOD-Camera adapter
- HDMI monitor

系统架构

算法列表
Overlay中实现了多个图像处理算法,在HLS中实现并封装为IP后在Block Design中被调用,读者如有兴趣可以在Github的/boards/src/ip/目录获取源代码。

1) rgb2hsv
2) subsample
3) equalizehist
4) gaussianBlur
5) sobel
6) canny
7) dilation
8) erosion

快速开始
环境需求PYNQ v2.4,在PYNQ-Z2板卡联网并启动后在终端中运行如下代码安装Overlay到本地:
# (on PYNQ v2.4 only)

sudo pip3 install --upgrade git+https://github.com/xupsh/Pynq-CV-OV5640.git

案例演示

Notebook名称:pynq4cv.ipynb

在Overlay中例化了一个I2C接口来对OV5640进行配置,我们可以在Jupyter Notebook上通过Python对摄像头进行初始化,也可以通过改动ov5640_config.py文件的内容来修改配置。

接下来,我们对Overlay中实现的图像处理算法进行配置。

配置完成后,还需要选择使能Overlay中的某一个算法来对从OV5640获取的图像进行处理,默认不经过任何图像处理算法,从OV摄像头获取的图像直接在HDMI显示器上显示。

我们也可以抓取OV5640拍摄的图片并在Jupyter Notebook上显示。

接下来,我们可以使能不同的图像处理算法,通过观察HDMI显示器的输出,观察不同算法的处理结果。

在运行完毕后,记得关闭VDMA,以防止运行其它Overlay时报错。

总结与展望
本案例在PL内实现了一个完整的视频通路,对图像数据直接进行硬件加速处理。相比于USB摄像头减少了图像数据从PS到PL拷贝和回传的负载,提高了系统的性能同时极大降低了图像处理的延时
编辑:hfy

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

    关注

    1656

    文章

    22298

    浏览量

    630462
  • 图像处理
    +关注

    关注

    28

    文章

    1340

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为啥 AI 计算速度这么惊人?—— 聊聊 GPU、内存与并行计算

    提到AI,大家常说它“算得快”,其实是指AI能在眨眼间处理海量数据。可它为啥有这本事?答案就藏在“GPU+高速内存+并行计算”这trio(组合)里。咱们可以把AI要处理的数据,想象成一大堆“小任务
    的头像 发表于 12-05 14:35 301次阅读
    为啥 AI <b class='flag-5'>计算</b>速度这么惊人?—— 聊聊 GPU、内存与<b class='flag-5'>并行计算</b>

    一文看懂AI大模型的并行训练方式(DP、PP、TP、EP)

    大家都知道,AI计算(尤其是模型训练和推理),主要以并行计算为主。AI计算中涉及到的很多具体算法(例如矩阵相乘、卷积、循环层、梯度运算等),都需要基于成千上万的GPU,以并行任务的方式
    的头像 发表于 11-28 08:33 967次阅读
    一文看懂AI大模型的<b class='flag-5'>并行</b>训练方式(DP、PP、TP、EP)

    MarketsandMarkets FPGA行业报告,2026~2030 FPGA市场洞察

    ,Field-Programmable Gate Array)是一种高度灵活、可重构的集成电路。与传统 ASIC 不同,FPGA 制造完成后仍可以在终端重新编程,在 高性能并行计算、实时信号处理、通信加速 等领域具有独特优势。
    的头像 发表于 11-20 13:20 155次阅读
    MarketsandMarkets <b class='flag-5'>FPGA</b>行业报告,2026~2030 <b class='flag-5'>FPGA</b>市场洞察

    神经网络的并行计算与加速技术

    问题。因此,并行计算与加速技术在神经网络研究和应用中变得至关重要,它们能够显著提升神经网络的性能和效率,满足实际应用中对快速响应和大规模数据处理的需求。神经网络并行
    的头像 发表于 09-17 13:31 893次阅读
    神经网络的<b class='flag-5'>并行计算</b>与加速技术

    从自然仿真到智能调度——GPU并行计算的多场景突破

    我们正在参加全球电子成就奖的评选,欢迎大家帮我们投票~~~谢谢支持随着复杂计算问题的不断涌现,传统的CPU串行计算处理大规模数据与高并发任务时逐渐显露瓶颈。GPU(图形处理单元)凭借
    的头像 发表于 09-03 10:32 589次阅读
    从自然仿真到智能调度——GPU<b class='flag-5'>并行计算</b>的多场景突破

    友思特方案 | FPGA 加持,友思特图像采集卡高速预处理助力视觉系统运行提速增效

    图像处理图像处理关键中间环节,通过优化传感器到主机的数据传输处理为后续减负。其算法依托硬件执行,搭载 
    的头像 发表于 08-20 09:18 605次阅读
    友思特方案 | <b class='flag-5'>FPGA</b> 加持,友思特<b class='flag-5'>图像</b>采集卡高速预<b class='flag-5'>处理</b>助力视觉系统运行提速增效

    Kintex UltraScale 纯 FPGA 开发平台,释放高速并行计算潜能,高性价比的 FPGA 解决方案

    璞致电子PZ-KU060-KFB开发板采用Xilinx Kintex UltraScale KU060芯片,提供高密度并行计算能力,配备4GB DDR4内存、20对GTH高速收发器和多种扩展接口
    的头像 发表于 08-18 13:28 511次阅读
    Kintex UltraScale 纯 <b class='flag-5'>FPGA</b> 开发平台,释放高速<b class='flag-5'>并行计算</b>潜能,高性价比的 <b class='flag-5'>FPGA</b> 解决方案

    FPGA 加持,友思特图像采集卡高速预处理助力视觉系统运行提速增效

    图像处理图像处理关键环节,可优化数据传输、减轻主机负担,其算法可在FPGA等硬件上执行。友思特FPG
    的头像 发表于 08-13 17:41 803次阅读
    <b class='flag-5'>FPGA</b> 加持,友思特<b class='flag-5'>图像</b>采集卡高速预<b class='flag-5'>处理</b>助力视觉系统运行提速增效

    AI芯片:加速人工智能计算的专用硬件引擎

    人工智能(AI)的快速发展离不开高性能计算硬件的支持,而传统CPU由于架构限制,难以高效处理AI任务中的大规模并行计算需求。因此,专为AI优化的芯片应运而生,成为推动深度学习、计算机视
    的头像 发表于 07-09 15:59 937次阅读

    边缘AI广泛应用推动并行计算崛起及创新GPU渗透率快速提升

    是时候重新教育整个生态了。边缘AI的未来不属于那些高度优化但功能狭窄的芯片,而是属于可编程的、可适配的并行计算平台,它们能与智能软件共同成长并扩展。
    的头像 发表于 06-11 14:57 492次阅读

    读懂极易并行计算:定义、挑战与解决方案

    GPU经常与人工智能同时提及,其中一个重要原因在于AI与3D图形处理本质上属于同一类问题——它们都适用极易并行计算。什么是极易并行计算?极易并行计算指的是符合以下特征的
    的头像 发表于 04-17 09:11 662次阅读
    读懂极易<b class='flag-5'>并行计算</b>:定义、挑战与解决方案

    芯有灵犀智创未来,基于中科亿海微FPGA实现图像处理系统及应用——第九届集创赛中科亿海微杯赛题解析

    进行定制化配置。中科亿海微FPGA图像处理系统具有并行计算能力和可重构特性,在实时图像处理领域
    的头像 发表于 02-21 17:26 1951次阅读
    芯有灵犀智创未来,基于中科亿海微<b class='flag-5'>FPGA</b>实现<b class='flag-5'>图像</b><b class='flag-5'>处理</b>系统及应用——第九届集创赛中科亿海微杯赛题解析

    FPGA图像处理基础----实现缓存卷积窗口

    像素行与像素窗口 一幅图像是由一个个像素点构成的,对于一幅480*272大小的图片来说,其宽度是480,高度是272。在使用FPGA进行图像处理时,最关键的就是使用
    的头像 发表于 02-07 10:43 1435次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>图像</b><b class='flag-5'>处理</b>基础----实现缓存卷积窗口

    解析DeepSeek MoE并行计算优化策略

    本期Kiwi Talks将从集群Scale Up互联的需求出发,解析DeepSeek在张量并行及MoE专家并行方面采用的优化策略。DeepSeek大模型的工程优化以及国产AI 产业链的开源与快速部署预示着国产AI网络自主自控将大有可为。
    的头像 发表于 02-07 09:20 2717次阅读
    解析DeepSeek MoE<b class='flag-5'>并行计算</b>优化策略

    xgboost的并行计算原理

    在大数据时代,机器学习算法需要处理的数据量日益增长。为了提高数据处理的效率,许多算法都开始支持并行计算。XGBoost作为一种高效的梯度提升树算法,其并行计算能力是其受欢迎的原因
    的头像 发表于 01-19 11:17 1589次阅读