9.3 KiB
Сегментация
Ранее мы изучали обнаружение объектов, которое позволяет нам находить объекты на изображении, предсказывая их ограничивающие рамки. Однако для некоторых задач нам нужны не только ограничивающие рамки, но и более точная локализация объектов. Эта задача называется сегментация.
Викторина перед лекцией
Сегментацию можно рассматривать как классификацию пикселей, где для каждого пикселя изображения мы должны предсказать его класс (фон является одним из классов). Существует два основных алгоритма сегментации:
- Семантическая сегментация лишь указывает класс пикселя и не делает различий между различными объектами одного класса.
- Сегментация экземпляров делит классы на различные экземпляры.
Например, для сегментации экземпляров эти овцы являются разными объектами, но для семантической сегментации все овцы представлены одним классом.
Изображение из этой статьи в блоге
Существуют различные нейронные архитектуры для сегментации, но все они имеют одинаковую структуру. В некотором смысле, это похоже на автокодировщик, о котором вы узнали ранее, но вместо декомпозиции оригинального изображения наша цель — декомпозировать маску. Таким образом, сеть сегментации состоит из следующих частей:
- Кодировщик извлекает признаки из входного изображения
- Декодировщик преобразует эти признаки в изображение маски, с тем же размером и количеством каналов, соответствующих количеству классов.
Изображение из этой публикации
Особое внимание следует уделить функции потерь, используемой для сегментации. При использовании классических автокодировщиков нам нужно измерять сходство между двумя изображениями, и мы можем использовать среднеквадратичную ошибку (MSE) для этого. В сегментации каждый пиксель в целевом изображении маски представляет номер класса (one-hot-кодирование по третьему измерению), поэтому нам нужно использовать функции потерь, специфичные для классификации — кросс-энтропийную потерю, усредненную по всем пикселям. Если маска бинарная — используется бинарная кросс-энтропийная потеря (BCE).
✅ One-hot кодирование — это способ кодирования метки класса в вектор длиной, равной количеству классов. Ознакомьтесь с этой статьей по этой технике.
Сегментация для медицинской визуализации
На этом уроке мы увидим сегментацию в действии, обучая сеть распознавать человеческие невусы (также известные как родинки) на медицинских изображениях. Мы будем использовать Базу данных PH2 дерматоскопических изображений в качестве источника изображений. Этот набор данных содержит 200 изображений трех классов: типичный невус, атипичный невус и меланома. Все изображения также содержат соответствующую маску, которая обрисовывает невус.
✅ Эта техника особенно подходит для данного типа медицинской визуализации, но какие другие реальные приложения вы могли бы представить?
Изображение из базы данных PH2
Мы обучим модель сегментировать любой невус от его фона.
✍️ Упражнения: Семантическая сегментация
Откройте приведенные ниже блокноты, чтобы узнать больше о различных архитектурах семантической сегментации, попрактиковаться в работе с ними и увидеть их в действии.
Викторина после лекции
Заключение
Сегментация — это очень мощная техника для классификации изображений, которая выходит за рамки ограничивающих рамок и позволяет классифицировать на уровне пикселей. Это техника, используемая в медицинской визуализации и в других приложениях.
🚀 Челлендж
Сегментация тела — это лишь одна из распространенных задач, которые мы можем выполнять с изображениями людей. Другие важные задачи включают обнаружение скелета и обнаружение позы. Попробуйте библиотеку OpenPose, чтобы увидеть, как можно использовать обнаружение позы.
Обзор и самостоятельное изучение
Эта статья в Википедии предлагает хороший обзор различных приложений этой техники. Узнайте больше самостоятельно о поддоменах сегментации экземпляров и паноптической сегментации в этой области исследования.
Задание
В этой лабораторной работе попробуйте сегментацию человеческого тела, используя Набор данных Segmentation Full Body MADS с Kaggle.
Отказ от ответственности:
Этот документ был переведен с использованием машинных AI-сервисов перевода. Хотя мы стремимся к точности, пожалуйста, имейте в виду, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для критически важной информации рекомендуется профессиональный человеческий перевод. Мы не несем ответственности за любые недоразумения или неверные толкования, возникающие в результате использования этого перевода.