Algorytmy Graficzne Charakterystyki oraz wyszukiwanie obrazów cyfrowych Autor: Mateusz Nostitz-Jackowski 1 / 7
Działanie programu: Do poprawnego działania projektu potrzeba programu Mathematica 5.2 (możliwe jest uruchomienie na Mathematica 6.0 ale trzeba się liczyć, że cześć funkcji Mozę być nie aktualna w nowych wersjach). Interfejs programu: Po rozszerzeniu podrozdziałów znaleźć można opisy poszczególnych funkcji, które są wykorzystywane w projekcie. Aby rozpocząć wyliczenie powinniśmy skompilować podrozdział OBLICZENIA, który tworzy tablice i zaimportuje tablice z danymi (większość obliczeń zostało wcześniej wykonane i zapisane na dysku w zał. dołączone są pliki i baza obrazków potrzebnych do testów). W projekcie wykorzystano różnych metod porównawczych, wśród nich (podaje od razu przedrostki jakie trzeba wstawić do funkcji wyszukującej): MHT - Odległości Manhattan EUK - Odległości Euklides MPH - Miara Przekroju Histogramów UKW - Unormowana korelacja wzajemna KL - Odległości Kullbacka-Leiblera JEF - Odległości Jeffreya Aby wyszukać podobne obrazki do zadanego wzoru trzeba wykonać polecenie: Znajdz[ {nr obrazka},{ile ma pokazać podobnych obrazków},{sposób}] {nr obrazka} podajemy nr obrazka wzoru {ile ma pokazać podobnych obrazków} ile podobnych obrazków ma znaleźć {sposób} jaką metodą ma wyszukać 2 / 7
W projekcie przeprowadziłem szereg obliczeń na obrazach, które wcześniej przygotowałem. Baza obrazów składa się z 80 obrazków o rozmiarze 100x100px w przestrzeni RGB. Zostały one podzielone na 5 kategorii: helikopter pies rośliny zima inne Przykładowe działanie programu na bazie 80 obrazków (każdy algorytm został wykonany na po jednym obrazku z kategorii poniżej zaprezentuje wyniki ty działań): 1. Porównanie obrazów z kategorii helikopter Odległości Manhattan ( Wyszukaj[1,6,MHT]) {1,4,72,2,7,79,8} Odległości Euklides ( Wyszukaj[1,6,EUK]) {1,57,59,60,58,34,61} Miara Przekroju Histogramów ( Wyszukaj[1,6,MPH]) {1,4,72,2,7,79,8} Unormowana korelacja wzajemna ( Wyszukaj[1,6,UKW]) {1,4,2,72,79,7,8} Odległości Kullbacka-Leiblera ( Wyszukaj[1,6,KL]) {1,6,32,63,67,66,27} Odległości Jeffreya ( Wyszukaj[1,6,JEF]) {1,2,3,4,5,6,7} 3 / 7
2. Porównanie obrazów z kategorii inne Odległości Manhattan ( Wyszukaj[26,6,MHT]) {26,27,28,46,14,15,13} Odległości Euklides ( Wyszukaj[26,6,EUK]) {26,46,27,28,15,14,72} Miara Przekroju Histogramów ( Wyszukaj[26,6,MPH]) {26,27,28,46,14,15,13} Unormowana korelacja wzajemna ( Wyszukaj[26,6,UKW]) {28,27,26,46,15,14,78} Odległości Kullbacka-Leiblera ( Wyszukaj[26,6,KL]) {26,3,2,75,29,60,28} Odległości Jeffreya ( Wyszukaj[26,6,JEF]) {26,61,63,45,78,62} 3. Porównanie obrazów z kategorii pies Odległości Manhattan ( Wyszukaj[30,6,MHT]) {30,34,48,51,49,44,45} Odległości Euklides ( Wyszukaj[30,6,EUK]) {30,48,51,34,49,45,62} 4 / 7
Miara Przekroju Histogramów ( Wyszukaj[30,6,MPH]) {30,34,48,51,49,44,45} Unormowana korelacja wzajemna ( Wyszukaj[30,6,UKW]) {30,48,44,51,37,41,43} Odległości Kullbacka-Leiblera ( Wyszukaj[30,6,KL]) {30,29,75,37,52,38,50} Odległości Jeffreya ( Wyszukaj[30,6,JEF]) {30,53,33,12,36,74} 4. Porównanie obrazów z kategorii rośliny Odległości Manhattan ( Wyszukaj[55,6,MHT]) {55,56,63,57,62,59,61} Odległości Euklides ( Wyszukaj[55,6,EUK]) {55,57,56,59,60,58,61} Miara Przekroju Histogramów ( Wyszukaj[55,6,MPH]) {55,56,63,57,62,59,61} Unormowana korelacja wzajemna ( Wyszukaj[55,6,UKW]) {55,56,63,57,62,58,59} 5 / 7
Odległości Kullbacka-Leiblera ( Wyszukaj[55,6,KL]) {55,67,66,64,65,5,23} W tym przypadku algorytm nie zadziałał wyniki są równe zero dlatego się wysypał. Odległości Jeffreya ( Wyszukaj[55,6,JEF]) {55,1,2,3,4,5,6} W tym przypadku algorytm nie zadziałał wyniki są równe zero dlatego się wysypał. 5. Porównanie obrazów z kategorii zima Odległości Manhattan ( Wyszukaj[70,6,MHT]) {70,71,78,75,79,77,64} Odległości Euklides ( Wyszukaj[70,6,EUK]) {70,57,59,60,34,58,61} Miara Przekroju Histogramów ( Wyszukaj[70,6,MPH]) {70,71,78,75,79,77,64} Unormowana korelacja wzajemna ( Wyszukaj[70,6,UKW]) {70,78,75,4,67,69,65} Odległości Kullbacka-Leiblera ( Wyszukaj[70,6,KL]) {70,55,35,2,28,27,26} Odległości Jeffreya ( Wyszukaj[70,6,JEF]) {70,1,2,3,4,5,6} 6 / 7
Dokładność i kompletność (precision, recall): Wnioski: helikopter MHT 4 6 25 0,666667 0,16 EUK 0 6 25 0 0 MPH 4 6 25 0,666667 0,16 UKW 4 6 25 0,666667 0,16 KL 1 6 25 0,166667 0,04 JEF 6 6 25 1 0,24 inne MHT 2 6 4 0,333333 0,5 EUK 2 6 4 0,333333 0,5 MPH 2 6 4 0,333333 0,5 UKW 2 6 4 0,333333 0,5 KL 2 6 4 0,333333 0,5 JEF 0 6 4 0 0 pies MHT 6 6 25 1 0,24 EUK 5 6 25 0,833333 0,2 MPH 6 6 25 1 0,24 UKW 6 6 25 1 0,24 KL 4 6 25 0,666667 0,16 JEF 3 6 25 0,5 0,12 roślina MHT 6 6 9 1 0,666667 EUK 6 6 9 1 0,666667 MPH 6 6 9 1 0,666667 UKW 6 6 9 1 0,666667 KL 0 6 9 0 0 JEF 0 6 9 0 0 zima MHT 6 6 17 1 0,352941 EUK 0 6 17 0 0 MPH 6 6 17 1 0,352941 UKW 5 6 17 0,833333 0,294118 KL 0 6 17 0 0 JEF 0 6 17 0 0 Nie istnieje metoda, która by zawsze odnajdywała wszystkie obrazki z danej kategorii. W zależności od obrazu wzorcowego różne metody mogą okazać się najskuteczniejsze W niektórych przypadkach metody K-L i Jeffreya nie pokazywały żadnych wyników, mogło być to spowodowane błędem programisty albo nieprecyzyjności algorytmu 7 / 7