Признак (компьютерное зрение)

|- ! colspan="10" style="background:Кусок информации о содержании изображения; | |-

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

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

Определение

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

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

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

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

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

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

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

Векторы и пространства признаков

Во многих задачах одного типа признаков недостаточно; извлекаются несколько различных признаков, что приводит к наличию нескольких описателей признаков в каждой точке изображения. Информацию из всех этих описателей часто объединяют в единый вектор признаков. Множество всех возможных векторов составляет пространство признаков[1].

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

undefined
undefined

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

Типы

Границы

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

Локально граница обладает одномерной структурой.

Углы / точки интереса

Термины «углы» и «точки интереса» часто используются взаимозаменяемо и относятся к точкообразным признакам изображения с локальной двумерной структурой. Название «угол» возникло благодаря ранним методам, использующим сперва выделение границ, а затем анализ изменений направления (углы) на этих границах. Позднее появились алгоритмы, которые искали сразу повышенную кривизну в градиенте изображения без отдельной процедуры выделения границ. Замечено, что «углы» часто детектируются и в других точках, например для ярких пятен на тёмном фоне — эти точки обычно называют точками интереса, но термин «угол» сохранился по традиции.

Области (blobs) / регионы интереса

Области (blobs) дают дополнение к описанию структуры изображения в терминах областей в противовес точкообразным признакам (углам). Тем не менее, дескрипторы blob могут также содержать выделенную точку (локальный максимум отклика или центр масс), и многие детекторы blob могут рассматриваться как операторы точек интереса. Blob-детекторы способны выделять слишком сглаженные участки, не обнаруживаемые corner-детектором.

Если уменьшить изображение и применить выделение углов, то обнаружатся точки, которые резки на уменьшенном изображении, но гладкие в исходном. В этом месте различие между детекторами углов и blob становится неочевидным, и во многом устраняется с введением концепции масштаба. Благодаря различиям отклика к различным структурам на разных масштабах, алгоритмы ЛоГ и ДоГ — классические blob-детекторы — подробно обсуждаются и в статье об обнаружении углов.

Шелоны

Для вытянутых объектов естественным инструментом служит выделение шелонов (англ. ridge). Описатель шелона, вычисленный по изображению в градациях серого, можно рассматривать как обобщение медиальной оси. Практически, шелон — это одномерная кривая, представляющая ось симметрии, причём в каждой точке задаётся локальная ширина. Однако выделять шелоны алгоритмически сложнее, чем границы, углы или области. Тем не менее, методы выделения шелонов находят применение при извлечении дорог на аэроснимках и сосудов на медицинских изображениях — см. выделение шелонов.

Выделение

Writing Desk with Harris Detector.png

Детектирование признаков охватывает методы преобразования изображений и принятия локальных решений о наличии признаков определённого типа в каждой точке. Итоговые признаки представлены как подмножества области изображения: точки, непрерывные линии или связанные регионы.

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

Типичные детекторы признаков и их классификация
Детектор признаков Граница Угол Область (blob) Шелон
Кэнни[3] Да Нет Нет Нет
Собеля Да Нет Нет Нет
Харрис и Стивенс / Плеси[4] Да Да Нет Нет
SUSAN[5] Да Да Нет Нет
Ши и Томаси[6] Нет Да Нет Нет
Кривизна изолиний[7] Нет Да Нет Нет
FAST[8] Нет Да Нет Нет
Лапласиан Гаусса[7] Нет Да Да Нет
Разность гауссианов[9][10] Нет Да Да Нет
Гессиан[7] Нет Да Да Нет
Характеристики силы Гессиана[11][12] Нет Да Да Нет
Максимально стабильные экстремальные регионы[13] Нет Нет Да Нет
Главные кривизны[14][15][16] Нет Нет Нет Да
Серые регионы (blobs)[17] Нет Нет Да Нет

Извлечение

Раздел с подробностями: Извлечение признаков (машинное обучение)

После детектирования вокруг каждого признака может быть извлечён локальный фрагмент изображения, что часто требует сложной обработки. Результатом является дескриптор признака или вектор признаков. Среди методов описания признаков — n-jet и локальные гистограммы (см. SIFT как пример локального гистограммного описателя). Кроме этого, сама процедура детектирования признака может предоставлять дополнительные атрибуты: например, ориентацию и величину градиента для границы, полярность и силу для blob.

Низкоуровневые признаки

Кривизна

Движение в изображении

Базирующиеся на форме

Гибкие методы

  • Деформируемые, параметризуемые формы
  • Активные контуры (snakes)

Представление

Главная статья: Визуальный дескриптор

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

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

Уверенность/достоверность

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

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

Усредняемость

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

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

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

Сопоставление

Главная статья: Проблема соответствия

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

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

Примечания

Литература