• Nie Znaleziono Wyników

Rozpoznawanie obrazów Rozpoznawanie obrazu jest jedną z najczęstszych i najbardziej spektakularnych dziedzin inteligencji obliczeniowej.

N/A
N/A
Protected

Academic year: 2021

Share "Rozpoznawanie obrazów Rozpoznawanie obrazu jest jedną z najczęstszych i najbardziej spektakularnych dziedzin inteligencji obliczeniowej."

Copied!
3
0
0

Pełen tekst

(1)

Rozpoznawanie obrazów

Rozpoznawanie obrazu jest jedną z najczęstszych i najbardziej spektakularnych dziedzin inteligencji obliczeniowej.

Postawiony problem

Zadany system posiada zbiór obrazów wzorcowych (zwanych również uczącymi) w postaci dwuwymiarowej bitmapy.

Każda z tych map ma nadaną etykietkę, która określa na co wskazuje dana bitmapa (do jakiej klasy należy). Do systemu jest następnie dostarczona jakaś testowa dwuwymiarowa bitmapa. Zadaniem algorytmu jest wskazanie do jakiej klasy należy ta testowa mapa bitowa, czyli określenie do której z bitmap wzorcowych jest najbardziej podobna podana bitmapa testowa. Dla uproszczenia zakłada się, iż rozmiar bitmap wzorcowych i testowych jest jednakowy oraz każda z nich posiada co najmniej jeden punkt o wartości 1. Przyjmuje się, że kolor czarny oznacza wartość na bitmapie równą 1.

Przykładowe bitmapy wzorcowe o rozmiarze 5x4 (wysokość x szerokość):

znaki_wz{1} = [ ...

0 0 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 0 0 1 ];

znaki_wz{2} = [ ...

0 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1 1 1 1 ];

znaki_wz{3} = [ ...

1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 ];

W wyżej wymienionych przykładach etykietką każdej bitmapy jest jej numer (numer klasy to numer wzoru). Przykładowe bitmapy testowe:

znaki_tst{1} = [ ...

0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 1 0 0 0 1 ];

znaki_tst{2} = [ ...

1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 ];

znaki_tst{3} = [ ...

1 1 1 1 0 0 0 1 0 0 1 0 1 1 0 0 1 1 1 1 ];

(2)

Algorytm zachłannego dopasowania punktu

Algorytm potrafi wskazać dla dowolnej bitmapy testowej, która bitmapa jest do niej najbardziej podobna. Dokonywane jest to przez zmierzenie i zsumowanie miary „niepodobieństwa” danej bitmapy testowej do poszczególnych bitmap wzorcowych i vice-versa. Przyjmuje się, iż ta bitmapa wzorcowa wskazywana jest jako najbardziej podobna, dla której suma miar „niepodobieństwa” między bitmapą wzorcową a testową i między bitmapą testową a wzorcową jest najmniejsza („niepodobieństwo” między bitmapą BA a BB nie musi być równe „niepodobieństwu” między BB a BA).

Sercem algorytmu jest określenie „niepodobieństwa” między dwoma bitmapami BA i BB, której pseudokod to:

miara = miara_niepodobienstwa(bitmapy BA, BB) 1. miara := 0

2. Wykonaj pętlę dla każdego czarnego punktu o pozycji (pay, pax) w BA 1. odl_min = + nieskończoność

2. Wykonaj pętlę dla każdego czarnego punktu o pozycji (pby, pbx) w BB 1. odl_akt := odległość między punktami (pay, pax) a (pby, pbx) 2. odl_min := min{odl_min, odl_akt}

3. miara := miara + odl_min

Aby określić miarę „obustronnego niepodobieństwa”, lub też miarę podobieństwa pomiędzy bitmapami należy użyć:

miara_podobieństwa_obustronnego(bitmapy BA, BB) =

= -( miara_niepodobieństwa(bitmapy BA, BB) + miara_niepodobieństwa(bitmapy BB, BA) )

Przykład działania:

Dla pewnej bitmapy testowej podanej niżej zastosowano wspomniany algorytm, dla uproszczenia zamiast zalecanej miary odległości euklidesowej zastosowano odległość typu manhattan:

1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1

bitmapa testowa Bitmapa wzorcowa 1. bitmapa wzorcowa 2 Bitmapa wzorcowa 3 1 1 1 1

0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1

0 0 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 0 0 1

0 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1 1 1 1

1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 miara_niepodobieństwa

(bitmapa testowa, bitmapa wzorcowa x)

3+2+1+0+

0+0+0+0+

1+0+1+0+

0+0+1+0+

3+2+1+0 = 15

1+0+0+0+

0+0+0+0+

1+1+0+1+

0+0+1+1+

0+0+0+0 = 6

0+0+0+1+

0+0+0+0+

0+0+0+0+

0+0+1+0+

0+0+0+1 = 3 miara_niepodobieństwa

(bitmapa wzorcowa x, bitmapa testowa)

0+0+0+0+

0+0+1+0+

0+0+0+0+

0+0+0+0+

0+0+0+0 = 1

0+0+0+0+

1+0+0+0+

0+0+0+0+

0+1+0+0+

0+0+0+0 = 2

0+0+0+0+

0+0+0+0+

0+0+0+0+

0+0+0+0+

0+0+0+0 = 0

(3)

miara_podobieństwa_obust ronnego

(bitmapa testowa, bitmapa wzorcowa x)

-15-1=-16 -6 -2 = -8 -3 -0 = -3

Jak widać podany bitmapa testowa najbardziej jest podobna do trzeciej bitmapy wzorcowej, ponieważ dla niej najwyższa jest miara_podobieństwa_obustronnego.

Zadanie do wykonania

Należy za pomocą podanego algorytmu określić miarę podobieństwa obustronnego pomiędzy wszystkimi bitmapami testowymi a bitmapami wzorcowymi a następnie dla każdej bitmapy testowej wskazać najbardziej podobną bitmapę wzorcową. Należy użyć miary odległości typu euklidesowego.

Cytaty

Powiązane dokumenty

‡ Jednym z najprostszych sposobów reprezentowania drzewa jest wykorzystanie dla każdego węzła struktury składającej się z pola lub pól reprezentujących etykietę oraz

Natomiast języki kontekstowe (3g), zwane też monotonicznymi (3h), stanowią właściwą podklasę języków rekurencyjnych.. Kontrprzykładem

Żeby sprawdzić, czy słowo jest postaci ww R w można policzyć jego długość (musi to być liczba postaci 3k) a następnie użyć 3 liczników zmieniających się odpowiednio od 1 do

Dolegliwości te nie są (obiektywnie) identyczne i dlatego musi się rozróżniać rozmaite choroby, co odpowiada klasyfikacji K.. Natomiast

Dobitnym przykładem jest tu stanowi ­ sko Augustynka, który jest skłonny filozoficzne (sic!) pytanie o naturę badanych przedmiotów parafrazować jako pytanie o to,

Należy kilkukrotnie narysować obrazki trochę różniące się od poprzednio nauczonych, a następnie uruchomić funkcję rozpoznania/korekcji obrazu

[r]

Wprowadzenie op³at za korzystanie ze œrodowiska mo¿e zwiêkszyæ koszty produkcji i wp³yn¹æ na konkurencyjnoœæ firm, dlatego poziom op³at powinien byæ jednolity w ramach UE..