Logo icon

The library for comparing images

Developed for: NEC (UK) Ltd (a division NEC in the UK), United Kingdom, Cambridge

Purpose: the library for comparing images

For use in another project, NEC required the additional library that implements algorithms of comparing two visually similar images (hereinafter this library was used in the facial detection on high definition video).

The comparison was made on the basis of SSIM and PSNR metrics, the principle of which is based on a per-pixel analysis of the image. Since the decisive factor was the speed of the algorithms, it was required to implement them so that they would be ahead of OpenCV implementation, which was regarded as a standard. For this purpose, low level (assembler) inserts based on the set of SSE3 instructions were used in C++ code. This resulted in the acceleration of image processing, on average, 5-6 times. For large datasets, the speed of the algorithm changed more significantly and reached the level above the average.

Specification

Client: NEC (UK) Ltd (a division NEC in the UK), United Kingdom, Cambridge
Area of use: images processing
Type (platform): C++-library
Technologies and algorithms in use: C++, SSE 3, Assembler, metrics SSIM and{/lang en} PSNR

Similar projects

fast implementation of the direct and inverse Fourier transform (for later use in image processing)

study of possible detection of complex sports technical tricks by the example of tackle in soccer