This page uses cookies. For details and possible settings refer to our Privacy Policy.
Continuing to use this page means accepting the processing of cookie files.

Accept (hide info)
POL ENG GER 中文

Performance

The filters of Adaptive Vision Studio are highly optimized for modern multi-core processors with SSE2 technology. The table below shows results of a vision libraries performance benchmark.

Vision Libraries Benchmark

Filter Adaptive Vision Library 3.1.2 Another product OpenCV 2.4.6.0
Image negation 0.055 ms 0.103 ms 0.055 ms
Add two images (pixel by pixel) 0.055 ms 0.128 ms 0.055 ms
Image difference (pixel by pixel) 0.050 ms 0.125 ms 0.055 ms
RGB to HSV conversion (3xUINT8) 0.632 ms 1.243 ms 0.586 ms
Gauss filter 3x3 0.063 ms 0.290 ms 0.439 ms
Gauss filter 5x5 0.071 ms 0.323 ms 0.661 ms
Gauss filter 21x21 (std-dev: 4.3) 0.559 ms 1.815 ms 3.132 ms
Mean filter 21x21 0.315 ms 0.146 ms 0.637 ms
Image erosion 3x3 0.055 ms 0.127 ms 0.156 ms
Image erosion 5x5 0.059 ms 0.128 ms 0.209 ms
Sobel gradient amplitude (sum) 0.082 ms 0.092 ms
Sobel gradient amplitude (hypot) 0.125 ms 0.126 ms
Threshold to region 0.061 ms 0.032 ms
Splitting region into blobs 0.039 ms 0.082 ms
Bilinear image resize 0.205 ms 0.272 ms 0.114 ms

The above results correspond to 640x480 resolution, 1xUINT8 on an Intel Core i7 - 3.4 GHz (4 cores) machine. To assure consistent cache conditions big images were used and the results were normalized.

SEE & Multi-Core Optimization

Filters of Adaptive Vision Studio are optimized for SSE technology and for multi-core processors. Speed-up factors that can be achieved with these techniques are however highly dependent on the particular operator. Simple pixel-by-pixel transforms after SSE-based optimizations already reach memory bandwidth limits. On the other hand, more complex filters such as Gauss smoothing can achieve even 10 times lower execution times than with C++ optimizations only.


Filter Not optimized SSE SSE & Multicore (4 cores) SEE Speed-up Factor Multi-core Speed-up Factor Total Speed-up Factor
ThresholdImage 0.443 ms 0.214 ms 0.201 ms 2.1 1.1 2.2
SmoothImage_GaussFast (3x3) 0.827 ms 0.415 ms 0.196 ms 2.0 2.1 4.2
RotateImage 1.84 ms 1.84 ms 0.75 ms 1.0 2.5 2.5
SmoothImage_Gauss (21x21) 12.10 ms 5.06 ms 1.37 ms 2.4 3.7 8.8

The above results correspond to 640x480 resolution, 1xUINT8 on an Intel Q9550 - 2.83 GHz (4 cores) machine. To assure consistent cache conditions big images were used and the results were normalized.