图1:罐头的自动检测。
机器视觉应用通常受益于具有更高数据速率的相机,这可以提高检测精度和速度。然而,受制于这些高速机器视觉相机的价格,生成、传输和处理大量数据的成本会很昂贵。随着时间的推移,技术的发展使人们对“大”数据量的定义发生了变化。更快的计算机和图像传感器技术的进步不断推动更高的性价比,从而更容易实现复杂的机器视觉系统。
将数据从相机传输到计算机
自模拟相机时代以来,图像采集卡一直是机器视觉领域的主要产品。它们的优势是能以最小的CPU使用率传输数据。随着时间的推移,相机已经发展到使用USB或以太网等标准计算机接口,以取消对图像采集卡的使用来降低系统成本。然而,它们在灵活性、电缆长度、速度和CPU使用率之间有不同的折衷。图像采集卡还具有图像预处理能力,如从Bayer到RGB的格式转换,同时还可以在不增加CPU使用率的情况下传输数据。这是标准接口无法做到的。
GigE Vision简介
GigE Vision接口标准于2006年推出,它允许机器视觉应用使用以太网作为图像采集的传输层,从而不需要使用图像采集卡。该标准由位于美国密歇根州的先进自动化协会(Association for Advancing Automation,A3)主持,强调应用和器件之间的灵活性和互操作性。虽然GigE Vision定义了实现高可靠图像传输的机制,但它没有明确指出性能要求。性能和可靠性在很大程度上取决于实施的质量,即有赖于应用中使用的器件或软件,因此可靠性会存在显著差异。这些差异在多相机系统或采用高速相机的系统中变得更加明显。
由于并非所有实施的质量都是相同的,因此与一家已经证明了GigE Vision实现质量的供应商合作非常重要,并且该供应商可以展示没有不完整或漏掉的图像。在医学成像应用或多相机跟踪系统中,图像完整或不丢帧是必须的要求。
更高速度的挑战
以太网技术具有超过大多数机器视觉应用需求的传输速度。尽管以太网的速度可以高达25~800GbE,但大多数传输速率超过10Gbps的相机,都依赖于基于图像采集卡的传输技术。虽然当前版本的GigE Vision允许提高速度,但当需要更大、更快的内存来管理数据包重传时,可靠解决方案的成本也在上升。这限制了使用GigE Vision来获得更快的以太网速度。
为了解决这个问题,则需要由硬件而不是软件堆栈来执行数据包验证和重传。从历史上看,机器视觉应用一直依赖于图像采集卡来减轻硬件负担。然而,近年来,主要品牌的网络接口卡(NIC)已经开始实施卸载引擎。GigE Vision委员会一直在监测各种技术,发现其中一种协议似乎适用于机器视觉应用。
图2:GigE Vision标准自推出以来,已经多次更新。
RoCE的出现
RoCE(RDMA over Converged Ethernet)是一种最初为高性能计算而设计的协议,它无需操作系统的介入,允许设备直接访问计算机的内存。更新的RoCEv2版本,通过在UDP/IP协议栈上运行来提高效率和灵活性,确保在以太网中实现更好的集成和功能。最近,已经开发出支持RoCEv2的NIC,它提供了低CPU使用率的数据传输,同时具备错误检测和纠正功能。支持RoCEv2的NIC可用于具有10GbE及以上带宽的产品中。虽然RoCEv2不是专门针对图像传输的,但它的通用性为数据传输提供了多种功能(verbs),每种功能都有其优势。但是,RoCEv2没有定义如何使用这些verbs来创建解决方案。这意味着使用RoCEv2的两家相机供应商,可以选择不同的方法来执行相同的任务。GigE Vision的目标是为机器视觉应用带来设备和应用之间的互操作性,这正是GigE Vision委员会正致力于发布GigE Vision 3.0的原因,它将为使用RoCEv2的应用和设备带来互操作性。
GigE Vision规范的当前版本包括三种协议:控制、消息传递和UDP流。GigE Vision 3.0将添加一个利用RoCEv2 verbs的新的流媒体协议。控制和消息传递协议将保持不变,只引入新的引导寄存器来配置新功能。当前基于UDP的流媒体协议将与基于RoCEv2的新流媒体协议并存。
小结
机器视觉标准的演变继续推动数据传输、处理速度和系统成本效益不断向更高的水平发展。随着RoCEv2等新技术被集成到GigE Vision标准中,未来有望实现更牢固可靠、更高速和可互操作的机器视觉解决方案。标准和协议的不断演进,无疑将有助于从制造业到医疗保健等依赖机器视觉的各个行业的进步,确保其操作具有更高的精度和效率。