Реализация масштабного преобразования инвариантных функций (SIFT) в Matlab

Я пытаюсь реализовать SIFT в Matlab. Я следую статье Лоу 2004 года. Я довел до расчета ключевых точек и присвоения им ориентации (т.е. для всех октав). Здесь у меня возникло одно сомнение перед внедрением дескрипторов.. как я могу найти дескрипторы для ключевых точек в октавах другого размера. (Если исходный размер изображения 256*256, октавы другого размера означают 128*128,64*64).

мой подход объясняется ниже.

  1. Здесь я взял изображение 256*256 и октавы как 256*256,128*128,64*64,32*32 изображения. В каждой октаве по 5 изображений (одно исходное и 4 размытых изображения).

  2. Я просчитал ключевые точки и ориентации для всех октав. (В этом у меня есть 2 изображения в каждой октаве).

  3. ключевые точки в октавах размером 128*128, 64*64,32*32. Если я хочу представить эти ключевые точки на изображении размером 256 * 256, как я могу это представить? (Я сомневаюсь, например, что изображение 64 * 64 имеет диапазон ключевых точек до (64,64)).

    Если ответ - интерполяция изображения 64 * 64 до 256 * 256. как интерполируются ключевые точки (т. е. местоположение, масштаб и ориентация)?

Любые советы высоко ценится. Спасибо.


person arun    schedule 15.08.2011    source источник
comment
Это может потребовать повторной маркировки. Я не уверен, что это связано с -развертыванием, -движком, -автономным. Вместо этого рассмотрите возможность добавления [computer-vision], [data-transformation] и других тегов. Таким образом, вы получите больше внимания от людей с резюме на SO.   -  person Iterator    schedule 15.08.2011
comment
Ваш вопрос немного не ясен. Возможно, вы могли бы попросить кого-нибудь вычитать и помочь вам переформулировать ваш вопрос. Это поможет нам дать вам лучший ответ.   -  person    schedule 01.09.2011


Ответы (2)


Я бы порекомендовал вам взглянуть на реализацию SIFT в VLFeat (мех-оболочка C /C++ код). Покопайтесь в исходном коде, чтобы узнать, что они делают и почему. Сравните с бумагой Лоу.

person peakxu    schedule 16.08.2011

Я не уверен, что вы имеете в виду на самом деле. Вы застряли в воспроизведении просеянного кода в Matlab. Если это так, вам на самом деле не нужно представлять ключевые точки, присутствующие в изображении с более низким масштабом, в исходном масштабе. Значения хранятся в «векторе» вместе с октавой, в которой он присутствует. На более поздних этапах кодирования число октав может использоваться для дальнейших вычислений и выполнения функции сопоставления.

person Anoop K. Prabhu    schedule 23.08.2011
comment
Спасибо тикку.., да я застрял в реализации SIFT в матлабе. Если это возможно, мы можем связаться по почте. Моя электронная почта: [email protected] - person arun; 25.08.2011