Postdoc Level Projects

Understanding the potential of spiking neural networks

Technologies used: Python, PyTorch, Nvidia CUDA, SpeechBrain

This project explores the capabilities of Spiking Neural Networks (SNNs) in providing lightweight solutions to sequential tasks involving text and speech. We showed that SNNs, due to their intrinsic memory provided by membrane potential, can be an efficient alternative to Recurrent Neural Networks (RNNs) and Long Short-Term Memory (LSTM) networks for sequence processing, especially for certain edge applications. 

Publications:

Effective algorithms for open world continual learning (on going)

Technologies used: Python, PyTorch, Nvidia CUDA

This project involves understanding and developing algorithms for continual (or lifelong) learning using deep neural networks. Continual learning (CL), or the ability to acquire, process, and learn from new information without forgetting acquired knowledge, is an essential characteristic of artificial general intelligence. However, traditional neural networks do not possess the ability to adapt to such dynamic environments.   

Publications:


Graduate Level Projects

Dynamically adaptable deep learning framework for capturing spoofing artifacts in speech

Technologies used: Python, PyTorch, Nvidia CUDA, MATLAB

The project presents a unique spoofing attack detection framework that merges concepts from the mammalian auditory system with a deep learning model to improve speech feature extraction. The aim was to create a system capable of detecting replay attacks on automatic speaker verification systems by dynamically recognizing and capturing environmental and device artifacts introduced during replay.

Link: https://github.com/buddhiW/AdaptiveNet 

Publications:

Adaptive Filterbanks: A bio-inspired solution for replay spoofing attacks in speaker verification 

Technologies used: MATLAB

The project integrates non-linear adaptation, which increases the dynamic range in mammalian hearing, into a traditional parallel filterbank used for spoofing attack detection. 

Publications:

Leveraging spatial differentiation from auditory modeling to detect spoofing attacks

Technologies used: MATLAB

The project emphasizes the benefits of spatial differentiation in enhancing replay attack detection. Spatial differentiation is a technique known to boost auditory response sensitivity by mimicking fluid coupling in the mammalian cochlea's basilar membrane.

Publications:

Speech demodulation techniques for identifying reverberation and noise in replayed speech 

Technologies used: MATLAB, Python, TensorFlow

The project conducted an in-depth exploration of Amplitude Modulation-Frequency Modulation (AM-FM) modeling approaches, revealing their potent application in enhancing the detection of replay attacks. 

Publications:

 Undergraduate Level Projects

Mutual Information Analysis based power analysis attacks 

Technologies used: C, Nvidia CUDA, MATLAB

Side channel attack is a type of security attack on a cryptographic system where an attacker gains information from the physical implementation of the system, rather than the software or cryptographic vulnerabilities. Power analysis attack is a form of side channel attack that exploits the power consumed by a device when performing cryptographic operations. Mutual Information Analysis (MIA) based power analysis attack is a type of power analysis attacks. The primary goal of the project was to develop an efficient implementation of the MIA algorithm on a cryptographic device using CUDA C, demonstrating their practicality in real-world situations. We were able to develop a fast implementation which takes around 15 minutes using POSIX threads on CPU and around 2 minutes using CUDA C on GPU.  

Publications:

Personalized Notice Board  

Technologies used: Python, OpenCV, Raspberry Pi

The primary goal of this project was to design and implement a unique personalized notice board system. This innovative system combines facial recognition techniques and customized content delivery to provide users with a tailored information experience. When a user stands in front of the notice board, the system uses facial recognition to identify the user and displays only notices that are relevant to them. Software framework of the project is based on Python and OpenCV. Project was built using Raspberry Pi2 development board. 

Web based simulator for ARM instruction architecture


Technologies used: HTML, PHP, and JavaScript

This project comprises a web-based ARM instruction set architecture simulator with a suite of functionality that includes the ability to upload and modify code, compile it, and simulate its execution. The simulator provides users with an in-depth view of memory operations and register performance during execution, and it also offers standard error messages. 

MIPS processor simulator using Verilog 


Technologies used: Verilog

An instruction Set Architecture (ISA) acts as an interface that defines the hardware operations which are available to the software. MIPS is an ISA which supports different types of instructions, namely R-type, load and store, conditional branch, etc.

This tool implements a basic MIPS based multi-cycle processor and controller using the Hardware Definition Language, Verilog. Different hardware components included in the data path of the processor have been implemented in dedicated modules which can be easily interconnected to form the complete data path. Using this implementation, one can easily get an understanding on how different components in the data path works with the help of testing modules.