Ultralytics YOLO27:
Руководства

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

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

ABAbirami Vina8 min read
Пример сопоставления шаблонов при обработке изображений

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

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

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

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

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

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

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

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

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

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

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

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

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

Изображения A и B как примеры шаблонов

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

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

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

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

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

Ниже приведён пошаговый обзор работы сопоставления с шаблоном:

  • Шаг 1 — Подготовка изображений: Сначала загружаются входное изображение и изображение-шаблон, после чего оба преобразуются в оттенки серого. Поскольку сопоставление с шаблоном основано на сравнении значений пикселей, удаление информации о цвете снижает шум и ускоряет обработку изображений.

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

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

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

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

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

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

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

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

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

Применение сопоставления с шаблоном в реальных условиях#

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

Определение традиционных архитектурных стилей#

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

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

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

Использование сопоставления с шаблоном для классификации традиционных домов в Индонезии

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

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

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

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

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

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

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

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

Обнаружение опухолей лёгких с помощью сопоставления с шаблоном

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

Преимущества и недостатки сопоставления с шаблоном#

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

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

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

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

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

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

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

Explore solutions

Компьютерное зрение для аэрофотоснимков

Компьютерное зрение для аэрофотоснимков

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

Компьютерное зрение в аэрокосмической отрасли

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

Защити каждый объект с помощью моделей Ultralytics YOLO. Компьютерное зрение обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Узнать больше
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Оснащай более умные машины моделями Ultralytics YOLO. Vision AI в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI обеспечивает инспекцию посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складах в реальном времени.
Узнать больше
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с помощью моделей Ultralytics YOLO. Vision AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения клиентов.
Узнать больше
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Vision AI в здравоохранении обеспечивает более быструю обработку медицинских изображений, более точную диагностику и интеллектуальный мониторинг пациентов.
Узнать больше
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Vision AI обеспечивает контроль качества, обнаружение дефектов, соблюдение требований к PPE и автоматизацию сборочной линии.
Узнать больше
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Vision AI повышает безопасность дорог, эффективность систем помощи водителю и уровень автоматизации автомобилей, делая дороги умнее.
Узнать больше
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Добавь Vision AI в умное сельское хозяйство с моделями Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание поголовья и точное земледелие для более высоких и эффективных урожаев.
Узнать больше
Компьютерное зрение для аэрофотоснимков

Компьютерное зрение для аэрофотоснимков

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

Компьютерное зрение в аэрокосмической отрасли

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

Защити каждый объект с помощью моделей Ultralytics YOLO. Компьютерное зрение обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Узнать больше
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Оснащай более умные машины моделями Ultralytics YOLO. Vision AI в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI обеспечивает инспекцию посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складах в реальном времени.
Узнать больше
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с помощью моделей Ultralytics YOLO. Vision AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения клиентов.
Узнать больше
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Vision AI в здравоохранении обеспечивает более быструю обработку медицинских изображений, более точную диагностику и интеллектуальный мониторинг пациентов.
Узнать больше
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Vision AI обеспечивает контроль качества, обнаружение дефектов, соблюдение требований к PPE и автоматизацию сборочной линии.
Узнать больше
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Vision AI повышает безопасность дорог, эффективность систем помощи водителю и уровень автоматизации автомобилей, делая дороги умнее.
Узнать больше
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Добавь Vision AI в умное сельское хозяйство с моделями Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание поголовья и точное земледелие для более высоких и эффективных урожаев.
Узнать больше
Компьютерное зрение для аэрофотоснимков

Компьютерное зрение для аэрофотоснимков

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

Компьютерное зрение в аэрокосмической отрасли

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

Защити каждый объект с помощью моделей Ultralytics YOLO. Компьютерное зрение обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Узнать больше
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Оснащай более умные машины моделями Ultralytics YOLO. Vision AI в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI обеспечивает инспекцию посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складах в реальном времени.
Узнать больше
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с помощью моделей Ultralytics YOLO. Vision AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения клиентов.
Узнать больше
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Vision AI в здравоохранении обеспечивает более быструю обработку медицинских изображений, более точную диагностику и интеллектуальный мониторинг пациентов.
Узнать больше
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Vision AI обеспечивает контроль качества, обнаружение дефектов, соблюдение требований к PPE и автоматизацию сборочной линии.
Узнать больше
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Vision AI повышает безопасность дорог, эффективность систем помощи водителю и уровень автоматизации автомобилей, делая дороги умнее.
Узнать больше
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Добавь Vision AI в умное сельское хозяйство с моделями Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание поголовья и точное земледелие для более высоких и эффективных урожаев.
Узнать больше

Давай вместе создавать будущее AI!

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