机器视觉的嵌入式系统
什么是嵌入式系统?
嵌入式系统是专为与大型设备集成而设计的计算机。 内置到汽车、医疗器械和消费设备(如智能电视)的计算机都属于嵌入式系统。 嵌入式计算的当前硬件趋势是基于运行 Linux 的 ARM 处理器的紧凑型单板计算机 (SBC)。 与应用特定载板配对的模块系统 (SOM) 也很受欢迎,而对于需要功能强大的小型计算机的应用而言,围绕 x64 处理器构建的 SBC 和 SOM 是不错的选择。
x64 与 ARM
包括 Intel Core 在内的 x64 处理器是台式机的标准处理器。 它们支持 Windows 和 Linux 操作系统以及所有重大的第三方库。 X64 处理器的计算能力相较于典型 ARM 处理器的计算能力更强,不过它们的耗电量也更高。
由 SBC 使用的 ARM 处理器通常打包成片上系统 (SOC)。 除了 CPU 内核外,SOC 还包含内存、信号处理、网络、USB 和其他 I/O。嵌入式系统中使用的许多 SOC 最初针对移动电话而设计。 与 x64 处理器相比,ARM SOC 的功能较弱,但却更精简且节能。 对 ARM 体系结构的软件支持受到限制(例如 在 ARM 上不支持 Windows)。 尽管并非所有软件和设备驱动程序均受支持,但大多数 Linux 发行版都适用于 ARM。
FLIR Spinnaker SDK 支持 ARM 和 x64 硬件。
嵌入式系统的优点
相较于传统 PC 硬件而言,嵌入式系统既精简又经济实惠。 尽管无法更换 SBC 的各组件,但可以使用已连接到 GPIO 的扩展板来添加其他连接。 许多可快速扩展功能的配件板都适用于常用 Raspberry Pi。 还提供许多 SBC,它们共享相同的 GPIO 布局。
图 1. 配件板可连接到 SBC 的 GPIO 引脚来添加 USB 端口(左)和继电器(右)等其他连接。
对于要求更高的应用,与载板配对的 SOM 可提供更大的灵活性。 Nvidia Jetson TX2 是一个 SOM。 它拥有功能强大的 ARM 处理器、支持 256 内核 CUDA 的 GPU 以及内存和 I/O 控制器,它们已在精简模块上打包。 需要载板来为 SOM 提供电源并为 USB、GigE 和 GPIO 提供连接器。
图 2. 针对特定应用将 SOM 与不同的载板配对,可优化嵌入式系统的连接和物理尺寸。
嵌入式硬件的计算能力可降低视觉系统对中央服务器或云计算平台的依赖性。 通过在位于相机附近的嵌入式系统上执行图像处理,可以降低延迟和带宽消耗,并提高吞吐量和信息安全性。
了解有关边缘计算的详细信息
通过从传统 PC 硬件切换到 SBC 或 SOM 和载板,可以创建更小、能耗更高且成本更低的系统。
图 3. 通过比较 SBC 和 SOM 上可用的各种 SOC 和 CPU 的相关 CPU 功率、内存带宽及能耗所得的基准测试结果。
在嵌入式系统中利用 FLIR 相机和软件
FLIR Spinnaker SDK 基于 x64 硬件支持 Windows 7/8/10 和 Ubuntu 14.04/16.04,而基于 ARM 硬件支持 Ubuntu 14.04/16.04。
FLIR 相机简化了用于边缘的视觉应用的开发。 通过将最新的 CMOS 传感器与高级自动控制算法配对以进行颜色校正和曝光,FLIR 相机在充满挑战性的光线条件下也能可靠地捕获详细图像。 FLIR Blackfly S 相机配备 Sony Pregius 传感器,此类传感器兼具高量子效率和低读取噪声功能,从而能够在光线不足的情况下捕获清晰的图像。 使用宽动态范围确保在高对比度场景的阴影和明亮区域都能捕获细节。
FLIR 相机强大的板载图像处理功能包括颜色内插、锐化和伽玛矫正,从而降低了主机端的处理要求。 支持 IEEE 1588 精确时间协议可以通过其他启用 IEEE 1588 的设备轻松将 GigE Blackfly S 同步到常用的时间基准。