Skip to content

BimalaWijekoon/Deep_Cleanse

Repository files navigation

Deep_Cleanse

Deep_Cleanse is a full-stack media denoising platform that uses deep learning models to analyze and reduce noise in images and audio.

The project combines:

  • A React frontend for user interaction and visualization
  • A Node.js/Express backend for authentication and session persistence
  • A Python/Flask backend for image/audio analysis and denoising inference

Repository Structure

Deep_Cleanse/
├── frontend/   # React application (UI + client logic)
├── backend/    # Node.js API (auth, user data, saved sessions)
├── Python/     # Flask + TensorFlow denoising APIs
└── README.md

Features

  • Image noise analysis and denoising
  • Audio noise analysis and denoising
  • Progressive denoising rounds with metrics
  • Session saving and retrieval for image/audio workflows
  • Email verification flow for signup/login

Tech Stack

  • Frontend: React, Axios, Chart.js
  • Node Backend: Express, Mongoose, Nodemailer, Helmet
  • Python Backend: Flask, TensorFlow, OpenCV, Librosa, SoundFile, Pillow
  • Database: MongoDB

Prerequisites

Install the following before running the project:

  • Node.js 14+ (LTS recommended)
  • Python 3.8+
  • pip
  • MongoDB (local or cloud instance)

Installation

1) Install frontend dependencies

cd frontend
npm install

2) Install Node backend dependencies

cd ../backend
npm install

3) Install Python dependencies

From the repository root:

pip install flask flask-cors tensorflow pillow numpy opencv-python librosa soundfile

Environment Configuration

Create a .env file inside backend/:

PORT=5000
MONGODB_URI=<your_mongodb_connection_string>
EMAIL_USER=<your_email_address>
EMAIL_PASS=<your_email_app_password>

EMAIL_USER and EMAIL_PASS are used by the verification email flow.

Running the Application

Recommended (start all services together)

cd frontend
npm start

This command starts:

  • Frontend on http://localhost:3000
  • Python backend on http://localhost:5001
  • Node backend on http://localhost:5000

Run services individually

Frontend

cd frontend
npm start

Node backend

cd backend
npm start

Python backend

cd Python
python app.py

API Overview

Python denoising API (port 5001)

  • POST /api/image/analyze - Analyze image noise
  • POST /api/image/denoise - Denoise image by image_id
  • GET /api/image/save/<image_id> - Download denoised image
  • POST /api/audio/analyze - Analyze uploaded audio file
  • POST /api/audio/denoise - Denoise audio by audio_id
  • GET /api/audio/save/<audio_id> - Download denoised audio
  • GET /api/audio/preview/<audio_id> - Audio preview payload

Node API (port 5000)

  • POST /api/signup - Register user (verification required)
  • POST /api/verify-email - Verify registration code
  • POST /api/resend-verification - Send new verification code
  • POST /api/login - User login
  • GET /api/user/:email - Fetch user profile
  • POST /api/image/save-session - Save/update image denoising session
  • GET /api/image/sessions/:email - List image sessions
  • GET /api/image/session/:id - Get one image session
  • POST /api/audio/save-session - Save/update audio denoising session
  • GET /api/audio/sessions/:email - List audio sessions
  • GET /api/audio/session/:id - Get one audio session

Build and Test

From frontend/:

npm run build
npm test

Troubleshooting

  • If react-scripts: not found, run npm install inside frontend/.
  • If backend modules are missing (for example dotenv), run npm install inside backend/.
  • If the Node backend fails to connect, verify MONGODB_URI in backend/.env.

Additional Documentation

A detailed project document is also available at:

  • DeepCleanse_Documentation.docx

About

DeepCleanse is an advanced AI-powered noise reduction system designed to enhance both images and audio by removing unwanted noise and distortions. Leveraging state-of-the-art Autoencoder architectures and deep learning techniques, DeepCleanse intelligently reconstructs clean and high-quality outputs from noisy inputs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors