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.
PC test configuration
How to improve current results for CUDA histogram
Applications for high-performance histogram calculations
High-performance CUDA histogram is suitable for a variety of digital imaging applications
What we could offer for your NVIDIA GPU
For any further information on these solutions please contact us via emal.