Реализация AI-старения/омоложения лица в мобильном приложении

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Реализация AI-старения/омоложения лица в мобильном приложении
Сложная
~5 рабочих дней
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1054
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    445

Реализация AI-старения/омоложения лица в мобильном приложении

Эффекты старения и омоложения — одна из немногих AI-фич, где on-device обработка реально конкурирует с серверной. Специализированные модели (SAM — Style-based Age Manipulation, FRAN — Face Re-Aging Network) имеют компактные дистиллированные версии. FaceApp исторически строился именно на on-device инференсе — отсюда мгновенный отклик интерфейса.

On-device: FRAN через CoreML

FRAN (Face Re-Aging Network от Netflix Research) — опенсорсная модель, обученная на синтетических данных. Принимает изображение лица + целевой возраст, возвращает стилизованный результат. Конвертированная в CoreML версия весит ~45 MB в FLOAT16.

import CoreML
import Vision

class FaceAgingProcessor {
    private let model: FRAN

    func process(faceImage: CGImage, targetAge: Int) async throws -> CGImage {
        // FRAN принимает нормализованное изображение 256x256
        let resized = try resize(image: faceImage, to: CGSize(width: 256, height: 256))

        let input = FRANInput(
            face_image: try MLMultiArray(from: resized),
            target_age: MLMultiArray([Float(targetAge) / 100.0]) // нормализуем 0..1
        )

        let output = try await model.prediction(input: input)
        return try cgImage(from: output.output_face)
    }
}

На iPhone 13+ с Neural Engine время инференса — 60–90 ms. Это позволяет делать live preview при перетаскивании слайдера возраста. На iPhone X (A11 Bionic) — около 200 ms, что ещё приемлемо для интерактивного слайдера при debounce 150ms.

Детекция и alignment — критически важный шаг

Качество результата FRAN сильно зависит от того, насколько точно лицо выровнено перед инференсом. Стандартный пайплайн:

  1. VNDetectFaceLandmarksRequest — получаем 76 точек (iOS) или MediaPipe Face Mesh (468 точек) на Android
  2. По 5 ключевым точкам (глаза, нос, углы рта) вычисляем аффинное преобразование
  3. Warp-трансформация через vImage (iOS) или OpenCV на Android
  4. После инференса — обратная трансформация + Poisson blending по маске лица

Без alignment модель даёт видимые артефакты при любом наклоне головы более 15°. Это самая частая причина плохих результатов в дешёвых реализациях.

Poisson Blending на iOS

Стандартный CIBlendWithMask даёт жёсткую границу маски. Для плавного перехода — Poisson Image Editing. На iOS нет встроенного метода, поэтому либо Metal шейдер, либо вызов через Accelerate Framework с решением системы линейных уравнений. Второй вариант медленнее, но не требует написания GLSL.

Серверный путь: когда нужно больше качества

Для приложений, где важен фотореализм (например, возрастной прогноз в медицинском или страховом контексте), серверные модели класса SAM2 или StyleGAN-based дают существенно лучший результат:

  • Replicate: yuval-alaluf/sam — 10–20 секунд, высокое качество
  • Собственный бэкенд на A100: ~2–3 секунды, полный контроль над моделью

API-вызов стандартный: multipart/form-data с изображением и параметром target_age. Результат — ссылка на обработанный файл.

Комбинация: on-device preview + серверный экспорт

Лучший UX для пользователя: мгновенный on-device preview в 256×256 при движении слайдера, и кнопка «Сохранить» запускает серверную обработку в оригинальном разрешении. Пока сервер работает — показываем анимацию. Результат сохраняется в Camera Roll через PHPhotoLibrary.

На Android: WorkManager для серверного запроса — он переживёт сворачивание приложения. Notification по завершении.

Privacy и App Store

Приложения с возрастными трансформациями проходили ревью без проблем — нет ограничений, аналогичных face swap. Но если фото загружается на сервер — обязательна Privacy Nutrition Label с Photos, usage App Functionality. Добавить NSPhotoLibraryUsageDescription и NSCameraUsageDescription с конкретным описанием.

Исходные фото с сервера удаляем сразу после обработки.

Сроки

On-device интеграция FRAN с alignment и blending — 5–8 дней. Гибридный режим (on-device preview + серверный экспорт) — 2–3 недели. Стоимость рассчитывается после уточнения требований.