基于FPGA的图像处理框架设计

2019-08-26 01:35袁柳高阳阳张睿李勐
数字技术与应用 2019年5期
关键词:图像处理

袁柳 高阳阳 张睿 李勐

摘要:针对图像处理应用特点,提出一种基于NetFPGA开发平台的图像处理框架。图像处理框架由软核、UART模块、BRAM模块、VDMA模块和图像处理模块组成,提供统一图像处理IP核接口。测试表明,该框架可以高效实现SIFT特征提取典型图像处理应用。

关键词:FPGA;VDMA;图像处理;软核

中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2019)05-0147-02

随着大数据和人工智能行业发展,图像处理应用的数据量、运算量逐渐增大,传统的CPU架构无法满足图像处理数据密集型计算需要,需要GPU、FPGA等异构计算方案。由于FPGA功耗低、硬件可编程、并行性高、适合嵌入式场合等特点,越来越多被应用到图像处理场合[1-3]。但是FPGA平台存在开发难度大,缺乏统一框架等问题。本文基于NetFPGA开发平台,设计并实现了一种基于VDMA的图像处理框架,该框架可以提供统一的图像处理IP核接口,便于下一步开发和代码移植。

1 图像处理框架组成

基于VDMA的图像处理框架的系统框图如图1所示。本系统主要由软核、BRAM模块、VDMA模块和图像处理模块、UART模块组成,集成于FPGA中。其中:

MicroBlaze软核为嵌入在FPGA中的RISC处理器软核,具备处理速度快、可配置等特点,负责控制其他模块完成各项功能;BRAM模块提供可配置的存储缓存功能,支持读写同步操作,用于缓存输入图像和图像处理结果;VDMA模块基于FPGA的IP核实现,拥有2个DMA通道,为AXI4格式的图像视频数据流提供高速数据传输通道,用于完成BRAM和图像处理模块间的数据传输;图像处理模块设计统一的IP核接口,内部为图像处理应用的逻辑实现,用于完成核心的图像处理功能;UART模块用于将FPGA的图像处理结果发送给PC端。

在进行图像处理应用执行时,主要通过如下步骤完成基于FPGA的图像处理过程。首先将输入图像以数组的形式存储在软核的堆栈中;在应用程序启动后,通过软核将输入图像数据缓存到BRAM中;再通过VDMA的读通道读出输入图像数据并将其发送至图像处理模块;图像处理模块调用统一的图像处理IP核硬件接口完成图像处理应用执行;然后通过VDMA的写通道接收图像处理模块的输出结果并缓存到BRAM中;最后通过软核从BRAM中读出处理结果并通过UART串口发送给PC端。

2 图像处理模块

圖像处理模块IP核的硬件接口如图2所示,不同的图像处理应用均可以使用统一的硬件接口。其中包括:输入图像数据接口,输出图像数据接口,控制接口和中断信号接口。输入图像数据接口输入Axi4格式的图像数据流,图像数据流格式统一定义为:数据流位宽支持8/16/32位,数据行数为图像高度,列数为图像宽度。输出图像数据接口输出处理后的数据流,数据流格式被统一定义为:数据流宽度为8/16/32位,可以为输出图像数据,也可以是输出的图像处理标签、准确度结果等非图像数据,在输出非图像数据的情况下,数据流行数和列数由用户定义。控制接口用于在软核中控制图像处理模块,包括启动、使能中断、给参数赋值等。

3 系统测试

本文的测试系统基于NetFPGA SUME开发平台实现,该开发平台集成一块高性能Xilinx Virtex-7 XC7V690T FPGA,支持图像数据应用数据的存储和高性能处理。本文基于NetFPGA SUME平台,在CPU端安装Ubuntu操作系统及FPGA驱动,利用Vivado HLS和Vivado 2018.2 完成FPGA端的开发工作。

在NetFPGA平台的基础上,本文以尺度不变特征转换SIFT特征提取算法为例,验证图像处理框架的有效性和高效性。SIFT算法具备尺度不变性特征,被广泛应用于视频、图像特征提取领域。SIFT特征提取算法主要包括如下步骤:构建多尺度高斯金字塔和DOG金字塔;空间极值点检测;低质量极值点剔除;关键方向匹配和特征点描述。

图3给出SIFT特征提取算法的运行结果,测试表明该图像处理框架可较好实现算法功能。表1给出SIFT特征提取算法在CPU和NetFPGA中的运行时间对比,其中CPU的OpenCV处理时间为74ms,FPGA在50Hz时钟频率下运行时间为78ms,执行效率类似,可以在嵌入式低功耗下满足图像处理算法运行时间需求。

4 结语

本文提出一种基于NetFPGA实现的统一图像处理框架,包括软核、BRAM模块、VDMA模块、图像处理模块和URAT模块。该框架提供统一的图像处理IP核硬件接口,方便图像处理应用开发和移植。基于图像处理框架实现了SIFT特征提取应用,运行时间78ms,可以满足图像处理算法高效处理需求。

参考文献

[1] 王闯.一种基于FPGA的实时图像增强处理系统设计与实现[J].计算机应用,2018,48(5):255-256.

[2] 刘桂华,陈林宇,肖得胜.基于FPGA的图像多尺度特征点提取及匹配[J].电视技术,2016,40(9):103-107.

[3] 李锦明,侯天喜,高文刚,成乃朋.基于FPGA和DSP的图像拼接系统[J].仪表技术与传感器,2018(7):46-49.

猜你喜欢
图像处理
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
Bayesian-MCMC算法在计算机图像处理中的实践
改进压缩感知算法的图像处理仿真研究
基于图像处理的定位器坡度计算
Photo Shop通道在图像处理中的应用