Реалізація AI-віртуальної примірки одягу у мобільному застосунку

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Реалізація AI-віртуальної примірки одягу у мобільному застосунку
Складний
~2-4 тижні
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

AI віртуальна примерка одягу у мобільних додатках

Віртуальна примерка—накладання одягу на фотографію або живе відео з камери. Звучить просто, але технічно включає сегментацію тіла, оцінку пози, деформацію текстури одягу під анатомію конкретної людини та реалістичне освітлення. Жодна з цих частин не тривіальна окремо.

Два режими: фото та real-time AR

Фото-примерка—користувач завантажує своє фото, вибирає одяг, отримує результат за кілька секунд. Вища якість, важчі моделі, серверний інференц виправданий.

Real-time AR—камера в реальному часі, одяг «надіт» прямо на превью. Суворий бюджет 30+ fps. На пристрої—лише легкі моделі або mesh-based через pose estimation.

Архітектура фото-примерки

Конвеєр складається з чотирьох етапів:

  1. Human parsing—сегментуємо частини тіла (верх, низ, рукави, комір, фон). Моделі: Self-Correction Human Parsing (SCHP), CDGNet.
  2. Pose estimation—17–33 ключові точки тіла. MediaPipe Pose на пристрої, OpenPose на сервері.
  3. Warping—деформуємо зображення одягу під позу та форму тіла. TPS (Thin Plate Spline) warping на основі відповідностей ключових точок.
  4. Try-on synthesis—фінальна генерація з врахуванням тіней, складок, освітлення. Моделі: VITON-HD, HR-VITON, LaDI-VTON.

На мобілі етапи 1 та 2—on-device (MediaPipe), етапи 3–4—на сервері.

On-device: поза та парсинг через MediaPipe

// MediaPipe Pose Landmarker
let options = PoseLandmarkerOptions()
options.baseOptions.modelAssetPath = Bundle.main.path(forResource: "pose_landmarker_full", ofType: "task")!
options.numPoses = 1
options.minPoseDetectionConfidence = 0.5
options.minPosePresenceConfidence = 0.5
options.minTrackingConfidence = 0.5

let poseLandmarker = try PoseLandmarker(options: options)

// З фото
let mpImage = try MPImage(uiImage: sourcePhoto)
let result = try poseLandmarker.detect(image: mpImage)

// result.landmarks[0]—масив 33 NormalizedLandmark
// Ключові точки: LEFT_SHOULDER (11), RIGHT_SHOULDER (12), LEFT_HIP (23), RIGHT_HIP (24)

Human parsing на пристрої—через конвертовану у Core ML/TFLite модель SCHP. ~15 MB після квантизації. На iPhone 13—300–500 мс для зображення 512×512.

// Android: human parsing через TFLite
val interpreter = Interpreter(
    FileUtil.loadMappedFile(context, "schp_parsing.tflite"),
    Interpreter.Options().apply { addDelegate(GpuDelegate()) }
)

val input = Array(1) { Array(512) { Array(512) { FloatArray(3) } } }
val output = Array(1) { Array(512) { Array(512) { FloatArray(20) } } }  // 20 класів

interpreter.run(input, output)
// output[0][y][x]—вектор вірогідностей для кожного класу (upper-body, lower-body, etc.)

Серверна примерка: HR-VITON

HR-VITON—state-of-the-art для фото-примерки, працює з дозволом до 1024×768. Приймає: фото людини + фото одягу (білий фон або з маскою) + human parsing маску + позу.

Серверна API (FastAPI + PyTorch):

@app.post("/tryon")
async def virtual_tryon(
    person_image: UploadFile,
    clothing_image: UploadFile
):
    person = load_image(await person_image.read())
    clothing = load_image(await clothing_image.read())

    # Parsing та поза—попередньо обчислені або вичисляємо тут
    parse_map = run_human_parsing(person)
    keypoints = run_pose_estimation(person)

    # HR-VITON інференц
    result = hrviton_model(person, clothing, parse_map, keypoints)

    return StreamingResponse(image_to_bytes(result), media_type="image/jpeg")

Час генерації на A10 GPU—1.5–3 секунди. На CPU (тестування)—15–30 секунд.

Real-time AR: mesh-based підхід

Для real-time без важкого GAN—спрощений mesh warping:

  1. MediaPipe Pose в реальному часі (30+ fps on-device).
  2. Будуємо 2D-mesh тіла з ключових точок (трикутники через Delaunay триангуляцію).
  3. Деформуємо текстуру одягу на mesh через Metal.
// Metal vertex shader для warping одягу
vertex VertexOut clothingWarpVertex(
    uint vid [[vertex_id]],
    constant float2 *clothingUVs [[buffer(0)]],  // UV координати на вихідному одязі
    constant float2 *bodyPositions [[buffer(1)]] // Позиції на екрані (з pose landmarks)
) {
    VertexOut out;
    out.position = float4(bodyPositions[vid], 0, 1);
    out.texCoord = clothingUVs[vid];
    return out;
}

Якість значно нижча за GAN підхід: немає реалістичних складок, тіней, не враховує об'ємні форми тіла. Але працює 30 fps навіть на iPhone 11.

Управління каталогом одягу

Кожен елемент каталогу потребує спеціальної підготовки: фото на білому фоні, маска силуету, категорія (upper, lower, dress). Контентний конвеєр: завантаження → auto-сегментація через RemBG → валідація маски → CDN сховище.

Мобільний додаток завантажує лише превью-зображення (стиснені JPEG), повні дані для примерки передаються сервери напрямку.

Процес

Аудит каталогу одягу та вимог до якості, вибір архітектури (фото vs AR), налаштування серверного конвеєру з HR-VITON або аналогом, on-device компоненти (поза, парсинг), UI потоку примерки, кеширування результатів.

Кошторис за часом

Фото-примерка з серверним інференцем, одна платформа займає 4–6 тижнів. Повна реалізація з AR real-time, обидві платформи, каталожний конвеєр вимагає 10–16 тижнів.