Mam pytanie dotyczące rozpoznawania obiektów, a zwłaszcza modeli samochodów! Jestem na początku pracy nad identyfikacją tego samego modelu samochodu na różnych obrazach. W tej chwili uważam, że jednym z najlepszych algorytmów rozpoznawania obiektów 3D jest SIFT, ale po zabawie z implementacją demonstracyjną mam dziwne przeczucie, że ten algorytm ma pewne problemy z błyszczącymi metalowymi przedmiotami, takimi jak samochody, zwłaszcza jeśli mają różne kolory.
Czy ktoś wie, że trochę pracy w tym obszarze, ogólnie odpowiedni algorytm do znalezienia tego samego modelu samochodu na różnych obrazach?
Z góry dziękuje za twoją pomoc!
Odpowiedzi:
Rzuciłbym okiem na tak zwane podejście „worek słów” lub „słowa wizualne”. Jest coraz częściej wykorzystywany do kategoryzacji i identyfikacji obrazów. Algorytm ten zwykle zaczyna się od wykrycia solidnych punktów, takich jak punkty SIFT, na obrazie. Używany jest region wokół tych znalezionych punktów (128-bitowy deskryptor SIFT w twoim przypadku).
W najprostszej formie można zebrać wszystkie dane ze wszystkich deskryptorów ze wszystkich obrazów i zgrupować je, na przykład za pomocą k-średnich. Każdy oryginalny obraz ma następnie deskryptory, które składają się na wiele klastrów. Centroidy tych klastrów, tj. Słowa wizualne, mogą być użyte jako nowy deskryptor obrazu. Zasadniczo masz nadzieję, że klastry obrazu, do którego przyczyniają się jego deskryptory, wskazują na kategorię obrazu.
Ponownie, w najprostszym przypadku, masz listę klastrów, a na obrazie liczysz, które z tych klastrów zawierały deskryptory z tego obrazu i ile. Jest to podobne do metody Term Frequency / Inverse Document Frequency (TD / IFD) używanej do wyszukiwania tekstu. Zobacz ten szybki i brudny skrypt Matlaba .
To podejście jest aktywnie badane i istnieje wiele znacznie bardziej zaawansowanych algorytmów.
Strona internetowa VLfeat zawiera ładniejsze, bardziej zaawansowane demo tego podejścia, klasyfikujące zestaw danych caltech 101. Na uwagę zasługują również wyniki i oprogramowanie samego Caltech .
źródło