ИИ-оценка повреждений автомобиля по фото
Мы разработали AI-систему визуальной оценки повреждений автомобиля по фото. Она решает задачу страхового скоринга в реальном времени. Опыт наших инженеров в машинном зрении превышает 10 лет, а число внедрённых проектов — более 50. Компания работает на рынке AI-решений более 5 лет. Представьте: клиент фотографирует машину на парковке, загружает 6 снимков в приложение. Через 40 секунд получает предварительную оценку ущерба. Без выезда эксперта, без очереди на осмотр. Эта архитектура на базе YOLOv8-seg + регрессионной модели стоимости разворачивается в продакшн за 8–12 недель. Она гарантирует снижение затрат на экспертизу на 30–50%. Для типового страхового портфеля экономия бюджета может достигать $20k–30k. в год. Для портфеля из 10 000 полисов экономия составит около $135k–195k. в год.
Что реально детектирует модель
Задача делится на три уровня:
- Локализация повреждений — где именно и что: вмятина (dent), царапина (scratch), трещина (crack), разбитое стекло (glass damage), деформация кузова (deformation). Сегментационная модель даёт полигональную маску каждого дефекта с площадью в пикселях.
- Классификация детали — к какой зоне автомобиля относится повреждение: передний бампер, капот, левое переднее крыло, дверь и т.д. Это важно для привязки к прайсу нормо-часов конкретной детали.
- Оценка severity — лёгкое / среднее / тяжёлое повреждение. Регрессионная голова на фичах из backbone даёт скор, который умножается на коэффициенты из справочника стоимости.
Архитектура пайплайна
Двухэтапная схема работает надёжнее сквозного end-to-end:
- Детекция и сегментация повреждений -> YOLOv8-seg или SAM 2 с автоматическими промптами по зонам авто
- Классификация детали -> ResNet-50 или EfficientNet-B3, обученный на разбивке кузова (30–50 классов деталей)
- Оценка стоимости -> XGBoost или LightGBM на признаках: площадь маски, класс детали, severity score, марка/модель авто из EXIF или отдельного классификатора
# Пример инференса сегментационной модели
from ultralytics import YOLO
import cv2
model = YOLO('damage_seg_v8x.pt') # fine-tuned на датасете повреждений
results = model.predict(
source='car_damage.jpg',
conf=0.35,
iou=0.45,
imgsz=1280, # высокое разрешение критично для мелких царапин
retina_masks=True
)
for r in results:
masks = r.masks.data # (N, H, W) tensor
classes = r.boxes.cls # классы повреждений
areas = masks.sum(dim=[1,2]) # площадь каждой маски в пикселях
Как мы обеспечиваем качество детекции
Почему мелкие царапины — самая частая проблема?
При стандартном imgsz=640 царапина длиной 10 см на расстоянии 1.5 метра занимает 3–4 пикселя. YOLOv8 пропускает их с IoU < 0.3. Поднятие imgsz до 1280 увеличивает recall по мелким дефектам с 0.44 до 0.71, но latency растёт с 28ms до 95ms на RTX 3090. Мы балансируем через автоматический выбор разрешения на основе метаданных камеры.
Как модель отличает новые повреждения от старых?
Свежий скол имеет белый край, старый — коричневый от ржавчины. Мы добавляем цветовой анализ краёв маски и cross-check с историей предыдущих осмотров. Это снижает юридические риски для страховой компании.
Датасет и обучение
Минимальный объём для рабочей модели: 5 000 размеченных изображений с масками, покрывающих все классы повреждений и детали. На практике используем:
- Открытые датасеты: CarDD (4 000 фото), COCO с дообучением
- Синтетика из Blender — для редких случаев (тотальное разрушение передней части)
- Клиентские данные из архива страховых дел
Fine-tuning YOLOv8x-seg на RTX 4090 с датасетом 8 000 изображений — около 18 часов (100 эпох, batch=16, imgsz=1280). Финальные метрики: [email protected] = 0.79, [email protected]:0.95 = 0.61.
Сравнение производительности на различных устройствах
| Компонент | Вариант | Latency |
|---|---|---|
| Сегментация повреждений | YOLOv8x-seg TensorRT FP16 | 45ms (A100) |
| Классификация детали | EfficientNet-B3 ONNX | 12ms (CPU) |
| Оценка стоимости | LightGBM | < 1ms |
| Итого (GPU сервер) | — | ~60ms |
| Мобильный (CoreML) | YOLOv8n-seg | 1.1–1.5s |
Для разных типов повреждений точность детекции также различается. Например, recall по вмятинам достигает 0.85, а по мелким царапинам — 0.71.
| Тип повреждения | [email protected] | [email protected] |
|---|---|---|
| Вмятина | 0.85 | 0.88 |
| Царапина | 0.71 | 0.76 |
| Трещина | 0.80 | 0.82 |
| Разбитое стекло | 0.92 | 0.95 |
Что входит в работу
- Аудит данных — проверка репрезентативности датасета, рекомендации по сбору и разметке
- Разработка модели — fine-tuning, quantization (INT8/INT4), экспорт в ONNX/TensorRT
- Интеграционное API — FastAPI, эндпоинты для загрузки фото, получения масок и стоимости
- Мобильное SDK — CoreML (iOS), TFLite (Android) с примером интеграции
- Документация — OpenAPI спецификация, model card, инструкция по разметке новых данных
- Поддержка — 3 месяца гарантийного сопровождения после запуска
Как мы строим модель оценки повреждений: пошаговый процесс
- Сбор и разметка — 5 000+ изображений с полигональными масками от экспертов страховой компании
- Обучение — transfer learning с YOLOv8x-seg, 100 эпох, 8–12 часов на RTX 4090
- Валидация — тестирование на отложенной выборке ([email protected] > 0.75) и на реальных кейсах заказчика
- Оптимизация — TensorRT FP16 для сервера, CoreML/TFLite для мобильных устройств
- Развёртывание — Docker-контейнер на Kubernetes, мониторинг latency p99 и drift
Типичные ошибки модели и их решения
- Освещение и блики — симуляция RandomSunFlare в augmentations, quality check отбраковывает пересвеченные фото.
- Мелкие царапины — увеличение imgsz до 1280 и использование retina_masks повышает recall с 0.44 до 0.71.
- Старые vs новые повреждения — цветовой анализ краёв маски + cross-check с историей осмотров.
Сроки проекта
От 8 до 16 недель в зависимости от наличия размеченных данных и требований по интеграции с системами страховщика. Стоимость рассчитывается индивидуально.
Свяжитесь с нами для консультации по вашему проекту. Закажите пилотный проект, чтобы оценить точность на своих данных. Получите демо-доступ к системе на своих фото.







