Я разработчик OpenIMAJ и ответственный за создание первого видео.
Мы не делаем ничего особенного, чтобы ускорить согласование в этом видео, а обнаружение и изъятие SIFT выполняется на всех кадрах. На самом деле, видео было сделано хорошо, прежде чем мы сделали какую-либо оптимизацию; текущая версия этой демонстрации намного более гладко. У нас также есть версия с гибридным KLT-трекером, который работает еще быстрее, не выполняя SIFT на каждом кадре.
Как было предложено @Mario, размер изображения сильно влияет на скорость извлечения, поэтому обработка меньшего кадра может дать большой выигрыш. Во-вторых, в первоначальном описании разности гауссовской точки интереса, предложенной Лоу в статье SIFT, было предложено, чтобы входное изображение было сначала удвоено по размеру, чтобы увеличить количество функций. Не выполняя эту двойную калибровку, вы также получаете большой прирост производительности за счет меньшего количества функций для соответствия.
Код с открытым исходным кодом (лицензия BSD), и вы можете получить его, следуя ссылкам на http://www.openimaj.org. Как указано в описании видео, код обработки изображений является чистой Java; единственный собственный код - тонкий интерфейс к веб-камере. Учебное пособие № 7 в current tutorial pdf document проходит через процесс использования SIFT в OpenIMAJ. Отключение двойной проклейки может быть достигнуто, выполнив:
DoGSIFTEngine engine = new DoGSIFTEngine();
engine.getOptions().setDoubleInitialImage(false);
Я думаю, что вы можете найти ответы здесь http://stackoverflow.com/questions/6960455/sift-and-keypoint – Mark