MATRIX VISION - mvBlueCOUGAR-X/-XD Technical Documentation
NVIDIA Jetson TX2

General

CPUARM Cortex-A57 @ 2GHz
NVIDIA Denver2 @ 2GHz
Cores4
2
RAM8GB
USB2.0 Interfaces1
USB3.0 Interfaces1
Ethernet10/100/1000 MBit
PCIe1x4 + 1x1 | 2x1 + 1x2
Gen 2.0
Note
The above table describes the specification of the NVIDIA Jetson TX2 Developer Kit.

Benchmarks

GigE Performance

Test setup

Additional Settings Applied To The System

To improve the data transfer between the camera and the ARM device the following Kernel parameters have been modified:

In /etc/sysctl.d/62-buffers-performance.conf:

Note
You may have to create this file!
SettingValueDescription
net.core.wmem_max16777216Maximum memory size of a socket buffer for sending in Bytes
net.core.rmem_max16777216Maximum memory size of a socket buffer for receiving in Bytes
net.core.netdev_max_backlog10000Maximum number of packets which can be buffered if the Kernel does not manage to process them as fast as they are received

NIC Settings

SettingValue
MTU8000 Byte

The importance of setting these parameters as above is explained here: Checklist for Linux.

Results

The following scenarios have been tested:

  1. When de-Bayering is carried out on the host system: The camera delivers Bayer8 image data to the host system. The Bayer8 image data then get de-Bayered to RGB8 format on the host system. This setting results in a higher frame rate but a higher CPU load as well.
  2. When no de-Bayering is performed: The camera delivers Bayer8 image data to the host system. No de-Bayering is performed. This settings results in a lower CPU load and a higher frame rate. The behavior is identical to monochrome cameras.
CameraResolutionPixel FormatFrame Rate [Frames/s]Bandwidth [MB/s]CPU Load
mvBlueCOUGAR-X102mC1600 x 1104BayerRG8 (on camera) -> RGB8 (on host)68120.32~53%

CameraResolutionPixel FormatFrame Rate [Frames/s]Bandwidth [MB/s]CPU Load
mvBlueCOUGAR-X102mC1600 x 1104BayerRG8 (on camera) -> BayerRG8/Raw (on host)68120.32~42%