A number of vision system applications, such as intelligent traffic systems, semiconductor fabs, sports analytics and volumetric capture, necessitate high resolution, high FPS and transfer of data to produce improved outcomes.
Image Credit: FLIR Systems
For vision system engineers wanting to improve output using faster frame rates and higher resolution machine vision cameras, an upgrade from 1GigE to 10GigE is a clear option.
However, research from the AIA (Automated Imaging Association) states that the take-up of this upgrade has been relatively slow.
This is logical, taking into account three technical challenges that arise out of this upgrade: reliability (dropped packets), high CPU usage and high latency.
This article offers an update on how the Teledyne FLIR Oryx + Myricom bundled solution overcomes such challenges.
Image Credit: FLIR Systems
Update 1: Flawless Performance
While 10GigE Vision has enhanced bandwidth, ten times more than the GigE Vision protocol, the host adapter performance of 10GigE has not kept the same pace. Transferring data from camera to host typically results in an overload of the CPU, leading to a level of packet loss and application buffer overflows that are unsuitable for demanding applications.
Utilizing host adapters to carry packet receipt and reconstruct images directly on the card means that it is no longer necessary for the CPU to manage these tasks. The Teledyne FLIR Oryx + Myricom bundle has been designed to specifically address such situations.
As noted in the test results below, system reliability can dramatically improve, resulting in a considerable reduction of packet loss, and in turn, dropped frames.
The bundle fits in seamlessly with Teledyne FLIR’s new custom SDK driver devoted to handling data provided by the Myricom card. With this system, image data transfer from camera to host PC is immaculate and reliable. See test results below in Appendix: Reliability and CPU Usage testing.
The price to performance ratio of the Oryx + Myricom bundle makes it a simple choice, providing a cost-effective and extremely reliable setup in contrast to purchasing and integrating hardware separately.
Update 2: Managed CPU Usage
Theoretically, CPUs could dedicate up to 100% of one of their cores for processing incoming data from a 10GigE connection and numerous cores can be used when running multiple applications/cameras.
By utilizing the Myricom card to handle packet receipt and image reconstruction, CPU usage drops to as low as 1% for each application, facilitating the freeing up of additional CPU cycles that can be used for image processing. See test results below in Appendix: Reliability and CPU Usage testing
Update 3: Reduced Latency
10GigE Vision frame latency is not deterministic, meaning frames can arrive with a substantial time jitter. In some conditions, specifically those with switches, besides packet loss, frames are sometimes received in the opposite order.
The Teledyne FLIR Oryx + Myricom bundle addresses this with efficient notification of frame completions for lower latency and less jitter.
Appendix: Reliability and CPU Usage testing
Test 1: High Bandwidth 7-Day Stream
By employing a custom console application generated via the Teledyne FLIR Spinnaker API, an 8.9MP Teledyne FLIR Oryx camera was set to continuously capture images and track any incomplete images with no need for extra processing or a need to concurrently run third-party resource intensive programs.
Test Results: ~40 million images acquired; 0 incomplete/dropped images detected.
Note: CPU Usage was verified throughout the 7 days of testing and determined to remain consistent at 1%. With the new Myricom driver disabled, and only relying on the FLIR standard filter driver, CPU usage for the CPU core dedicated to the application remained at roughly 100%.
Test 2: Dual Camera stream
This test incorporates two Oryx cameras (ORX-10G-123S6M and ORX-10G-89S6C) running for 24 hours continuously in the same custom console application, each capturing images at a bandwidth of 6.7 Gb/s.
Test Results: ~6 million images acquired per camera; 0 incomplete/dropped images detected
Test 3: 24-Hour CPU Stress Test
This test uses a single Oryx camera (ORX-10G-123S6M) with settings equivalent to those in Test 1.
The same console application used in Test 1 is employed, except on this occasion, another application is used simultaneously; this custom application is meant to imitate a high workload, assuming about 90% of total CPU utilization (across all eight cores).
Test Results: ~6 million images acquired; 0 incomplete/dropped images detected
Test System Hardware & Software Specifications:
i7-9700k @ 3.6 GHz | 16 GB | Windows 10 1809
Oryx ORX-10G-123S6M
Oryx ORX-10G-89S6C
Teledyne FLIR Spinnaker 2.1.0.82 and PgrLwf 2.7.3.397 vs custom 2.3.0.x build with Myricom support
This information has been sourced, reviewed and adapted from materials provided by FLIR Systems.
For more information on this source, please visit FLIR Systems.