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)

restoration of the signal distorted during transmission to its initial condition with available physical line indicators