--- 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.