А когда какой использовать?

Обработка изображений в искусственном интеллекте

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

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

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

Обнаружение объектов - прогнозирование ограничивающих рамок

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

Граничные рамки обычно определяются положением верхнего левого угла (2 координаты), а также шириной и высотой (в пикселях).

Как понять методы обнаружения объектов?

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

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

Говоря сейчас, модель YOLO (You Only Look Once) была отличным изобретением, решающим эту проблему. Разработчики модели YOLO построили нейронную сеть, которая способна реализовать весь подход ограничивающего прямоугольника сразу!

Текущие лучшие модели для обнаружения объектов

  • ЙОЛО
  • Быстрее RCNN

Сегментация изображений - прогнозирование масок

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

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

Как понять методы сегментации изображений?

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

Это основной подход к поиску штрих-кода на изображении, но он сопоставим с тем, что происходит при сегментации изображений.

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

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

Текущие лучшие модели для сегментации изображений

  • Маска RCNN
  • Unet
  • Сегнет

Сравнение вкратце

Обнаружение объекта

  • вход представляет собой матрицу (входное изображение) с 3 значениями на пиксель (красный, зеленый и синий) или 1 значением на пиксель, если черный и белый
  • вывод представляет собой список ограничивающих рамок, определяемых левым верхним углом и размером

Сегментация изображений

  • вход представляет собой матрицу (входное изображение) с 3 значениями на пиксель (красный, зеленый и синий) или 1 значением на пиксель, если черный и белый
  • выход представляет собой матрицу (изображение маски) с 1 значением на пиксель, содержащее назначенную категорию

Надеюсь, эта небольшая статья была для вас полезной. Спасибо за внимание!