• Nie Znaleziono Wyników

Proste rozpoznawanie obrazów

N/A
N/A
Protected

Academic year: 2021

Share "Proste rozpoznawanie obrazów"

Copied!
3
0
0

Pełen tekst

(1)

Proste rozpoznawanie obrazów

Systemy Sztucznej Inteligencji Instrukcje do ćwiczeń laboratoryjnych

Zadanie do wykonania

Zadaniem systemu jest rozpoznawanie i naprawianie obrazów dwukolorowych (sygnałów dwuwymiarowych, o wartościach 0 albo 1). Najpierw do systemu dostarczane są obrazy wzorcowe, a następnie obraz testowy. System naprawia przedstawiony obraz testowy, tak aby przedstawiał on najbardziej podobny obraz wzorcowy. Zakłada się tutaj, że rozmiar wszystkich obrazów jest stały.

Wartość 0 oznacza kolor biały, a 1 kolor czarny. Warto zaznaczyć, że dla sieci Hopfielda wszystkie wartości pikseli konwertowane są na -1 albo +1.

1. Sieć neuronowa Hopfielda

Struktura ta jest rekurencyjną siecią neuronową służącą do naprawy obrazów. Początkowe wartości wyjść są podawane z zewnątrz podczas uczenia albo rozpoznawania i mają one zawsze wartości -1 albo +1. Wyjście każdego neuronu jest jednocześnie wejściem dla wszystkich innych neuronów (neuron nie jest połączony z samym sobą).

Działanie neuronu składa się z 2 kroków:

próg suma1

waga1,2 wyjście 1

waga1,n...

waga1,2 waga1,3

próg suma 2

waga1,1 wyjście 2

waga1,n...

waga1,3

próg suma n

waga n,1 wyjście n

waga n-1...

waga n,2

...

(2)

1. Sumowane są wejścia pomnożone przez odpowiednie wagi sumai=

j=1..n ;i≠ j

wyjsciej∗wagai , j , gdzie i to numer aktualnego neuronu, j to numer pozostałych neuronów, wagai,j to waga i-tego neuronu, j-tego wejścia, n to liczba neuronów.

2. Liczona jest wartość wyjścia tego neuronu za pomocą progu 0, wyjsciei={+1 jeśli sumai≥0

−1 jeśli sumai<0 .

Uczenie (korekcja) wag neuronów za pomocą reguły Hebba polega na zastosowaniu wzoru:

wagai , j=wagai , j+1

nwyjsciei∗wyjsciej ,

gdzie i oraz j to numery różnych neuronów, n to liczba neuronów, wagai,j to waga i-tego neuronu, j- tego wejścia.

Zadanie do wykonania

Proszę wykorzystać stworzony do tego zadania szablon projektu, a cały algorytm związany z siecią Hopfielda zawrzeć jedynie w odpowiedniej klasie statycznej, której szkielet również został zawarty w projekcie.

Treść eksperymentu:

1. Najpierw należy zainicjować sieć neuronową za pomocą metody

HopfieldaSiecAlgorytm.inicjuj(..), w tym celu należy stworzyć tablicę z wagami sieci o rozmiarze n x n (n to liczba neuronów; n = szerokość * wysokość) wypełnioną początkowo zerami.

2. Należy kilkukrotnie narysować różne obrazki, a następnie nauczyć sieć za pomocą metody HopfieldaSiecAlgorytm.nauczObraz(..). W tym celu trzeba zastosować wzór korekcji wag neuronów napisany uprzednio. Należy zwrócić uwagę, że wartości podanych wejść muszą mieć wartość -1 albo +1.

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

HopfieldaSiecAlgorytm.rozpoznajObraz(..). Może się zdarzyć, iż za pierwszym razem sieć nie naprawi całego obrazka, wtedy należy powtórzyć proces rozpoznawania. Za każdym razem sieć Hopfielda powinna finalnie naprawić obraz, czyli podać jego wersję w postaci tej samej co podczas uczenia, albo też jego negatyw.

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

znak wzorcowy 1:

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

znak wzorcowy 2:

(3)

1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 znak wzorcowy 3:

0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 0 znak testowy 1:

0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 znak testowy 2:

1 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 1 0 0 1 znak testowy 3:

0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 0 0 znak testowy 4:

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

Cytaty

Powiązane dokumenty

Podaj szczegóły wykonania, takie jak: temat obrazu, kolorystyka, wyszczególnienie planów (kompozycja), nastrój, światłocień, odniesienie tematyki i kolorystyki do

Dzięki zastosowaniu korekcji dynamicznej metodą „w ciemno” uzyskuje się lepsze odtworzenie sygnału mierzonego (Rys. Wpływ korekcji dynamicznej metodą „w ciemno” na

109 wymienione są sztuczki ułatwiające edytowanie i formatowanie wstawianych do tekstu rysunków – do zapoznania się i zabawy dla chętnych...

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..

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..

db2 select count(*) from syscat.tables (396) Odłączyć się od bazy danych Test..

W dalszej części artykułu przed- stawiono wyniki analizy fraktalnej obrazów występujących w naturze, obrazów stanowiących wynik działal- ności człowieka oraz przykładowych

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