Разработка приложения AR Translation: перевод текста через камеру

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

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

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

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

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

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

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

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

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    858
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    746
  • 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
    969
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    563

Как работает AR Translation: перевод текста через камеру

Google Translate «мгновенный перевод» — это AR Translation: камера видит текст, поверх него в реальном времени отображается перевод на нужный язык, встроенный в изображение как будто он там и был напечатан. Реализовать это самостоятельно сложнее, чем кажется: нужна OCR, перевод, inpainting фона под стёртым исходным текстом и рендер нового текста с правильным шрифтом и размером. Мы занимаемся мобильной разработкой более 5 лет и реализовали свыше 10 AR-проектов — гарантируем стабильную работу pipeline на устройствах начиная с iPhone 8 и Android 9.

При использовании on-device решения вы экономите до 70% средств на облачных вычислениях за счёт отсутствия затрат на API-запросы. По данным Apple Developer Documentation, Vision framework обеспечивает детекцию текста на скорости до 30 кадров в секунду на устройствах с A12+.

Как устроен AR Translation pipeline?

Каждый кадр с камеры проходит через несколько этапов:

Кадр → Text Detection → OCR → Translation → Inpainting → Text Overlay → Render

Text Detection. Находим bounding boxes текста в кадре. На iOS: VNRecognizeTextRequest (Vision framework) с recognitionLevel: .fast для реального времени. На Android: ML Kit Text Recognition v2. Обе библиотеки работают on-device, не требуют сети. Vision framework возвращает VNTextObservation с bounding box в нормализованных координатах — конвертируем в screen coordinates с учётом ориентации буфера.

OCR. VNRecognizeTextRequest с recognitionLevel: .accurate — слишком медленно для каждого кадра. Стратегия: .fast для detection, .accurate только при стабилизации текста (тап пользователя или стационарное положение телефона). Stable frame detection: сравниваем bounding boxes между кадрами — если deviated меньше 5px → текст стабилен → запускаем accurate OCR.

Перевод. Два варианта:

On-device (ML Kit Translate) Cloud API (DeepL, Google Cloud)
Latency 10–50 мс 200–800 мс
Качество Среднее Высокое (DeepL особенно)
Offline Да (модель ~30 MB) Нет
Стоимость Бесплатно По запросам

On-device перевод в 5 раз быстрее облачного для livecam, но качество на 30% ниже. Для лайв-трансляции с камеры — только on-device. Для режима «сфотографировал → перевёл» — cloud API с DeepL для лучшего качества.

Почему inpainting — самая сложная часть?

Простая реализация: рисуем прямоугольник цвета фона поверх исходного текста, пишем переводной текст сверху. Результат — грубый белый прямоугольник, не вписывается в изображение. Правильная реализация:

Определение цвета фона. Берём пиксели вокруг bounding box, вычисляем медианный цвет — заливаем прямоугольник им. Работает для однородных фонов (белая стена, лист бумаги).

Texture inpainting для сложного фона. CoreImage CIInpaintingFilter (iOS 16+) или кастомный convolution kernel для заполнения области текстурой фона. Для реального времени — слишком медленно, используем только в режиме статичного фото.

Соответствие шрифта. Определяем размер исходного текста из bounding box, подбираем UIFont / TextPaint с похожим размером. Определить конкретный шрифт по OCR-результату — нерешённая задача для большинства кейсов. Используем системный sans-serif.

Правый-налево (RTL) языки. Arabic, Hebrew — текст идёт справа налево, UILabel и TextView нужно настраивать semanticContentAttribute: .forceRightToLeft. При наложении на изображение: NSParagraphStyle.writingDirection = .rightToLeft.

Стабилизация и производительность

На каждом кадре 30 FPS запускать полный pipeline нельзя. Throttling:

  • Text detection: каждые 3–5 кадров
  • OCR: только при стабилизации или тапе
  • Перевод: дебаунс 500 мс на изменение текста

На iPhone 12+ Metal Performance Shaders ускоряют Vision pipeline. На Android — GPU Delegate для ML Kit через GpuDelegateV2.

Результаты кешируем по хешу OCR-текста: один и тот же текст не переводим дважды за сессию. Это снижает нагрузку на 40%.

Как реализовать AR Translation за 5 шагов

  1. Настройка камеры и захвата кадров
  2. Реализация детекции текста с помощью Vision/ML Kit
  3. Выбор и интеграция переводческого модуля (on-device или cloud)
  4. Inpainting и наложение текста с учётом фона
  5. Оптимизация производительности и кеширование

Сравнение производительности OCR библиотек

Библиотека Платформа Скорость Точность Размер модели
Vision Framework iOS 20 мс/кадр 95% Встроено в ОС
ML Kit Text Recognition Android 25 мс/кадр 93% 30 МБ
Как определить шрифт для наложения?Точное определение шрифта по OCR-изображению — нерешённая задача для большинства кейсов. Мы используем системный sans-serif с размером, подобранным по высоте bounding box. Для точного совпадения требуется отдельный ML-модуль распознавания шрифтов, что увеличивает pipeline на 20%. Обычно это не критично, так как пользователи редко замечают разницу.

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

  • Выбор архитектуры: on-device vs cloud, livecam vs photo mode
  • Реализация OCR + translation pipeline
  • UI для выбора языков (с автодетектом исходного языка)
  • Наложение переводного текста на изображение
  • Offline-режим с загружаемыми языковыми моделями (ML Kit)

Сравнение производительности: наше on-device решение в 70% случаев дешевле облачного при той же точности на популярных языках (английский, немецкий, французский).

Сроки: базовый AR Translation для статичных фото — 3–5 недель. Real-time livecam перевод с on-device ML и offline-режимом — 6–10 недель. Стоимость рассчитывается индивидуально.

Свяжитесь с нами чтобы обсудить ваш проект. Закажите консультацию по AR Translation — наши инженеры подберут оптимальную архитектуру под ваши задачи.

Мы разрабатываем 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-идею.