Spaces:
Build error
Build error
| title: Wonder Finder | |
| emoji: π | |
| colorFrom: yellow | |
| colorTo: yellow | |
| sdk: gradio | |
| sdk_version: 4.44.0 | |
| app_file: app.py | |
| pinned: false | |
| license: mit | |
| # π Wonder Finder | |
| Visual recommender for the 12 Wonders of the World, powered by CLIP embeddings. | |
| ## What it does | |
| - **Image search:** upload a travel photo β get the 3 most visually similar wonders | |
| - **Text search:** describe a place in natural language β get the 3 closest matching wonders | |
| ## How it works | |
| 1. The catalog (11,544 images across 12 wonder classes) is pre-embedded using CLIP ViT-B/32. | |
| 2. User input (image or text) is embedded into the same 512-D space. | |
| 3. Cosine similarity ranks the catalog; top 3 results are returned with a diversity filter to avoid duplicates. | |
| ## Dataset | |
| [chavajaz/wonders_dataset](https://huggingface.co/datasets/chavajaz/wonders_dataset) β CC0-1.0 licensed, ~960 images per class on average. | |
| ## Model | |
| [openai/clip-vit-base-patch32](https://huggingface.co/openai/clip-vit-base-patch32) β chosen for its joint image-text embedding space, which enables both image and text input through a single model. | |
| ## Cluster analysis | |
| K-Means at k=12 on the embeddings achieved **ARI = 0.890** and **NMI = 0.927** against ground-truth wonder labels, indicating CLIP's pretrained space already separates the 12 wonders almost perfectly without supervision. | |
| Built as the final project for [Course Name] Assignment 3. | |