2

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

Почему? Предлагает ли Matlab что-то лучшее или эквивалентное?

ответ

5

MATLAB имеет SURF, доступный как часть панели инструментов Computer Vision, но не SIFT: http://www.mathworks.com/help/vision/ref/surfpoints-class.html. Однако оба алгоритма почти одинаковы с некоторыми незначительными (но важными) различиями, такими как использование интегральных изображений и быстрый детектор Гессиана. Я не буду углубляться в эти различия в каких-либо подробностях, но вы наверняка можете прочитать о работе здесь: http://www.vision.ee.ethz.ch/~surf/eccv06.pdf. Что касается причины, по которой MathWorks решила использовать SURF вместо SIFT ... на самом деле это может быть любая причина. AFAIK, нет никакой официальной причины, по которой один был выбран по другому, поскольку они оба подлежат патентованию.

Однако, если вы хотите использовать SIFT в MATLAB, одно из предложений, которое у меня есть, состоит в том, чтобы использовать панель инструментов VLFeat, где реализована реализация C и MATLAB для ключевой точки, системы обнаружения и соответствия и является открытым исходным кодом. Он также имеет множество других замечательных алгоритмов компьютерного зрения, но VLFeat - одна из библиотек, которые я знаю, которым удается вычислить SIFT так же точно, как оригинальный запатентованный алгоритм.

Если вы мертвы, используя SIFT, проверьте VLFeat! В частности, ознакомьтесь с официальным учебником VLFeat на SIFT с использованием оберток MATLAB: http://www.vlfeat.org/overview/sift.html

+0

Большое спасибо! Отличный ответ! – jhegedus

+0

@jhegedus - проблем нет :) удачи! – rayryeng