Skip to content
@WIP-VK-Spring-2024

WIP VK Spring 2024

TryOn Wardrobe

Мобильное приложение, в которое пользователь может загрузить свою одежду и получить рекомендации образов, а также примерить их на свое фото.

  • Автоматически определяется категории и типы одежды, происходит обрезка
  • Генерируй новые образы с помощью AI на основе вещей в своем гардеробе
  • Лента с рекомендациями образов других пользователей
  • Примеряй образы других пользователей на фото человека

Установка для Android

  • Скачать файл TryOn Wardrobe.apk из репозитория и установить как приложение из сторонних источников.

Установка для IOS

  • Требует IOS developer для публикаций в app store, для установки требуется локально собирать проект.

Releases

Release 1.0.0

Первая версия полноценного продукта.

Техническое описание

Проет состоит из 4 основных компонентов:

  • клиент на React-native
  • основной бэкенд на Go
  • вспомогательный бэкенд на Python (далее - ML-сервер)
  • набор моделей машинного обучения (модель примерки, модели удаления фона, модель классификации, модель автогенерации комплектов одежды, рекомендательная система)

Кроме этого, в проекте используются следующие СУБД и другие вспомогательные компоненты:

  • PostgreSQL - основная СУБД
  • Redis - используется для кеширования ответов рекомендательной системы
  • Centrifugo - сервер сообщений, используется для асинхронной передачи клиенту результатов работы моделей машинного обучения по протоколу Websocket
  • S3 - используется для хранения изображений
  • nginx - прокси-сервер, проксирует запросы от клиента на Go-бэкенд, Centrifugo и S3
  • RabbitMQ - используется для асинхронного обмена сообщениями между Go-бэкендом и моделями машинного обучения
  • WeatherAPI - опционально используется в препроцессинге входных моделей для модели автогенерации комплектов одежды

Клиент

Написан на React-native и UI-фреймворке gluestack-ui. Также используются вспомогательные Open-Source библиотеки. Тестировался под Android, корректная работа на iOS возможна при небольших изменениях кода

Go-бэкенд

  • принимает запросы от клиента
  • отправляет запросы на обработку моделям в очереди RabbitMQ
  • возвращает ответы от моделей в Centrifugo через gRPC (дальше клиент читает через Websocket-соединение, поддерживаемое Centrifugo)
  • получает информацию о статусах моделей от ML-сервера
  • загружает изображения в S3 через ML-сервер
  • кеширует ответы от рекомендательной системы в Redis (чтобы уменьшить кол-во походов через RabbitMQ и при этом не отправлять клиенту все сразу)

ML-сервер

  • загружает изображения в S3
  • отдает информацию о статусах моделей

Модели машинного обучения

  1. Модель примерки - IDM-Vton (open-source, основана на Stable Diffusion)
  2. Модели удаления фона (SegFormer + SAM) и классификации (Clip) (open-source, в одном сервисе)
  3. Модель генерации комплектов одежды (самописная)
  4. Рекомендательная система - рекомендует посты пользователей (самописная)

Все модели - сервисы на Python, которые обрабатывают сообщения из очередей RabbitMQ
Изображения они читают и загружают напрямую из S3

Popular repositories Loading

  1. Try-On-Wardrobe-Backend Try-On-Wardrobe-Backend Public

    Go backend for TryOn Wardrobe app. Frontend interact directly with it. Responsible for interaction with ML backend through RabbitMQ.

    Go

  2. Try-On-Wardrobe-App Try-On-Wardrobe-App Public

    Frontend for Try-On-Wardrobe written in React Native using gluestack-ui

    TypeScript

  3. .github .github Public

    TryOn Wardrobe

Repositories

Showing 3 of 3 repositories
  • .github Public

    TryOn Wardrobe

    WIP-VK-Spring-2024/.github’s past year of commit activity
    0 Apache-2.0 0 0 0 Updated Sep 11, 2024
  • Try-On-Wardrobe-Backend Public

    Go backend for TryOn Wardrobe app. Frontend interact directly with it. Responsible for interaction with ML backend through RabbitMQ.

    WIP-VK-Spring-2024/Try-On-Wardrobe-Backend’s past year of commit activity
    Go 0 0 0 0 Updated Jun 25, 2024
  • Try-On-Wardrobe-App Public

    Frontend for Try-On-Wardrobe written in React Native using gluestack-ui

    WIP-VK-Spring-2024/Try-On-Wardrobe-App’s past year of commit activity
    TypeScript 0 0 0 0 Updated Jun 7, 2024

Top languages

Loading…

Most used topics

Loading…