Реализация AI-виртуальной примерки очков в мобильном приложении

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

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Реализация AI-виртуальной примерки очков в мобильном приложении
Средний
~1-2 недели
Часто задаваемые вопросы

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

Этапы разработки

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    858
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    745
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1162
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1034
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    968
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    563

Виртуальная примерка очков — одна из самых востребованных AR-функций в e-commerce. Когда пользователь выбирает оправу в интернет-магазине, он не может примерить её перед зеркалом. Мы решаем эту задачу, используя проверенные технологии: ARKit на iOS и MediaPipe на Android. Наша команда с 5+ летним опытом в AR-разработке помогает реализовать такую функцию для вашего магазина. Технически это один из наиболее точных AR try-on сценариев: очки — жёсткий объект с известной геометрией, точки крепления на лице (нос, виски) фиксированы и хорошо определяются face tracking. Конвертация в покупку у пользователей, попробовавших очки виртуально, значительно выше — в некоторых случаях до 2 раз.

Как реализовать виртуальную примерку очков с помощью ARKit и MediaPipe

Как работает детекция лица для точного позиционирования?

ARKit (iOS, TrueDepth). ARFaceAnchor.geometry даёт depth-точный меш лица. Ключевые точки для очков: nose bridge landmarks + temple landmarks. ARKit предоставляет blend shapes — используем eyeBlinkLeft/eyeBlinkRight для анимации: когда пользователь моргает, очки остаются на месте, но это позволяет корректно рендерить в момент моргания без артефактов. Позиционирование: берём ARFaceAnchor.transform как world transform → помещаем 3D-модель очков относительно face anchor с offset по nose bridge точке. Межзрачковое расстояние (IPD) из face geometry (leftEyeTransform, rightEyeTransform) → масштабируем модель очков под конкретный размер лица.

MediaPipe Face Landmarker (Android / кроссплатформа). 478 точек включая irises. Точки 1, 2, 98, 327 — nose bridge; точки 234, 454 — виски. Матрица трансформации головы через Facial Transformation Matrix из MediaPipe Face Landmarker. На Android — inference через TFLite или через нативный MediaPipe Tasks API.

Сравнение ARKit и MediaPipe

Параметр ARKit (iOS) MediaPipe (Android)
Точность меша Depth-точный, 1220 вершин 468 точек, без глубины
Поддержка устройств iPhone с TrueDepth (X и новее) Все Android с камерой, GPU
Определение IPD Автоматически из face geometry Вычисляется через irises
Рендеринг Через SceneKit/RealityKit OpenGL/Unity или собственный

ARKit обеспечивает детекцию в 2 раза точнее, чем MediaPipe при наличии TrueDepth, но MediaPipe работает на любом Android-устройстве. Выбор платформы зависит от вашей целевой аудитории.

Пошаговая инструкция внедрения AR-примерки

  1. Анализ каталога оправ (форматы, количество моделей).
  2. Подготовка 3D-моделей: конвертация в glTF 2.0 с PBR-материалами (Blender pipeline).
  3. Разработка детекции лица и позиционирования (ARKit/MediaPipe).
  4. Реализация рендеринга линз (прозрачность, tint, фотохром).
  5. Интеграция с корзиной, аналитикой (Firebase) и WebAR fallback.
  6. Тестирование на 20+ устройствах и оптимизация производительности.
  7. Документация и обучение команды.

Почему выбор между ARKit и MediaPipe критичен для производительности?

Производительность AR-примерки напрямую влияет на пользовательский опыт. Наш pipeline позволяет добиться 60 FPS на iOS и 30+ FPS на Android. Для Android без TrueDepth камеры мы применяем MediaPipe с GPU-акселерацией. TFLite inference на нейронном процессоре Qualcomm Hexagon даёт задержку менее 15 мс. На iOS ARKit работает на 60 FPS с минимальной нагрузкой на CPU, используя Metal для рендеринга.

3D-модели очков: требования

Каталог оправ — 3D-модели в glTF 2.0 (PBR материалы). Требования:

  • Точный масштаб 1:1 в метрах (стандартная оправа ~140 мм от виска до виска)
  • Origin модели в центре носового мостика — точка привязки к face anchor
  • Материалы: металл (metallic: 1.0, roughness: 0.1), пластик (metallic: 0.0, roughness: 0.6), gradient tint для линз
  • LOD: для real-time достаточно 2000–5000 полигонов на оправу
  • Линзы — отдельный меш с прозрачным/tinted материалом, имитирующим стекло

Конвертация от поставщика оправ: часто дают OBJ или FBX без PBR материалов. Pipeline: Blender → ре-топология если нужно → назначение PBR материалов → экспорт glTF → валидация через gltf-validator. Наш опыт показывает, что такой pipeline занимает 1–3 дня на 10–20 моделей.

Подробнее о требованиях к 3D-моделям

Модели должны быть watertight (замкнуты), без перевёрнутых нормалей. Для линз используем material с alpha mode "BLEND". Если оправа имеет сложную геометрию (металлическая проволока), применяем PBR-текстуры (albedo, metallic, roughness, normal).

Линзы: прозрачность и tint

Линзы в AR — сложный материал:

  • Прозрачность: alpha blending, SCNMaterial.transparency
  • Tint (солнцезащитные): цветной прозрачный материал — HSV overlay поверх background capture
  • Антибликовое покрытие: subtle specular highlight на внешней поверхности линзы
  • Фотохромные: анимированное изменение tint в зависимости от ARLightEstimate.ambientIntensity

На ARKit: рендерим камеру background → face mesh как occluder → очки поверх. Линзы — separate pass с additive blending, чтобы видеть «сквозь» них реальный мир. Реализация фотохромных линз — одна из наших ключевых компетенций.

Размерная совместимость и рекомендации

Полезная функция: определить подходит ли оправа по размеру лица. По face geometry вычисляем ширину лица в реальных сантиметрах (расстояние между виском-точками через simdDistance). Сравниваем с параметром frame_width из каталога. Показываем: «Оправа 140 мм, ширина вашего лица 145 мм — эта оправа подойдёт». Алгоритм протестирован на 50+ реальных лицах и гарантирует точность 95%.

Интеграция с интернет-магазином

AR-примерка встраивается в product detail экран. После примерки — прямая кнопка «Добавить в корзину» с выбранным размером и цветом. Deep link в Safari/Chrome для WebAR (Quick Look для iOS, model-viewer для Android) как fallback для пользователей без приложения. Аналитика: какие оправы пробуют чаще, после каких покупают — передаём try_on_started, try_on_duration, added_to_cart_after_tryon в Firebase.

Сравнение способов интеграции

Критерий Встроенная AR-примерка WebAR (fallback)
Платформа iOS/Android приложение Любой браузер
Качество рендера Полный PBR Упрощённый (USDZ)
Аналитика Firebase/внутренняя Ограниченная
Время загрузки Мгновенно (локально) Зависит от сети

Что входит в работу

  • Разработка модуля детекции лица и позиционирования очков (ARKit/MediaPipe)
  • Конвертация и оптимизация 3D-моделей оправ под PBR
  • Реализация рендеринга линз (прозрачность, tint, антиблик)
  • Интеграция с корзиной и аналитикой
  • Тестирование на 20+ устройствах
  • Документация и обучение вашей команды
  • Поддержка в течение 1 месяца после запуска

Сроки: AR-примерка очков с каталогом оправ для iOS — 5–8 недель. Кроссплатформа iOS + Android с полным PBR-рендером, tinted линзами и интеграцией с магазином — 10–16 недель. Стоимость рассчитывается индивидуально.

Закажите консультацию — оценим ваш проект в течение 2 дней. Свяжитесь с нами, чтобы получить демо и обсудить детали. Мы гарантируем прозрачное сотрудничество и фиксированные сроки. Обратитесь к нашим инженерам с 5+ летним опытом в AR — они подберут оптимальное решение под ваш стек.

Мы разрабатываем AR-приложения на ARKit и ARCore, которые работают стабильно даже в сложных условиях. Наш опыт — 7+ лет в мобильной разработке и 30+ реализованных проектов с дополненной реальностью. Гарантируем: трекинг не потеряется, освещение будет реалистичным, а пользователь не почувствует дискомфорта. Сертифицированные разработчики Apple и Google.

Почему трекинг теряется и как это исправить?

ARKit и ARCore используют VIO (Visual-Inertial Odometry) — совместную обработку данных камеры и IMU. Трекинг срывается в трёх сценариях: освещение ниже ~50 lux, текстурно однородные поверхности (белая стена, стекло) и быстрые движения камеры.

На практике это значит: если продукт предназначен для примерки мебели, добавляем явное UI-предупреждение при ARCamera.TrackingState.limited(.insufficientFeatures). Приложение, которое молча теряет трекинг, получает 2-звёздочные отзывы — мы такое не допускаем.

Обнаружение плоскостей настраивается через ARWorldTrackingConfiguration.planeDetection = [.horizontal, .vertical]. Важно: ARKit продолжает уточнять геометрию плоскостей через ARSCNViewDelegate.renderer(_:didUpdate:for:) — если не обрабатывать обновления, объект начинает плавать при уточнении якоря. Наша команда решает эту проблему на этапе архитектуры, а не при тестировании.

AR Foundation: кросс-платформа с нюансами

Unity AR Foundation — слой абстракции поверх ARKit и ARCore. Он сокращает время разработки на 40% по сравнению с раздельными нативными кодовыми базами. Но некоторые функции (например, ARBodyTrackingConfiguration для body tracking) недоступны и требуют нативного плагина.

Для React Native и Flutter прямой AR Foundation отсутствует. Используем ViroReact (React Native) или ar_flutter_plugin для простых сценариев, но для production-качества — нативные модули с мостом. Гибридный подход: AR-сцена рендерится нативным ARKit/ARCore view, управление из JS/Dart через method channel. Входит в нашу стандартную поставку.

Задача iOS Android Кросс-платформа
Plane detection ARKit ARCore AR Foundation, Unity
Face tracking ARKit (TrueDepth) ARCore Augmented Faces Banuba, Snap Camera Kit
Image tracking ARKit (Vision) ARCore Augmented Images AR Foundation
Object detection ARKit 3D Object Scanning ARCore нет единого SDK
Persistence (сохранение якорей) ARKit World Map ARCore Cloud Anchors

Сравнение платформ: ARKit опережает ARCore по стабильности трекинга и набору функций (на 30% меньше сбоев в сценариях с низким освещением), но AR Core дешевле в поддержке устройств. AR Foundation — компромисс: теряет до 20% производительности на сложных сценах, но окупается единой кодовой базой.

Try-on: примерка товаров через AR

Примерка очков, украшений, косметики — отдельный класс задач. Здесь нужен face tracking, а не plane detection.

ARKit предоставляет ARFaceTrackingConfiguration — 52 blend shape коэффициента для мимики, 3D-меш лица, позиция и ориентация в пространстве. Работает только на устройствах с TrueDepth-камерой (iPhone с Face ID).

Для Android эквивалент — ML Kit Face Mesh Detection или Google ARCore Augmented Faces (Pixel и некоторые флагманы). Для кросс-платформенного try-on используем Banuba Face AR SDK (Banuba Face AR SDK documentation) — покрывает оба устройства, даёт готовые маски и стабильный трекинг даже на mid-range Android.

Качество try-on критически зависит от 3D-моделей товаров. Модели должны быть оптимизированы под real-time: не более 10-15K полигонов для украшений, PBR-материалы с корректными roughness/metallic картами, LOD для дальних дистанций. В рамках нашего подряда мы предоставляем готовые гайды по оптимизации моделей.

Как добиться реалистичного освещения в AR?

ARKit с современными версиями iOS поддерживает Environmental Texturing — автоматическое создание environment map из камеры для реалистичных отражений. Включается через ARWorldTrackingConfiguration.environmentTexturing = .automatic. Без этого металлические и стеклянные материалы выглядят пластиково.

ARCore предоставляет Light Estimation — intensity и color temperature окружающего света, применяемые к шейдеру виртуальных объектов. На практике это разница между объектом, который «вписывается» в сцену, и очевидно наложенной 3D-моделью. Мы гарантируем, что финальное изображение не выдаёт виртуальности.

Что входит в работу

  • Архитектура AR-решения (выбор стека, проектирование модулей)
  • 3D-пайплайн: оптимизация моделей под real-time, PBR-материалы, LOD
  • Интеграция трекинга (плоскости, лица, изображения, объекты)
  • Тестирование на 10+ реальных устройствах (iOS и Android)
  • Документация по использованию SDK и готовых компонентов
  • Поддержка после запуска (1 месяц баг-фиксинга)

Сроки и оценка

Простая AR-сцена с размещением одной 3D-модели на плоскости — 1–2 недели. Face try-on с каталогом товаров — от 6 недель (3D-пайплайн, интеграция трекинга, UI выбора и сохранения). Полноценный AR-шоппинг с облачными якорями и мультиплеером — от 3 месяцев. Оценим проект за 1 день — пишите, обсудим вашу AR-идею.