Детектор углов Харриса — это оператор выделения углов, широко применяемый в алгоритмах компьютерного зрения для выделения углов и определения признаков изображения. Впервые он был представлен Крисом Харрисом и Майком Стивенсом в 1988 году как усовершенствование детектора углов Моравека. По сравнению со своим предшественником, детектор углов Харриса напрямую учитывает дифференциал оценки угла относительно направления вместо использования смещающихся фрагментов для каждого угла в 45 градусов, и доказал свою большую точность в различении краёв и углов. С тех пор он был улучшен и адаптирован во многих алгоритмах для предварительной обработки изображений для последующих приложений.
Детектор Харриса требует относительно большого количества вычислений за счёт необходимости построения свёрток с Гауссовым ядром. При этом он достаточно восприимчив к шумам. Подавить шумы позволяет увеличение размера Гауссова окна, но это приводит к значительным вычислительным расходам, поэтому необходимо находить компромисс между качеством работы алгоритма и количеством выполняемых операций. По сравнению со своим предшественником детектор инвариантен относительно поворота, количество ошибок детектирования углов не велико за счёт введения свёртки с Гауссовыми весовыми коэффициентами. Результаты детектирования значительно меняются при масштабировании изображения. Модификации детектора Харриса учитывают вторые производные функции интенсивности (например, детектор Харриса — Лапласа).
Введение
Угол — это точка, локальное окружение которой имеет два доминирующих и различных направления краёв. Другими словами, угол можно интерпретировать как пересечение двух краёв, где край — это внезапное изменение яркости изображения. Углы являются важными признаками изображения и они обычно называются точками интереса. Они инвариантны к перемещению, вращению и освещению. Хотя углы составляют только малую часть изображения, они содержат наиболее важные признаки для восстановления информации об изображении и могут использоваться для минимизации объёма обрабатываемых данных при отслеживании движения, , создании 2D мозаик, для , представления изображений и других связанных областей компьютерного зрения.
Для обнаружения углов на изображении исследователями было предложено множество различных детекторов углов, включая оператор (, KLT) и оператор Харриса, которые являются наиболее простыми, эффективными и надежными для использования в этой задаче. Обе эти популярные методики тесно связаны с матрицей локальной структуры и основаны на ней. По сравнению с детектором углов Канаде – Лукаса – Томаси, детектор углов Харриса обеспечивает хорошую повторяемость при изменении освещения и поворота, поэтому он чаще используется в стереосопоставлении и поиске по базе изображений. Несмотря на существующие недостатки и ограничения, детектор углов Харриса остаётся важной и фундаментальной техникой для многих приложений компьютерного зрения.
Разработка алгоритма Харриса выделения углов Source:
Без потери общности, будем считать, что используется двумерное полутоновое изображение. Обозначим это изображение как . Рассмотрим фрагмент изображения (окно) и его сдвиг на . Сумма квадратов разностей (СКР) между этими двумя фрагментами, обозначенная , определяется как:
может быть аппроксимирована разложением в ряд Тейлора. Пусть и — частные производные такие, что
Это даёт приближение
которое может быть записано в матричной форме:
где M — структурный тензор,
Алгоритм Харриса выделения углов Алгоритм обнаружения углов Харриса обычно состоит из пяти этапов . Преобразование в оттенки серого Вычисление пространственных производных Формирование структурного тензора tensor setup Расчёт отклика Харриса Подавление немаксимумов
Преобразование в оттенки серого Если алгоритм применяется к цветному изображению, первым шагом является его преобразование в чёрно-белое. Это ускоряет обработку.
Значение пиксела в оттенках серого вычисляется как взвешенная сумма значений красного (R), зелёного (G) и синего (B) цветов исходного изображения., ,
где, например,
Вычисление пространственных производных Далее определяются производные изображения по осям x и y, и . Это можно сделать, применив операторы Собеля.
Формирование тензора структур Имея и , мы можем построить структурный тензор .
Расчёт отклика Харриса Для имеем
На этом этапе вычисляется наименьшее собственное значение структурного тензора используя эту аппроксимацию:
со следом .
Другой распространенный способ расчёта отклика Харриса показан ниже,
где — эмпирически определённая константа; .
Подавление немаксимумов Чтобы выделить оптимальные точки, соответствующие углам, находятся локальные максимумы в пределах окна, являющегося 3х3 фильтром.
Улучшение Источники:
Выделение углов на основе дифференциального морфологического разложения Мультимасштабный детектор углов, основанный на структурном тензоре
Приложения Совмещение изображений, и регистрация Создание 2D мозаик Моделирование 3D сцены и реконструкция
Распознавание объектов Индексирование изображений и поиск изображений по содержанию Трекинг
См. также Структурный тензор
Выделение углов Признак (компьютерное зрение) Компьютерное зрение
Примечания
Ссылки "Learn OpenCV by Examples : Harris Corner Detection" "Harris Corner Detection - OpenCV Documentation"
Online Implementation of the Harris Corner Detector - IPOL
Категория:Выделение признаков (компьютерное зрение)