Próbuję sklasyfikować obrazy MRI guzów mózgu na łagodne i złośliwe za pomocą C++ i OpenCV. Planuję używać metody work-of-words (BoW) po skupieniu deskryptorów SIFT przy użyciu kmeans. Znaczenie: Będę reprezentować każdy obraz jako histogram z całym "zestawem kodów"/słownikiem dla osi X i ich liczbą występowania na obrazie dla osi Y. Histogramy te będą wówczas moim wejściem dla mojego klasyfikatora SVM (z jądrem RBF).Przestrzenne dopasowanie piramidy (SPM) dla SIFT, następnie wprowadzenie do SVM w C++
Jednak wadą używania BoW jest to, że ignoruje informacje przestrzenne o deskryptorach na obrazie. Ktoś zasugerował użycie SPM zamiast:. Czytałem o tym i natknąłem this link podając następujące kroki:
- Compute K słowa wizualnych ze zbioru treningowego i mapy wszystkich lokalnych możliwości jego wizualnej słowa.
- Dla każdego obrazu zainicjuj histogramy współrzędnych K wielorakiej rozdzielczości na zero. Każdy histogram współrzędnych składa się z L poziomów, a każdy poziom ma 4^i komórek, które równo dzielą bieżący obraz.
- Dla każdego obiektu lokalnego (powiedzmy, że wizualny identyfikator słowny jest k) na tym obrazie, wybierz histogram współrzędnej k, a następnie skumuluj jedną liczbę o wartości dla każdej z L odpowiadających komórek na tym histogramie, zgodnie z współrzędne funkcji lokalnej. Komórki L są komórkami , gdzie lokalna cecha mieści się w L różnych rozdzielczościach.
- Połączyć wielorazowe histogramy współrzędnych K, aby utworzyć ostateczny "długi" histogram obrazu. Podczas konkatenacji histogram k-th jest ważony prawdopodobieństwem k-tego wizualnego słowa.
- Aby obliczyć wartość jądra na dwóch obrazach, zsumuj wszystkie komórki przecięcia ich "długich" histogramów.
Teraz mam następujące pytania:
- Co to histogram współrzędnych? Czy histogram nie pokazuje tylko zliczeń dla każdej grupy na osi X? W jaki sposób dostarczy informacji na temat współrzędnych punktu?
- Jak bym obliczyć prawdopodobieństwo wizualnej słowo k-tej?
- Jaki będzie korzystanie z wartości „jądra”, że otrzymam? Jak wykorzystam to jako wejście do SVM? Jeśli dobrze rozumiem, czy wartość jądra jest używana w fazie testowania, a nie w fazie szkolenia? Jeśli tak, to w jaki sposób będę ćwiczyć moją maszynę SVM?
- A myślisz, że nie trzeba obciążać siebie z informacją przestrzenną i po prostu trzymać się normalnego łuk dla mojej sytuacji (guzy łagodne i złośliwe)?
Ktoś proszę o pomoc tę biedną licencjackim. Będziesz miał mój zawsze wdzięczność, jeśli nie. Jeśli masz jakieś wyjaśnienia, nie wahaj się zapytać.