найти картину внутри большей картины - PullRequest
0 голосов
/ 06 апреля 2020

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

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

Я понятия не имею, как Подходя к этой проблеме, мы будем благодарны за любое слово, топи c или алгоритмы, которые я мог бы использовать для поиска дополнительной информации в Интернете:)

Я работаю над Matlab с углубленным изучением и наборы инструментов для компьютерного зрения, но я мог бы легко изменить на Python, если это необходимо или если это может быть существенно проще.

Спасибо всем, кто читает это!

Ответы [ 2 ]

1 голос
/ 09 апреля 2020

Под словом "грубая сила" я не понимаю, что вы имеете в виду. Если вы предоставите более подробную информацию, возможно, я смогу предоставить более подробную информацию или больше алогритов. Однако, если вы хотите найти поисковое изображение в той же или другой стороне, вы можете использовать следующие алгоритмы: - SIFT - SURF - ORB - BRISK - FREAK - Сиамские сети

Большинство из этих алгоритмов (ожидайте последнего) пытаются find some key points, которые устойчивы к поворотам, шуму, изменениям яркости, размытию, ... и finally match them с использованием измерения расстояния, такого как Хэмминга, Евклида, Манхэттена , ....

Я предпочитаю последний с точки зрения точности и не требующий слишком большого количества гиперпараметров . Для Siamese networks вам нужно training. Это означает маркировку и графический процессор. SIFT и SURF славятся сопоставлением изображений. Для более подробной информации вы можете прочитать их основные статьи. Я написал статью о copy-move forgery, в которой копирование вставляется в часть изображения для целей мошенничества / подделки. Вы можете найти много подходов для ваших целей в статьях этой области.

1 голос
/ 06 апреля 2020

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

Как мне найти изображение, содержащееся в изображении?

...