Skip to content

XxSamaxX/Inditex

Repository files navigation

Zara Image Retrieval Pipeline (Score: 59.55%)

Este proyecto implementa un sistema de Visual Search de alto rendimiento para e-commerce, optimizado para el dataset de Inditex/Zara. El sistema permite emparejar imágenes de modelos (bundles) con productos aislados del catálogo mediante embeddings vectoriales de alta precisión.

1. Arquitectura de IA

El núcleo del sistema es un modelo SigLIP (google/siglip-so400m-patch14-384), especializado en la alineación de imágenes y texto/conceptos.

Interpolación de Pesos (Model Soups)

Para alcanzar el score de 59.55%, no se utiliza un único entrenamiento. Se ha implementado una técnica de Model Soups (Sopa de Modelos):

  • Sopa Master (60%): Promedio matemático de los pesos de las épocas 10, 12, 14, 16, 18 y 20.
  • Sopa Triangle (20%): Promedio de las épocas 8, 13 y 18.
  • Sopa Late (20%): Promedio de las épocas finales 16-20.

Esta interpolación promedia los pesos en el espacio de parámetros, suavizando la superficie de pérdida y mejorando la generalización del modelo frente a nuevas prendas.

2. Optimizaciones Críticas

Zara Hack (Reglas de Negocio)

El sistema integra una capa de post-procesamiento basada en metadatos de Inditex:

  1. Match Exacto: Si el código de producto extraído de la URL coincide, se posiciona en el Top 1.
  2. Match Familia: Si los primeros 7 dígitos (Familia/Modelo) coinciden, el producto recibe un boost de relevancia sobre el ranking de la IA.

Dataset PRO (Preprocesamiento)

Las imágenes se normalizan mediante Letterboxing (pad de 512x512 con color RGB(245, 245, 245)) para mantener el aspect ratio original y evitar deformaciones que confundan al transformador visual.

3. Guía de Despliegue Local

Requisitos Previos

  • Python 3.10+
  • GPU NVIDIA (Recomendado para inferencia en <100ms)
  • Acceso a los datasets oficiales de Inditex.

Instalación

  1. Clonar el repositorio y crear el entorno:
python3 -m venv venv
source venv/bin/activate
  1. Instalar dependencias (Versión CUDA):
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
pip install transformers fastapi uvicorn pillow numpy pandas

Ejecución

  1. Levantar Backend (IA & API):
python -u backend.py

El sistema cargará el modelo en la GPU y pre-calculará los diccionarios de búsqueda en memoria.

  1. Levantar Frontend (Interfaz):
cd code
python3 -m http.server 8080

Acceder a http://localhost:8080 en el navegador.

4. Estructura de Datos (Inditex)

Nota: Los archivos de datos y pesos son propiedad de Inditex y no se incluyen en este repositorio. Deben descargarse desde los servidores oficiales y colocarse en:

  • /dataset/products/: Imágenes del catálogo.
  • /dataset/bundles/: Imágenes de modelos.
  • siglip_SOUP_master.pth: Pesos del modelo interpolado.
  • cache_SOUP_master.npz: Embeddings pre-calculados del catálogo (27k items).
  • *.csv: Datasets de mapeo y descripciones.

Desarrollado para el reto de Visión Artificial de Inditex.

About

Vision Model

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors