Fastvideo SDK benchmarksCUDA Image Trigger for High Speed Camera Applications

At high speed image applications quite often we need to synchronize camera and software with some events without having any possibility to get direct external signal to start with. If some quickly moving object is entering into camera field of view just for a moment and we need to start video recording immediately, it's a real problem. To solve that problem, we need to do online image processing with minimum possible latency. So we have to calculate a histogram for each image and check whether histogram data set belongs to specified limits. All these calculations should be done as fast as possible and we have to do that either on FPGA or on PC (if camera can stream online all the data to PC RAM). If histogram changes significantly, we can admit that some objects are entered camera field of view. That kind of algorithm is called Image Trigger. Actually, that image trigger serves as a start for the capture of single or multiple frames from a high speed camera by analysing the data from its sensor.

We have developed an image trigger as a PC software. We believe that it's not possible to do that kind of calculations on CPU and we have solved that problem on GPU with NVIDIA CUDA technology. We use CameraLink high speed cameras with PCIE framegrabber as a data source for imaging system. Camera sends all data to PC RAM and our software is capable to calculate histogram for every image received. In that architecture we still have some latency and the problem could be easily solved by organising a circle buffer in PC RAM. At each triggering event software calculates histogram data set and determines whether it differs from the starting histogram.

CUDA Image TriggerCUDA image trigger features

  • Data input: uncompressed 8-bit monochrome image in BMP format
  • Data output: final 256-bin histogram
  • Data processing rate: 60 GB/sec for images with resolution 1280x1024, 8-bit
  • Maximum processing rate: 74 GB/sec for data array 143 MB
  • Continuous data mode (input one image after another)
  • Parallel performance for image loading and computations
  • Unlimited input image size
  • Compatibility with NVIDIA mobile and table top video cards
  • Option: for 64-bin histogram data rate could be up to 110 GB/s

PC test configuration

  • ASUS P6T Deluxe V2 LGA1366, X58, Core i7 920, 2.67 GHz, DDR-III 6 GB
  • Video card: GeForce GTX 580 (sm=2.0, 512 cores)
  • OS Windows-7, 64-bit, CUDA 4.1, driver 296.10 or later

How to improve current results for CUDA histogram

  • Algorithm optimization for parallel computations
  • Usage of more powerfull video cards Tesla and Fermi
  • Parallel computations with multiple top video cards

Applications for high-performance histogram calculations

High-performance CUDA histogram is suitable for a variety of digital imaging applications

  • Image trigger for high speed cameras
  • Image encoding
  • Image processing

What we could offer for your NVIDIA GPU

  • CUDA histogram calculations for high speed imaging
  • HPC custom solutions for CUDA image processing tasks
  • Custom software development for CUDA

Support

  • Full technical support up to successful client integration
  • Documentation, DLL with/without source code

For any further information on these solutions please contact us via emal.

Contact Form

This form collects your name and email. Check out our Privacy Policy on how we protect and manage your personal data.