--- title: ArtScope emoji: 🎨 colorFrom: indigo colorTo: pink sdk: gradio sdk_version: 6.11.0 app_file: app.py pinned: false python_version: "3.12" --- # 🎨 ArtScope Clasificador de movimientos artísticos basado en un ensemble heterogéneo **ConvNeXt-tiny + ViT-small**, con mapa **Grad-CAM** y descripción del estilo generada por **Claude** (Anthropic). Trabajo final de la asignatura de Computer Vision del máster MIOTI. ## Cómo funciona 1. Subes una imagen de un cuadro. 2. Dos modelos (una CNN moderna y un Vision Transformer) predicen el movimiento por separado y sus probabilidades se promedian (ensemble). 3. Se calcula un mapa Grad-CAM sobre el ConvNeXt para visualizar las regiones más influyentes en la predicción. 4. Se envía el top-1 y top-2 a Claude, que devuelve una descripción contextual del estilo. ## Movimientos soportados Impressionism · Post-Impressionism · Realism · Romanticism · Expressionism · Cubism · Surrealism · Abstract Expressionism · Baroque · Northern Renaissance ## Configuración La descripción generativa requiere una variable de entorno `ANTHROPIC_API_KEY` (Settings → Variables and secrets). Si no se proporciona, la app sigue funcionando y muestra un mensaje en su lugar.