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

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

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

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

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

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

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

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

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

  • 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

Страховой инспектор тратит 20 минут на ручной осмотр каждого автомобиля: фотографирует, замеряет, вносит данные в CRM. AI-распознавание повреждений по фото сокращает этот процесс до 2–3 минут — экономия времени в 10 раз. Мы внедряем решение под ключ: от обучения модели YOLOv8 на вашем датасете до публикации приложения в App Store и Google Play. Наш опыт — 5+ лет в computer vision, десятки проектов для страховых компаний и каршерингов по всему миру. Результат: снижение затрат на экспертизу до 80%, ускорение выплат и защита от мошенничества.

Как AI-детекция повреждений экономит время и деньги?

Автоматизация обработки страхового случая снижает расходы на эксперта до 80%. Вместо ручного анализа — загрузил фото, AI за секунды локализует царапины, вмятины, трещины. Результат воспроизводим и защищён от подделок. Обработка одного случая сокращается с 20 до 2–3 минут — это экономит до $10 000 в год на одного эксперта. Сокращение времени обработки на 15 минут экономит $8 000 в год на каждого сотрудника.

Задача: детекция, сегментация и классификация

Три уровня анализа повреждений:

Детекция — bounding box вокруг повреждения. YOLOv8 или RT-DETR справляются хорошо, если обучены на соответствующем датасете (CarDD, COCO-format разметка с 6–8 классами: scratch, dent, crack, broken_glass, paint_damage, deformation, missing_part).

Сегментация — попиксельная маска повреждения. Instance segmentation даёт площадь в пикселях → при известном масштабе → площадь в см². YOLOv8-seg, Mask R-CNN.

Классификация серьёзности — surface scratch, deep scratch, dent, structural damage. От неё зависит ремонтный сценарий (полировка, кузовной ремонт, замена).

// iOS: запрос к backend для анализа повреждений
struct DamageAnalysisRequest: Codable {
    let imageBase64: String
    let vehicleInfo: VehicleInfo?     // марка, модель, год — для контекста
    let captureMetadata: CaptureMetadata
}

struct CaptureMetadata: Codable {
    let angle: CaptureAngle           // front, rear, side_left, side_right, roof
    let lightingCondition: String     // auto-detected
    let gpsCoordinates: CLLocationCoordinate2D?
    let timestamp: Date
    let deviceModel: String
}

Метаданные съёмки — не опциональная деталь для страхового контекста. Геолокация и временная метка создают цифровой след, который затрудняет подачу старых повреждений как новых.

Почему сегментация важнее простого bounding box?

Bounding box даёт лишь прямоугольник вокруг повреждения — площадь оценивается грубо. Сегментация выдаёт точную маску: можно измерить площадь вандальной царапины длиной 5 см или вмятины диаметром 3 см. Для страховой это критично — выплата зависит от реального ущерба. YOLOv8-seg одновременно детектирует и сегментирует, что вдвое сокращает время инференса по сравнению с пайплайном YOLOv8 + Mask R-CNN.

Сравнение моделей для детекции повреждений

Сравнение моделей показывает, что YOLOv8-seg в 3 раза быстрее Mask R-CNN при сопоставимой точности.

Модель Скорость (мс) [email protected] Точность сегментации Примечание
YOLOv8-seg 150–300 0.72 0.68 Лучший баланс скорости и точности
Mask R-CNN 400–800 0.75 0.71 Бо́льшая точность, но вдвое медленнее
RT-DETR 200–400 0.70 Transformer, без сегментации

YOLOv8-seg превосходит Mask R-CNN в скорости в 3 раза при сравнимой точности, что критично для реального времени.

Как мы интегрируем AI в мобильное приложение

Наш пошаговый процесс включает: сбор и разметка данных, обучение модели, разработка мобильного SDK, интеграция backend, тестирование и публикация.

Этап Длительность Результат
Анализ требований и сбор данных 1–2 недели ТЗ, датасет от заказчика или сбор демо-изображений
Обучение модели 2–4 недели YOLOv8-seg с точностью ≥90% на валидации
Разработка мобильного SDK 3–6 недель iOS/Android модули с guided photo flow и антифродом
Интеграция с backend 1–2 недели REST API, TorchServe инференс, кеширование
Тестирование и отладка 2–3 недели Тесты на реальных устройствах, юзабилити-исследования
Публикация в сторах 1 неделя App Store Connect, Google Play Console, TestFlight

Что вы получаете в результате?

  • Документация по API и архитектуре
  • Исходный код мобильного SDK (iOS/Android)
  • Обученная модель с точностью ≥90%
  • Доступ к инференс-серверу (TorchServe/Triton)
  • Техническая поддержка на 3 месяца
  • Обучение сотрудников работе с системой

Гайд по фотосъёмке повреждений: протокол многоракурсной съёмки

Одного фото недостаточно для полной оценки ущерба. Правильная реализация — guided photo flow.

enum DamageInspectionStep: CaseIterable {
    case overview_front           // общий вид спереди
    case overview_rear            // общий вид сзади
    case overview_side_left       // левая сторона
    case overview_side_right      // правая сторона
    case damage_closeup_1         // крупный план #1 (пользователь указывает зону)
    case damage_closeup_2         // крупный план #2
    case odometer                 // пробег
    case vin                      // VIN-номер

    var instruction: String { /* ... */ }
    var requiredDistance: DistanceRange { /* approx 2m, 0.3m, etc */ }
}

ARKit или ARCore показывают оверлей — где стоять и какую зону снимать. Это уменьшает процент повторных съёмок из-за неправильного ракурса.

Детекция попыток манипуляции — разработка мобильного приложения

Страховое мошенничество — реальная проблема. Несколько проверок на уровне приложения:

struct AntifraudChecks {

    // 1. Метаданные EXIF: фото должно быть сделано сейчас, не из галереи
    func isLiveCapture(_ image: UIImage) -> Bool {
        guard let exifData = image.exifData else { return false }
        let captureDate = exifData[kCGImagePropertyExifDateTimeOriginal] as? String
        return isWithinLastMinutes(captureDate, minutes: 5)
    }

    // 2. Проверка GPS: координаты должны совпадать с заявленным местом ДТП
    func isLocationConsistent(_ metadata: CaptureMetadata, claimedLocation: CLLocation) -> Bool {
        guard let gps = metadata.gpsCoordinates else { return false }
        let distance = CLLocation(latitude: gps.latitude, longitude: gps.longitude)
                         .distance(from: claimedLocation)
        return distance < 500 // допуск 500м
    }

    // 3. Детекция фото фото (фото экрана с чужим повреждением)
    func isScreenPhoto(_ image: UIImage) -> Bool {
        // Анализ моаре-паттернов и пиксельной сетки экрана
        return moareDetector.detect(image) > 0.7
    }
}

Backend: детекция повреждений

На сервере модель детекции работает на GPU. Для продакшн-нагрузки — TorchServe или Triton Inference Server.

# YOLOv8-seg inference для повреждений
from ultralytics import YOLO

model = YOLO("car_damage_seg_v8x.pt")  # x-variant для максимальной точности

def analyze_damage(image_path: str) -> DamageReport:
    results = model.predict(
        image_path,
        conf=0.25,          # нижний порог confidence
        iou=0.45,           # NMS threshold
        imgsz=1280,         # высокое разрешение важно для мелких царапин
        retina_masks=True   # высокоточные маски
    )

    detections = []
    for i, result in enumerate(results[0].boxes):
        mask = results[0].masks[i] if results[0].masks else None
        detections.append(DamageDetection(
            class_name=model.names[int(result.cls)],
            confidence=float(result.conf),
            bbox=result.xyxy[0].tolist(),
            mask_area_px=mask.area if mask else None,
            severity=classify_severity(result.cls, result.conf)
        ))

    return DamageReport(
        detections=detections,
        overall_severity=aggregate_severity(detections),
        processing_time_ms=results[0].speed["inference"]
    )

imgsz=1280 вместо дефолтного 640 принципиально для мелких царапин (2–5 мм на фото). На дефолтном разрешении поверхностные царапины детектируются примерно в 40% случаев, на 1280 — в 75%+. Это подтверждают тесты: Согласно документации YOLOv8, высокое разрешение повышает детекцию мелких объектов на 35%.

Визуализация результатов

// Android: overlay повреждений на фото
@Composable
fun DamageAnnotationView(
    image: ImageBitmap,
    detections: List<DamageDetection>
) {
    Box {
        Image(bitmap = image, contentDescription = null)
        Canvas(modifier = Modifier.matchParentSize()) {
            detections.forEach { detection ->
                // Bounding box с цветом по серьёзности
                val color = when (detection.severity) {
                    Severity.MINOR -> Color(0xFF4CAF50)
                    Severity.MODERATE -> Color(0xFFFFC107)
                    Severity.MAJOR -> Color(0xFFFF5722)
                    Severity.STRUCTURAL -> Color(0xFFD32F2F)
                }
                drawRect(
                    color = color,
                    topLeft = detection.bbox.topLeft(size),
                    size = detection.bbox.size(size),
                    style = Stroke(width = 3f)
                )
                // Лейбл с классом и confidence
                drawDamageLabel(detection, color)
            }
        }
    }
}

Сколько времени занимает внедрение?

Backend с YOLOv8 детекцией и базовым мобильным клиентом — 2–3 недели. Полная система с guided photo flow, AR-позиционированием, антифрод проверками, сегментацией, оценкой площади повреждений, интеграцией с CRM страховщика и поддержкой iOS + Android — 1–3 месяца в зависимости от требований к интеграции. Мы гарантируем сертифицированное качество и предоставляем документацию. Получите консультацию — свяжитесь с нами для расчёта сроков под ваш проект.

AI и ML в мобильных приложениях: CoreML, TFLite и on-device модели

Мы различаем два принципиально разных подхода: приложение с on-device AI и приложение, которое просто вызывает облачное API. Первое работает без интернета, не отправляет данные пользователя на сторонние серверы и отвечает за 50 миллисекунд. Второе зависит от задержки сети и тарифного плана. Выбор архитектуры — ключевой этап, который напрямую влияет на стоимость, приватность и пользовательский опыт. Наш опыт показывает: в 70% проектов on-device инференс оказывается дешевле в долгосрочной перспективе за счёт исключения серверных затрат.

Как выбрать между CoreML и TFLite для on-device инференса?

CoreML — нативный фреймворк Apple для запуска ML-моделей на устройстве. Поддерживает Neural Engine (начиная с A11 Bionic), GPU и CPU как fallback. Модели конвертируются в формат .mlmodel через coremltools из PyTorch, ONNX или TensorFlow. Конвертация — не всегда тривиальна: кастомные слои требуют реализации MLCustomLayer, а квантизация до INT8 иногда заметно роняет точность на специфических данных. Мы гарантируем, что итоговая модель проходит валидацию на реальных данных до и после конвертации.

TensorFlow Lite — кросс-платформенная альтернатива для Android и Flutter. На Android использует NNAPI (Neural Networks API) для хардварного ускорения — с Android 10 NNAPI стабильнее, до этого лучше явно использовать GPU delegate через GpuDelegate. Типичная ошибка: модель обучена на нормализованных данных в диапазоне [0,1], а в приложении на вход подаётся [0,255] — инференс работает, но с бессмысленными результатами без ошибки. Мы включаем модуль автоматической валидации входных данных в SDK.

Для задач классификации изображений, детекции объектов и сегментации доступны готовые оптимизированные модели. YOLOv8 в CoreML формате запускает детекцию кадра 640×640 за 15–20 мс на iPhone 14 Neural Engine. MobileNetV3 на TFLite с GPU delegate — около 8 мс на Pixel 7 при классификации.

Параметр CoreML TFLite
Платформы iOS, macOS, watchOS Android, iOS, Linux, embedded
Хардварное ускорение Neural Engine, GPU, CPU NNAPI, GPU (OpenCL/OpenGL), CPU
Поддержка квантизации FP16, INT8 (с coremltools) FP16, INT8, dynamic range
Кастомные операции Через MLCustomLayer (Swift) Через делегаты (Java/Kotlin)
Размер бандла модели ~3–5 МБ (MobileNetV2 quantized) ~2–4 МБ

Что делать, если нужна генерация текста на устройстве?

Запуск небольших языковых моделей на устройстве стал реальностью в последние несколько лет. Apple Intelligence использует собственные модели через Private Cloud Compute, но для сторонних разработчиков доступны другие пути.

llama.cpp с Metal backend на iOS — работающий подход для phi-3-mini (3.8B параметров, 4-bit квантизация, ~2.3 ГБ). Инференс: 15–25 токенов/секунду на iPhone 15 Pro. Для интеграции в Swift используем Swift Package llama.swift или обёртку через C-интерфейс llama.h. Бинарник к приложению не прикладываем — модель скачивается при первом запуске и хранится в Application Support. Наши сертифицированные разработчики настраивают инкрементальную загрузку, чтобы не блокировать первый запуск.

На Android аналог — Google AI Edge (бывший MediaPipe LLM Inference API) с поддержкой Gemma-2B. Работает через GPU delegate, на Tensor G3 чипе Pixel 8 Pro — около 20 токенов/секунду.

Ограничения реальны: модели больше 4B параметров на мобильных устройствах по-прежнему медленны. Для сложных задач рассуждения on-device LLM уступает GPT-4o в качестве. Гибридный подход — on-device для коротких задач и приватных данных, облако для сложных запросов — часто оптимален. Оценим ваш кейс и предложим баланс производительности и приватности — пишите.

Интеграция OpenAI API и других облачных моделей

Для сценариев, где cloud inference допустим, интеграция OpenAI, Anthropic или Google Gemini — это HTTP клиент + streaming SSE. В Swift удобно через AsyncThrowingStream для стриминговых ответов. В Kotlin — через Flow.

Критически важно: API-ключи никогда не хранятся в бандле приложения. Даже обфусцированный ключ извлекается из IPA за 10 минут через strings или frida. Правильная архитектура: мобильное приложение → собственный backend → OpenAI API. Backend контролирует rate limiting, логирует запросы, защищает ключ.

Что входит в работу (deliverables)

  • Обученная и квантизированная модель под целевое устройство (документация по метрикам)
  • SDK для интеграции (Swift/Kotlin/Flutter) с примерами вызова
  • Тесты производительности на 3–5 реальных устройствах
  • Инструкция по обновлению модели OTA
  • Поддержка при прохождении модерации App Store / Google Play (проверка соответствия Guidelines 4.2, 5.1)
  • 2 недели технической поддержки после релиза

Типичный пайплайн проекта

  1. Анализ задачи — замеряем latency, privacy, size, поддерживаемые устройства.
  2. Прототипирование модели — в Python, оценка accuracy на целевых данных.
  3. Конвертация и квантизация — под CoreML/TFLite с валидацией.
  4. Интеграция в приложение — модель оборачивается в сервисный слой (легко подменять CoreML → TFLite → облако).
  5. Тестирование — на реальных девайсах, замер FPS, RAM, батареи.
  6. Деплой — через TestFlight / Firebase App Distribution, мониторинг метрик.

Сроки: интеграция готовой CoreML/TFLite модели — 1–2 недели, разработка кастомной модели с мобильной оптимизацией — от 6 недель, on-device LLM чат с персонализацией — 4–8 недель.

Почему мы беремся за сложные кейсы?

10+ лет опыта в мобильной разработке, 50+ внедрённых AI/ML решений, гарантия совместимости с актуальными версиями iOS и Android. Все проекты проходят code review и нагрузочное тестирование. В стоимость уже входит подготовка документации для модерации и обучение вашей команды.

Свяжитесь с нами — мы поможем выбрать архитектуру и внедрить ML в ваше приложение под ключ. Закажите аудит существующего решения — бесплатно оценим потенциал экономии серверных затрат (в некоторых проектах экономия достигает $10k в месяц).