机器学习与计算机视觉(FPGA的图像处理方法)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
在传统的图像处理过程中,很多算法都是由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最终会从所有方案中脱颖而出。
相关文章
- Spark2.0机器学习系列之8:多类分类问题(方法归总和分类结果评估)
- 【机器学习】半监督学习几种方法
- 【机器学习】半监督学习几种方法
- 机器学习技法之Aggregation方法总结:Blending、Learning(Bagging、AdaBoost、Decision Tree)及其aggregation of aggregation
- 机器学习技法之Aggregation方法总结:Blending、Learning(Bagging、AdaBoost、Decision Tree)及其aggregation of aggregation
- 机器学习-有监督学习-集成学习方法(二):Bootstrap->Bagging->Random Forest(随机森林)【每颗树建造:从N个样本有放回抽样N次作为训练集;随机选m个特征用于该树的训练】
- 机器学习-有监督学习-集成学习方法(三):Bootstrap->Boosting(提升)方法-->前向分步算法-->Adaboost算法--+决策树-->Adaboost提升树
- 机器学习-无监督学习-聚类:聚类方法(二)--- 基于密度的聚类算法【DBSCAN文本聚类算法,密度最大值文本聚类算法】
- 机器学习-无监督学习-聚类:聚类方法(四)--- 层次聚类算法
- 机器学习-无监督学习-聚类方法(六):高斯混合模型(GMM)【用最大期望值算法(EM)求解】【K个单高斯模型的线性组合;每个单高斯模型对应一种类别;优于K-means。参数:方差σ、均值μ、权值π】
- 机器学习-无监督学习-聚类:聚类方法(五)--- 均值漂移聚类
- 时间序列-异常检测(Anomaly Detection)(三):机器学习方法【XGBoost、SVM、随机森林】
- 如何用机器学习方法,提升另一半的满意指数?
- 机器学习笔记之贝叶斯定理的通俗理解
- 机器学习笔记之Jupyter Notebook各种使用方法
- 使用Powershell 的获取别的机器WMI类失败解决方法!
- AMD:将在机器学习GPU领域“引发从来没有过的竞争”
- 【机器学习算法-python实现】协同过滤(cf)的三种方法实现
- 机器学习中模型泛化能力和过拟合现象(overfitting)的矛盾、以及其主要缓解方法正则化技术原理初探
- MTK机器原始OTA更新方法