Семантическая сегментация. Пример использования для градостроителей

Семантическая сегментация. Пример использования для градостроителей

Начнем с официального объяснения термина и того, что за ним стоит. Не беспокойтесь, если вы пока не понимаете это, мы объясним подробнее.

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

Теперь давайте разберем эту концепцию шаг за шагом на простом примере использования.

Познакомьтесь с Алексом, молодым градостроителем. У него большая мечта: проектировать умные и более эффективные города. Чтобы понять, что делает город «умнее» или «эффективнее», Алекс должен изучить, как функционируют города. Например, ему нужно различать разные типы покрытий земли, такие как здания, дороги, водоемы и зеленые зоны.

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

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

Так начинается его путь.
Шаг 1: Понимание семантической сегментации
Семантическая сегментация дает компьютеру возможность видеть и понимать изображения так же, как это делают люди. Вместо того чтобы просто распознавать целое изображение как «городской пейзаж» или «вид улицы», она разбивает изображение на мелкие части и присваивает каждой из них метку. Каждому пикселю на изображении присваивается категория: этот пиксель — часть дороги, тот — здание, а те — деревья.
Используя эту технику, Алекс может автоматически категоризировать и размечать каждый пиксель на каждом изображении. Затем он может использовать размеченный набор данных для обучения алгоритма машинного обучения, который сможет собирать ценные данные о том, как работает город. Алгоритмы анализируют размеченные данные, выявляют общие городские тенденции на основе меток и возвращают практические результаты. На основе этих данным могут градостроительные решения, оптимизировать управление движением и улучшать дизайн общественных пространств.
Шаг 2: Подготовка данных
Алекс узнает, что для того, чтобы научить компьютер понимать изображения, ему нужно много примеров. Поэтому он собирает набор данных с изображениями города, как в приведенном выше примере. Этот процесс известен как этап сбора датасета, который включает в себя несколько задач.

Заметьте, что на этом этапе у Алекса могут возникнуть некоторые трудности:

  • Может быть сложно собрать достаточное количество данных, так как могут возникнуть проблемы с конфиденциальностью при использовании изображений из определенных источников.
  • Кроме того, для обучения модели глубокого обучения требуется тщательный отбор наиболее полезных данных.
  • Алекс также должен отфильтровать дублированные данные, чтобы обеспечить качество набора данных. С готовыми данными следующий шаг — добавление меток к объектам на изображениях.
Шаг 3: Аннотирование данных
Алекс загружает папку с данными в инструмент для аннотирования изображений (например CVAT). Затем он тщательно размечает каждый пиксель на изображениях, категоризируя элементы, такие как дороги, здания и деревья.

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

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

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

Например, все пиксели, которые принадлежат объекту «бассейн», теперь относятся к категории «бассейн», а все пиксели, которые принадлежат объекту «здание», присваиваются к категории «здание».
Важно понимать, что семантическая сегментация не различает экземпляры одного и того же класса; она только идентифицирует категорию каждого пикселя. Это означает, что если на вашем входном изображении есть два объекта одной категории, карта сегментации не будет различать их как отдельные объекты. Для достижения такого уровня детализации используются модели сегментации экземпляров. Эти модели могут различать и размечать отдельные объекты в рамках одной категории.
Вот видео, показывающее различные типы сегментации, примененные к одному и тому же изображению:
Шаг 4: Обучение модели с аннотированными данными
После завершения аннотирования Алекс экспортирует аннотированный набор данных. Затем он загружает эти размеченные данные в модель глубокого обучения, предназначенную для семантической сегментации. Некоторые примеры моделей: Cityscapes, PASCAL VOC и очень популярный Yolo8. Модели обычно оцениваются по метрикам Mean Intersection-Over-Union (Mean IoU) и Pixel Accuracy.

После выбора и обучения модели Алекс запускает ее на новых изображениях, чтобы проверить ее производительность. Модель, теперь обученная на размеченных данных Алекса, может автоматически распознавать каждый объект на изображениях и предоставлять детализированные результаты сегментации.
Вот несколько примеров, как это может выглядеть:
Шаг 5: Сбор данных
Анализируя результаты модели, Алекс собирает ценные данные:

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

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

И Алекс не мог бы быть более доволен результатами.

Дата публикации: 13.08.2024