AI Віртуальна примерка макіяжу у мобільних додатках
Sephora Virtual Artist, Perfect Corp YouCam Makeup, MAC Virtual Try-On — це конкуренти. Користувач наводить фронтальну камеру, система накладає тіні, помаду, консилер у реальному часі з точністю до анатомії конкретного обличчя. Технічно: face mesh, сегментація губ/очей/шкіри та правильний AR-рендер з урахуванням освітлення та текстури шкіри.
Face Mesh як основа
iOS ARKit. ARFaceTrackingConfiguration — TrueDepth-камера (iPhone X+) будує face mesh з 1220 вертексів. Повертає ARFaceAnchor з геометрією (ARFaceGeometry), blend shapes (52 коефіцієнти) та трансформом обличчя. Глибинна камера забезпечує точну геометрію навіть при русі. Для примерки макіяжу використовуйте face geometry як "холст": UV-маповуйте текстури макіяжу на меш.
Android ML Kit Face Mesh. 468 точок (MediaPipe FaceMesh під капотом), RGB-камера без глибини. Нижча точність при боковому ракурсі або швидкому русі. Для макіяжу достатньо — губи, очі, скулі покриті ландмарками з потрібною розрізнювальною здатністю.
MediaPipe Face Landmarker (кроссплатформа). Використовуйте безпосередньо через C++ native (Android NDK / iOS framework). 478 точок включно з райдужною оболонкою — для eye makeup та лінз. Гарне рішення для кроссплатформних проєктів.
Рендер макіяжу поверх обличчя
Головна технічна складність — не знайти контури губ, а зробити так, щоб помада виглядала як справжня, а не як кольоровий прямокутник поверх обличчя.
UV-маппінг текстур. Face mesh має UV-координати (ARKit задокументовано у Apple Developer). Текстура макіяжу (намальована художником на нейтральній UV-розгортці обличчя) накладається як MTLTexture з alpha blending. Колір продукту змінюємо через HSV-трансформацію текстури в fragment shader.
Фізично-коректний рендер. Помада глянцева — потрібна specular складова. Тіні матові — diffuse. Параметри PBR матеріалу metallic, roughness змінюємо залежно від типу продукту. Освітлення оцінюємо через ARLightEstimate.ambientIntensity та ARDirectionalLightEstimate — адаптуємо specular до реального освітлення в кадрі.
Сегментація для точного нанесення. Помада лише на губах, тіні лише на повіках — не можна покладатися лише на вертекси face mesh, потрібна пісельна сегментація. Використовуйте CoreML-модель (конвертуйте MediaPipe Selfie Segmentation або тренуйте користувацьку на DeepLab/U-Net) для сегментації зон обличчя. Inference на кожному кадрі: A15 Bionic справляється за 8–15 мс, старіші пристрої — кожні 3 кадри з інтерполяцією маски.
Точність кольору
Ключова вимога beauty-брендів: колір у додатку повинен відповідати реальному кольору продукту. Проблема: камера смартфона застосовує auto white balance, ISO-нормалізацію — кольори на екрані не точні. Рішення:
- Цветна калібровка через
AVCaptureDevice.whiteBalanceGains— локуємо white balance при примерці - ColorChecker-based калібровка (опціонально, для професійних випадків)
- Кольори продуктів у базі даних задаємо в Lab color space (перцептуально рівномірний), конвертуємо в sRGB для відображення з урахуванням профілю дисплея (
UIScreen.traitCollection.displayGamut)
Запис та шеринг результату
Користувач хочет записати відео з примеркою. ReplayKit (iOS) або MediaProjection (Android) — для запису екрану. Або реалізуємо кастомний запис: пишемо кожний кадр в AVAssetWriter (iOS) / MediaCodec (Android). MP4 H.264, 1080p@30fps достатньо.
Продуктивність та підтримувані пристрої
| Сценарій | Мінімальний пристрій |
|---|---|
| Базовий face mesh + помада | iPhone 8 / Android 2018 mid-range |
| ARKit depth + повний макіяж | iPhone X+ |
| Realtime PBR + сегментація | iPhone 12+ / Snapdragon 888+ |
Для пристроїв без TrueDepth використовуйте RGB-only pipeline з MediaPipe — трохи гірше візуально при різких рухах, але прийнятно для більшості користувачів.
Часова шкала: MVP з помадою + тенями на iOS через ARKit — 6–9 тижнів. Кроссплатформна система з повним каталогом продуктів, PBR-рендером, точністю кольорів та шерингом — 4–7 місяців. Вартість розраховується індивідуально.







