Optimal filter selection through Nash equilibrium in mixed strategies
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.
- 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)
- Data Generation: Run
imgNoiser.pyto create noisy images from originals - Dataset: 30 natural images with 3 systematic noise types
- Payoff Matrix: Calculate average PSNR for all 9 filter-noise combinations
- Equilibrium Analysis: Check for pure Nash equilibrium, compute mixed equilibrium
- Strategy Validation: Apply optimal probabilistic filter selection
- 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
- Zero-sum game formulation
- Pure vs mixed Nash equilibrium
- Maximin/Minimax strategies
- Linear programming optimization
- Probabilistic strategy selection
- 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
# Install required dependencies
pip install opencv-python numpy scikit-image matplotlib pandas seaborn scipygit 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โโโ 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)
imgNoiser.py: Generates noisy versions of original imagesNotebook.ipynb: Complete game theory analysis with automatic results generationresults_mixed/: Contains visual comparisons and PSNR scores (auto-generated)
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.
โข BOUDINA Aicha Hanaa โข ASSABAT Lamis โข SAIDI Fatma Zohra โข MECHAIRI Nesrine โข