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

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

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

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

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

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

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

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

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

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    495

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

Детекция повреждений (предыдущий этап) — техническая задача. Оценка стоимости ремонта — задача на стыке computer vision, баз данных нормативов и бизнес-логики конкретной страны. Одна и та же вмятина на крыле обойдётся по-разному в Москве и Варшаве, у официального дилера и в независимом сервисе. Система должна это понимать.

Архитектура оценочного пайплайна

Оценка стоимости — не прямой вывод нейросети. Это многошаговый расчёт:

Фото → Детекция повреждений → [тип, серьёзность, площадь, локализация]
                                          ↓
                             Нормативная база ремонта
                             (нормо-часы по типу работ)
                                          ↓
                             Региональные расценки
                             (стоимость нормо-часа)
                                          ↓
                             Стоимость запчастей
                             (OEM vs aftermarket)
                                          ↓
                             Итоговая оценка [min, expected, max]

Нейросеть используется только на первом шаге — всё остальное детерминированный расчёт по базам данных.

Нормативные базы ремонта

В России стандарт де-факто — AUDATEX (теперь Solera) и GT Motive. Они содержат нормо-часы по каждой операции для каждого автомобиля: замена переднего крыла Toyota Camry XV70 — 2.4 нормо-часа, рихтовка — 1.8 нормо-часа, покраска — 3.2 нормо-часа. Доступ к API — через партнёрское соглашение.

Для MVP без дорогих лицензий: открытые базы Mitchell1, AllData (США) или собственная база по публичным прайс-листам СТО — через scraping + нормализацию.

// iOS: запрос расчёта стоимости
struct DamageCostRequest: Codable {
    let vehicleInfo: VehicleInfo           // марка, модель, год
    let damageDetections: [DamageDetection]
    let repairLocation: RepairLocation     // city, country
    let repairType: RepairType             // dealer, certified, independent
}

struct VehicleInfo: Codable {
    let make: String
    let model: String
    let year: Int
    let bodyType: BodyType
    let vin: String?
}

// Ответ содержит разбивку по позициям
struct DamageCostEstimate: Codable {
    let lineItems: [CostLineItem]
    let laborCost: MoneyAmount
    let partsCost: MoneyAmount
    let paintCost: MoneyAmount
    let totalMin: MoneyAmount
    let totalExpected: MoneyAmount
    let totalMax: MoneyAmount
    let currency: String
    let validUntilDate: Date           // расценки меняются
    let disclaimer: String
}

struct CostLineItem: Codable {
    let description: String            // "Замена переднего бампера"
    let damageType: DamageType
    let panelLocation: PanelLocation   // front_bumper, hood, etc.
    let laborHours: Double
    let laborCostPerHour: MoneyAmount
    let partsCost: MoneyAmount?
    let repairVsReplaceRecommendation: RepairOption
}

Логика repair vs replace

Для каждого повреждения система рекомендует: ремонт (рихтовка + покраска) или замена детали. Правило упрощённо:

func recommendRepairOption(
    damage: DamageDetection,
    panel: PanelInfo
) -> RepairOption {
    let damageAreaRatio = damage.maskAreaPx / panel.totalAreaPx

    // Если повреждение > 40% площади детали → замена, не ремонт
    if damageAreaRatio > 0.4 { return .replace }

    // Структурные повреждения → только замена
    if damage.severity == .structural { return .replace }

    // Если ремонт дороже 70% стоимости новой детали → замена
    let repairEstimate = calculateRepairCost(damage, panel)
    let partPrice = panel.partPrice.aftermarket
    if repairEstimate > partPrice * 0.7 { return .replace }

    return .repair
}

UI: понятный вывод для нетехнической аудитории

Страховой агент или владелец автомобиля не читает «ммASDA-норматив 2.4 н/ч». Интерфейс должен показывать понятный breakdown:

@Composable
fun CostEstimateScreen(estimate: DamageCostEstimate) {
    Column(modifier = Modifier.padding(16.dp)) {

        // Итоговая сумма — крупно и первой
        TotalCostBanner(
            min = estimate.totalMin,
            expected = estimate.totalExpected,
            max = estimate.totalMax
        )

        Spacer(Modifier.height(24.dp))

        // Разбивка по статьям
        SectionHeader("Разбивка расходов")
        CostBreakdownBar(
            labor = estimate.laborCost,
            parts = estimate.partsCost,
            paint = estimate.paintCost
        )

        Spacer(Modifier.height(16.dp))

        // Позиции по повреждениям
        SectionHeader("Повреждения и работы")
        estimate.lineItems.forEach { item ->
            DamageLineItemCard(item = item)
        }

        // Disclaimer — обязателен
        DisclaimerText(text = estimate.disclaimer)
    }
}

Диапазон min–expected–max честнее точной цифры. Точная цифра создаёт ложные ожидания и приводит к конфликтам при выставлении счёта от СТО.

Ориентиры по срокам

Backend с детекцией повреждений (YOLOv8) + расчётом стоимости по фиксированной региональной базе + мобильный клиент iOS/Android — 2–3 недели. Полная система с интеграцией Audatex/GT Motive, региональными расценками, актуальными ценами на запчасти, экспортом отчёта в PDF и подписью — 1–3 месяца.