Как я могу использовать ключевые точки дескриптора SIFT, которые я получаю из изображения, и запускать на нем RANSAC (estimateGeometricTransform)?

Привет всем, я относительно новичок в программировании в целом и MatLab. У меня есть задание, которое требует, чтобы я сравнил различные функции обнаружения MatLab (SURF, BRISK, FAST и т. д.) с дескриптором SIFT.

У меня есть код для функций MatLab, и я проверяю ключевой момент, а затем запускаю оценку GeometricTransform, которая чем-то похожа на RANSAC, и проверяю результаты.

У меня возникли трудности с поиском кода SIFT, использующего vlfeat для извлечения ключевых точек, а затем запускающего на них оценкуGeometricTransform. Все, что я могу найти в Интернете из готовых кодов, - это SIFT RANSAC для мозаики изображений и сшивания, что мне не нужно. Мне нужно использовать одно и то же изображение, создать какие-то различия в вращении или масштабе и посмотреть, как ключевые точки будут совпадать для разных изображений.

Все коды онлайн кажутся слишком сложными для обработки. Может ли кто-нибудь указать мне, где я могу найти то, что ищу, или как я могу это реализовать, если это вообще возможно?


person Ryne Ignelzy    schedule 20.03.2017    source источник
comment
Возможный дубликат реализации SIFT в учебнике по MATLAB   -  person Sembei Norimaki    schedule 20.03.2017
comment
Я не ищу реализацию SIFT в MATLAB, мне нужна помощь в использовании vlfeat вместе с оценкой Matlab RANSACGeometricTransform.   -  person Ryne Ignelzy    schedule 20.03.2017


Ответы (1)


  1. Извлечь ключевые точки из SIFT из vl_sift
  2. Найдите точку координат или соответствующую точку изображения. Точка сопоставления может быть запущена с помощью vl_ubcmatch.
  3. запустите AssessmentGeometricTransform с ключевыми точками.

Пример: [f1,d1] = vl_sift(I1);

В f1 или кадре 1 в первой строке находятся координаты x, а во второй строке — координаты y.

person Jacky    schedule 25.04.2017