devexp1601/RealStatePhotography

0

stars

4

commits

Python

primary language

Jan 5, 2026

updated

README

🏠 Real Estate Photo Processing Pipeline

AI-powered photo processing pipeline for real estate photography. Automatically classifies, enhances, and optimizes property photos.

✨ Features

FeatureDescription
CLIP ClassificationAutomatically detect interior vs exterior photos
HDR Bracket MergingMerge 3/5/7 exposure brackets into single HDR image
SDXL EnhancementAI-powered image enhancement with ControlNet
Sky ReplacementReplace overcast skies with beautiful blue skies
Batch ProcessingProcess multiple images with job queue
Folder WatchingAuto-process images dropped into watch folder
Web UIModern dark theme with drag-and-drop support

🚀 Quick Start

# Create virtual environment
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Run server
python app.py

Open http://localhost:5000 in your browser.

📡 API Endpoints

Core Pipeline

EndpointMethodDescription
/pipeline/processPOSTFull pipeline: HDR → Classify → Enhance → Sky Replace
/classifyPOSTClassify single image (interior/exterior)
/classify-batchPOSTBatch classify multiple images

HDR Processing

EndpointMethodDescription
/hdr/mergePOSTMerge HDR brackets (3/5/7 images)
/hdr/merge-zipPOSTMerge HDR from ZIP file

Enhancement

EndpointMethodDescription
/enhance/processPOSTSDXL + ControlNet enhancement
/enhance/load-modelsPOSTPre-load enhancement models

Sky Replacement

EndpointMethodDescription
/sky/replacePOSTReplace sky in exterior image
/sky/detectPOSTDetect sky region only
/sky/libraryGETList available sky images

Utilities

EndpointMethodDescription
/healthGETHealth check
/job/<id>GETGet batch job status
/folder-watcher/startPOSTStart folder watcher

🔧 Pipeline Options

The web UI provides checkboxes to customize the pipeline:

  • HDR Merge - Combine exposure brackets
  • SDXL Enhancement - AI enhancement (requires GPU)
  • Sky Replacement - Replace sky in exteriors

📁 Project Structure

RealStatePhotography/
├── app.py                 # Flask application
├── config.py              # Configuration settings
├── requirements.txt       # Python dependencies
├── routes/                # API route handlers
│   ├── classify.py        # Classification endpoints
│   ├── hdr.py             # HDR merge endpoints
│   ├── enhance.py         # Enhancement endpoints
│   ├── sky.py             # Sky replacement endpoints
│   └── pipeline.py        # Full pipeline endpoint
├── services/              # Business logic
│   ├── classifier.py      # CLIP classification
│   ├── hdr_merger.py      # HDR bracket merging
│   ├── enhancer.py        # SDXL enhancement
│   ├── sky_replacer.py    # Sky detection & replacement
│   └── pipeline.py        # Pipeline orchestration
├── templates/
│   └── index.html         # Web UI
├── sky_library/           # Sky images for replacement
├── uploads/               # Uploaded images
├── hdr_output/            # HDR merge output
└── enhanced_output/       # Enhanced image output

💻 Hardware Requirements

ComponentMinimumRecommended
RAM8GB16GB+
GPU VRAM6GB8GB+
Storage20GB50GB+

Note: SDXL enhancement requires NVIDIA GPU with CUDA. Other features work on CPU.

🖼️ Sky Library

Add sky images to sky_library/ folder for sky replacement:

  • Supports: JPG, PNG, WEBP
  • Recommended: High-resolution blue sky images
  • The system randomly selects from available skies

📦 Tech Stack

  • Flask - Web framework
  • CLIP - Image classification
  • Stable Diffusion XL - Image enhancement
  • ControlNet - Structure preservation
  • OpenCV - Image processing
  • PyTorch - Deep learning

📄 License

MIT

Contributors

devexp1601

4 commits

devexp1601/RealStatePhotography

0

stars

4

commits

Python

primary language

Jan 5, 2026

updated

README

🏠 Real Estate Photo Processing Pipeline

AI-powered photo processing pipeline for real estate photography. Automatically classifies, enhances, and optimizes property photos.

✨ Features

FeatureDescription
CLIP ClassificationAutomatically detect interior vs exterior photos
HDR Bracket MergingMerge 3/5/7 exposure brackets into single HDR image
SDXL EnhancementAI-powered image enhancement with ControlNet
Sky ReplacementReplace overcast skies with beautiful blue skies
Batch ProcessingProcess multiple images with job queue
Folder WatchingAuto-process images dropped into watch folder
Web UIModern dark theme with drag-and-drop support

🚀 Quick Start

# Create virtual environment
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Run server
python app.py

Open http://localhost:5000 in your browser.

📡 API Endpoints

Core Pipeline

EndpointMethodDescription
/pipeline/processPOSTFull pipeline: HDR → Classify → Enhance → Sky Replace
/classifyPOSTClassify single image (interior/exterior)
/classify-batchPOSTBatch classify multiple images

HDR Processing

EndpointMethodDescription
/hdr/mergePOSTMerge HDR brackets (3/5/7 images)
/hdr/merge-zipPOSTMerge HDR from ZIP file

Enhancement

EndpointMethodDescription
/enhance/processPOSTSDXL + ControlNet enhancement
/enhance/load-modelsPOSTPre-load enhancement models

Sky Replacement

EndpointMethodDescription
/sky/replacePOSTReplace sky in exterior image
/sky/detectPOSTDetect sky region only
/sky/libraryGETList available sky images

Utilities

EndpointMethodDescription
/healthGETHealth check
/job/<id>GETGet batch job status
/folder-watcher/startPOSTStart folder watcher

🔧 Pipeline Options

The web UI provides checkboxes to customize the pipeline:

  • HDR Merge - Combine exposure brackets
  • SDXL Enhancement - AI enhancement (requires GPU)
  • Sky Replacement - Replace sky in exteriors

📁 Project Structure

RealStatePhotography/
├── app.py                 # Flask application
├── config.py              # Configuration settings
├── requirements.txt       # Python dependencies
├── routes/                # API route handlers
│   ├── classify.py        # Classification endpoints
│   ├── hdr.py             # HDR merge endpoints
│   ├── enhance.py         # Enhancement endpoints
│   ├── sky.py             # Sky replacement endpoints
│   └── pipeline.py        # Full pipeline endpoint
├── services/              # Business logic
│   ├── classifier.py      # CLIP classification
│   ├── hdr_merger.py      # HDR bracket merging
│   ├── enhancer.py        # SDXL enhancement
│   ├── sky_replacer.py    # Sky detection & replacement
│   └── pipeline.py        # Pipeline orchestration
├── templates/
│   └── index.html         # Web UI
├── sky_library/           # Sky images for replacement
├── uploads/               # Uploaded images
├── hdr_output/            # HDR merge output
└── enhanced_output/       # Enhanced image output

💻 Hardware Requirements

ComponentMinimumRecommended
RAM8GB16GB+
GPU VRAM6GB8GB+
Storage20GB50GB+

Note: SDXL enhancement requires NVIDIA GPU with CUDA. Other features work on CPU.

🖼️ Sky Library

Add sky images to sky_library/ folder for sky replacement:

  • Supports: JPG, PNG, WEBP
  • Recommended: High-resolution blue sky images
  • The system randomly selects from available skies

📦 Tech Stack

  • Flask - Web framework
  • CLIP - Image classification
  • Stable Diffusion XL - Image enhancement
  • ControlNet - Structure preservation
  • OpenCV - Image processing
  • PyTorch - Deep learning

📄 License

MIT

Contributors

devexp1601

4 commits

Languages

Python

56.5%

HTML

43.5%