Гистограмма градиентов
Гистограмма градиентов (англ. Histogram of Oriented Gradients, HOG) — это дескриптор признаков, используемый в компьютерном зрении и обработке изображений для распознавания объектов. Метод основан на подсчёте направлений градиентов (изменений яркости) в локальных участках изображения. HOG является одним из ключевых алгоритмов в задачах обнаружения объектов, особенно пешеходов, и был широко распространён до появления глубоких нейронных сетей.
История
Метод гистограммы градиентов был впервые систематически описан и популяризирован в 2005 году исследователями Навнитом Далом (Navneet Dalal) и Биллом Триггсом (Bill Triggs) в их работе «Histograms of Oriented Gradients for Human Detection», представленной на конференции IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR). До этого подобные идеи использовались в более ранних работах, например, в дескрипторах SIFT (Scale-Invariant Feature Transform) Дэвида Лоу (1999), где также применялись гистограммы градиентов, но для других целей (сопоставление ключевых точек). Дал и Триггс адаптировали и оптимизировали этот подход для задачи обнаружения объектов, показав его высокую эффективность на примере поиска пешеходов на изображениях. Их работа стала эталонной и стимулировала дальнейшие исследования в области дескрипторов признаков.
Принцип работы
Алгоритм HOG преобразует изображение в набор числовых векторов, описывающих локальные распределения направлений градиентов. Основные этапы вычисления дескриптора:
- Предварительная обработка. Изображение обычно преобразуется в оттенки серого. Для уменьшения влияния шума и освещения может применяться гамма-коррекция или нормализация цвета. Однако в классической реализации Дала и Триггса гамма-коррекция не использовалась, так как нормализация на более поздних этапах компенсирует её эффект.
- Вычисление градиентов. Для каждого пикселя изображения вычисляются градиенты по оси X и Y. Обычно используются простые одномерные фильтры Собеля (например, ядра [-1, 0, 1] и [-1, 0, 1]^T). По полученным значениям вычисляются:
- Магнитуда (величина) градиента:
G = sqrt(Gx^2 + Gy^2) - Направление (ориентация) градиента:
θ = arctan(Gy / Gx), гдеGxиGy— градиенты по горизонтали и вертикали соответственно. Направление обычно берётся в диапазоне от 0 до 180 градусов (беззнаковое) или от 0 до 360 градусов (знаковое). Для HOG чаще используется беззнаковое представление (0-180°), так как оно более устойчиво к изменениям контраста.
- Разбиение на ячейки (cells). Изображение делится на сетку маленьких, непересекающихся квадратных ячеек. Типичный размер ячейки — 8×8 пикселей.
- Построение гистограммы для каждой ячейки. Для каждой ячейки строится гистограмма направлений градиентов. Ось направлений (0-180°) разбивается на определённое количество бинов (bins). Обычно используется 9 бинов, каждый из которых охватывает диапазон в 20 градусов. Каждый пиксель в ячейке добавляет свой «вес» в соответствующий бин гистограммы. Вес равен магнитуде градиента этого пикселя. Таким образом, пиксели с сильными градиентами (например, на границах объектов) вносят больший вклад в гистограмму.
- Нормализация блоков (blocks). Для учёта изменений освещения и контраста, а также для повышения устойчивости, ячейки объединяются в более крупные пространственные блоки (blocks). Блоки обычно перекрываются. Типичный блок состоит из 2×2 ячеек (то есть 16×16 пикселей). Гистограммы всех ячеек внутри блока объединяются в один большой вектор, который затем нормализуется. Существуют различные схемы нормализации (например, L2-Hys, L1-sqrt, L1-norm). Нормализация L2-Hys (L2-норма с последующим ограничением максимального значения) считается одной из наиболее эффективных.
- Формирование дескриптора. Все нормализованные векторы блоков объединяются в один итоговый вектор признаков HOG. Этот вектор и является дескриптором всего изображения или его области (окна поиска). Размерность дескриптора зависит от размера изображения, размера ячейки, размера блока и количества бинов.
Классификация и особенности
Параметры дескриптора
Основные параметры, которые можно варьировать:
- Размер ячейки: влияет на детализацию и устойчивость к шуму. Меньшие ячейки (например, 4×4) дают больше деталей, но менее устойчивы.
- Количество бинов гистограммы: определяет угловое разрешение. 9 бинов — стандартный выбор.
- Размер блока: определяет контекст нормализации. 2×2 ячейки — наиболее распространённый вариант.
- Тип нормализации: влияет на устойчивость к изменениям освещения.
- Знаковость градиента: беззнаковый (0-180°) или знаковый (0-360°). Беззнаковый чаще используется для задач обнаружения объектов.
Достоинства
- Устойчивость к локальным изменениям освещения и контраста благодаря нормализации блоков.
- Устойчивость к небольшим геометрическим искажениям (например, поворотам на малые углы), так как дескриптор описывает распределение, а не точные координаты границ.
- Относительно низкая вычислительная сложность по сравнению с более современными методами на основе глубокого обучения.
- Хорошая интерпретируемость: гистограммы градиентов наглядно показывают, какие направления преобладают в различных частях объекта.
Недостатки
- Чувствительность к сильным поворотам и масштабированию объекта. Для работы с объектами разных размеров и ориентаций требуется сканирование изображения в разных масштабах и с разными углами поворота.
- Не учитывает глобальный контекст изображения, так как работает только с локальными градиентами.
- Может быть неэффективен для объектов с гладкими поверхностями или слабыми градиентами (например, для однородных текстур).
- Высокая размерность дескриптора при больших размерах изображения.
Применение
Метод HOG нашёл широкое применение в различных задачах компьютерного зрения, особенно в период до середины 2010-х годов.
Обнаружение пешеходов
Это была основная задача, для которой метод был разработан. HOG в сочетании с классификатором (например, методом опорных векторов, SVM) показал отличные результаты на наборе данных INRIA Person. Алгоритм сканирует изображение окном фиксированного размера, извлекает HOG-дескриптор для каждого окна и передаёт его классификатору, который решает, есть ли в окне пешеход.
Обнаружение других объектов
Метод успешно применялся для обнаружения:
- Автомобилей и других транспортных средств.
- Велосипедистов.
- Животных (например, собак, кошек).
- Лиц (в некоторых реализациях).
Распознавание жестов и действий
HOG-дескрипторы, извлечённые из последовательности кадров (например, в сочетании с оптическим потоком), использовались для распознавания жестов рук или действий человека.
Извлечение признаков для других задач
HOG может служить этапом предварительной обработки для более сложных алгоритмов, например, для построения дескрипторов изображений в задачах поиска по содержанию или классификации текстур.
Сравнение с другими методами
- SIFT (Scale-Invariant Feature Transform): SIFT также использует гистограммы градиентов, но для описания ключевых точек, а не всего изображения. SIFT инвариантен к масштабу и повороту, но более сложен вычислительно. HOG, в отличие от SIFT, не является инвариантным к повороту, но проще и быстрее для задач обнаружения объектов.
- DPM (Deformable Parts Model): Этот метод, разработанный Педро Фелисзеншвальбом, использует HOG-дескрипторы для описания частей объекта и моделирует их взаимное расположение. DPM долгое время был одним из лучших методов для обнаружения объектов.
- Глубокие нейронные сети (CNN): Начиная с 2012 года, свёрточные нейронные сети (например, R-CNN, YOLO, SSD) значительно превзошли HOG по точности и скорости в задачах обнаружения объектов. Однако HOG остаётся полезным в ситуациях с ограниченными вычислительными ресурсами, при малом объёме данных для обучения или для задач, где важна интерпретируемость.
Интересные факты
- В оригинальной работе Дал и Триггс использовали набор данных INRIA Person, который содержал изображения людей в различных позах и условиях освещения. Этот набор данных стал стандартом для тестирования алгоритмов обнаружения пешеходов.
- Метод HOG часто используется в учебных курсах по компьютерному зрению как классический пример дескриптора признаков, наглядно демонстрирующий принципы извлечения информации из изображений.
- Несмотря на появление более мощных методов, HOG продолжает применяться в некоторых промышленных системах, например, в системах видеонаблюдения с ограниченными вычислительными мощностями, а также в робототехнике для навигации и обнаружения препятствий.
Источники
- Dalal, N., & Triggs, B. (2005). Histograms of Oriented Gradients for Human Detection. Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR).
- Lowe, D. G. (2004). Distinctive Image Features from Scale-Invariant Keypoints. International Journal of Computer Vision, 60(2), 91-110.
- Felzenszwalb, P. F., Girshick, R. B., McAllester, D., & Ramanan, D. (2010). Object Detection with Discriminatively Trained Part-Based Models. IEEE Transactions on Pattern Analysis and Machine Intelligence, 32(9), 1627-1645.
- Szeliski, R. (2010). Computer Vision: Algorithms and Applications. Springer.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →