How rudransh-12/digimaap_seal_validation works
SealScan is a FastAPI backend for seal-image quality checks and similarity-based tampering risk assessment. A client can first submit a single image for quality feedback, or submit a current image plus reference images for the full assessment: decoding and quality validation precede per-reference comparison, metric aggregation, and LOW/MEDIUM/HIGH classification. The similarity engine delegates preprocessing and feature measurement; quality validation also uses a blur classifier. The README is empty, so the documented endpoint descriptions and sampled source establish the product workflow. Aggregation and tampering-classifier details are based on the endpoint’s stated pipeline and tree paths, not inspected implementation excerpts.
Main entry points: similarity.py Similarity endpoint · image_quality.py Quality metrics · settings.py Thresholds and settings · quality.py Quality endpoint
Components 16
API layer
- FastAPI application
backend/app/main.py - Quality endpoint
backend/app/api/quality.py - Similarity endpoint
backend/app/api/similarity.py - Request and response schemas
backend/app/models/schemas.py
Image quality
- Quality metrics
backend/app/services/image_quality.py - Blur assessment
backend/app/services/blur_classifier.py - Blur model artifact
backend/model/blur_classifier.pkl
Similarity assessment
- Comparison orchestration
backend/app/services/similarity_engine.py - Image preprocessing
backend/app/services/preprocessing.py - Pairwise metrics
backend/app/services/feature_extraction.py - Reference aggregation
backend/app/services/reference_aggregation.py - Risk classification
backend/app/services/tampering_classifier.py - Tampering model artifact
backend/model
Analysis internals
- Image decoding
backend/app/utils/image_utils.py - Thresholds and settings
backend/app/config/settings.py
Other components
- Image submitter
Connections 23
- Image submitter → FastAPI application: sends requests
- FastAPI application → Quality endpoint: routes quality checks
- FastAPI application → Similarity endpoint: routes scans
- Quality endpoint → Image decoding: decodes image
- Quality endpoint → Quality metrics: checks quality
- Quality endpoint → Request and response schemas: returns typed response
- Similarity endpoint → Image decoding: decodes images
- Similarity endpoint → Quality metrics: checks current image
- Similarity endpoint → Comparison orchestration: compares references
- Similarity endpoint → Reference aggregation: aggregates metrics
- Similarity endpoint → Risk classification: classifies aggregate
- Similarity endpoint → Request and response schemas: returns typed response
- Quality metrics → Blur assessment: assesses blur
- Quality metrics → Image decoding: converts grayscale
- Quality metrics → Thresholds and settings: reads thresholds
- Blur assessment → Blur model artifact: loads model
- Comparison orchestration → Image preprocessing: preprocesses images
- Comparison orchestration → Pairwise metrics: computes metrics
- Image preprocessing → Thresholds and settings: reads parameters
- Pairwise metrics → Thresholds and settings: reads ORB settings
- Reference aggregation → Thresholds and settings: reads aggregation choice
- Risk classification → Thresholds and settings: reads classifier settings
- Risk classification → Tampering model artifact: loads model