This repository contains the code and documentation for my final project on deep learning. The project focuses on two main parts: image classification using convolutional neural networks (CNNs) and denoising images using convolutional autoencoders.
In this project, we explore the applications of deep learning in image analysis. Our goal is to develop models that can accurately classify images into six different categories: buildings, streets, forests, mountains, glaciers, and the sea. Additionally, we investigate the use of convolutional autoencoders for denoising images.
To perform image classification, we built our own convolutional neural network (CNN) model. The architecture of the CNN consists of multiple convolutional layers, followed by pooling layers to extract important features from the input images. We also incorporated batch normalization and dropout regularization techniques to enhance the model's performance and prevent overfitting.
To evaluate the performance of our CNN model, we compared it with the widely used ResNet18 model. We trained both models on a labeled dataset of images from the six categories mentioned earlier. We measured the accuracy and other performance metrics to assess the effectiveness of our custom CNN model compared to ResNet18.
In addition to image classification, we explored the use of convolutional autoencoders for denoising images. We implemented an encoder-decoder architecture using convolutional layers to learn a compressed representation (latent space) of the input images. The decoder component then reconstructs the denoised image from the learned representation.
To evaluate the performance of our convolutional autoencoder, we introduced noise to a set of images and fed them into the autoencoder. The model was trained to reconstruct the original, noise-free images from the noisy inputs. We assessed the quality of the denoised images using various metrics and visually compared the results.
To use the code in this repository, follow these steps:
- Clone the repository:
git clone https://github.com/NoamAtias/Images-Classification-and-AutoEncoder.git - Install the required dependencies:
pip install -r requirements.txt - Run the image classification or denoising scripts:
python classification.pyorpython denoising.py - Explore the results and modify the code as needed for your experiments.
Contributions to this project are welcome. If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.
Feel free to customize the Readme file according to your specific project details, such as adding a section on dataset description, training process, or evaluation results.