Inspiration

GoofyTex nace del reto de Inditex Tech de resolver el matching entre outfits completos (bundles) y productos individuales en un entorno real de e-commerce, combinando visión por computador, retrieval multimodal y señales débiles como metadatos temporales.

What it does

Detecta prendas en imágenes de outfits, genera embeddings multimodales y recupera los productos más probables del catálogo mediante un pipeline de filtrado por sección, clasificación zero-shot y reranking inteligente.

How we built it

Entrenamos un modelo basado en OpenCLIP para retrieval, añadimos detección de prendas con YOLO para trabajar por crops, implementamos índices por sección para reducir el espacio de búsqueda y aplicamos reranking con señales como categoría y timestamps.

Challenges we ran into

Uno de los mayores retos fue la escasez de datos anotados y la limitada cobertura del conjunto de entrenamiento. Esto afectó tanto al aprendizaje de relaciones entre secciones como a la generalización del modelo. Además, trabajar con embeddings requirió entender profundamente cómo se comportan en espacios de alta dimensión: pequeñas decisiones en normalización, agregación o filtrado podían impactar significativamente el recall.

Accomplishments that we're proud of

Diseñamos un pipeline modular y escalable, combinamos múltiples fuentes de señal (visual, textual y temporal) y logramos mejorar el ranking respecto a un baseline puramente basado en embeddings globales.

What we learned

Aprendimos que en sistemas de retrieval el rendimiento no depende solo del modelo, sino del manejo correcto de los embeddings: normalización L2 consistente, alineación entre espacios de imagen y texto, agregación robusta por crop y uso cuidadoso de priors. También entendimos que con pocos datos, las heurísticas deben aplicarse como señales suaves y no como restricciones rígidas para no sacrificar generalización.

What's next for GoofyTex

Integrar segmentación más fina por prenda, mejorar el fine-tuning multimodal con hard negatives, sustituir heurísticas por un reranker aprendido y optimizar el sistema para producción en tiempo real.

Built With

Share this project:

Updates