OpenCV Implementation of Image Similarity Metrics - dushyantgoyal/differ GitHub Wiki
Week 1: 21.05.2012 - 25.05.2012
A. Understanding and OpenCV Implementation of Image Similarity Metrics
- MSE
- PSNR
- Image Quality Index
- SSIM
B. Using Makefile to build the binary
C. Generating Test Images
25.05.2012
- Writing the script files to generate test images in Matlab.
- Testing the output of the implementations in OpenCV with that of Matlab implementations.
Week 2: 28.05.2012 - 01.06.2012
A. Implementation of Algorithm Classes of the Similarity Metrics
B. SSIM and Image Quality Index Map created and written.
C. Generation of metrics for different color spaces added -
- GRAYSCALE
- RGB
- YCbCr
D. Tested these implementations on a set of colored and gray images.
Week 3: 04.06.2012 - 08.06.2012
A. Fixing some bugs
B. Reading Multi-scale SSIM paper
C. MS-SSIM
-
Adding Multi-Scale Similarity Metric (MS-SSIM)
-
Generating index_maps at different levels.
Week 4: 11.06.2012 - 15.06.2012
A. Testing code for large sized images of the order of 4k x 4k
B. Fixing Memory Leaks
C. Generating Profile using
-
gproof
-
valgrind
Week 5: 18.06.2012 - 22.06.2012
A. Preparing differ machine
B. Problem generating profiling with OpenCV support
Week 6: 25.06.2012 - 30.06.2012
A. Success in compiling OpenCV libraries statically
B. gprof support enabled
C. Analysis of Profiling Data - finding bottlenecks for better performance
Week 7: 02.07.2012 - 06.07.2012
A. Researching into parallelization methods- OpenCL, CUDA
B. Finalizing on OpenCL
C. Implementation of Basic functionalities of a few functions and testing them. For example, Add, Multiply, Pow.
Week 8: 09.07.2012 - 13.07.2012
A. Implementing various kernels
B. Checking the performance improvements
C. Reading research papers for implementing the gaussian filtering kernels.
Week 9: 16.07.2012 - 20.07.2012
A. Implemented MSE kernel
B. Implemented SSIM kernel in two parts - since there exists a dependency within the 2. The latter kernel required to use the output of the first one.
C. Debugging OpenCL kernels.
Week 10: 23.07.2012 - 27.07.2012
A. Implemented Image Quality Index Kernel
B. Implemented MS_SSIM kernel
C. Checked for the performance issues
Week 11: 30.07.2012 - 03.08.2012
A. Combining the 2 implemented classes
B. Implementing the command line versions
Week 12: 06.07.2012 - 10.08.2012
A. Integrating with differ framework
B. Possibly testing on GPU
Week 13: 13.07.2012 - 17.08.2012
A. Testing on GPU (Failed but helped in fixing kernel implementations)
B. Debugging openCL kernels
C. Adding few things (help command, etc)
D. Writing output/errors in xml format
Week 14: 20.07.2012 - 24.08.2012
A. Splitting files into different headers and source files
B. Documentation of code
C. Testing