Skip to content

Simulates image processing in the visual cortex using Gabor and DoG filters in spiking neural networks.

Notifications You must be signed in to change notification settings

MohaZamani/SNN-Visual-Cortex-Simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Processing in Primary Visual Cortex and Interlayer Communication in Spiking Neural Networks

description

This project focuses on simulating image processing mechanisms inspired by the primary visual cortex (V1) and investigating interlayer communication in Spiking Neural Networks (SNNs). The project implements filters like Difference of Gaussians (DoG) and Gabor filters to simulate the functionality of V1 neurons, and uses neural coding schemes such as Time to First Spike (TTFS) and Poisson coding. The Spike-Timing-Dependent Plasticity (STDP) learning rule is applied to enhance the learning process in SNNs.

Table of Contents

Project Overview

This project aims to simulate the functionality of visual cortex neurons through the application of DoG and Gabor filters on grayscale images, mimicking edge detection processes in biological vision systems. Furthermore, the project explores the encoding of visual information using TTFS and Poisson coding, and analyzes the performance of spiking neural networks with interlayer communication using the STDP learning rule.

Implemented Features

  1. DoG Filter:
    • Simulates on-center off-surround and off-center on-surround retinal receptive fields for edge detection.

description

  1. Gabor Filter:
    • Simulates simple cells in the primary visual cortex (V1), detecting edges at specific orientations and spatial frequencies.

description

  1. Neural Coding:
    • Time to First Spike (TTFS): Encodes images based on the timing of neuron spikes.
    • Poisson Coding: Encodes images using Poisson-distributed spike times.

description

  1. Spike-Timing-Dependent Plasticity (STDP):
    • STDP learning rule adjusts synaptic weights based on spike timing to optimize the SNN’s performance in recognizing visual patterns.

description

How to Run

  1. Clone the repository:

    git clone https://github.com/MohaZamani/SNN-Visual-Cortex-Simulation.git
  2. Install the necessary dependencies:

    pip install -r requirements.txt
  3. Run the simulation notebooks:

    • For DoG and Gabor Filters: Open and run Filters.ipynb
    • For SNN with STDP: Open and run SNN.ipynb

    You can launch the notebooks by executing:

    jupyter notebook

Results

Results from the simulations include:

  • Edge Detection: Visualization of the effects of DoG and Gabor filters on input images, showing enhanced edge detection.
  • Spike Raster Plots: Visualization of neural activity using TTFS and Poisson coding.
  • Weight Changes: Visualization of synaptic weight adjustments using the STDP learning rule.

All simulation results and detailed analysis is provided in the report.

References