An AI-powered computer vision system that automatically selects the best wedding photos from thousands of images.
This project helps wedding photographers and studios reduce photo selection time from several hours to just a few minutes.
Wedding photographers typically capture 3000–10000 photos per event. Manually selecting the best images for albums is time-consuming.
This AI system automatically analyzes the entire photo set and selects the best images for album design and delivery.
Detects and removes blurry or low-quality images.
Identifies and removes duplicate or burst-shot images.
Detects faces in photos to prioritize images with people.
AI prioritizes images containing the bride and groom.
Each image receives an aesthetic score based on visual quality.
Images are automatically categorized into scenes such as:
- Bride portrait
- Groom portrait
- Couple portrait
- Wedding ceremony
- Family photos
- Stage photos
- Emotional moments
- Dance celebrations
- Candid moments
Groups images into a timeline of the wedding story.
Ranks images and selects the top photos for album creation.
RAW IMAGES
↓
Image Loading
↓
Blur Detection
↓
Duplicate Removal
↓
Face Detection
↓
Bride/Groom Detection
↓
AI Aesthetic Scoring
↓
Scene Classification
↓
Story Builder
↓
Image Ranking
↓
Best 500 Album Photos
wedding-ai-photo-selector
│
├── app.py
├── main.py
├── requirements.txt
│
├── src
│ ├── pipeline.py
│ ├── duplicate_remover.py
│ ├── face_detector.py
│ ├── scene_classifier.py
│ ├── story_classifier.py
│ │
│ └── features
│ ├── aesthetic_scorer.py
│ └── quality_checker.py
│
├── data
│ ├── demo_images
│ └── selected_images
│
└── architecture
├── pipeline.png
└── screenshots
Clone the repository
git clone https://github.com/sundhars2823/Machine-learning-protfolio.git
Navigate to the project
cd wedding-ai-photo-selector
Create virtual environment
python -m venv venv
Activate environment (Windows)
venv\Scripts\activate
Install dependencies
pip install -r requirements.txt
python main.py
The system will process all images and automatically select the best photos.
This project includes a web interface built with Streamlit.
Run the app:
streamlit run app.py
Open in browser:
http://localhost:8501
Python OpenCV PyTorch OpenCLIP NumPy Streamlit
Typical Wedding Dataset
Input images: 4000 – 8000 photos Processing time: 5 – 15 minutes Output: 300 – 500 best photos
Manual photo selection time reduced by 90%.
- Automatic wedding album layout generator
- Emotion detection
- Couple moment prioritization
- Lightroom plugin
- Automatic album export for printing
- AI slideshow generator
SUNDHARESHWAR ASPIRING ML ENGINEER
This project is for research and educational purposes.