Skip to content

Building hybrid CNN with topological data analysis, Mel Spectograms and custom tensor transformations

License

Notifications You must be signed in to change notification settings

jakorostami/cough_classification

Repository files navigation

Cough classification with hybrid CNNs and topology

This repo is a demo of using inspiration and applications from Topological Data Analysis, Audio Processing, and Deep Learning. It takes different audio sounds and classifies if it is someone coughing or not, so it is a binary classification problem. However, a cough sound sounds indistuingishable from other sounds like microphone checking or random background noise for the human ear. In this repo, the approach has been to produce topological features and Mel Spectograms to create 3D and 2D CNN hybrids to classify if the sound is a cough sound or not!

Specifically, you'll find custom tensor transformations instead of the Euler Characteristic Transform.

Custom Tensor Transformation

Topological Data Analysis

Below is the output from using the Mapper algorithm to use unsupervised machine learning to find clusters of different sounds. You'll also find usage of Taken's theorem by creating high-dimensional features for phase space reconstruction.

Mapper

Taken's Embeddings reduced to PCA Embeddings

Takens and PCA

Spectograms and other transforms

Because we are working with audio signals, a natural approach is to produce Mel Spectograms as input for the models. Another way of also producing features or analysing the signal is to use Zero-Crossing Rates.

Mel Spectogram Cough

Zero-Crossing Rates

Mel Spectogram Cough

About

Building hybrid CNN with topological data analysis, Mel Spectograms and custom tensor transformations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published