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







