高级算法健身嵌入式平台评价[关闭]

问题描述 投票:-2回答:1

什么是你会考虑来评估高级算法的过程(主要是计算机视觉算法,MATLAB写的,蟒蛇等),嵌入式CPU上运行的实时性。

这个想法是有早期的可靠评估/计算时,您不能执行或配置文件它的目标硬件。

为了把事情的重点,例如,假设您的输入灰度QVGA框架,8bpp的@ 30fps的,你必须对每一个输入帧进行完整Canny边缘检测。我们如何才能找到或估计才能成功执行此所需的最小处理能力?

image-processing computer-vision embedded real-time
1个回答
1
投票

一个通用的评估是不太可能的,你要求什么是繁琐的手工工作。

然而,有一些通用的步骤,你可以遵循以一个粗略的想法到达

  1. 在这样的加法和乘法(最佳/平均/最差?你的选择)基本的数学运算方面估计你的算法的运行时间复杂度。 您需要浮点支持? 同时追踪像饱和的加/减高水平的数学运算(为什么呢?见第3点)。
  2. 吞噬目标处理器的ISA和特别注重的数学和分支指令。 多少个时钟周期乘法走?或者,你的处理器调度每个周期几个?
  3. 看看你的处理器支持类似的功能, 饱和数学。 的ARM Cortex-M4一样。 PIC18微控制器不,招致额外执行开销。 硬件浮点运算。 分支预测。 SIMD。 将提供显著的速度提升,如果你的算法可以定制它。
  4. 既然你明确地要求一个CPU,看看你的附加有GPU。图像处理算法通常受益于一个的存在。
  5. 地图您的操作(从步骤1)什么目标处理器支持(步骤3)在一个估计。
  6. 其他因素(从其他数不胜数的),你需要考虑到 你打算在目标上运行的操作系统或者是裸机? 是您的算法通过IO瓶颈约束? 如果您的处理器具有高速缓存,效率如何是你在使用它的算法?
© www.soinside.com 2019 - 2024. All rights reserved.