Как создать систему обнаружения повреждений автомобиля на основе компьютерного зрения

Как создать систему компьютерного зрения для обнаружения повреждений автомобиля

Компьютерное зрение, являющееся неотъемлемой частью искусственного интеллекта, приобретает все большее значение в страховой отрасли. Его внедрение обеспечивает множество преимуществ, таких как автоматизация процесса, снижение затрат, повышение точности и улучшенное взаимодействие с клиентами.

Технология компьютерного зрения открывает множество возможностей, включая частичную замену ручных осмотров. Вот почему команда Intelliarts считает перспективным начать работу над проектом автоматической оценки повреждений автомобилей.

В этом исследовании мы изучаем опыт команды Intelliarts в решении задач обнаружения повреждений автомобилей с использованием компьютерного зрения. Мы рассмотрим конкретные алгоритмы, которые можно использовать, разъясним процесс обучения и оценки модели, и оценим потенциальные преимущества популярных алгоритмов в области проектов по компьютерному зрению.

Какие алгоритмы могут решить задачу обнаружения повреждений автомобилей

Для этого инженеры используют алгоритм сегментации изображений. Его работа заключается в определении класса каждого пикселя на основе определенных визуальных характеристик, таких как цвет, текстура, интенсивность или форма. В случае осмотра транспортного средства класс либо с повреждениями, либо без них. Цель сегментации изображений – упростить или изменить представление изображения до более понятной формы, отделить объекты от фона и облегчить их анализ.

Существуют два основных подхода к сегментации изображений:

Сегментация по экземплярам

С помощью этой техники компьютерного зрения каждый отдельный объект определяется и помечается уникальным идентификатором. Первый шаг сегментации по экземплярам – это обнаружение объектов. На этой стадии алгоритм компьютерного зрения пытается обнаружить все объекты на изображении и предоставить ограничивающий прямоугольник или квадрат вокруг каждого из них. Во время классификации внутри ограничивающих прямоугольников алгоритм рассчитывает уверенность или вероятность нахождения конкретного интересующего объекта заданного класса, например, автомобиля, дерева, человека и т. д.

На втором шаге алгоритм выполняет сегментацию в каждом из ограничивающих прямоугольников и маркирует каждый пиксель, указывая, принадлежит ли он объекту или нет.

Еще одним требованием для сегментации по экземплярам является использование битовых масок. Это бинарные изображения, которые используются для определения местоположения объектов или интересующих участков на изображении. Каждому пикселю в маске присваивается значение 0 или 1, указывающее, принадлежит ли этот пиксель объекту или интересующему участку. Битовые маски могут быть созданы вручную путем аннотирования изображений.

Способ работы этого алгоритма обеспечивает различение нескольких экземпляров одного и того же объекта друг от друга, даже если они перекрываются или частично скрыты другими объектами на изображении.

Семантическая сегментация

Техника семантической сегментации предполагает разделение изображения на несколько сегментов, каждый из которых соответствует определенному объекту или интересующему участку на изображении, и их отдельная классификация. В отличие от традиционных методов сегментации изображений, которые просто разбивают изображение на произвольные сегменты на основе сходства пикселей, семантическая сегментация стремится присвоить каждому сегменту значимую семантическую метку, такую как человек, автомобиль, здание, дерево и т. д.

Семантическая сегментация рассматривает несколько объектов, принадлежащих одному классу, как единое целое. Это позволяет указывать границы, например, всех людей, всех автомобилей или всех зданий на изображении, если это необходимо. Важно отметить, что семантическая сегментация позволяет обнаруживать только повреждения без их дифференциации. В случае сегментации по экземплярам можно различить несколько отдельных повреждений друг от друга.

После обучения модель семантической сегментации может использоваться для сегментации новых изображений путем их обработки в сети и генерации маски сегментации пикселей. Последний работает аналогично битовым маскам в сегментации по экземплярам, но присваивает метку каждому пикселю на изображении вместо генерации нескольких масок, по одной для каждого экземпляра объекта.

Фактическое сравнение реальных случаев и алгоритмов семантической сегментации с полученными результатами предоставлено в нижеследующих разделах.

Метрики машинного обучения для оценки производительности обученной модели

Метрики машинного обучения – это количественные меры того, насколько хорошо модель решает заданную задачу. Они помогают оценивать производительность модели и предоставляют информацию о ее сильных и слабых сторонах.

Значения метрик машинного обучения рассчитываются на основе результатов, которые модель показывает после тестирования на предварительно неиспользованных данных. Таким образом, инженеры могут оценить потенциальную производительность модели на реальных данных. Полученные результаты направляют принятие дальнейших решений, так как инженерам может потребоваться несколько раз переделать модель, прежде чем ее производительность будет считаться удовлетворительной.

Вот список основных метрик сегментации изображений, которые следует использовать при тестировании модели для решения задач обнаружения повреждений:

1. MIoU (Среднее пересечение по объединению)

Эта метрика измеряет среднее перекрытие между предсказанными и истинными масками сегментации для каждого класса в наборе данных. MIoU вычисляется путем подсчета пересечения по объединению для каждого класса и затем нахождения среднего значения для всех классов. Пересечение по объединению = Пересечение между предсказанными и истинными масками для класса / Объединение между предсказанными и истинными масками для класса.

2. Точность на пиксель

Эта метрика измеряет процент пикселей на изображении, которые были правильно классифицированы моделью. Точность на пиксель = Количество правильно классифицированных пикселей / Общее количество пикселей на изображении.

3. Коэффициент Дайса

В сегментации изображений коэффициент Дайса измеряет перекрытие между пикселями предсказанных и истинных масок сегментации на шкале от 0 до 1, где 0 означает отсутствие перекрытия, а 1 указывает на идеальное совпадение. Коэффициент Дайса = 2 * количество пикселей, которые были правильно классифицированы обоими масками / общее количество пикселей в обеих масках.

В нашем исследовании о производительности моделей сегментации экземпляров и семантической сегментации, подробно описанном ниже, команда Intelliarts использовала метрики MIoU и коэффициент Дайса для измерения результатов тестирования.

Примеры архитектур искусственного интеллекта в реальной жизни

Выбор правильной архитектуры искусственного интеллекта является важным шагом в любом проекте машинного обучения. Тщательно выбранное решение может положительно сказаться на результате путем предоставления лучшей точности сегментации, более высокой скорости обработки и эффективного использования ресурсов. Кроме того, может случиться так, что некоторые архитектуры лучше подходят для реального времени или почти реального времени, в то время как другие могут быть более подходящими для пакетной обработки больших наборов данных, что также следует тщательно учесть. 

Существуют некоторые архитектуры сегментации изображений, которые были широко протестированы и пользуются популярностью. Среди них Mask R-CNN и U-Net, которые именно алгоритмы использовались командой Intelliarts для тестирования техник сегментации экземпляров и семантической сегментации для решения задач обнаружения повреждений автомобилей. Они позволяют инженерам использовать техники тонкой настройки с использованием готовых весов, то есть моделей, предобученных на большом наборе данных. Таким образом, нет необходимости обучать модель с нуля, что является ресурсоемкой задачей.

Давайте рассмотрим, что представляют собой эти алгоритмы:

Mask R-CNN

Mask R-CNN (Регионная сверточная нейронная сеть с масками) – это архитектура глубокого обучения для обнаружения объектов и сегментации экземпляров. Она основана на модели Faster R-CNN для обнаружения объектов и имеет часть для сегментации, то есть подмножество слоев, работающих с входными данными.

Mask R-CNN работает в двух этапах. На первом этапе она генерирует предложения о регионах с помощью сети Region Proposal Network (RPN), которая предлагает области изображения, которые вероятно содержат объекты. На втором этапе она выполняет обнаружение объектов и сегментацию, одновременно предсказывая метки класса, ограничивающие рамки и маски для каждого предложения.

U-Net

U-Net – это архитектура сверточной нейронной сети, разработанная для задач сегментации изображений. Она чрезвычайно популярна для решения задач сегментации медицинских изображений, таких как сегментация опухоли мозга, сегментация клеток и сегментация легких. Она также была адаптирована для других приложений сегментации изображений, таких как сегментация дорог в автономном вождении.

Архитектура U-Net имеет характерную форму “U”, образованную операциями сжатия и расширения. Сеть имеет сжимающий путь, который захватывает контекст и уменьшает размер входного изображения, и расширяющий путь, который обеспечивает точную локализацию и повышает размер карты признаков. Фактически, сеть может извлекать детальную информацию о сегментируемых объектах, одновременно улавливая контекст и глобальную структуру изображения.

Сегментация экземпляров (Mask R-CNN) против семантической сегментации (U-Net) на основе наблюдений в реальной жизни

В нашем недавнем исследовании команда Intelliarts протестировала две популярные архитектуры нейронных сетей, используемых для задач сегментации изображений – Mask R-CNN и U-Net. Оба алгоритма компьютерного зрения были обучены, а затем протестированы с использованием одних и тех же наборов данных. Мы использовали предварительно обработанные данные из общедоступных наборов данных обнаружения повреждений автомобилей в Coco и Segme.

Несмотря на то, что Mask R-CNN имеет более сложную архитектуру и обрабатывает выделенные области, а не всё изображение, тестирование показало, что U-net, как алгоритм на основе семантической сегментации, демонстрирует лучшую производительность.

U-net показал оптимальные результаты в первой части теста, когда искусственный интеллект использовался для определения повреждений автомобилей и оценки их величины. Кроме того, во второй части, когда инженеры Intelliarts заставили модели компьютерного зрения идентифицировать поврежденные детали автомобилей и распознавать их, Mask R-CNN также показал лучшие результаты. Это позволило нашей команде прийти к выводу, что модель с семантической сегментацией, особенно протестированная U-net, в настоящее время является лучшим выбором для осмотра повреждений автомобиля.

Вам может быть интересно попробовать онлайн-демонстрацию, которая представляет собой интерактивную площадку для обученной модели искусственного интеллекта. Демонстрация показывает возможности модели компьютерного зрения в обнаружении повреждений автомобиля на основе входного изображения или видеокадра.

Как обучить модель искусственного интеллекта

Глубокие нейронные сети успешно применяются для решения задач компьютерного зрения и других задач. Многие передовые решения, построенные на этой технологии, успешно используются в страховании и других областях. Обучение модели машинного обучения с глубоким обучением включает следующие этапы:

Подготовка данных

Алгоритмы искусственного интеллекта требуют значительного объема цифровых данных, содержащихся в фотографиях и видеозаписях, для обучения. Существует прочная связь между объемом и качеством данных и результатами обучения. Существует даже понятие, известное как garbage in, garbage out (GIGO), что означает, что бессмысленные входные данные приводят к бессмысленному результату. Поэтому рекомендуется найти или подготовить обширные наборы данных. В случае оценки транспортных средств требуются высококачественные образцы поврежденных автомобилей с различными степенями деградации, с разных ракурсов, с различной освещенностью и т. д.

Аннотирование данных, то есть категоризация и маркировка данных для применения искусственного интеллекта, используется для того, чтобы модель понимала, что именно представляет собой цифровая информация в визуальных материалах и почему она важна. Для обучения модели искусственного интеллекта для оценки транспортных средств разработчикам требуются наборы данных, изображения которых были аннотированы следующими двумя способами:

  • Обнаружение повреждений: При сборе разнообразного набора различных типов повреждений необходимо пометить и отметить интересующие объекты соответствующей метаданными, используя полигон или кисть. Добавление ограничивающих рамок не требуется, так как их генерирует сама модель. Не говоря уже о том, что ненужные ограничивающие рамки могут создавать перекрытия и запутывать обрабатываемую модель.
  • Обнаружение деталей автомобиля: Это аннотирование данных является необходимым параллельным этапом к обнаружению повреждений. Маркировка поможет модели распознать конкретные части автомобиля, которые подверглись повреждениям, и даже рассчитать их площадь в предпочтительных единицах измерения.

Маркирование изображений является одним из самых трудоемких аспектов обучения модели искусственного интеллекта для приложений компьютерного зрения. Выбор объектов на пиксельной основе и присвоение им правильных меток, описывающих объекты и их различные атрибуты или особенности, является трудоемкой работой. Метод – ручная разметка, когда люди аннотируют изображения вручную. Однако помощь алгоритмов машинного обучения может в какой-то степени автоматизировать и упростить эту задачу.

В нашем случае мы использовали изображения, которые уже были правильно помечены из открытых наборов данных, упомянутых выше. Это означает использование чистых и предварительно упакованных данных. Другие методы сбора данных включают создание пользовательских коллекций данных, создание частной коллекции и сбор данных автоматически с помощью парсинга и сканирования веб-страниц.

Есть несколько лучших практик сбора данных, которые следует учитывать. Они включают определение проблемы и цели проекта машинного обучения, установление механизмов данных, установление механизмов хранения, оценку собранных данных и сбор конкретных данных, соответствующих целям проекта.

Обучение

После завершения сбора и аннотирования данных готовый набор данных для обучения подается на вход модели компьютерного зрения. В этой стадии важно выявить ошибки, которые допускает модель, чтобы в дальнейшем внести необходимые корректировки, чтобы избежать неправильной компенсации между смещением и разбросом, что приводит к проблемам переобучения и недообучения.

Проблема недообучения возникает, когда модель не может точно уловить взаимосвязь между входными и выходными переменными. Ее можно решить, упростив модель.

Проблема переобучения – это ситуация, когда модель настолько знакома с тренировочными данными, что алгоритм становится ограниченным и предвзятым. Таким образом, она не будет функционировать в случае значительного расхождения в данных. Эту проблему можно решить сложив модель, расширив набор данных обучения или использовав аугментацию данных.

После обучения на исходном наборе данных модель переходит к этапу валидации. На этом этапе алгоритм искусственного интеллекта работает с набором данных для валидации, что позволяет инженерам проверить свои предположения о работе модели. В этой стадии должны быть обнаружены недостатки, незначительные переменные и другие ошибки.

Тестирование

После успешного завершения обучения и валидации, модель компьютерного зрения должна быть протестирована в последний раз. Обычно, финальный набор данных состоит из данных, с которыми модель еще не работала. Данные помечены, чтобы инженеры могли рассчитать точность модели. Модель запускается на таком наборе данных только один раз, и результаты считаются потенциальной точностью, которую модель будет продемонстрировать на данных реального мира. Важно определить, способна ли обученная модель давать точные результаты с приемлемой последовательностью.

Обычно, весь процесс обучения повторяется несколько раз с первого шага, так как разработчикам может потребоваться подготовить другой набор данных или изменить модель. После множества попыток выбирается модель, показывающая оптимальные результаты, и считается готовой к запуску.

The Two-Model AI Solution by Intelliarts

Инженеры Intelliarts создали программное решение, состоящее из двух моделей искусственного интеллекта, одна из которых используется для обнаружения повреждений автомобилей, а другая – для обнаружения деталей автомобиля. Таким образом, когда пользователь вводит изображение поврежденного автомобиля в получившееся решение, оно указывает на повреждение и отдельно определяет затронутые детали. Таким образом, результатом обработки изображения являются определенные повреждения и указанные детали автомобиля. Если они пересекаются, результатом решения, например, будет “левая дверь – вмятина”. Затем результаты сравниваются с аналогичными случаями в подготовленной базе изображений с оценками стоимости ремонта.

Ценность решения искусственного интеллекта для обнаружения повреждений автомобилей

Готовое программное решение способно распознавать конкретные детали автомобилей, обнаруживать и классифицировать несколько типов повреждений, таких как повреждения металла или стекла, а также перемещение или замену деталей автомобиля, оценивать степень повреждения и указывать предполагаемые затраты на ремонт. Функциональность обученной модели искусственного интеллекта должна быть достаточной для решения большинства простых страховых случаев повреждений автомобилей при минимальном вмешательстве человека.

Не нужно говорить, что выбор определенного алгоритма или комбинации алгоритмов, обучение моделей искусственного интеллекта, а также разработка готового программного решения должны быть тесно связаны с выполнением набора специализированных задач.

Для владельцев продуктов конечной целью проектов компьютерного зрения является применение технологии в страховой отрасли и получение бизнес-преимуществ, включающих в себя следующее:

  • Оптимизация затрат: Автоматическое обнаружение может быть выполнено по гораздо более низкой стоимости по сравнению с ручной проверкой, что приводит к значительным сэкономленным средствам для страховых компаний.
  • Сокращение трудоемких задач: Автоматизация основной части случаев проверки автомобилей может снизить нагрузку на сотрудников страховых компаний и позволить им сосредоточиться на других важных задачах.
  • Улучшенная точность: Автоматизированные системы могут более точно анализировать изображения автомобиля, обнаруживая даже незначительные повреждения, которые могли быть пропущены человеческими инспекторами.
  • Более быстрая обработка претензий: Автоматическое обнаружение повреждений автомобилей может ускорить время обработки претензий, позволяя страховым компаниям быстрее разрешать претензии. Это может привести к улучшению удовлетворенности клиентов и уровню их удержания.

Заключительные мысли

Проведение технического осмотра транспортных средств является трудоемкой частью страховой отрасли. Для оптимизации процесса рассмотрения претензий, особенно в случаях оценки повреждений автомобилей, компании могут использовать методологии компьютерного зрения. Алгоритмы сегментации изображений играют ключевую роль в осуществлении таких задач. Однако критически важным шагом является тщательный выбор оптимальной архитектуры нейронной сети, такой как Mask R-CNN, U-net или другие, для разработки модели. Это включает в себя тщательное обучение с использованием техник аннотирования данных и последующую оценку производительности.