900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 机器学习与计算机视觉(FPGA的图像处理方法)

机器学习与计算机视觉(FPGA的图像处理方法)

时间:2022-02-13 11:06:05

相关推荐

机器学习与计算机视觉(FPGA的图像处理方法)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @】

在传统的图像处理过程中,很多算法都是由cpu来完成的。但是由于cpu是一条指令、一条指令来完成的,整个时间上处理比较长。因此如果在图像处理的过程中出现标定、噪声处理、hsv提取、灰度化、旋转、算子计算、二值化、膨胀、腐蚀多次操作之后,那么整个计算时间是挺长的,因为每次处理的时候都需要将循环处理每个像素值,时间上是非常可观的。所以,要想提高处理的速度,满足实时性能要求,要么cpu频率高一些,要么使用fpga、cuda、asic等处理方法来优化算法。

fpga目前的应用场合主要是硬件协议和算法。相比较具体的硬件协议,fpga在算法这一块的加速效果也是非常明显的。对于软件工程师来说,特别是嵌入式软件工程师来说,用fpga做算法是很好的一个选择。

1、fpga优化的基本原理

如果cpu是对单个像素进行处理,那么fpga可以并发同时处理多个像素,这是优化的关键。传统图像算法之间没有依赖关系,这也决定了并发处理多个像素的做法是可以的,也是可行的。

2、fpga可以适配哪些算法

基础的图像算法都可以用fpga进行优化,比如下面

A、灰化

B、RGB -> HSV

C、直方图

D、高斯噪声处理

E、均值计算

F、二值化

G、Canny算子计算类

H、差值运算

I、腐蚀、膨胀

J、FFT、DFT等算法

K、旋转

L、上下、左右翻转

M、图像差值计算等等

3、fpga不适宜的计算

除了传统经典的图像算法,fpga并不适宜那些复杂的算法,比如说区域查找、深度学习、rcnn、ssd、yolo等复杂的算法。这部分内容可以用cpu来完成,或者芯片厂商提供的sdk来加速完成,比如arm nn等等。

4、比较适合做实验的fpga平台

zynq,除了fpga,还有arm

5、fpga适合的应用场景

fpga整体成本略高,比较适合对处理性能有要求、同时价格不敏感的场景

6、可能代替fpga的方案

现在除了fpga之外,另外一个比较好的框架就是nvidia的cuda。cuda的处理思路和fpga比较类似,但是它设计起来比较简单,可以用类c的代码完成fpga需要的大部分功能。

7、将来的趋势

未来一段时间内,fpga、dsp、cuda、多核cpu、asic都会存在,关键取决于应用场景,每一种方案都有自己的优势。只是从成本来说,cuda可能会代替fpga,而asic最终会从所有方案中脱颖而出。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。