Chcę wykonać zadanie klasyfikacji, w którym mapuję dany obraz obiektu na jedną z listy predefiniowanych konstelacji, w których może znajdować się obiekt (tj. Znajdź najbardziej prawdopodobny odpowiednik). W celu uzyskania deskryptorów obrazu (na którym uruchomię algorytmy uczenia maszynowego) zasugerowano mi użycie SIFT z implementacją VLFeat.Deskryptory obrazu z SIFT/VLFEAT
Przede wszystkim, moje główne pytanie - chciałbym zignorować kluczowy element znajdujący się w systemie przesiewania i używać go tylko dla jego deskryptorów. W samouczku widziałem, że istnieje możliwość zrobić dokładnie to poprzez wywołanie
[f,d] = vl_sift(I,'frames',fc) ;
gdzie fc określa klucz-punkty. Mój problem polega na tym, że chcę jednoznacznie określić pole graniczne , w którym chcę obliczyć deskryptory wokół punktu kluczowego - ale wydaje mi się, że mogę tylko określić parametr skali, który jest teraz dla mnie trochę zagadkowy i nie pozwól mi wyraźnie określić obwiednię. Czy istnieje sposób, aby to osiągnąć?
Drugim pytaniem jest ustawienie skali ręcznie i uzyskanie deskryptorów w ten sposób ma sens? (tzn. uzyskać dobry deskryptor?). Wszelkie inne sugestie dotyczące lepszych sposobów na uzyskanie deskryptorów? (używając SIFT z innymi implementacjami lub innymi deskryptorami nie-SIFT). Powinienem wspomnieć, że mój obiekt jest zawsze jedynym obiektem na obrazie, jest wyśrodkowany, ma stałe oświetlenie i zmienia się przez niektóre rodzaje obrotów jego wewnętrznych części - I dlatego pomyślałem, że SIFT zadziała, ponieważ zrozumiałem, że koncentruje się na gradienty orientacji, które zmieniałyby się odpowiednio wraz z obrotami obiektu.
Dzięki