Spaces:
Running
Running
| title: Tattoo Search Engine | |
| emoji: π¨ | |
| colorFrom: purple | |
| colorTo: pink | |
| sdk: docker | |
| pinned: false | |
| license: mit | |
| app_port: 7860 | |
| suggested_hardware: t4-small | |
| # Tattoo Search Engine π¨ | |
| A powerful AI-powered tattoo search engine that finds similar tattoos based on visual similarity. Upload an image of a tattoo and discover visually similar designs from across the web. | |
| ## Features | |
| - **Multi-Model Support**: Choose from CLIP, DINOv2, or SigLIP embedding models | |
| - **Advanced Search**: Combines image captioning with visual similarity search | |
| - **Patch Attention Analysis**: Detailed analysis of which parts of tattoos are most similar | |
| - **Real-time Processing**: Fast image processing and similarity computation | |
| - **Multiple Platforms**: Searches across various tattoo platforms and image sources | |
| ## API Endpoints | |
| ### `POST /search` | |
| Search for similar tattoos by uploading an image. | |
| **Parameters:** | |
| - `file`: Image file (required) | |
| - `embedding_model`: Model to use - "clip", "dinov2", or "siglip" (default: "clip") | |
| - `include_patch_attention`: Enable detailed patch analysis (default: false) | |
| ### `POST /analyze-attention` | |
| Analyze patch-level attention between two images. | |
| **Parameters:** | |
| - `query_file`: Query image file (required) | |
| - `candidate_url`: URL of candidate image to compare (required) | |
| - `embedding_model`: Model to use (default: "clip") | |
| - `include_visualizations`: Include attention visualizations (default: true) | |
| ### `GET /models` | |
| Get available embedding models and their configurations. | |
| ### `GET /health` | |
| Health check endpoint. | |
| ## Models Used | |
| - **Image Captioning**: GLM-4.5V via HuggingFace Inference API | |
| - **Visual Similarity**: CLIP ViT-B/32, DINOv2, or SigLIP | |
| - **Search**: Multi-platform web search with intelligent filtering | |
| ## Usage | |
| 1. Upload a tattoo image | |
| 2. Select your preferred embedding model | |
| 3. Get ranked results with similarity scores | |
| 4. Optionally analyze detailed patch-level similarities | |
| Perfect for tattoo enthusiasts, artists, and anyone looking for tattoo inspiration! | |