AI Visual Vehicle Damage Assessment from Photos

We design and deploy artificial intelligence systems: from prototype to production-ready solutions. Our team combines expertise in machine learning, data engineering and MLOps to make AI work not in the lab, but in real business.
Showing 1 of 1 servicesAll 1566 services
AI Visual Vehicle Damage Assessment from Photos
Medium
~2-4 weeks
FAQ
AI Development Areas
AI Solution Development Stages
Latest works
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1161
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1041
  • image_logo-advance_0.png
    B2B Advance company logo design
    561
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    823
  • image_logo-aider_0.jpg
    AIDER company logo development
    762
  • image_crm_chasseurs_493_0.webp
    CRM development for Chasseurs
    848

ИИ-оценка повреждений автомобиля по фото

Страховой случай: клиент фотографирует машину на парковке, загружает 6 снимков в приложение, через 40 секунд получает предварительную оценку ущерба. Без выезда эксперта, без очереди на осмотр. Это не фантастика — это конкретная архитектура на базе YOLOv8-seg + регрессионной модели стоимости, которую можно развернуть в продакшн за 8–12 недель.

Что реально детектирует модель

Задача делится на три уровня:

Локализация повреждений — где именно и что: вмятина (dent), царапина (scratch), трещина (crack), разбитое стекло (glass damage), деформация кузова (deformation). Сегментационная модель даёт полигональную маску каждого дефекта с площадью в пикселях.

Классификация детали — к какой зоне автомобиля относится повреждение: передний бампер, капот, левое переднее крыло, дверь и т.д. Это важно для привязки к прайсу нормо-часов конкретной детали.

Оценка severity — лёгкое / среднее / тяжёлое повреждение. Регрессионная голова на фичах из backbone даёт скор, который умножается на коэффициенты из справочника стоимости.

Architecture пайплайна

Двухэтапная схема работает надёжнее сквозного end-to-end:

  1. Детекция и сегментация повреждений → YOLOv8-seg или SAM 2 с автоматическими промптами по зонам авто
  2. Классификация детали → ResNet-50 или EfficientNet-B3, обученный на разбивке кузова (30–50 классов деталей)
  3. Оценка стоимости → 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])  # площадь каждой маски в пикселях

Где модели чаще всего ошибаются

Освещение и блики. Металлические поверхности при прямом солнце дают зеркальные блики, которые модель путает с царапинами. Решение — data augmentation с симуляцией бликов (albumentations RandomSunFlare, RandomBrightness) и требование к пользователю снимать в рассеянном свете. На практике добавляем quality check: если variance of Laplacian < 100 (размытое фото) или saturation > 240 (пересвет) — отклоняем снимок с просьбой переснять.

Мелкие царапины < 5px на изображении 640px. При стандартном imgsz=640 царапина длиной 10 см на расстоянии 1.5 метра занимает 3–4 пикселя. YOLOv8 пропускает их с IoU < 0.3. Поднятие imgsz до 1280 увеличивает recall по мелким дефектам с 0.44 до 0.71, но latency растёт с 28ms до 95ms на RTX 3090.

Старые повреждения vs новые. Модель не знает, когда возникло повреждение — это юридическая проблема для страховых. Решение: цветовой анализ краёв маски (свежий скол — белый, старый — коричневый от ржавчины) + 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.

Integration и деплой

API на FastAPI, инференс через ONNX Runtime или TensorRT, Docker-контейнер. Мобильное SDK — CoreML для iOS (конвертация через coremltools), TFLite для Android. Latency на iPhone 14 Pro с CoreML: 1.2 секунды на одно фото.

Компонент Вариант Latency
Сегментация повреждений YOLOv8x-seg TensorRT FP16 45ms (A100)
Классификация детали EfficientNet-B3 ONNX 12ms (CPU)
Оценка стоимости LightGBM < 1ms
Итого (GPU сервер) ~60ms
Мобильный (CoreML) YOLOv8n-seg 1.1–1.5s

Сроки проекта

От 8 до 16 недель в зависимости от наличия размеченных данных и требований по интеграции с системами страховщика. Стоимость рассчитывается индивидуально.