Нажимая “Принять все файлы cookie”, вы соглашаетесь на сохранение файлов cookie на вашем устройстве с целью улучшения навигации по сайту, анализа использования сайта и помощи в наших маркетинговых усилиях. Подробнее
Настройки cookie
Нажимая “Принять все файлы cookie”, вы соглашаетесь на сохранение файлов cookie на вашем устройстве с целью улучшения навигации по сайту, анализа использования сайта и помощи в наших маркетинговых усилиях. Подробнее
Узнайте, как работает система сопоставления изображений в Vision AI, и изучите основные технологии, которые помогают машинам detect, сравнивать и понимать визуальные данные.
Когда вы смотрите на два изображения одного и того же объекта, например, на картину и фотографию автомобиля, легко заметить, что у них общего. Однако с машинами все не так просто.
Чтобы делать такие сравнения, машины полагаются на компьютерное зрение- направление искусственного интеллекта (ИИ), которое помогает им интерпретировать и понимать визуальную информацию. Компьютерное зрение позволяет системам detect объекты, понимать сцены и извлекать закономерности из изображений или видео.
В частности, некоторые визуальные задачи выходят за рамки анализа одного изображения. Они включают в себя сравнение изображений для поиска сходств, выявления различий или track изменений во времени.
ИИ в области зрения охватывает широкий спектр технологий, и одна из важнейших возможностей, известная как сопоставление изображений, направлена на выявление сходства между изображениями даже при различном освещении, ракурсе или фоне. Эта техника может использоваться в различных приложениях, включая робототехнику, дополненную реальность и геокартографию.
В этой статье мы рассмотрим, что такое сопоставление изображений, его основные методы и некоторые из его реальных применений. Давайте приступим!
Что такое сопоставление изображений?
Сопоставление изображений позволяет компьютерной системе понять, что два изображения имеют схожее содержание. Человек может делать это интуитивно, замечая формы, цвета и узоры.
Компьютеры, с другой стороны, опираются на числовые данные. Они анализируют изображения, исследуя каждый пиксель, который является наименьшей единицей цифрового изображения.
Каждое изображение хранится в виде сетки пикселей, и каждый пиксель обычно содержит значения красного, зеленого и синего цветов (RGB). Эти значения могут меняться при повороте изображения, изменении его размера, просмотре под другим углом или при съемке в разных условиях освещения. Из-за этих изменений сравнение изображений по пикселям часто бывает ненадежным.
Чтобы сделать сравнение более последовательным, при сопоставлении изображений особое внимание уделяется локальным особенностям - углам, краям и текстурированным областям, которые обычно остаются неизменными даже при незначительном изменении изображения. Обнаруживая эти особенности, или ключевые точки, на нескольких изображениях, система может сравнивать их с гораздо большей точностью.
Этот процесс широко используется в таких областях, как навигация, локализация, дополненная реальность, картография, 3D-реконструкция и визуальный поиск. Когда системы идентифицируют одни и те же точки на разных изображениях или в нескольких кадрах, они могут track движение, понимать структуру сцены и принимать надежные решения в динамичных средах.
Рис. 1. Пример сопоставления изображений автомобилей, где определяются похожие ключевые точки.(Источник)
Понимание того, как работает сопоставление изображений
Сопоставление изображений включает в себя несколько ключевых этапов, которые помогают системам идентифицировать и сравнивать похожие области на изображениях. Каждый этап повышает точность, согласованность и устойчивость в различных условиях.
Вот пошаговый обзор того, как работает сопоставление изображений:
Обнаружение особенностей: Сначала система определяет характерные ключевые точки на изображении, которые остаются неподвижными даже при изменении освещения, масштаба или угла обзора. Они выделяют такие области, как углы, края или текстурированные участки, которые визуально выделяются.
Описание характеристик: Каждая ключевая точка преобразуется в дескриптор, который представляет собой компактный числовой вектор, отражающий визуальную картину вокруг этой точки. Эти дескрипторы обеспечивают надежный способ сравнения характеристик различных изображений.
Сопоставление характеристик: дескрипторы двух изображений сравниваются с помощью алгоритмов сопоставления, которые вычисляют степень их сходства. На этом этапе сопоставляются ключевые точки, которые кажутся совпадающими, и отсеиваются более слабые или ненадежные совпадения.
Геометрическая проверка: Наконец, система проверяет, образуют ли совпадающие ключевые точки реалистичную геометрическую связь. Она удаляет неправильные совпадения (так называемые выбросы) с помощью метода RANSAC (Random Sample Consensus), который гарантирует, что останутся только надежные пары точек. После выявления хороших совпадений система оценивает преобразование, которое наилучшим образом связывает два изображения. Часто это аффинное преобразование, которое корректирует такие изменения, как масштабирование, поворот и сдвиг, или гомография, которая также может обрабатывать изменения перспективы. Использование этих преобразований позволяет системе точно выровнять изображения, даже если они были сняты с разных точек зрения.
Рис. 2. (a) Выделение точек признаков и (b) сопоставление признаков.(Источник)
Основные методы, используемые при сопоставлении изображений
Прежде чем мы рассмотрим реальные применения совмещения изображений, давайте подробнее рассмотрим методы совмещения изображений, используемые в системах компьютерного зрения.
Совмещение изображений на основе шаблонов
Совпадение шаблонов - один из самых простых методов сопоставления изображений. Обычно его относят к методам обработки изображений, а не к современным методам компьютерного зрения, поскольку он основан на прямом сравнении пикселей и не позволяет извлечь более глубокие визуальные характеристики.
Он используется для определения местоположения небольшого опорного изображения или шаблона в большой сцене. Он работает по алгоритму, который перемещает шаблон по основному изображению и рассчитывает балл сходства в каждой позиции, чтобы определить, насколько близко совпадают два региона. Область с наивысшим баллом считается наилучшим совпадением и указывает на то, где объект с наибольшей вероятностью появится в сцене.
Рис. 3. Использование согласования шаблонов.(Источник)
Этот метод хорошо работает, когда масштаб, поворот и освещение объекта остаются неизменными, что делает его хорошим выбором для контролируемой среды или базовых сравнений. Однако его эффективность снижается, когда объект выглядит иначе, чем шаблон, например, при изменении размера, повороте, частичной окклюзии или появлении на шумном или сложном фоне.
Классические методы сопоставления изображений на основе признаков
До того как глубокое обучение получило широкое распространение, сопоставление изображений в основном основывалось на классических алгоритмах компьютерного зрения, которые определяли отличительные ключевые точки на изображении. Вместо того чтобы сравнивать каждый пиксель, эти методы анализируют градиенты изображения, или изменения интенсивности, чтобы выделить углы, края и текстурированные области, которые выделяются.
Каждая обнаруженная ключевая точка представляется в виде компактной числовой сводки, называемой дескриптором. При сравнении двух изображений программа сопоставления оценивает эти дескрипторы, чтобы найти наиболее похожие пары.
Высокий балл сходства обычно указывает на то, что на обоих изображениях присутствует одна и та же физическая точка. Кроме того, программы сопоставления используют специальные метрики расстояния или правила подсчета баллов для оценки степени совпадения признаков, что повышает общую надежность.
Вот некоторые из основных классических алгоритмов компьютерного зрения, используемых для сопоставления изображений:
SIFT (Scale-Invariant Feature Transform): Оно определяет ключевые точки, анализируя градиенты интенсивности изображения, что позволяет им оставаться узнаваемыми при увеличении, уменьшении или повороте изображения.
SURF (Speeded-Up Robust Features): Этот алгоритм похож на SIFT, но оптимизирован для скорости. Он использует быстрые аппроксимации градиентных операций, что делает его подходящим для приложений, требующих быстрого времени отклика.
ORB (Oriented FAST and Rotated BRIEF): Он объединяет два алгоритма, называемые FAST и BRIEF. FAST быстро находит угловые точки на изображении, а BRIEF создает компактное описание каждой точки, чтобы их можно было сопоставить на разных изображениях. ORB также улучшает оба этапа, добавляя обработку вращения, что делает его быстрым и надежным.
Рис. 4. Точки SURF-функций, извлеченные и сопоставленные между двумя изображениями.(Источник)
Методы сопоставления изображений на основе глубокого обучения
В отличие от классических методов, которые опираются на определенные правила, глубокое обучение автоматически изучает особенности на основе больших наборов данных - коллекций визуальных данных, на основе которых модели искусственного интеллекта изучают закономерности. Эти модели обычно работают на графических процессорах (GPU), которые обеспечивают высокую вычислительную мощность, необходимую для обработки больших массивов изображений и эффективного обучения сложных нейронных сетей.
Это позволяет моделям ИИ справляться с изменениями в реальном мире, такими как освещение, углы камеры и окклюзии. Некоторые модели также объединяют все этапы в единый рабочий процесс, обеспечивая надежную работу в сложных условиях.
Вот несколько подходов на основе глубокого обучения для извлечения и сопоставления признаков изображений:
Извлечение признаков на основе CNN: Эти модели автоматически изучают ключевые визуальные паттерны из больших наборов данных. Они распознают признаки, которые вряд ли изменятся, что делает их надежными для сопоставления объектов в разных сценах.
Сопоставление на основе вкраплений: вместо прямого сравнения пикселей этот метод превращает изображения в компактные числовые представления, называемые вкраплениями. Затем программа сопоставления сравнивает эти вкрапления, чтобы найти похожие изображения. Этому подходу следуют такие модели, как FaceNet, которая генерирует вкрапления для распознавания и сравнения лиц, и CLIP, которая отображает изображения и текст в общее пространство для таких задач, как поиск изображений и семантическое сопоставление.
Конвейеры сквозного сопоставления: Передовые системы глубокого обучения часто объединяют обнаружение, описание и сопоставление ключевых точек в единый рабочий процесс. Такие модели, как SuperPoint и D2-Net, изучают как ключевые точки, так и дескрипторы непосредственно из карт признаков CNN, а SuperGlue выступает в роли обучаемого сопоставителя, который сопоставляет эти дескрипторы более надежно, чем традиционные методы. Вместе эти компоненты создают сквозной конвейер, обеспечивающий более высокую точность и устойчивость в сложных условиях по сравнению с классическими подходами на основе признаков.
Сопоставление на основе трансформеров: этот метод использует механизмы внимания для связи соответствующих областей на двух изображениях, что позволяет ему выравнивать пятна даже при сильных изменениях точки зрения, освещения или текстуры. Такие модели, как LoFTR (Local Feature Transformer), достигают гораздо более высокой точности, поскольку глобальное рецептивное поле трансформатора обеспечивает надежное сопоставление в областях с низкой текстурой, размытых или повторяющихся областях, где традиционные детекторы не справляются. LoFTR создает полуплотные, высокодостоверные совпадения и превосходит предыдущие современные методы с большим отрывом как в помещениях, так и на улице.
Модели, ориентированные на эффективность: Новые модели для сопоставления изображений стремятся обеспечить высокую точность и при этом работать быстрее. Такие модели, как LightGlue, предназначены для эффективной работы на устройствах с ограниченной вычислительной мощностью, сохраняя при этом хорошее качество сопоставления.
Реальные приложения для сопоставления изображений
Теперь, когда мы лучше понимаем, как работает сопоставление изображений, давайте рассмотрим некоторые реальные приложения, в которых оно играет важную роль.
Более умная робототехника, основанная на сопоставлении изображений
Роботы часто работают в оживленных и меняющихся средах, где им необходимо понимать, какие объекты присутствуют и как они расположены. Сопоставление изображений помогает роботам понять, какие объекты они видят, сравнивая их с сохраненными или эталонными изображениями. Таким образом, роботам легче распознавать объекты, track их перемещение и адаптироваться даже при изменении освещения или угла наклона камеры.
Например, на складе роботизированная система подбора и перемещения может использовать сопоставление изображений для идентификации и обработки различных предметов. Робот сначала захватывает предмет, а затем сравнивает его изображение с эталонными образцами, чтобы идентифицировать его.
Рис. 5. Робот распознает и подбирает объекты, сопоставляя их с эталонными изображениями.(Источник)
Как только совпадение найдено, робот понимает, как правильно его отсортировать или разместить. Такой подход позволяет роботам распознавать как знакомые, так и новые объекты без переобучения всей системы. Он также помогает им принимать более эффективные решения в режиме реального времени, например, организовывать полки, собирать детали или переставлять предметы.
Улучшение 3D-реконструкции с помощью лучшего совмещения изображений
В таких областях, как беспилотное картографирование, виртуальная реальность и инспекция зданий, системам часто требуется воссоздать 3D-модель по нескольким 2D-изображениям. Для этого они используют сопоставление изображений, чтобы определить общие ключевые точки, такие как углы или текстурированные области, которые появляются на нескольких изображениях.
Эти общие точки помогают системе понять, как изображения соотносятся друг с другом в трехмерном пространстве. Эта идея тесно связана со структурой по движению (SfM), техникой, которая строит 3D-структуры, определяя и сопоставляя ключевые точки на изображениях, снятых с разных точек зрения.
Если сопоставление будет неточным, полученная 3D-модель может выглядеть искаженной или неполной. По этой причине исследователи работают над повышением надежности совмещения изображений для 3D-реконструкции, и последние достижения показали многообещающие результаты.
Один из интересных примеров - HashMatch, более быстрый и надежный алгоритм сопоставления изображений. HashMatch преобразует детали изображения в компактные шаблоны, называемые хэш-кодами, что облегчает определение правильных совпадений и удаление промахов, даже при различном освещении или точке обзора.
При тестировании на крупных массивах данных HashMatch создал более чистые и реалистичные модели 3D-реконструкции с меньшим количеством ошибок выравнивания. Это делает его особенно полезным для таких приложений, как беспилотная картография, системы AR и сохранение культурного наследия, где точность очень важна.
Роль совмещения изображений в дополненной реальности
Когда речь идет о дополненной реальности (AR), поддержание соответствия между виртуальными объектами и реальным миром часто становится сложной задачей. Окружающая среда на открытом воздухе может постоянно меняться в зависимости от условий окружающей среды, таких как солнечный свет и погода. Тонкие различия в реальном мире могут привести к тому, что виртуальные элементы будут выглядеть неустойчивыми или немного не на своем месте.
Чтобы решить эту проблему, AR-системы используют сопоставление изображений для интерпретации окружающей обстановки. Сравнивая кадры с камеры с сохраненными эталонными изображениями, они могут понять, где находится пользователь и как изменилась сцена.
Рис. 6. Совпадение характерных точек на двух изображениях.(Источник)
Например, в исследовании, посвященном военным AR-тренировкам на открытом воздухе с использованием очков XR (Extended Reality), ученые использовали SIFT и другие методы, основанные на характеристиках, для сопоставления визуальных деталей между реальными и эталонными изображениями. Благодаря точному совпадению виртуальные элементы правильно совмещались с реальным миром, даже когда пользователь быстро двигался или менялось освещение.
Основные выводы
Сопоставление изображений - основной компонент компьютерного зрения, позволяющий системам понимать, как различные изображения соотносятся друг с другом или как сцена меняется с течением времени. Он играет важную роль в робототехнике, дополненной реальности, 3D-реконструкции, автономной навигации и многих других реальных приложениях, где важны точность и стабильность.
Благодаря усовершенствованным моделям ИИ, таким как SuperPoint и LoFTR, современные системы становятся гораздо более надежными, чем более ранние методы. По мере развития методов машинного обучения, специализированных модулей зрения, нейронных сетей и наборов данных сопоставление изображений будет становиться все более быстрым, точным и адаптируемым.