Вычисление свертки изображения: практические примеры в извлечении признаков

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

Основы свертывания изображений

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

Пример: Edge Detection

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

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

[[-1, -2, -1], [0, 0, 0], [1, 2, 1]]

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

Пример: Image Sharpening

Заточка усиливает детали в изображении. Распространенным ядром является фильтр Лаплаца. Соединение изображения с этим ядром подчеркивает области быстрого изменения интенсивности, делая изображение более четким.

Ядро Лапласа обычно:

[0, -1, 0], [-1, 4, -1], [0, -1, 0]]

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

Резюме практических применений