FPGA&图像处理之路
0 2023-03-21

图像处理简而言之就是对图像进行操作从而得到自己想要的结果,它是一个非常广义的概念,包含图像增强、图像复原、图像重建、图像分析、模式识别、计算机视觉等N多个应用方向。这些应用技术有许多在本质上是相通的,但是不同应用领域的关注点往往是不同的。


01、FPGA做图像处理的优势

用FPGA做图像处理最关键的一点优势就是:FPGA能进行实时流水线运算,能达到最高的实时性。因此在一些对实时性要求非常高的应用领域,做图像处理基本就只能用FPGA。例如在某些分选设备中图像处理基本上用的都是FPGA,因为在相机中从看到物料图像到给出执行指令之间的延时大概只有几毫秒,这就要求图像处理必须很快且延时固定,只有FPGA进行的实时流水线运算才能满足这一要求。


要了解FPGA进行图像处理的优势就必须理解FPGA所能进行的实时流水线运算和DSP,GPU等进行的图像处理运算有何不同:

DSP,GPU,CPU对图像的处理基本是以帧为单位的,从相机采集到的图像数据会先存在内存中,然后GPU会读取内存中的图像数据进行处理。假如采集图像的帧率是30帧,那么DSP,GPU要是能在1/30秒内完成一帧图像的处理,那基本上就能算是实时处理。

而FPGA对图像进行实时流水线运算是以行为单位的。FPGA可以直接和图像传感器芯片连接采集图像数据流,如果是RAW格式的还可以通过差值来获得RGB图像数据。FPGA能进行实时流水线处理的关键是它可以用内部的Block Ram缓存若干行的图像数据。Block Ram可以说是类似于CPU里面的Cache,但Cache不是你能完全控制的,而Block Ram是完全可控的,可以用它实现各种灵活的运算处理。这样FPGA通过缓存若干行图像数据就可以对图像进行实时处理,数据就这样一边流过就一边处理好了,不需要送入DDR缓存了之后再读出来处理。


02、FPGA图像处理之路,从此开始

用FPGA做图像处理相关的开发时,往往我们首先要考虑的是FPGA处理板的性能,因为做图像处理是一个十分消耗资源的事情。从网上可以搜索到很多图像处理FPGA开发板,有些开发板上的资源十分丰富,可以满足我们前期试验的需求。

FPGA在图像处理方面的主要应用于图像的预处理阶段。

什么是图像的预处理?比如图像的畸变校正,滤波器处理,边缘检测、颜色检测和阈值处理等。这些预处理都有共同的特征:算法较为简单,操作重复性强等。但是,除了预处理,FPGA就不能做点别的吗?图像处理类似一个三层金字塔,分为底层,中间层,高层。

图像处理金字塔有三层,分别针对的是像素级、特征级和目标级。一个成熟的图像处理应用应该同时完成这三层。

在像素层,我们可以对图像做一些变换,目的是增强图像的有用信息,同时滤波任何不相关的信息(如噪声)。然后通过对预处理后的图像做分割操作实现图像从像素级到特征级的过度,分割操作可以理解为检测图像中具有共同性质的区域。针对这些区域,依据一个或多个分类法则,将区域归类到预先设定的特征类型中作为后期识别的数据集。此时的数据已经不仅仅是图像了,其中包含了丰富的特征信息,如物体的位置等。在金字塔高层,依靠获取的特征信息,如有必要还可以将这些特征集作为学习的训练集来创建专用的模型,借助模型来实现识别,进而用来对实时采集的图像进行描述。


03、图像处理系统设计注意点

  1. 将算法开发和FPGA实现分离。用软件的图像处理环境算法可以进行大批量的图像样本测试及调试,再将算法映射到硬件上,这样大大节省了硬件调试周期。

  2. 算法的精度。图像处理的算法中,大部分需要采用浮点数运算,而浮点数运算再FPGA中是非常不划算的,因此需要转换成定点数计算,此时会涉及到浮点运算转定点运算时精度下降的问题。

  3. 结构的合理划分。这里是指DSP,CPU与FPGA;一般结构规则:计算量大的操作如sobel算子、均值滤波可以采用FPGA进行,不规则的动态可变长度循环的底层算法由DSP、CPU进行;

04、图像处理FPGA 设计基本方法

  1. 阵列结构结合流水线处理设计。例如RGB图像,包括三组数据,处理时需要并行三通道后,每个通道进行分别的串行流水处理。

  2. 缓存设计。帧缓存、行缓存、列对齐。

  3. 资源。分辨率、处理窗口、对资源影响成倍增加。


声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 处理器
  • DSP
  • CPU
  • GPU
  • 8051/89C51的21个专用寄存器的字节寻址问题

    [导读] 8051/89C51共有21个专用寄存器,现把其中部分寄存器简单介绍如下:(1)程序计数器(Program Counter,PC) PC是一个16位

    05-30
  • 快速告诉你关于输入输出设备I/O设备工作原理

    [导读] I/O设备又叫输入输出设备。 如上图,对于I/O bus 包含数据总线、控制总线、地址总线;每一个I/O设备均连接到I/O总线上,与pc进行数据传输。

    05-29
  • 介绍GPU的应用、原理及CPU、DSP的区别

      GPU是显示卡的“心脏”,也就相当于CPU在电脑中的作用,它决定了该显卡的档次和大部分性能,同时也是2D显示卡和3D显示卡的区别依据。2D显示芯片在处理3D

    05-29
  • 把工作简单化 DSP与数据转换器协同工作应该考虑的这几个因素分析

      假设您接到一项工作任务,设计一套由DSP与DAC与ADC等模拟器件组成的信号处理系统。如果您考虑到几个重要因素,工作就会非常简单。下面就来谈谈设计工作中应该

    05-27
  • 四位微处理器的前世今生

    微处理器由一片或少数几片大规模集成电路组成,能完成读取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,所以其基本组成部分有算术逻辑单元(ALU,Ari

    05-27
  • CPU接口的一个重要组成部分——防呆口分析

    我们讨论的CPU,都是讨论CPU的正面,却很少讨论CPU的反面。何为正面反面?大家在网上浏览关于CPU的资讯的时候,估计都只留意正面的CPU型号信息、以及延伸出

    05-27
  • 带你区分手机CPU与PC CPU

      随着移动互联网的崛起,手机等职能移动设备在我们生活中的地位愈加重要。其中各大公司在发布产品的时候无不通过媒体对自家产品的配置参数大佳宣传。其中CPU参数便是

    05-26
  • 音讯处理领域最新的软硬体整合方案如何推动创新、高性能的行动及穿戴式应用的发展

      穿戴式装置应用前景备受看好,吸引半导体厂积极研发运算能力更强,且封装尺寸更小、耗电量更低的新一代数位讯号处理器(DSP),藉此打造高品质录音与播放等进阶多媒

    05-26
  • 多核CPU的性能与核心数的关联性介绍

      智能手机是无疑当前最火爆的移动设备了。各个手机生产厂商也都是新品不断,营销手段也是千奇百怪的。  而对于自家手机的参数比拼也是你来我往。其中最重要的就数CP

    05-26
  • 细谈FPC断路开路的检查方法

    当我们遇到FPC(软板)有开路/断路的问题时,最简单的方法就是在显微镜下检查有无线路(Trace)断裂的问题,因为FPC通常为单层板,了不起就三层板,线路大多可

    05-25
  • FPC都有几大种类你了解吗?

    电子产品都要使用PCB,PCB的市场走向几乎是电子行业的风向标。随着手机、笔记本电脑和PDA等高端、小型化电子产品的发展,对柔性PCB(FPC)的需求越来越大,

    05-25
  • 带你快速了解CPU常识

    今天小编每天更新一篇计算机的硬件知识给大家哦,希望对大家有帮助哦,喜欢的给个关注哦!CPU也就是中央处理器,在计算机中相当于人的大脑。中央处理器(CPU,Cen

    05-25
下载排行榜
更多
广告