Встречай YOLO26: ИИ компьютерного зрения нового поколения.
Ultralytics
Руководства

Что такое сопоставление изображений в ИИ машинного зрения? Краткое введение

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

АБАбирами Вина
7 min read
Сопоставление изображений в ИИ машинного зрения

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

Для выполнения таких сравнений машины полагаются на computer vision — раздел artificial intelligence (AI), который помогает им интерпретировать и понимать визуальную информацию. Computer vision позволяет системам обнаруживать объекты, понимать сцены и извлекать закономерности из изображений или видео.

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

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

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

Link to this sectionЧто такое сопоставление изображений?#

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

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

Каждое изображение хранится в виде сетки пикселей, и каждый пиксель обычно содержит значения красного, зеленого и синего (RGB). Эти значения могут меняться при повороте, изменении размера, просмотре под другим углом или при съемке в разных условиях освещения. Из-за этих вариаций сравнение изображений «пиксель в пиксель» часто бывает ненадежным.

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

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

Сопоставление изображений автомобилей с идентификацией схожих ключевых точек

Рис. 1. Пример сопоставления изображений автомобиля, где идентифицированы похожие ключевые точки. (Source)

Link to this sectionПонимание того, как работает сопоставление изображений#

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

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

  • Feature detection: Система сначала определяет отличительные ключевые точки на изображении, которые остаются неподвижными даже при изменении освещения, масштаба или угла обзора. Они выделяют такие области, как углы, края или текстурированные регионы, которые визуально выделяются.
  • Feature description: Затем каждая ключевая точка преобразуется в дескриптор — компактный числовой вектор, который фиксирует визуальный паттерн вокруг этой точки. Эти дескрипторы обеспечивают надежный способ сравнения признаков между разными изображениями.
  • Feature matching: Дескрипторы двух изображений сравниваются с помощью алгоритмов сопоставления, которые вычисляют степень их сходства. Этот шаг объединяет ключевые точки, которые, по-видимому, соответствуют друг другу, и отфильтровывает более слабые или ненадежные совпадения.
  • Geometric verification: Наконец, система проверяет, образуют ли сопоставленные ключевые точки реалистичную геометрическую связь. Она удаляет неправильные совпадения (называемые выбросами) с помощью метода, известного как RANSAC (Random Sample Consensus), который гарантирует сохранение только надежных пар точек. Как только хорошие совпадения определены, система оценивает преобразование, которое лучше всего связывает два изображения. Это часто аффинное преобразование, корректирующее такие изменения, как масштабирование, поворот и сдвиг, или гомография, которая также может справляться с изменениями перспективы. Использование этих преобразований позволяет системе точно выравнивать изображения, даже если они были сняты с немного разных точек обзора.

Извлечение характерных точек и их сопоставление

Рис. 2. (a) Извлечение ключевых точек и (b) сопоставление признаков. (Source)

Link to this sectionОсновные методы, используемые в сопоставлении изображений#

Прежде чем мы перейдем к реальным применениям сопоставления изображений, давай подробнее рассмотрим методы, используемые в системах computer vision.

Link to this sectionСопоставление изображений на основе шаблонов#

Template matching — один из самых простых методов сопоставления изображений. Он обычно считается методом image-processing, а не современным методом computer vision, поскольку полагается на прямое сравнение пикселей и не извлекает более глубокие визуальные признаки.

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

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

Рис. 3. Взгляд на использование template matching. (Source)

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

Link to this sectionКлассические методы сопоставления изображений на основе признаков#

До того как deep learning получил широкое распространение, сопоставление изображений в основном опиралось на классические алгоритмы computer vision, которые обнаруживали отличительные ключевые точки на изображении. Вместо сравнения каждого пикселя эти методы анализируют градиенты изображения, или изменения интенсивности, чтобы выделить углы, границы и текстурированные области.

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

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

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

  • SIFT (Scale-Invariant Feature Transform): Он идентифицирует ключевые точки путем анализа градиентов интенсивности изображения, позволяя им оставаться узнаваемыми при масштабировании или повороте изображения.

  • SURF (Speeded-Up Robust Features): Этот алгоритм похож на SIFT, но оптимизирован по скорости. Он использует быстрые приближения операций на основе градиентов, что делает его подходящим для задач, требующих быстрого времени отклика.

  • ORB (Oriented FAST and Rotated BRIEF): Он объединяет два алгоритма под названием FAST и BRIEF. FAST быстро находит углоподобные точки на изображении, в то время как BRIEF создает компактное описание каждой точки, чтобы их можно было сопоставить между изображениями. ORB также улучшает оба этапа, добавляя обработку поворота, что делает его быстрым и надежным.

Характерные точки SURF, извлеченные и сопоставленные на двух изображениях

Рис. 4. Ключевые точки SURF, извлеченные и сопоставленные между двумя изображениями. (Source)

Link to this sectionМетоды сопоставления изображений на основе deep learning#

В отличие от классических методов, основанных на определенных правилах, deep learning автоматически изучает признаки из больших наборов данных — коллекций визуальных данных, на которых обучаются AI модели. Эти модели обычно работают на GPU (Graphics Processing Units), которые обеспечивают высокую вычислительную мощность, необходимую для эффективной обработки больших пакетов изображений и обучения сложных нейронных сетей.

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

Вот некоторые подходы на основе deep learning для извлечения признаков изображений и их сопоставления:

  • Извлечение признаков на основе CNN: Эти модели автоматически изучают ключевые визуальные паттерны из больших наборов данных. Они распознают признаки, которые вряд ли изменятся, что делает их надежными для сопоставления объектов в разных сценах.

  • Сопоставление на основе эмбеддингов: Вместо прямого сравнения пикселей этот метод превращает изображения в компактные числовые представления, известные как эмбеддинги. Сопоставитель затем сравнивает эти эмбеддинги, чтобы найти похожие визуальные данные. Модели, такие как FaceNet, генерирующая эмбеддинги для распознавания и сравнения лиц, и CLIP, которая отображает изображения и текст в общее пространство для задач типа поиска изображений и семантического сопоставления, используют этот подход.

  • Сквозные (end-to-end) конвейеры сопоставления: Передовые системы deep learning часто объединяют обнаружение ключевых точек, описание и сопоставление в единый рабочий процесс. Такие модели, как SuperPoint и D2-Net, изучают как ключевые точки, так и дескрипторы непосредственно из карт признаков CNN, в то время как SuperGlue действует как обученный сопоставитель, который объединяет эти дескрипторы более надежно, чем традиционные методы. Вместе эти компоненты создают сквозной конвейер, который обеспечивает более высокую точность и большую устойчивость в сложных условиях, чем классические подходы на основе признаков.

  • Сопоставление на основе Transformer: Этот метод использует механизмы внимания для связывания соответствующих областей на двух изображениях, что позволяет выравнивать участки даже при значительных изменениях точки обзора, освещения или текстуры. Модели, такие как LoFTR (Local Feature Transformer), достигают гораздо более высокой точности, поскольку глобальное поле восприятия Transformer позволяет осуществлять надежное сопоставление в областях с низкой текстурой, размытых или повторяющихся участках, где традиционные детекторы терпят неудачу. LoFTR создает полуплотные, высокоточные совпадения и значительно превосходит предыдущие современные методы как в закрытых, так и в открытых бенчмарках.

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

Link to this sectionРеальные применения сопоставления изображений#

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

Link to this sectionБолее умная робототехника, основанная на сопоставлении изображений#

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

Например, на складе робототехническая система захвата и перемещения (pick-and-place) может использовать сопоставление изображений для идентификации и обработки различных предметов. Робот сначала захватывает объект, а затем сравнивает его изображение с эталонными образцами для идентификации.

Робот, распознающий и захватывающий объекты путем сопоставления эталонных изображений

Рис. 5. Робот распознает и подбирает объекты, сопоставляя их с эталонными изображениями. (Source)

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

Link to this sectionУлучшение 3D-реконструкции с помощью более совершенного сопоставления изображений#

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

Эти общие точки помогают системе понять, как изображения соотносятся друг с другом в 3D-пространстве. Эта идея тесно связана со структурой из движения (SfM — Structure from Motion), методом, который строит 3D-структуры путем идентификации и сопоставления ключевых точек на изображениях, снятых с разных точек обзора.

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

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

При тестировании на крупномасштабных наборах данных HashMatch создавал более чистые и реалистичные модели 3D-реконструкции с меньшим количеством ошибок выравнивания. Это делает его особенно полезным для таких задач, как картографирование с дронов, AR-системы и сохранение культурного наследия, где точность критически важна.

Link to this sectionРоль сопоставления изображений в дополненной реальности#

Когда речь идет об augmented reality (AR), удержание виртуальных объектов выровненными с реальным миром часто является проблемой. Окружающая среда на открытом воздухе может постоянно меняться в зависимости от условий, таких как солнечный свет и погода. Тонкие различия в реальном мире могут сделать виртуальные элементы нестабильными или слегка не на своем месте.

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

Характерные точки, сопоставленные на двух изображениях

Рис. 6. Ключевые точки, сопоставленные между двумя изображениями. (Source: theijes.com)

Например, в исследовании, связанном с outdoor AR training в военном стиле с очками XR (Extended Reality), исследователи использовали SIFT и другие методы на основе признаков для сопоставления визуальных деталей между реальными и эталонными изображениями. Точные совпадения удерживали виртуальные элементы правильно выровненными с реальным миром, даже когда пользователь быстро двигался или менялось освещение.

Link to this sectionОсновные выводы#

Сопоставление изображений является основным компонентом computer vision, позволяющим системам понимать, как разные изображения связаны друг с другом или как сцена меняется с течением времени. Оно играет критическую роль в робототехнике, дополненной реальности, 3D-реконструкции, автономной навигации и многих других реальных приложениях, где необходимы точность и стабильность.

С появлением продвинутых AI моделей, таких как SuperPoint и LoFTR, современные системы становятся гораздо более надежными, чем ранние методы. По мере развития методов машинного обучения, специализированных модулей зрения, нейронных сетей и наборов данных, сопоставление изображений, вероятно, станет еще быстрее, точнее и адаптивнее.

Присоединяйся к нашему растущему community и изучай наш GitHub repository для получения практических ресурсов по AI. Чтобы начать создавать решения с Vision AI уже сегодня, ознакомься с нашими licensing options. Узнай, как AI in agriculture преобразует сельское хозяйство и как Vision AI in healthcare формирует будущее, посетив страницы наших решений.

Explore solutions

Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.
Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.
Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.
Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.
Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.
Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.
Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.
Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.
Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.
Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.
Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.
Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.
Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.
Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.
Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

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

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

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