Программное обеспечение VCR для камер машинного зрения XIMEA

XIMEA company is a well-known camera manufacturer with great achievements. The company offers super compact and high quality products with various resolutions, frame rates, bandwidths, USB3 and PCIe interfaces, spectral sensitivities, image sensors, and hardware platforms. XIMEA cameras could be supplied with high performance PCI-Express interface which significantly improves the bandwidth and enables realtime applications for high resolution and high fps cameras.

Fast VCR software

You can test any XIMEA camera with their CamTool software, but it's intended just for camera testing or for low fps applications. To overcome that limitation we've developed a GPU-based software to work with XIMEA cameras to allow maximum performance and the highest image quality at realtime. You can download that software from that link and test it with available XIMEA cameras (8/12-bit monochrome or bayer).

Why do we need high performance software for XIMEA cameras?

If we have a look at the latest series of SONY Pregius image sensors of the 4th generation, most of them have "high speed" version which means that these image sensors have not only high resolution, but also high frame rate. XIMEA cameras with these image sensors are supplied with high speed USB3 or PCIe interfaces, so they have capabilities to send acquired frames at the maximum bandwidth.

That's true not only for SONY image sensors, the situation is the same with Gpixel and AMS (CMOSIS) as well. Modern machine vision cameras offer both high resolution and high fps, so it's a complicated task to perform relatime processing with high quality and without dropped frames. That is exactly what we can do with FastVCR software which is running on NVIDIA GPU. In our pipeline we've included high quality demosaicing with other image processing modules to take into account color science and high performance requirements.

Machine vision cameras could offer high quality images at realtime, so they are utilized in streaming and broadcasting applications, digital cinema, 3D, AR and VR.

XIMEA cameras

xiC and xiX camera series

The xiC is an extremely diversified and highly modular camera family designed for the Sony Pregius™ image sensor series. It offers multiple choices of combining sensors and interfaces. Even though it is a board stack, for system integrators it has all the benefits of a single board design and is incredibly small.

The xiX cameras are based on the same board-level concept and can stream images to the host computer via 2 lanes on a PCI Express Gen2 bus. Together with minimal latencies and CPU load, the cameras are a perfect fit for embedded vision and multi-camera applications. Thanks to flat flex cabling, the board-level and semi-housed variants allow integration in tight spaces and close proximity between cameras.

Fast VCR software for XIMEA camera control

  • Camera initialization (camera model, default values for frame resolution, fps, etc.)
  • Input bit depth and pixel format
  • Image resolution and ROI (region of interest)
  • FPS and exposure time
  • Gain
  • Camera bandwidth control
  • Automatic exposure/gain control
  • Optional modes: binning, decimation, dual gain, dual adc, etc.
  • Software presets for fast change of image sensor parameters

Fast VCR software: image processing pipeline for XIMEA cameras on GPU

  • Image acquisition
  • Data unpacking
  • Image linearization
  • Dark frame subtraction (FPN)
  • Flat-Field Correction (Shading Correction)
  • Bad pixel removal
  • White Balance / AWB
  • Adaptive Exposure and Gain control
  • High quality demosaicing with MG algorithm
  • Color correction with matrix profile or DCP profile
  • Highlight recovery
  • Exposure correction (brightness control)
  • Curves and Levels
  • Wavelet-based denoising
  • Rotation to 90/180/270 degrees and flip/flop
  • Crop
  • Resize (downscale and upscale)
  • Rotation to an arbitrary angle
  • Undistortion via LCP or via calibrated maps
  • Sharpening (local contrast)
  • Gamma transform
  • JPEG compression and storage on SSD
  • Optional conversion to NV12 and h264/h265 encoding
  • Automatic realtime partitioning of AVI/MP4 video files to the specified file size
  • Built-in RTSP server for low latency video streaming
  • Realtime output to monitor

Fast VCR software outputs

  • Video output to monitor via OpenGL in real time
  • Camera statistics
  • Realtime processing and JPEG compression with image storage on SSD
  • Video encoding to MJPEG (AVI), H.264/H.265/AV1 (MP4) and storage to video container on SSD
  • Low-latency video streaming via RTSP (player and server are included)
  • Real time RAW/PGM/DNG data storage on SSD
  • Interoperability with third-party GPU-based SDKs
  • Interoperability with GPU-based neural network libraries and applications at the GPU level

Fast VCR performance benchmarks

That software was built with internal GPU image processing to be capable of working in high performance camera applications. This is exactly what XIMEA is offering for their products with USB3 and PCIe interfaces. For USB3 cameras the software can work with multicamera systems to process raw frames from all cameras in real time without frame drops. Still, the maximum performance could be achieved with PCIe cameras. Fast VCR can process images from 65 MPix camera at 60 fps (up to 70 fps) on the NVIDIA GeForce RTX 4090, the pipeline includes RAW import, RAW bayer processing on the GPU, JPEG encoding, storage to SSD. This is just a one case which could show you level of performance. In general, the performance depends on the complexity of image processing pipeline and utilized hardware (CPU/GPU/SSD, etc.). You can download the demo software from the link below to test your XIMEA camera and to evaluate image quality and performance.

Optional image processing modules on GPU

  • RAW frames capture, preview and storage to SSD
  • Histograms for raw and processed data
  • Curves and levels for RAW, RGB, HSV
  • DCP support
  • 3D LUT support
  • Geometric and affine transforms
  • Undistortion via fast remap - in progress
  • Chromatic aberration suppression at RAW domain - in progress
  • LCP support
  • HDR support
  • Local and global tonemapping
  • SDI output support
  • Multiple camera support
  • Fast replay (synchronized viewer) solution for multicamera systems
  • High performance JPEG2000 and Raw-JPEG codecs
  • Interoperability with FFmpeg
  • Scripting via python
  • Camera and lens calibration: FPN, FFC, DCP, undistortion
  • GenICam (GenTL) and local SDK support to work with Basler, Imperex, DALSA/Flir, IO Industries, Emergent Vision Technologoes, Lucid Vision, Daheng Imaging, Mindvision, Hikrobot and other cameras
cuda image processing sdk

All the above features are designed on the basis of our CUDA image processing SDK. Now our customers have an opportunity to utilize GPU-accelerated software components in their applications as a part of video processing pipeline. Here you can find other benchmarks for our SDK.

Apart from FastVCR software, we are offering custom software design to build a solution according to customers' requirements. We can implement application-specific modes of operation to solve the task you need. Please fill the contact form below with your project info and send it to us.

Software downloads

Fast VCR Roadmap

  • CLI application with remote control
  • Support for IO Industries cameras
  • Error handling and logging
  • Better image quality
  • RAW compression

Other blog posts on the subject

Форма для отправки запроса

Эта форма сохраняет имя и адрес электронной почты.