KLASYFIKACJA TEKSTUR ZA POMOCĄ SVM MASZYNY WEKTORÓW WSPIERAJĄCYCH



Podobne dokumenty
UCZENIE MASZYNOWE III - SVM. mgr inż. Adam Kupryjanow

7. Maszyny wektorów podpierajacych SVMs

A Zadanie

PRZETWARZANIE GRAFICZNYCH DANYCH EMPIRYCZNYCH DLA POTRZEB EDUKACJI SZTUCZNYCH SIECI NEURONOWYCH, MODELUJĄCYCH WYBRANE ZAGADNIENIA INŻYNIERII ROLNICZEJ

Widzenie komputerowe (computer vision)

Ontogeniczne sieci neuronowe. O sieciach zmieniających swoją strukturę

5. Analiza dyskryminacyjna: FLD, LDA, QDA

Popularne klasyfikatory w pakietach komputerowych

PROGNOZOWANIE CENY OGÓRKA SZKLARNIOWEGO ZA POMOCĄ SIECI NEURONOWYCH

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Problem eliminacji nieprzystających elementów w zadaniu rozpoznania wzorca Marcin Luckner

Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.

Zastosowania sieci neuronowych

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

WYZNACZANIE WARTOŚCI PODSTAWOWYCH PARAMETRÓW TECHNICZNYCH NOWOCZESNYCH KOMBAJNÓW ZBOŻOWYCH PRZY UŻYCIU SSN

SPOTKANIE 2: Wprowadzenie cz. I

Prof. Stanisław Jankowski

Maszyny wektorów podpierajacych w regresji rangowej

4.1. Wprowadzenie Podstawowe definicje Algorytm określania wartości parametrów w regresji logistycznej...74

OKREŚLENIE PRĘDKOŚCI PORUSZANIA SIĘ SZKODNIKÓW Z WYKORZYSTANIEM KOMPUTEROWEJ ANALIZY OBRAZU

WPŁYW LICZBY ZMIENNYCH NA JAKOŚĆ DZIAŁANIA NEURONOWEGO MODELU DO IDENTYFIKACJI MECHANICZNYCH USZKODZEŃ ZIARNIAKÓW KUKURYDZY

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

Laboratorium 11. Regresja SVM.

Rozszerzony konspekt przedmiotu Inteligentne maszyny i systemy

ZASTOSOWANIE AUTORSKIEJ METODY WYZNACZANIA WARTOŚCI PARAMETRÓW NOWOCZESNYCH SYSTEMÓW TECHNICZNYCH DO PŁUGÓW I OPRYSKIWACZY POLOWYCH

Testowanie modeli predykcyjnych

Systemy agentowe. Uwagi organizacyjne i wprowadzenie. Jędrzej Potoniec

Streszczenie. Słowa kluczowe: modele neuronowe, parametry ciągników rolniczych

Klasyfikacja LDA + walidacja

Sieci neuronowe w Statistica

WPŁYW KOMPRESJI BARW NA DZIAŁANIE NEURONOWEGO MODELU IDENTYFIKACYJNEGO

Zastosowanie sztucznej inteligencji w testowaniu oprogramowania


KLASYFIKACJA. Słownik języka polskiego

Metody klasyfikacji danych - część 1 p.1/24

Wykład wprowadzający

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Zastosowania sieci neuronowych

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Pattern Classification

SIECI RBF (RADIAL BASIS FUNCTIONS)

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym, kontynuacja badań

KONCEPCJA WYKORZYSTANIA SZTUCZNYCH SIECI NEURONOWYCH W DIAGNOSTYCE PRZEKŁADNI ZĘBATYCH

InŜynieria Rolnicza 14/2005. Streszczenie

Sztuczne Sieci Neuronowe. Wiktor Tracz Katedra Urządzania Lasu, Geomatyki i Ekonomiki Leśnictwa, Wydział Leśny SGGW

Data Mining Wykład 6. Naiwny klasyfikator Bayes a Maszyna wektorów nośnych (SVM) Naiwny klasyfikator Bayesa.

Metody systemowe i decyzyjne w informatyce

CHARAKTERYSTYKA I ZASTOSOWANIA ALGORYTMÓW OPTYMALIZACJI ROZMYTEJ. E. ZIÓŁKOWSKI 1 Wydział Odlewnictwa AGH, ul. Reymonta 23, Kraków

Wstęp do przetwarzania języka naturalnego. Wykład 11 Maszyna Wektorów Nośnych

Metody klasyfikacji i rozpoznawania wzorców. Najważniejsze rodzaje klasyfikatorów

Przykładowe funkcje przejścia używane przy budowie sztucznych neuronów

System wizyjny OMRON Xpectia FZx

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

MATLAB Neural Network Toolbox przegląd

Rozpoznawanie obrazów

ALGORYTM RANDOM FOREST

OCENA WYBRANYCH CECH JAKOŚCI MROŻONEK ZA POMOCĄ AKWIZYCJI OBRAZU

8. Drzewa decyzyjne, bagging, boosting i lasy losowe

Metody Sztucznej Inteligencji II

Optymalizacja systemów

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Automatyczna predykcja. Materiały/konsultacje. Co to jest uczenie maszynowe? Przykład 6/10/2013. Google Prediction API, maj 2010

THE NEURAL NETWORKS OF THE TYPE MLP AND RBF AS CLASSIFYING TOOLS IN PICTURE ANALYSIS

Projekt Sieci neuronowe

8. Neuron z ciągłą funkcją aktywacji.

Elementy inteligencji obliczeniowej

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Podstawy Sztucznej Inteligencji (PSZT)

Metody systemowe i decyzyjne w informatyce

Aproksymacja funkcji a regresja symboliczna

Algorytm grupowania danych typu kwantyzacji wektorów

WIELOKRYTERIALNY DOBÓR ROZTRZĄSACZY OBORNIKA

TEORETYCZNE PODSTAWY INFORMATYKI

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

WYKORZYSTANIE ALGORYTMÓW ROZPOZNAWANIA OBRAZU W BADANIACH NAUKOWYCH NA PRZYKŁADZIE PROGRAMU ZIEMNIAK-99

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Projektowanie baz danych za pomocą narzędzi CASE

10. Redukcja wymiaru - metoda PCA

KOMPUTEROWE WSPOMAGANIE CHEMICZNEJ OCHRONY ROŚLIN PRZY POMOCY PROGRAMU HERBICYD-2

Sztuczne sieci neuronowe (SNN)

PROBLEM ROZMIESZCZENIA MASZYN LICZĄCYCH W DUŻYCH SYSTEMACH PRZEMYSŁOWYCH AUTOMATYCZNIE STEROWANYCH

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Wymagania na poszczególne oceny szkolne dla klasy VI. (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej.

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Klasyfikacja publikacji biomedycznych w konkursie JRS 2012 Data Mining Competition - Szkic koncepcji

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

Wymagania edukacyjne z informatyki dla uczniów klas VI SP nr 53 w Krakowie w roku szkolnym 2019/2020

Metody systemowe i decyzyjne w informatyce

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Metody tworzenia efektywnych komitetów klasyfikatorów jednoklasowych Bartosz Krawczyk Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska

ZASTOSOWANIE SIECI NEURONOWYCH DO OPTYMALIZACJI WARUNKÓW OBRÓBKI CIEPLNEJ STOPÓW Mg-Al

Rysunek 8. Rysunek 9.

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład III 2016/2017

Kombinacja jądrowych estymatorów gęstości w klasyfikacji - zastosowanie na sztucznym zbiorze danych

MODELOWANIE STANÓW CZYNNOŚCIOWYCH W JĘZYKU SIECI BAYESOWSKICH

Michał Strzelecki Metody przetwarzania i analizy obrazów biomedycznych (3)

KOMPUTEROWE METODY WSPOMAGANIA ZARZĄDZANIA STADEM KRÓW MLECZNYCH

Transkrypt:

Inżynieria Rolnicza 13/2006 Jacek Goszczyński Instytut Inżynierii Rolniczej Akademia Rolnicza w Poznaniu KLASYFIKACJA TEKSTUR ZA POMOCĄ SVM MASZYNY WEKTORÓW WSPIERAJĄCYCH Streszczenie Motywacją do badań był pomysł wytworzenia robota-kosiarki wyposażonego w system komputerowego widzenia. Rozpoznawanie obrazu może zostać zrealizowane za pomocą klasyfikacji tekstur obiektów, które otaczają robota. Artykuł przedstawia przykład klasyfikacji tekstur za pomocą Maszyny wektorów wspierających SVM (ang. Support Vector Machine) Do badań wykorzystano oprogramowanie LIBSVM. Słowa kluczowe: Maszyna wektorów wspierających, rozpoznawanie wzorców, rozpoznawanie obrazów, rolniczy robot mobilny Wprowadzenie W naukach rolniczych często spotykane są problemy, dla których zależności są bardzo skomplikowane i może to wymagać rozwiązania problemu nieseparowalnego liniowo. Zbiorem takich przykładowych problemów, może być rozpoznawanie obiektów znajdujących się na obrazach przedstawiające naturalne środowisko. Wpływ warunków przyrodniczych na wygląd obiektów jest tak duży, że zastosowanie prostych metod rozpoznawanie obrazu na podstawie różnicy kolorów nie spełnia swojej roli. Jednym ze sposobów na powyższą sytuację jest rozpoznawanie złożonych cech jednoznacznie identyfikujące widziane obiekty. Jedną z takich cech może być tekstura. Przy cyfrowym zapisie obrazu teksturę można przedstawić za pomocą dwuwymiarowej tablicy pikseli. Natomiast rozpoznawanie tekstur może być zrealizowane za pomocą algorytmów rozwiązujących problemy klasyfikacji, do których należy min metoda maszyny wektorów wspierających (ang. Support Vector Machine ) SVM. 119

Jacek Goszczyński Metoda SVM Metoda SVM jest stosunkową młoda metodą służącą do rozwiązywania problemów regresji oraz klasyfikacji zaproponowaną przez Vladimira Vapnika [Vapnik 1995]. Klasyfikacja za pomocą metody SVM jest realizowana podobnie jak w przypadku sztucznych sieci neuronowych za pomocą zbioru uczącego. Jest to doskonała alternatywa dla sztucznych sieci neuronowych i często poprawność klasyfikacji jest lepsza dla SVM. Istotą metody SVM jest konstrukcja optymalnej hiperpłaszczyzny, której zadaniem jest rozdzielenie danych, należących do przeciwnych klas, z możliwie największym marginesem zaufania [Jankowski 2003]. min ω, b, ξ 1 l T ω ω + C ξi 2 i= 1 T y ( ω φ( x ) + b) 1 ξ, ξ 0. i i Na rys. 1 przedstawiona jest optymalna hiperpłaszczyzna dla dualnego problemu klasyfikacyjnego, w postaci prostej funkcji liniowej separującej obiekty należące do dwóch klas kwadratów i kół. Rozpatrywanymi cechami obiektów są wartości zmiennych x i y określających położenie obiektu na płaszczyźnie a nie ich kształt. i i (1) Rys. 1. Fig. 1. Optymalna hiperpłaszczyzna dla dualnego problemu klasyfikacyjnego Optimal hiperplane for doubleclasification problem 120

Klasyfikacja tekstur... Dla problemów, w których nie można idealnie rozdzielić obiekty należące do przeciwnych klas, czyli nie istnieje idealnie separująca funkcja w przestrzeni cech, Cortes i Vapnik [Cortes 1995] zaproponowali metodę SVM, w postaci następującego zadania optymalizacyjnego: Dany jest zbiór trenujący oznaczonych wzorców (x i,y i ), i = 1 l, gdzie x i R n są cechami wzorców i y (-1,1) l, które są oznaczeniami wzorców, SVM wymaga rozwiązania następującego problemu optymalizacyjnego przedstawionego za pomocą równania nr 1: gdzie: ω i b współczynniki optymalnej hiperpłaszczyzny φ(.) funkcja jądrowa (bazowa), C parametr wysokości kary, zmienna rozluźniająca, ξ i Ideą metody SVM jest konstrukcja optymalnej hiperpłaszczyzny w pewnej wysokowymiarowej przestrzeni cech Z, która jest nieliniowym produktem pewnych funkcji jądrowych φ(.) wybranych a priori. SVM znajduje liniową hiperpowierzchnię w wysokowymiarowej przestrzeni cech Z z możliwie największym marginesem rozdzielającym. W metodzie SVM optymalizacja marginesu realizowana jest poprzez wyszukanie możliwie najlepszego parametru kary C oraz parametrów funkcji jądrowych. W literaturze dotyczącej rozpoznawania wzorców za pomocą SVM stosowane są następujące funkcje jądrowe: liniowa: K(x i, x j ) = x T i x j, wielomianowa: K(x i, x j ) = (γx T i x j + r) d, γ> 0, radialna (RBF): K(x i, x j ) = exp ( γ xi x j 2 ), γ> 0, sigmoidalna: K(x i, x j ) = tanh (x T i x j + r). gdzie γ, r, oraz d są parametrami funkcji jądrowych. Na stronach http://www.kernel-machines.org/ znajduje się lista adresów internetowych do stron zawierających informacje dotyczące metody SVM. Wśród dostępnych pakietów informatycznych zawierających implementację metody SVM na wyróżnienie zasługują następujące: LIBSVM często aktualizowana bardzo prosta implementacja metody SVM, Torch http://www.torch.ch/ - duży pakiet z zestawem metod maszynowego uczenia, min, MLP, RBF, Naiwny klasyfikator Bayesa, SVM i inne. LightSVM jedna z pierwszych implementacji metody SVM. Dla przybliżenia zasady działania metody SVM posłużono się pakietem LIBSVM. Pakiet składa się on z trzech podstawowych programów uruchamianych bezpośrednio w oknie terminala systemu operacyjnego: svmscale, svmtrain, svmpredict. 121

Jacek Goszczyński Do pakietu dołączony jest zestaw skryptów napisanych w języku Pyton umożliwiających automatyzację poszukiwania parametrów związanych optymalną hiperpłaszczyzną []. Do uruchomienia skryptów niezbędna jest instalacja języka Python oraz pakietu do tworzenia wykresów gnuplot. Cel Celem jest rozwiązywanego problemu klasyfikacji trzech tekstur reprezentujących obiekty występujących na obrazie zarejestrowanych kamerą zamontowaną na zdalnie sterowanej kosiarce firmy Evatech Inc. RLMC2006C. Motywacją do rozwiązania rozpatrywanego problemu jest wizja wytworzenia robota-kosiarki samodzielnie poruszającego się po trawniku sąsiadującego z różnymi przeszkodami jak kwietnik oraz małe drzewa iglaste. Metodyka Do przeprowadzonych badań wytworzono program komputerowy SNNtoSVM konwertującym pliki programu Statisctica Neural Network 4.0 o rozszerzeniu.sta, do plików tekstowych wymaganych przez pakiet LIBSVM. W celu wygenerowania zbiorów uczących oraz testowych posłużono się oprogramowaniem ARBOO, który umożliwia: definiowanie nazw tekstur; zaznaczanie obszarów wzorcowych z teksturami na zdjęciach skatalogowanych w bazie danych; generowanie plików uczących lub testowych dla pakietu STATISTICA Neural Network 4.0; testowanie nauczonych sztucznych sieci neuronowych pod kontem poprawności klasyfikacji tekstur na zaznaczonych obszarach wzorcowych. W oprogramowaniu ARBOO zostały zdefiniowane trzy tekstury odpowiednio reprezentujące odpowiednie zbiory roślin: TRAWA, DRZEWKO IGLASTE, KWIETNIK. Zaznaczono 31 obszarów wzorcowych o łącznej powierzchni 450008 pikseli. Przykładowe wskazania obszarów wzorcowych przedstawione są na rys.2. Do przeprowadzenia badań wygenerowano dwa pliki: uczący oraz testowy, zawierające 3000 przykładowych tekstur o powierzchni 10x10 pikseli. Wybór tekstur z zaznaczonych obszarów wzorcowych odbywał się przy użyciu funkcji losowej systemu operacyjnego. W każdym ze zbiorów znajdowało się po 1000 przykładów z każdej tekstury. W plikach było 300 zmiennych wejściowych, które odpowiadały intensywności kolorów RGB każdego piksela tekstury. Trzy zmienne wejściowe reprezentowały przynależności do klasy. 122

Klasyfikacja tekstur... Rys. 2. Na lewym rysunku zaznaczony prostokątny obszar wzorcowy przedstawiający teksturę trawy, na prawym obszar przedstawiający teksturę identyfikującą kwietnik Fig. 2. Two pictures with selected rectangles of textures. On left picture is selected rectangle of grass texture and on the right is flowerbed Wyniki badań i ich analiza Klasyfikacja tekstur za pomocą sztucznych sieci neuronowych. Zbiór uczący tekstury_uczacy.sta wczytano do programu Statistica Neural Network i wyszukano najlepsza sztuczną sieć neuronową typu RBF(ang. Radial Function Basis) za pomocą funkcji automatycznego projektanta. Utworzoną sieć wczytano w oprogramowaniu ARBOO i wyliczono poprawność klasyfikacji dla wyznaczonych tekstur. Poprawność była liczona dla 10 zbiorów zawierających po 3000 przykładowych tekstur i mieściła się zakresach przedstawionych w tabeli 1. Tabela 1. Zakresy poprawności klasyfikacji zdefiniowanych tekstur przez nauczoną sztuczną sieć neuronową typu RBF Table 1. Classification accuracy ranges for RBF neural network Tekstura Poprawność klasyfikacji DRZEWKO IGLASTE 96,8 97,2 KWIETNIK 79,1 82,7 TRAWA 87,0 88,2 Klasyfikacja tekstur za pomocą LIBSVM Pliki wygenerowane przez oprogramowanie ARBOO zostały przekonwertowane za pomocą programu SNNtoSVM. Za pomocą programu svmscale zmienne 123

Jacek Goszczyński wejściowe w plikach tekstury_uczacy.svm oraz tekstury_test.svm zostały przeskalowane z zakresu [0, 255] do zakresu [0, 1]. $svmscale l 0 u 1 tekstury_uczacy.svm tekstury_uczacy.scale $svmscale l 0 u 1 tekstury_test.svm tekstury_test.scale Za pomocą skryptu grid.py przeprowadzono szukanie optymalnych parametrów C i γ. W ramach skryptu grid.py poszukiwana jest hiperpłaszczyzna w wytworzona z radialnych funkcji jądrowych. W trakcie szukania podstawiane są kolejno wartości C z zakresu C=2-5, 2-3,, 2 15 oraz γ= 2-15, 2-13,, 2 3. Podczas wyszukiwania otrzymano wykres rys. 3 ilustrujący zakres optymalny wartości dla parametrów C i γ. $python grid.py tekstury_uczacy.scale Rys. 3. Fig. 3. Wykres ilustrujący poziom poprawności klasyfikacji dla różnych wartości parametrów C oraz γ Chart with level of classification corretness for ranges of SVM parameter C and γ Dla wartości C = 8 i γ =0.125 utworzono model klasyfikatora tekstur za pomocą programu svmtrain. 124

Klasyfikacja tekstur... $svmtrain c 8 g 0.125 tekstury_uczacy.scale tekstury.model Następnie przeprowadzono testowanie utworzonego modelu. $svmpredict tekstury_test.scale tekstury.model tekstury.odp Accuracy = 91.1667% (2735/3000) (classification) Otrzymano wynik 91,2% poprawności klasyfikacji. Wnioski 1. Model umożliwiający klasyfikację tekstur utworzony za pomocą metody SVM był nieznacznie lepszy od najlepszej wyszukanej sztucznej sieci neuronowych. W poszukiwaniu jeszcze lepszych modeli można przeprowadzić badania przy użyciu innych funkcji jądrowych. 2. Poprawność klasyfikacji tekstur dla wyszukanej sztucznej sieci neuronowej typu RBF nie przekraczała 90%. 3. Poprawność klasyfikacji tekstur dla zbioru testowego wyliczona dla modelu klasyfikacyjnego utworzonego za pomocą metody SVM i radialnej funkcji bazowej wyniosła 91.1%. Bibliografia Hsu Ch., Chang Ch., Lin Ch. 2005. A Practical Guide to Support Vector Classification, Department of Computer Science and Information Engineering, National Taiwan University. Cortes, C. and V. Vapnik 1995. Support-vector network. Machine learning 20, 273 297. Jankowski N. 2003. Ontogeniczne sieci neuronowe. O sieciach zmieniających swoja strukturę, Akademicka Oficyna Wydawnicza EXIT, Warszawa. Vapnik, V. 1995. The Nature of Statistical Learning Theory. New York, NY: Springer-Verlag. 125

Jacek Goszczyński TEXTURE CLASSIFICATION USING SUPPORT VECTOR MACHINE Summary Motivation for research was idea to create mower robot with computer vision system. Image recognition can be done by textures classification of objects that robot is surrounded. This article has reviewed example of texture classification by SVM Support vector machine. For research was used LIBSVM software. Key words: support Vector Machine, pattern recognition, image recognition, agriculture mobile robot 126