This repository explores the application of approximate computing techniques to common image processing tasks. The project implements and evaluates the performance of approximate multipliers in applications such as edge detection, image smoothing, and image multiplication. The goal is to analyze the trade-off between computational accuracy and output quality, measured by metrics like Peak Signal-to-Noise Ratio (PSNR) and Structural Similarity Index (SSIM).
- 'Approx_Computing_Code.ipynb': The main Colab Notebook containing the Python code for all image processing applications and analysis.
- 'Design/':
- 'Compressor.csv': Comparison of approximate vs. exact compressor outputs.
- 'Multiplier.csv': Comparison of approximate vs. exact multiplier outputs.
- 'Multiplier_Errors.csv': Error analysis for the approximate multiplier.
- 'PSNR_SSIM.csv': PSNR and SSIM results for the different image processing applications.
- 'Images/': A collection of input images used for testing the algorithms.
- 'Edge Detection/': Output images resulting from the edge detection algorithms.
- 'Image Smoothing/': Output images from the image smoothing operations.
- 'Image Multiplication/': Output images demonstrating image multiplication and scaling.
The performance of the approximate computing models is evaluated both quantitatively and qualitatively.
- Quantitative Analysis: Detailed error metrics, PSNR, and SSIM values are compiled in the CSV files within the Design folder. These files provide a numerical comparison between the outputs generated by exact and approximate computations.
- Qualitative Analysis: The visual impact of using approximate computing can be observed in the output images located in the Edge Detection, Image Smoothing, and Image Multiplication folders. These images provide a direct visual comparison of the results.