Projects

Image Classification with Homeostasis behavior using Spiking Neural Network
Supervisor: Prof. Mohammad GanjTabesh
This repository presents the final project for the Computational Neuroscience course at the University of Tehran, Department of Computer Science under the supervision of M. Ganjtabesh. The project focuses on feature extraction and image classification from grayscale images using convolution and max-pooling layers within a spiking neural network (SNN). In this project, we aim to extract meaningful features from images utilizing convolution and max-pooling techniques. The neural network model employed consists of three layers with convolutional connections between the first and second layers, followed by pooling connections between the second and third layers. Also The learning rule used here is STDP and RSTDP.
Libraries and frameworks: : Pytorch, Pymonntorch

Progressive Spiking Neural Network Projects
Supervisor: Prof. Mohammad GanjTabesh
This project involves the simulation and analysis of various components, including the Izhikevich and LIF neuron models, neural populations, neural encoding, convolution and pooling layers, as well as specialized filters like Gabor and DoG. It also delves into the fascinating world of learning rules, particularly STDP (Spike-Timing-Dependent Plasticity) and reinforcement STDP learning rules. Each section of this comprehensive project is meticulously documented for clarity and reference. You'll find a Jupyter notebook in each folder, allowing for interactive exploration and experimentation. Additionally, a detailed report in PDF format accompanies each notebook, providing an insightful analysis of the results and findings obtained from these simulations. This comprehensive approach ensures a thorough understanding of the project's intricacies and outcomes.
Libraries and frameworks: : Pytorch, Pymonntorch

Self-supervised Monocular Depth Estimation
Monocular depth estimation, also known as single-image depth estimation or depth prediction from a single image, is a computer vision task that involves estimating the depth or distance information of objects in a scene from a single 2D image or photograph. This project uses an encoder-decoder model to estimate the depth of a single image based on photometric errors. Moreover, we employed various backbone architectures, including ResNet18, STDCNet, and DarkNet, and conducted an analysis on each of them. The model is an unsupervised model consisting of two networks, one for estimating depth and the other for estimating pose.
Libraries and frameworks: : Pytorch, Opencv, Numpy

Breast Cancer Classification
Breast cancer is a common form of cancer, and early detection is crucial. This project tackles the task of identifying cancerous regions in breast tissue images, which is a crucial step in cancer diagnosis. The dataset consists of breast tissue images, categorized into healthy and cancerous classes. The images are preprocessed and organized for training and evaluation. The dataset contains two classes: healthy and cancerous. It's balanced and suitable for training a machine learning model. A CNN architecture is designed to classify breast tissue images. It includes convolutional layers, batch normalization, dropout, and fully connected layers. This Python project aims to classify breast cancer images into two categories: healthy and cancerous. It utilizes a convolutional neural network (CNN) to make predictions based on image patches.
Libraries and frameworks: : Tensorflow, Keras, Numpy, Matplotlib

Movie Recommendation System
This project implements a movie recommendation system using both Content-Based and Collaborative Filtering techniques in Python with the Pandas library. Content-Based filtering recommends movies to users based on the attributes or features of the movies they have previously rated. In this approach, the system explores users' preferences and recommends movies with similar content features. Collaborative Filtering recommends movies by finding patterns in user behavior and preferences. It identifies users with similar tastes and suggests movies liked by those similar users. See the repository for better understanding.
Libraries and frameworks: : Numpy, Pandas, and Math

Data Mining Projects
Within this project, an array of tasks is addressed, starting with data preprocessing to ensure high-quality and relevant input for subsequent analysis. The process involves cleaning, organizing, and transforming raw data into a format suitable for analysis. The heart of the project lies in the implementation of diverse clustering and classification algorithms, leveraging both traditional machine learning models and cutting-edge neural networks. Through the utilization of machine learning models and neural networks, this project seeks to provide effective solutions to a variety of challenges. Whether it's grouping similar data points, predicting outcomes, or uncovering hidden patterns, the project's algorithms are designed to address different problem domains, making it a versatile and valuable undertaking in the field of data science and machine learning.
Libraries and frameworks: : Tensorflow, Keras, Pandas, Numpy, Sklearn