Страховому агенту нужно около часа, чтобы оценить и описать повреждения авто после аварии. Осмотреть каждую деталь, оформить документы. А если посчитать время на дорогу, то оценка и вовсе затянется на полдня.
Нейросеть же справляется за 30 секунд. 29 из которых нужно владельцу, чтобы обойти машину и сделать четыре фото.
В этой статье я расскажу, зачем мы вообще создаем такую модель и где планируем ее использовать. А еще углубимся в принципы работы системы и расскажем, как мы обучали алгоритм и какие планы у проекта на будущее.
Содержание
Я почему оценивать не мог? Потому что у меня данных не было
Начнем с того, что ниша дистанционной оценки повреждений авто на российском рынке достаточно свободна. Страховые иногда пользуются услугами сотрудников-людей, которые визуально оценивают повреждения по фото. Однако полностью автоматическая оценка, когда снимки обрабатывает нейросеть с учетом калькуляции повреждения, для России в новинку.
Существующий уклад дорогой и неэффективный с точки зрения бизнеса — за 8 рабочих часов человек способен оценить до 30 авто. Больше физически не получится.
Автоматизировать процесс до недавнего времени получалось лишь в ограниченном формате.
Первая причина — это технологии. До недавнего времени их вовсе не было. Можно сказать, что мы сейчас поднимаем целину. Нужно сначала научить нейросеть различать детали и повреждения, а после — оценивать стоимость повреждений для каждой модели отдельно. . Потому что небольшая царапина на «Бентли» будет стоить как «Девятка» целиком.
Вторая причина — в 2010-м телефон с хорошей камерой стоил дорого, его не каждый мог себе позволить. Да и не особо много таких телефонов было. А для обучения модели нужны фото с разрешением минимум 2 МП. И чем больше, тем лучше.
Сейчас как раз идеальный момент. Фотографий поврежденных авто достаточно — для обучения модели мы собрали датасет с более чем миллионом примеров в нужных ракурсах. Качество фото тоже подходит. Сегодня неплохие камеры есть даже на дешевых китайских смартфонах.
Немного похвастаемся. В России мы первые, кто в принципе стал разрабатывать систему автоматической оценки состояния авто. Мы провели исследование и увидели: спрос есть в этих сферах:
Автомобильная страховка. Мы уже немного о ней рассказали. Автоматический алгоритм оценки повреждений с помощью компьютерного зрения поможет сэкономить миллионы человеко-часов и десятки миллионов рублей для страховщика. Один объект обрабатывается одну секунду. Это сильно экономит время оценщиков-людей.
Каршеринговые компании. В теории автоматическая оценка способна полностью решить проблему необоснованных штрафов за повреждение машины. Клиенту нужно просто сделать несколько фото до посадки в авто и после завершения поездки — и все. Компания при этом получает максимально точную информацию о повреждениях своего парка машин и не имеет имиджевых потерь от «случайных штрафов».
Агрегаторы по продаже авто. Посетители будут сразу получать максимально полную информацию о внешнем виде автомобиля. Как дополнительная функция для удобства покупателей — самое то.
Компании и дилеры, которые занимаются предпродажной подготовкой авто. Чтобы оценить стоимость ремонта царапин, сколов или вмятин, клиенту не нужно приезжать, а специалисту не нужно детально осматривать каждый сантиметр авто. Время экономят оба.
И это только основные сферы, которым в принципе интересна наша разработка. А ведь в перспективе она может оказаться полезна различным СТО, производителям и дилерам запчастей, официальным представителям марок авто.
Как мы строили и обучали алгоритм
Теперь расскажем чуть больше технических подробностей. Начнем с архитектуры решения. Она состоит из серии моделей.
Первая модель служит для обнаружения автомобиля на фото. Это препроцессинг, который нужен для фильтрации входных данных.
Сейчас мы работаем только с автомобилями. Поэтому если алгоритм не может найти на снимке авто, пригодное к обработке, то выдает ошибку, не запуская основной анализ.
Если вместо машины на фото будет лодка, как на примере, то система остановит обработку. То же произойдет, если на снимке сразу несколько автомобилей и невозможно выделить центральный.
Но даже если авто есть, то не факт, что фото подходит для обработки и анализа. Мы пока не работаем с крупными ракурсами, на которых видны отдельные детали авто. Сейчас фото с неподходящими ракурсами отбраковываются, но мы уже активно работаем над инструментами, которые позволят их полноценно анализировать.
На нижнем снимке трудно сказать, что это за колесо. Левое переднее? Правое заднее? Такие фото брать в работу сложнее, нужен другой инструмент, но он пока в режиме разработки.
Система не распознает детали отдельно от авто. Если сфотографировать оторванный бампер, анализа не будет. Также не сработает, если машина разбита в тотал — система просто не сможет найти границы деталей на фото. Хотя в таком случае это все равно не поможет.
Еще одна модель препроцессинга нужна, чтобы определить засвет на фото. Ведь даже если автомобиль есть, а фото сделано в правильном ракурсе, из-за засвета его невозможно использовать — засвет просто скроет повреждения и от человеческого, и от компьютерного зрения.
Итак, все процедуры препроцессинга пройдены, авто на фото есть, оно в подходящем ракурсе и нормальном освещении. Тогда в дело вступают основные модели, которые сегментируют отдельные детали кузова и находят на них повреждения.
Мы обучали нейросеть на ракурсах, которые используют в своей работе страховые агенты при оценке повреждений. Для полной оценки авто нужно всего 4 фото из угловых ракурсов. Получается, что одна точка на поверхности машины снимается дважды (за исключением углов). Это позволяет обеспечить высокую точность анализа.
На фото это выглядит так:
Именно на таких пулах снимков мы обучали основную модель. Алгоритм сможет обработать и автомобиль, снятый чисто спереди или сбоку, но наибольшая точность анализа нужна для таких ракурсов — именно их будут использовать в работе.
В основе лежит две модели: сегментация деталей и сегментация повреждения на деталях. Если три препроцессинговые модели служат для корректной оценки, то здесь делается вся работа.
В общих чертах их работу можно объяснить так:
Теперь объясним подробнее. Сначала нужно разметить фото автомобиля на конкретные детали. Для оценки повреждений и подсчета стоимости ремонта это основа. Нужно абсолютно точно знать, какая деталь повреждена и насколько сильно. Можно ли ее просто покрасить, нужно рихтовать или спасет только замена — все имеет значение.
Но собрать выборку и обучить модель размечать детали — это огромная работа, в чем-то даже сизифов труд с той лишь разницей, что в нашем случае мы получаем классный результат.
Сначала мы взяли базу данных из миллиона снимков в подходящих ракурсах. И чтобы создать базовый датасет из миллиона фоток для обучения стали отмечать все детали на фото самостоятельно.
Но на 25 000 мы получили отличную азу для обучения, но вручную это было долго и очень дорого. Просто для понимания объемов работы — на одном фото нужно с максимальной точностью выделить очертания 40-50 категорий объектов. Даже у человека с идеальным владением графическим редактором на это уйдет минимум 30-40 минут. Бюджеты у нас не резиновые, поэтому пришлось искать другой путь.
Сначала попробовали 3D-редактор Blender. Для генерации выборки можно было скачать или купить 3D-модель автомобиля и разметить детали всего один раз. А затем — генерировать сколько угодно сцен в разных ракурсах с участием размеченного авто.
Примерно так:
С точки зрения разметки — шикарно. Но для правдоподобности сцен нужно было дополнительно скачивать кучу пресетов. По факту это получалась все та же работа вручную, но теперь руками нужно было не размечать детали, а создавать разные ракурсы и сцены. Аксиома Эскобара во всей красе.
Летом этого года стало интереснее, потому что мы попробовали DatasetGAN. Другими словами, мы использовали генеративную сеть для того, чтобы генерировать и изображения автомобилей, и сразу маски с размеченными деталями.
Настроить генеративную нейросеть для создания и авто, и масок оказалось несложно. Для этого потребовалось всего лишь особым образом сгенерировать обучающую выборку и разметить ее — всего около 50 изображений. А после нейросеть может генерировать уже размеченную выборку несуществующих авто почти до бесконечности.
Не все полученные примеры от нейросети качественные.
Контроль все равно нужен, но уже этот способ позволял на порядки увеличить скорость генерации выборки для обучения основной модели. Не одну-две, а полторы тысячи размеченных масок в час. А чтобы фильтровать результаты, создали отдельный классификатор под это дело.
Генеративная модель сильно улучшила качество разметки. Слева результаты алгоритма до использования обучения на сгенерированных изображениях, а справа — после. Результат, как говорится, налицо. Модель стала стабильнее.
Теперь расскажем о второй основной модели, которая оценивает конкретно повреждения деталей. Принцип действия прост — мы собрали большую выборку повреждений. К примеру, царапина, вмятина, трещина, ржавчина. А затем натренировали модель находить их на фото.
Происходит примерно так:
Модель ищет повреждения не на конкретных деталях, а непосредственно на изображениях. Затем генерирует маску повреждения и оценивает его характер, применимо к деталям. А после этого все оформляется в сухие выводы, которые и получает человек. В случае сверху это «комплексная вмятина передней правой и задней правой дверей, множественные глубокие царапины лакокрасочного покрытия, повреждение правой междверной стойки».
С последней неисправностью, кстати, связана идея, над которой мы будем работать в обозримом будущем. Чтобы по внешнему повреждению кузова алгоритм мог также оценивать и прогнозировать внутренние повреждения «органов».
К примеру, при сильном повреждении переднего бампера алгоритм должен выдавать информацию, что «скорее всего, поврежден радиатор охлаждения». Идея амбициозная, но мы переключимся на нее не раньше, чем обеспечим хорошую точность основных моделей.
Что планируем на будущее и какие фичи еще хотим сделать
Планы у нашего проекта наполеоновские. С технической стороны мы собираемся добиться хорошей точности детекции деталей и повреждений до весны 2022. Уже такую версию, которую не стыдно будет релизить.
Зимой также будем собирать датасет автомобилей с плохим освещением, в грязи или снегу. Человек не будет мыть машину на месте ДТП, чтобы сфотографировать ее, поэтому нужно обучить модель правильно оценивать и не слишком опрятные авто. А самое главное — научить разделять грязь и царапины, потому что на фото они могут быть сильно похожи.
Это крайне важно, если мы хотим предложить проект для партнерства с каршерингами. Ведь во время дождя авто по-любому заляпается. А если грязевые потеки система распознает как царапины, это будет очень неприятно. И клиенту, и каршерингу, и нам.
Уже к февралю 2022 планируем запустить инструмент для работы с близкими ракурсами.
Весной у нас в планах начать собирать датасет по другим видам автотранспорта. Мопеды, мотоциклы, фургоны, фуры — будем анализировать все, что двигается по дорогам.
Если рассматривать перспективы использования его как продукта для обычных пользователей, то он будет очень полезен при небольших ДТП и оформлении европротокола. После подписания документа нужно сделать четыре фотки — мы планируем, что система сама сможет отправлять характеристику повреждений в страховую компанию.
В будущем сервис сможет здесь и сейчас определять, сколько стоит повреждение. И уже на базе этой оценки можно пытаться урегулировать ДТП в рамках европротокола. Мы заранее не знаем, сколько стоит царапина на «Гелендвагене», который притерли. А сервис поможет это узнать за пару минут.
Пока что финансовые фичи мы не добавляли совсем. Это отдельный большой кусок работы, где нужно партнериться с производителями запчастей и официальными дилерами авто, собирать огромные базы с динамическими ценами, а потом строить модель финансовой оценки повреждений. Это обязательная часть сервиса — и в следующем 2022 году мы ею плотно займемся.
В целом мы планируем разработать не просто узконаправленную утилиту для оценки повреждений авто, а полноценную экосистему, которую можно будет внедрить в работу компаний и жизнь простого автолюбителя, чтобы упростить жизнь во многих ситуациях: от покупки б/у авто и использования каршерингов до оформления ДТП и страховых случаев. Сложно? Само собой. Выполнимо? Еще бы!
И напоследок хотим запустить дискуссию. Как вы считаете, насколько широко автоматические системы оценки будут использоваться в будущем? Не только для повреждений авто, но и в других сферах жизни. Нам очень интересно ваше мнение.
Комментарии (7)
Hoodsey112
23.12.2021 11:04У меня вопрос по ракурсу фотографий, с 4-х точек фотографируем, ок, а если повреждение например крыши авто, а все остальное целое, плюс как будет учитываться тот фактор что повреждение можно устранить путем PDR технологии? Ну и как уже указали выше, скрытые повреждения никто не отменял, на крышу что-то упало, это можно устранить без покраски, но в салоне повредилась обшивка потолка и плафон к примеру. Они в расчет стоимости уже не будут включены?
sergeygolytsin Автор
24.12.2021 13:15На обзорных снимках видно небольшую часть крыши, в большинстве случаев этого достаточно, так как затруднительно повредить только центр крыши автомобиля. В зависимости от сферы применения нашего продукта, осмотр может включать в себя большее число снимков, в том числе и фотографию крыши. Без специального оборудования качественно сделать такой снимок для высокого авто не так просто.
На данный момент наш продукт оценивает повреждения только экстерьера авто.
K0styan
23.12.2021 11:31Так вот с чего Яндекс.Драйв теперь после каждой поездки просит машину с 4 углов сфотографировать. Думал, из-за того, что несколько раз парковался в тех местах, которые у него помечены как непарковочные (хотя знаки и разметка на месте), теперь перепроверяет за мной.
Earthsea
23.12.2021 12:16Если вместо машины на фото будет лодка, как на примере, то система остановит обработку.
Скорее всего, кто-нибудь уже давно таким образом автоматически распознает Google-капчу. Только не афиширует это.
warhamster
Радиатор? У современных авто под бампером может быть что угодно, вплоть до электронных блоков. Как вообще можно давать оценку, не посмотрев на те же пресловутые лонжероны, например?
По наружным фоткам можно давать только оценку снизу, фразу про "скрытые повреждения" пишут по умолчанию даже гаишники. Сплошь и рядом адекватная оценка невозможна без частичной разборки, не то, что по фотографиям.
Это, конечно, будет очень удобно для страховых - ссылаться на то, что робот так посчитал, и выплачивать копейки. Но это же и ограничивает применимость подобного софта вот этим самым единственным сценарием.
XLOR
Для сервисов каршеринга подойдёт.
warhamster
Как раз наоборот - им нужно драть с клиента по оценке сверху и за любую царапину, которую на чуть пыльной машине уже и глазами не увидишь, не то, что камерой. Сплошной убыток получится.