Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас

Что такое сопоставление шаблонов? Краткое руководство

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

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

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

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

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

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

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

Рис. 1. Пример сопоставления шаблонов (Источник)

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

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

Что такое сопоставление шаблонов?

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

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

Рис. 2. Изображение A и изображение B являются примерами шаблонов. (Источник)

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

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

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

Как работает сопоставление шаблонов

Вот пошаговое описание того, как работает сопоставление шаблонов:

  • Шаг 1 — Подготовка изображений: Процесс начинается с загрузки входного изображения и шаблонного изображения, а затем преобразования обоих изображений в изображения в оттенках серого. Поскольку сопоставление шаблонов основано на сравнении значений пикселей, удаление информации о цвете снижает уровень шума и ускоряет обработку изображений. 
  • Шаг 2 — Перемещение шаблона по изображению: Затем алгоритм сопоставления шаблонов перемещает шаблон по большему изображению по одному пикселю за раз (начиная с левого верхнего угла). Каждый шаг в этом перемещении является итерацией, при которой алгоритм извлекает из исходного изображения фрагмент, соответствующий размеру шаблона.
  • Шаг 3 — Оценка качества совпадения: каждый фрагмент изображения сравнивается с шаблоном с помощью математического метода сопоставления, чтобы сгенерировать метрику корреляции или значение корреляции для каждого возможного положения. Обычно используются следующие подходы: квадратичные разности (измеряют числовое расстояние между интенсивностью пикселей для расчета общего несовпадения), нормализованная кросс-корреляция (умножает значения пикселей, чтобы определить степень совпадения светлых и темных узоров) и коэффициент корреляции (вычитает среднюю яркость, чтобы обеспечить точность совпадения даже при небольших изменениях освещения).
  • Шаг 4 — Определение наилучшего совпадения: после оценки всех позиций алгоритм выбирает наилучшее совпадение, находя максимальное или минимальное значение в зависимости от используемого метода. К этим результатам часто применяется пороговое значение, чтобы гарантировать, что будут приняты только совпадения с достаточно высоким показателем достоверности, отфильтровывая слабые или неверные обнаружения.
  • Шаг 5 — Выделение результата: Наконец, обнаруженное местоположение отображается на исходном изображении. Обычно вокруг совпадающей области рисуется ограничительная рамка, четко показывающая, где находится шаблон. 

Практическое применение сопоставления шаблонов

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

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

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

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

Реальные применения сопоставления шаблонов

Теперь, когда мы лучше понимаем, как работает сопоставление шаблонов, давайте более подробно рассмотрим его применение в реальных сценариях. 

Идентификация традиционных архитектурных стилей

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

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

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

Рис. 3. Использование сопоставления шаблонов для classify домов в Индонезии (Источник)

Обнаружение объектов в системах промышленного зрения

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

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

Сопоставление шаблонов для обнаружения опухолей легких 

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

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

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

Рис. 4. Обнаружение опухоли легкого с помощью сопоставления шаблонов (Источник)

Плюсы и минусы сопоставления шаблонов

Вот некоторые ключевые преимущества использования сопоставления шаблонов:

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

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

  • Чувствительность к масштабированию и повороту: изменение размера или ориентации шаблона может снизить точность.
  • Зависимость от освещения и контраста: изменения освещения или контраста между шаблоном и изображением могут привести к неверному сопоставлению или затруднить detect шаблона.
  • Ограниченная адаптивность: в отличие от методов на основе искусственного интеллекта, сопоставление шаблонов не может учиться на данных или совершенствоваться со временем. Оно лучше всего работает в контролируемых или повторяющихся условиях.

Основные выводы 

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

Хотите узнать больше об искусственном интеллекте? Присоединяйтесь к нашему сообществу и посетите наш репозиторий GitHub. Узнайте, как искусственный интеллект в розничной торговле и Vision AI в производстве стимулируют изменения. Ознакомьтесь с нашими вариантами лицензирования, чтобы начать работу с Vision AI уже сегодня!

Давайте строить будущее
ИИ вместе!

Начните свой путь в будущее машинного обучения

Начать бесплатно