File size: 1,253 Bytes
9a6ace0
b14f628
 
 
 
9a6ace0
b14f628
9a6ace0
 
86f4971
9a6ace0
 
b14f628
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
---
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.