GPU为机器视觉带来可扩展的处理?
机器视觉的核心是简单地利用图像中可用的信息来决定图像中的对象下一步该做什么。
在装配线上或装运之前对产品进行简单的通过/失败检查是一个更简单的例子。PCB检测是一种常见的用例,当生产PCB从自动拾取和放置系统移动到下一阶段时,可以快速轻松地将正确填充板的图像与生产PCB进行比较。
这是质量保证和废料减少的宝贵步骤,人类的眼睛和大脑每天都不会一直重复数百甚至数千次,而机器视觉却可以做到。
随着图像捕获系统的分辨率增加,机器视觉的可能性也增加,因为可用于评估的细节以相应的速率增加。可以针对主模板评估较小和较小的视觉信息子集,增加了系统处理器在数据流失中的负担并且快速地做出关于后续步骤的决定。
简单的拿农业蔬菜分级举例说明,蔬菜分级是指产品质量的简单尺寸和合格/不是最佳的情况,产品质量会随着季节不同而变化。而未来能够最大限度的节约成本和保证蔬菜的质量,就需要更优化的算法来进行质量分级,这对于人眼和大脑来说是几乎不可能的任务,但是通过智能相机方案定制就可以处理大量的信息,需要多个阶段和摄像机,机器照明,种植场地增加等。
"
此外,一种方法是应用广泛的处理能力,既可以作为高带宽连接的集中处理单元,也可以作为智能相机的分布式处理,直接在摄像机中实时处理数据,只需将每个产品的结果传送到最终的机械分级系统。
可以依靠具有不同传感器阵列的可更换磁头与智能相机系统配合使用。例如,其高光谱成像头可以对食品质量和安全性进行无损检测。在标准视觉系统中,食品质量和安全性通常由外部物理属性(如纹理和颜色)定义。
高光谱成像使食品行业有机会将新属性纳入质量和安全评估,如化学和生物属性,以确定产品中的糖,脂肪,水分和细菌数量。在高光谱成像中,从每个像素获得空间和光谱信息的三维图像立方体。
更多的光谱特性可以更好地区分属性,并使更多的属性得到认可。图像立方体包括所有获取的光波长的每个像素的强度(反射或透射光),这导致每个图像立方体包含大量信息。该数据量表示计算挑战的指数增加,以实时提取产品分级的定性和定量结果。
只需要在智能相机平台中使用加速处理单元(APU),将GPU和CPU组合在同一个芯片上,使系统能够将视觉应用中的密集像素数据处理卸载到GPU,而无需处理组件之间的高延迟总线事务处理。
这使CPU能够以更低的延迟提供其他中断,有助于提高整个系统的实时性能,并满足现代视觉系统不断增长的处理需求。GPU是一个大规模并行引擎,可以同时在大数据(像素)集中应用相同的指令;这也正是机器视觉所需要的。通过将APU与移动PCI Express模块??(MXM)外形中的外部独立GPU配对,可以进一步提高性能,使其能够在需要时添加额外的GPU处理资源以支持更加密集的视觉任务。
关于软件,异构处理平台可以由标准Linux内核管理,每个新内核版本只需要适度的开发支持。x86的生态系统支持使公司能够利用开源和第三方图像处理库,如OpenCV,Mathworks Matlab和Halcon。调试工具,延迟分析器和分析器(perf,ftrace)也广泛可用。
机器视觉是可扩展处理如何在嵌入式应用程序中发挥作用的一个很好的例子。