Страховой инспектор тратит 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 месяца в зависимости от требований к интеграции. Мы гарантируем сертифицированное качество и предоставляем документацию. Получите консультацию — свяжитесь с нами для расчёта сроков под ваш проект.







