【摘要】:低级别运算过程通常涉及对一组相邻像素的操作,比如特征匹配中滤波或相关运算涉及的模板卷积。这些相邻像素的运算要求大量的内存,如果系统的硬件和结构不是专为这类处理设计的,那么可能很快就会遇到瓶颈。图3.1显示了数据量和算法复杂性之间的相反关系。图3.1 数据量与算法复杂度的关系所以,在分析和定义一个嵌入式图像处理系统的硬件设备之前,需先着重理解和总结这个系统要执行的任务的主要特性。它们将在本书第5章进行讨论。
图像处理是一种计算密集型任务,要求处理大量数据(一幅图像包括几百万像素或字节),而且要对整个图像数据或部分数据进行大量的反复计算。
低级别运算过程通常涉及对一组相邻像素的操作,比如特征匹配中滤波或相关运算涉及的模板卷积。这些相邻像素的运算要求大量的内存,如果系统的硬件和结构不是专为这类处理设计的,那么可能很快就会遇到瓶颈。
再者,中级(例如分割)和高级(例如识别)过程可能会用到复杂的迭代或递归的数学方法(例如矩阵倒置和最小化方法)。这些过程是非常有挑战性的,尤其是在嵌入式背景下必须保持低时钟频率来减少功耗。
图3.1显示了数据量和算法复杂性之间的相反关系。低级的图像处理是对大量原始数据进行了少量而简单的重复操作。这些进程可以并行处理,适合FPGA(现场可编程门阵列)或者SIMD(单指令多数据)处理器的处理结构。同时,更高级的进程通常包括复杂的操作时序,它带有大量的指令和对一系列压缩了的特征描述符的处理。这些高级进程需要专门的信号处理结构和高级编程,使这些进程更适合使用像DSP和媒体处理器这些以CPU为基础的装置。
(www.xing528.com)
图3.1 数据量与算法复杂度的关系(GOPS=Giga(109)次/s)
所以,在分析和定义一个嵌入式图像处理系统的硬件设备之前,需先着重理解和总结这个系统要执行的任务的主要特性。
在智能摄像机的背景下,要执行的任务通常会和初级视觉进程相关联。初级视觉的定义为在一些场景中通过像素运算方法获取基本的、相关的信息的一种处理手段,初级视觉的例子有运动检测、物体追踪和特征提取。它们将在本书第5章进行讨论。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。