Введение
Техника в цифровой обработке изображений сопоставление шаблонов в цифровой обработке изображений. Сопоставление шаблонов – это техника в цифровой обработке изображений, предназначенная для поиска небольших фрагментов изображения, соответствующих образцу-шаблону. Она может применяться для контроля качества в производстве, навигации мобильных роботов или обнаружения границ на изображениях. Основные сложности при сопоставлении шаблонов заключаются в обнаружении перекрытий, когда искомый объект частично скрыт на изображении; обнаружении нежестких деформаций, когда объект искажен или представлен под разными углами; чувствительности к изменениям освещения и фона; наличию посторонних объектов на фоне; и изменению масштаба.
template matching in digital image processing
Template matching is a technique in digital image processing for finding small parts of an image which match a template image. It can be used for quality control in manufacturing, navigation of mobile robots, or edge detection in images. The main challenges in a template matching task are detection of occlusion, when a sought after object is partly hidden in an image; detection of non rigid transformations, when an object is distorted or imaged from different angles; sensitivity to illumination and background changes; background clutter; and scale changes.
Подход на основе особенностей
Подход, основанный на признаках, заключается в извлечении признаков изображения, таких как формы, текстуры и цвета, которые соответствуют целевому изображению или кадру. Обычно этот подход реализуется с использованием нейронных сетей и классификаторов глубокого обучения, таких как VGG, AlexNet и ResNet. Конволюционные нейронные сети (CNN), на которых основаны многие современные классификаторы, обрабатывают изображение, последовательно пропуская его через различные скрытые слои и формируя на каждом слое вектор, содержащий информацию для классификации изображения. Эти векторы извлекаются из сети и используются в качестве признаков изображения. Извлечение признаков с помощью глубоких нейронных сетей, таких как CNN, доказало свою высокую эффективность и стало стандартом в современных алгоритмах сопоставления с шаблоном. Этот подход, основанный на признаках, часто более устойчив, чем подход, основанный на шаблонах, описанный ниже. Благодаря этому он стал передовым методом сопоставления с шаблоном, поскольку позволяет сопоставлять шаблоны при нежестких и внеплоскостных деформациях, а также при наличии сильного фона и изменений освещения.
Подход на основе шаблонов
Для шаблонов, лишенных выраженных признаков, или когда большая часть изображения шаблона соответствует всему сопоставляемому изображению, подход, основанный на шаблонах, может оказаться эффективным. Поскольку сопоставление на основе шаблонов может потребовать выборки большого количества точек данных, часто желательно уменьшить их число, понижая разрешение как поискового, так и шаблонного изображений на одинаковый коэффициент перед выполнением операции с полученными изображениями меньшего размера. Этот метод предварительной обработки создает многомасштабное, или пирамидальное, представление изображений, обеспечивая уменьшенную область поиска точек данных в изображении поиска, что позволяет избежать сравнения шаблона с каждой возможной точкой. Пирамидальные представления – это метод снижения размерности, типичная задача машинного обучения для наборов данных, подверженных "проклятию размерности".
Общие проблемы
В случаях, когда шаблон не обеспечивает прямого соответствия, может быть полезно использовать собственные пространства для создания шаблонов, детально описывающих искомый объект в различных условиях, таких как изменение перспективы, освещения, цветового контраста или положения объекта. Например, если алгоритм ищет лицо, его шаблоны в собственных пространствах могут состоять из изображений (то есть шаблонов) лиц, снятых с разных ракурсов, при разном освещении или с разными выражениями лица (то есть в разных позах). Также возможно, что искомое изображение частично скрыто или перекрыто другим объектом. В таких случаях нецелесообразно создавать множество шаблонов для каждого возможного варианта перекрытия. Например, объектом поиска может быть игральная карта, и на некоторых изображениях она может быть частично закрыта пальцами держащего её человека, другой картой, лежащей сверху, или каким-либо другим объектом перед камерой. Если объект деформируемый или может менять положение, движение становится дополнительной проблемой, а задачи, включающие как движение, так и перекрытие, становятся неоднозначными. В этих случаях одним из возможных решений является разделение исходного изображения-шаблона на несколько подизображений и выполнение сопоставления для каждого из них.
Деформируемые шаблоны в вычислительной анатомии
Соответствие шаблонов — центральный инструмент в вычислительной анатомии (CA). В этой области деформируемая модель шаблона используется для моделирования пространства человеческих анатомий и их орбит посредством группы диффеоморфизмов – функций, плавно деформирующих объекты. Соответствие шаблонов возникает как подход к определению неизвестного диффеоморфизма, который преобразует изображение-шаблон для соответствия целевому изображению. Алгоритмы сопоставления шаблонов в CA получили название крупномасштабных диффеоморфных метрических отображений (LDDMM). В настоящее время существуют алгоритмы LDDMM для сопоставления анатомических ориентиров, кривых, поверхностей и объемов.
Соответствие по шаблонам, объясненное с помощью перекрестной корреляции или суммы абсолютных различий
Основной метод сопоставления шаблонов, иногда называемый "линейной пространственной фильтрацией", использует фрагмент изображения (т.е. "шаблон" или "фильтр-маска"), настроенный для обнаружения определенной характеристики в изображениях поиска. Этот метод легко применим к изображениям в оттенках серого или изображениям границ, где дополнительная переменная цвета либо отсутствует, либо не имеет значения. Методы перекрестной корреляции сравнивают сходство изображений поиска и шаблонов. Их результаты должны быть максимальными в тех местах, где структура изображения соответствует структуре шаблона, то есть где большие значения изображения поиска умножаются на большие значения изображения шаблона. Обычно этот метод реализуется путем выбора части изображения поиска в качестве шаблона. Пусть обозначает значение пикселя изображения поиска, где – координаты пикселя в изображении поиска. Для простоты предположим, что значения пикселей скалярные, как в изображении в градациях серого. Аналогично, пусть обозначает значение пикселя шаблона, где – координаты пикселя в изображении шаблона. Чтобы применить фильтр, просто переместите центр (или начало) шаблона над каждой точкой изображения поиска и вычислите сумму произведений, аналогичную скалярному произведению, между значениями пикселей в изображениях поиска и шаблона по всей области, охватываемой шаблоном. Более формально, если – центр (или начало) шаблона, то перекрестная корреляция в каждой точке изображения поиска может быть вычислена как: Для удобства обозначает как значения пикселей шаблона, так и его область определения, границы шаблона. Обратите внимание, что рассматриваются все возможные положения шаблона относительно изображения поиска. Поскольку значения перекрестной корреляции максимальны, когда значения пикселей поиска и шаблона совпадают, наилучшее соответствие соответствует максимальному значению в пределах .
Другой способ решения задач поиска соответствий на изображениях с использованием сопоставления шаблонов – сравнение интенсивностей пикселей с использованием метрики суммы абсолютных разностей (SAD). Для этого пусть и обозначают интенсивность света пикселей в изображениях поиска и шаблона с координатами и , соответственно. Затем, перемещая центр (или начало) шаблона в точку в изображении поиска, как и раньше, сумма абсолютных разностей между интенсивностями пикселей шаблона и поиска в этой точке равна: При этой метрике наименьшее значение SAD дает наилучшее положение для шаблона, а не наибольшее, как при перекрестной корреляции. SAD, как правило, относительно прост в реализации и понимании, но также имеет тенденцию быть относительно медленным в исполнении. Ниже приведена простая реализация на C++ сопоставления шаблонов SAD.
Another way to handle translation problems on images using template matching is to compare the intensities of the pixels, using the sum of absolute differences (SAD) measure. To formulate this, let and denote the light intensity of pixels in the search and template images with coordinates and , respectively. Then by moving the center (or origin) of the template to a point in the search image, as before, the sum of absolute differences between the template and search pixel intensities at that point is:With this measure, the lowest SAD gives the best position for the template, rather than the greatest as with cross correlation. SAD tends to be relatively simple to implement and understand, but it also tends to be relatively slow to execute. A simple C++ implementation of SAD template matching is given below.
Ускорение процесса
В прошлом этот тип пространственной фильтрации обычно использовался только в специализированных аппаратных решениях из-за вычислительной сложности операции, однако мы можем снизить эту сложность, выполняя фильтрацию в частотной области изображения, что называется "фильтрацией в частотной области". Это достигается с помощью теоремы свёртки. Другой способ ускорить процесс сопоставления – использование пирамиды изображений. Это последовательность изображений в различных масштабах, формируемая путем многократной фильтрации и понижения дискретизации исходного изображения для создания последовательности изображений с уменьшенным разрешением. В этих изображениях с более низким разрешением затем можно искать шаблон (также уменьшенный в размере), чтобы получить возможные начальные позиции для поиска в изображениях большего масштаба. Затем в больших изображениях можно выполнять поиск в небольшом окне вокруг начальной позиции, чтобы найти наилучшее местоположение шаблона. Другие методы позволяют решать задачи, связанные с перемещением, масштабированием, поворотом изображения и даже всеми аффинными преобразованиями.
Улучшение точности сопоставления
Улучшения в методе сопоставления можно достичь, используя несколько шаблонов (eigenspaces), при этом другие шаблоны могут иметь различные масштабы и углы поворота. Также возможно повысить точность метода сопоставления, комбинируя подходы, основанные на признаках и на шаблонах. Разумеется, для этого необходимо, чтобы изображения для поиска и шаблоны содержали достаточно выраженные признаки, позволяющие проводить сопоставление по признакам.
Аналогичные методы
Другие схожие методы включают "стереосопоставление", "регистрация изображений" и "преобразование инвариантных к масштабу признаков".
Примеры использования
Соответствие шаблонов имеет разнообразные применения и используется в таких областях, как распознавание лиц (см. система распознавания лиц) и обработка медицинских изображений. Ранее были разработаны и использовались системы для подсчета количества людей, проходящих по определенному участку моста за заданный промежуток времени. Другие системы включают автоматическое обнаружение кальцинированных узелков на цифровых рентгеновских снимках грудной клетки. В последнее время этот метод был применен в геостатистическом моделировании, что позволило создать быстрый алгоритм.