Skip to content

Hanaa-22/ImageDenoising-via-GameTheory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ Image Denoising via Game Theory

Optimal filter selection through Nash equilibrium in mixed strategies

๐Ÿ“Š Project Overview

This project presents an innovative approach to image denoising by modeling the problem as a zero-sum game. We calculate the Nash equilibrium in mixed strategies to determine the optimal probabilistic distribution of denoising filters that guarantees robust performance against various noise types.

๐ŸŽฏ Problem Modeling

  • Players: Denoiser (maximizes PSNR) vs Nature/Noise (minimizes PSNR)
  • Strategies: 3 denoising filters (Gaussian, Median, NLM) ร— 3 noise types (Gaussian, Salt & Pepper, Poisson)
  • Game Type: Zero-sum with mixed Nash equilibrium
  • Utility Function: PSNR (Peak Signal-to-Noise Ratio)

๐Ÿ”ฌ Experimental Pipeline

  1. Data Generation: Run imgNoiser.py to create noisy images from originals
  2. Dataset: 30 natural images with 3 systematic noise types
  3. Payoff Matrix: Calculate average PSNR for all 9 filter-noise combinations
  4. Equilibrium Analysis: Check for pure Nash equilibrium, compute mixed equilibrium
  5. Strategy Validation: Apply optimal probabilistic filter selection

๐Ÿ› ๏ธ Technologies Used

  • Python 3.9+ with OpenCV, NumPy, SciPy, scikit-image, pandas, matplotlib, seaborn
  • Jupyter Notebook for interactive implementation
  • Game Theory: Linear programming for equilibrium calculation
  • Image Processing: PSNR metric, multiple denoising algorithms

๐Ÿง  Game Theory Concepts Applied

  • Zero-sum game formulation
  • Pure vs mixed Nash equilibrium
  • Maximin/Minimax strategies
  • Linear programming optimization
  • Probabilistic strategy selection

๐Ÿ’ก Project Contributions

  • Novel application of game theory to image denoising
  • Mathematical guarantee of minimum PSNR performance
  • Framework for robust multi-algorithm selection
  • Complete reproducible implementation with visualizations

๐Ÿš€ Quick Start

Installation

# Install required dependencies
pip install opencv-python numpy scikit-image matplotlib pandas seaborn scipy

Run the Project

git clone https://github.com/Hanaa-22/ImageDenoising-via-GameTheory
cd ImageDenoising-via-GameTheory

# Generate noisy images (optional - noisy folder already exists)
python imgNoiser.py

# Explore the complete implementation
# Open Notebook.ipynb to see all analysis steps

๐Ÿ“ Repository Structure

โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ imgNoiser.py                  # Noise generation script
โ”œโ”€โ”€ Notebook.ipynb                # Complete implementation and analysis
โ”œโ”€โ”€ Report.pdf                    # Detailed project report
โ””โ”€โ”€ datasetTHJ/                   # Image dataset
    โ”œโ”€โ”€ OG/                       # Original clean images
    โ”œโ”€โ”€ noisy/                    # Generated noisy versions (created by imgNoiser.py)
    โ””โ”€โ”€ results_mixed/            # Results with visual comparisons (auto-generated)

Script Details:

  • imgNoiser.py: Generates noisy versions of original images
  • Notebook.ipynb: Complete game theory analysis with automatic results generation
  • results_mixed/: Contains visual comparisons and PSNR scores (auto-generated)

๐ŸŽ“ Project Context

This project was developed within the educational TP Project for the Game Theory course in the final year Visual Computing program, demonstrating the practical application of game theory concepts to computer vision.

๐Ÿ‘ฅ Contributors

โ€ข BOUDINA Aicha Hanaa โ€ข ASSABAT Lamis โ€ข SAIDI Fatma Zohra โ€ข MECHAIRI Nesrine โ€ข

Releases

No releases published

Packages

 
 
 

Contributors