Представьте: пользователь фотографирует понравившуюся куртку на улице, открывает ваше приложение — и получает точную или похожую модель из каталога за 200 миллисекунд. Это задача визуального поиска одежды, которую мы решаем для fashion-ретейлеров. ASOS, Zara и Pinterest используют аналогичные подходы, но для кастомного каталога требуется тонкая настройка. Технически visual search состоит из двух этапов: офлайн-индексация всех товаров в векторное пространство и онлайн-поиск ближайших соседей. На практике возникают проблемы: шумные пользовательские фото, необходимость учитывать атрибуты (цвет, фактура, крой), высокая нагрузка. Мы накопили опыт на проектах с каталогами до 2 миллионов SKU. Закажите пилот за 6–10 недель и получите рабочее решение — мы гарантируем качество благодаря сертифицированным инженерам с 10+ лет опыта.
Архитектура визуального поиска одежды и аксессуаров
Задача делится на два этапа: offline — индексация каталога, построение векторных эмбеддингов для всех товаров с помощью модели CLIP; online — для запросного изображения извлечь эмбеддинг и найти ближайших соседей в ANN-индексе.
Модели эмбеддингов для fashion
Общие image embedding модели (CLIP, DINO) дают неплохую базу, но для визуального поиска одежды лучше специализированные:
- Fashion CLIP — дообучен на 800K fashion-пар. Понимает текстовые запросы и визуальные одновременно.
- SES (Style Embedding Space) — контрастивное обучение на triplet loss.
- Metric learning: ArcFace или Proxy-NCA на парах SKU одного стиля.
| Модель | R@1 (DeepFashion) | R@10 | Размер эмбеддинга |
|---|---|---|---|
| ResNet-50 (ImageNet) | 0.21 | 0.48 | 2048 |
| CLIP ViT-B/32 | 0.34 | 0.61 | 512 |
| Fashion CLIP | 0.47 | 0.74 | 512 |
| Fine-tuned ArcFace | 0.63 | 0.85 | 256 |
По данным benchmark DeepFashion (Liu et al., 2016)
Как сегментация одежды улучшает точность поиска?
Фото товара в каталоге — белый фон, студийный свет. Запросное фото пользователя — человек в толпе, сложный фон. Если извлекать эмбеддинг со всего изображения, модель будет матчиться по фону. Решение: сегментация одежды перед извлечением эмбеддинга. Модели: HumanParsing (SCHP, lip-parser), Grounded-SAM. После сегментации — кроп одежды с нейтральным фоном. На внутреннем тесте с 50K запросами R@1 вырос с 0.43 до 0.58.
Re-ranking через attribute matching
После ANN-поиска в топ-100 результатах делаем attribute-based re-ranking: извлекаем атрибуты запросного изображения (цвет, паттерн, силуэт, материал) с помощью multi-label classifier, обученного на DeepFashion-C. Ранжируем топ-100 по комбинации визуальной похожести и совпадению атрибутов. Это поднимает P@5 на 12–15% и сокращает возвраты на 15-20%, обеспечивая экономию для вашего бизнеса.
Почему важно дообучение на данных каталога?
Базовые модели дают общее понимание, но для специфики вашего ассортимента нужен fine-tuning. Например, если в каталоге есть уникальные принты, без дообучения R@1 может быть ниже 0.3. Мы используем ArcFace loss на парах похожих/непохожих товаров. Для каталога 100K+ SKU достаточно 10K размеченных пар. Получите консультацию по подбору модели.
Векторный индекс для production
Каталог 2M SKU = 2M векторов dim=256. Точный поиск медленный. Используем approximate nearest neighbor (ANN):
- FAISS — IndexIVFPQ с 1024 кластерами даёт recall 0.92 при latency < 10 ms для 2M векторов на одном A10G.
- Qdrant или Weaviate — managed vector DB с фильтрацией по метаданным.
- pgvector — если уже есть PostgreSQL и каталог < 500K товаров.
| Индекс | Latency (p99) | Recall@10 | Масштабируемость |
|---|---|---|---|
| FAISS IVFPQ | < 10 ms | 0.92 | 10M+ векторов |
| Qdrant | < 20 ms | 0.95 | 100M+ векторов |
| pgvector | < 50 ms | 0.98 | < 1M векторов |
Детали обновления индекса
При добавлении нового SKU — инференс embedding модели + upsert. Инкрементальные обновления.Multimodal поиск: текст + изображение
CLIP-based архитектура позволяет искать по изображению + текстовому уточнению: «похожее платье, но красное». Реализуется через комбинирование эмбеддингов. Свяжитесь с нами для демонстрации.
Процесс работы и что входит
- Аналитика: аудит каталога, требований к точности и latency.
- Проектирование: подбор модели, архитектура индекса.
- Реализация: дообучение, построение ANN-индекса, API.
- Тестирование: нагрузочное, A/B-тест.
- Деплой и поддержка: развёртывание, документация.
Входит: аудит, дообучение, сегментация, индекс, attribute re-ranking, интеграция, нагрузочное тестирование, обучение команды. Мы гарантируем качество: сертифицированные инженеры с 10+ лет опыта, 30+ проектов для e-commerce.
Сроки
MVP для каталога до 100K SKU: 6–10 недель. Production система для 1M+ SKU: 3–5 месяцев. Свяжитесь с нами для оценки вашего проекта — получите консультацию по архитектуре и срокам.







