山东时时彩现场

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 194|回复: 0
打印 上一主题 下一主题

时时彩娱乐平台: FPGA图像处理的前景如何?

[复制链接]
跳转到指定楼层
1#
fpga_feixiang 发表于 2018-7-17 15:32:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人有过多年用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缓存了之后再读出来处理。这样的数据流处理显然是顺序读取数据的,那么也就只能实现那些顺序读取数据的算法,也就是图像处理中那一大类用3x3到NxN的算子进行的滤波、取边缘、膨胀腐蚀等算法??赡艽蠹一峋醯谜庑┰怂闼坪醵际亲罨镜耐枷翊碓怂?,只是个前端的预处理,似乎用处不大。但问题是只有FPGA做这样的运算才是速度最快效率最高的,比如用CPU做一个取边缘的算法根本就达不到实时。另外别小看了这种NxN算子法,它可以有各种组合和玩法,可以实现分选多种颜色,甚至分辨简单形状等功能。FPGA进行的这种算子法处理是并行流水线算法,其延时是固定的,比如用3x3的算子进行处理其给出结果的延时是两行图像的时间?;褂姓飧鏊阕臃ê拖衷诰砘窬缰凶钋懊娴木砘阍怂闶抢嗨频?。FPGA中的Block Ram是重要和稀缺资源,能缓存的图像数据行数是有限的,所以这个NxN的算子中的N不能特别大。当然FPGA也可以接DDR把图像缓存到其中再读出来进行处理,但这种处理模式就和CPU差不多了,达不到最高的实时性。其实有些我们认为需要随机读取数据的图像处理算法也是可以并行流水线化的,比如连通域识别?!禙PGA实现的连通域识别算法升级》这是我的一篇文章。现在貌似神经网络也可以用FPGA来实现,并且据说效率比较高。我暂时还没玩过这个,但知道为什么FPGA在进行某些运算的时候效率会比较高。因为在密集运算中,耽误时间和消耗功耗的操作往往不是运算本身,而是把数据从内存中搬来搬去。GPU,CPU在进行运算时要把数据从内存中取出来,算好了在放回去。这样内存带宽往往成了运算速度的瓶颈,数据搬运过程中的功耗占的比重也不会小。FPGA则可以通过堆很多计算硬件的方法把要做的运算都展开,然后数据从中流过,完成一个阶段的运算之后就直接流入第二个阶段,不需要把一个计算阶段完成后的数据再送回内存中,再读出来交给下一个阶段的运算。这样就会节省很多时间和功耗。现在用FPGA做图像处理就是这样干的,比如先用一个3x3的算子进行滤波,再用一个3x3的算子进行取边缘,在FPGA流水线算法中,滤波处理完了数据立即就会进行取边缘处理,是不需要像CPU那样存回内存再读出来的。综上所述,我觉得用FPGA进行图像处理的前景还是挺广阔的,越来越多的工业应用场合都要求更高的实时性,而这正是FPGA所适合的?;褂谢餮傲煊?,神经网络这种层状的,不需要很随机的读取数据的运算是比较适合用FPGA来做的。不过FPGA不擅长浮点运算,如果能整出不需要浮点运算的神经网络,那么FPGA在这方面的应用将会更大??赡苤圃糉PGA在这些方面应用的关键还是人才的缺乏。大家不知道FPGA擅长什么,想用却又不知道怎么用。网上很多传说都说这个FPGA编程很底层,很不好用。这些说法也对也不对。刚开始学的时候是会有一些困惑。关键是这其中要经历一个思维方式的转变,从CPU编程思维到硬件编程思维的转变。转变过来了之后就会发现,其实FPGA还是很单纯很灵活很好用的,硬件描述语言没有高级语言那么复杂。下面这个库有基本的图像处理Verilog代码:
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

QQ|小黑屋|手机版|Archiver|山东时时彩现场 ( 京ICP备10035964号  

GMT+8, 2019-2-22 16:41 , Processed in 0.162637 second(s), 22 queries .

至芯科技 Powered by Discuz X3.2

© 2001-2014 Comsenz Inc.

快速回复 山东时时彩现场 返回列表
  • 男子新婚后妻子失踪 报案发现妻子结过7次婚有3娃 2019-02-22
  • 重庆部署加快推进“互联网+政务服务”工作 2019-02-22
  • 如何像皇帝、老佛爷那样避个暑? 2019-02-21
  • 【图解】乌鲁木齐站旅客进出站攻略 2019-02-21
  • 小长假恰逢“6·18”年中促销 双节乌鲁木齐消费市场火热 2019-02-21
  • 调皮!野象强行冲关“出境游” 玩了两小时自己回家来 2019-02-20
  • 国内首届GMF电竞音乐节将在深举行 2019-02-20
  • 议会“争夺”决定权 英政府“脱欧”方案再受阻 2019-02-19
  • 人民日报各抒己见:环保执法要“严”也要“准” 2019-02-19
  • 山西寿阳:竹马戏演员的台前幕后 2019-02-19
  • 鹰潭高新区打造非公党建示范带 2019-02-18
  • 【春到渭南】随手拍渭南各地区春景,一贴看尽渭南春色! 2019-02-18
  • 全民总动员 国家才安全-光明时评 2019-02-18
  • 数字转型将为中国带来7160亿美元机遇 2019-02-17
  • 媒体北京一所著名大学有40人被确诊为抑郁症 2019-02-17
  • 124| 151| 130| 599| 367| 799| 538| 339| 823| 734|