Piotr BONIECKI, Artur JAKUBEK, Tatiana KUZIMSKA, Krzysztof PILARSKI Uniwersytet Przyrodniczy w Poznaniu, Instytut Inżynierii Rolniczej ul. Wojska Polskiego 50, 60-637 Poznań e-mail: bonie@up.poznan.pl COMPUTER SYSTEM "nstraw" ASSISTING A NEURAL IDENTIFICATION OF COMPOST MATURITY Summary The aim of this study was to describe a neural identification of the level of decomposition of organic material, based on graphic information, which is obtained by using image analysis. For this purpose, a neural network "nstraw" was generated for editing images, data retrieval and analysis. Key words: compost; maturity; image analysis; artificial intelligence; neural networks SYSTEM INFORMATYCZNY nstraw WSPOMAGAJĄCY NEURONOWĄ IDENTYFIKACJĘ STOPNIA DOJRZAŁOŚCI KOMPOSTU Streszczenie Celem pracy była neuronowa identyfikacja stopnia rozkładu materiału organicznego (słomy) na podstawie informacji graficznej, uzyskanej przy użyciu metod analizy obrazu. W tym celu opracowano oryginalny system informatyczny nstraw, umożliwiający edycję obrazów cyfrowych, akwizycję danych graficznych, ich analizę oraz konwersję do zbiorów uczących w postaci akceptowalnej przez symulator sztucznych sieci neuronowych. Słowa kluczowe: kompost; dojrzałość; analiza obrazu; sztuczna inteligencja; sieci neuronowe 1. Wprowadzenie Jedną z nowszych technologii informatycznych, znajdujących coraz większe uznanie zarówno wśród badaczy, jak również praktyków, są metody sztucznej inteligencji. Ich celem jest symulacja, tworzenie oraz rozwój maszyn (wirtualnych i rzeczywistych), które będą zdolne do rozwiązania zadań, przy których wykonywaniu człowiek używa swojej immamentnej cechy, jaką jest jego inteligencja. Sztuczne sieci neuronowe (SNN), wzorowane na połączeniach nerwowych występujących w ludzkim mózgu, podlegają procesowi uczenia, a następnie na podstawie nabytej wiedzy potrafią rozwiązywać zadania z zakresu logiki rozmytej [1, 9]. Charakteryzują się także zdolnością generalizowania pozyskanych informacji, co czyni je w znacznym stopniu odpornymi na przypadkowe wartości występujące w zbiorze danych (tzw. szum). Przetwarzając informacje w sposób szeregowy pracują podobnie jak czyni to człowiek w trakcie procesu myślenia [6]. Okazują się efektywnym narzędziem służącym do realizacji zadań klasyfikacyjnych oraz predykcyjnych zarówno naukowych, jak i praktycznych, w tym także z zakresu inżynierii rolniczej [1]. Zastosowanie sieci neuronowych jako narzędzia wspomagającego identyfikację rozkładu materii organicznej w procesie dojrzewania kompostu w znacznym stopniu ograniczy udział subiektywnego czynnika ludzkiego [3]. Komputerowa symulacja pracy mózgu wydaje się więc działaniem uzasadnionym tym bardziej, że wygenerowany klasyfikator neuronowy umożliwia automatyzację omawianego procesu [1, 8, 10]. Modelowanie neuronowe okazuje się również efektywnym instrumentem wykorzystywanym w analizie obrazu cyfrowego. Zasadniczą trudnością jest zdefiniowanie graficznych cech reprezentatywnych materiału organicznego określających stan dojrzałości kompostu, które będzie można pozyskać z jego obrazu cyfrowego. 2. Cel i zakres pracy Celem pracy było opracowanie, zgodnie z założeniami inżynierii oprogramowania, systemu informatycznego nstraw. Zgodnie z przyjętymi założeniami winien on wspomagać proces tworzenia adekwatnych zbiorów uczących, niezbędnych w procesie generowania SSN, poprzez identyfikację oraz ekstrakcję cech reprezentatywnych zakodowanych w formie graficznej w postaci obrazów cyfrowych. 3. Opis systemu Program nstraw daje możliwość generowania zbiorów uczących (w postaci plików CSV) przeznaczonych do tworzenia klasyfikacyjnych modeli neuronowych z wykorzystaniem symulatora SNN, zaimplementowanego w komercyjnym pakiecie Statistica [1]. Przykładowe obrazy (zdjęcia cyfrowe) materiału kompostowanego pokazano na rys. 1 i 2. Rys. 1. Obraz próbki pobranej na początku procesu kompostowania (źródło: praca własna) Fig. 1. Picture of the sample taken at the beginning of the process of composting (source: own work) 21
Rys. 2. Obraz próbki pobranej pod koniec procesu kompostowania (źródło: praca własna) Fig. 2. Picture of the sample taken at the end of the process of composting (source: own work) System informatyczny nstraw został opracowany na platformie Microsoft Visual Studio 2010, wykorzystującej framework.net w wersji 4.0. i napisany w języku C#, który należy do języków obiektowych wysokiego poziomu [2, 9]. Przetwarzanie obrazów cyfrowych (w zależności od potrzeb) zaimplementowano przy użyciu darmowej biblioteki AForge.NET oraz wykorzystując funkcje autorskie. Diagram przypadków użycia dla systemu informatycznego nstraw przedstawiono na rys. 3. Po uruchomieniu aplikacji nstraw pojawia się główne okno programu (rys. 4), na którym możemy dokonać wyboru modułu. System informatyczny nstraw zawiera 2 główne moduły: Analizuj zdjęcie i Stwórz zbiór uczący. Pierwszy z nich służy do analizy zdjęcia przy użyciu sieci neuronowej i zaklasyfikowania danej próbki jako kompostu dojrzałego lub nieprzekompostowanej jeszcze materii organicznej (rys. 5). Rys. 4. Okno główne programu nstraw (źródło: praca własna) Fig. 4. Main window of the nstraw program (source: own work) Po dokonaniu analizy wyniki można zapisać do pliku CSV (ang. Comma Separated Values wartości rozdzielone przecinkiem). Dodatkowo moduł ten zawiera funkcje edycji zdjęcia (zmiana jasności, zmiana kontrastu oraz kadrowanie), które są pomocne w procesie polepszania jego jakości w celu ułatwienia ekstrakcji cech charakterystycznych. Należy jednak pamiętać, że zbyt duża ingerencja szczególnie w kolorystykę zdjęcia, ale także złe wykadrowanie mogą przyczynić się do redukcji ilości informacji zawartej na obrazie. W konsekwencji prowadzi to do fałszywych wyników analizy. Rys. 3. Diagram przypadków użycia (źródło: praca własna) Fig. 3. Use case diagram (source: own work) 22
Kliknięcie przycisku Kontrast na formularzu wyboru sposobu edycji uruchamia formularz identyczny jak dla funkcji Jasność. Podobnie wartość kontrastu można zmieniać przesuwając suwak (lewa krawędź kontrast niski, prawa wysoki). Rys. 5. Okno analizy zdjęcia (źródło: praca własna) Fig. 5. Window of photograph analysis (source: own work) Po kliknięciu przycisku Edytuj ukazuje się poniższe okno (rys. 6), na którym do wyboru są trzy wspomniane opcje: Rys. 8. Okno zmiany kontrastu (źródło: praca własna) Fig. 8. Window of contrast change (source: own work) Po uruchomieniu funkcji Kadrowanie ukazuje się kolejne okno (rys. 9). Za pomocą myszki można zaznaczyć interesujący obszar na zdjęciu. Po wybraniu pola do kadrowania można je następni wyśrodkować. Każdorazowo zmiany wprowadzone do zdjęcia należy potwierdzić klikając OK. Rys. 6. Okno edycji (źródło: praca własna) Fig. 6. Window of edition (source: own work) Przycisk Jasność uruchamia formularz, na którym użytkownik za pomocą suwaka (lewa krawędź zdjęcie czarne, prawa zdjęcie białe) może zmieniać jasność oryginału (rys. 7). Niezmieniony obraz wyświetlany jest nad suwakiem, grafika wynikowa prezentowana jest po lewej stronie formularza. Rys. 9. Okno kadrowania (źródło: praca własna) Fig. 9. Window of framing (source: own work) Rys. 7. Okno zmiany jasności (źródło: praca własna) Fig. 7. Window of brightness change (source: own work) Po wczytaniu zdjęcia do programu nstraw w prawym górnym rogu pojawia się możliwość zapoznania się z informacjami dodatkowymi na temat obrazu. Załadowane zostaje poniższe okno, z którego odczytać można dokładną datę utworzenia grafiki, jej typ, ilość zajmowanego miejsca na dysku oraz rozmiar w pikselach. Dodatkowo przedstawione są histogramy jasności dla każdej składowej koloru przedstawionego w przestrzeni RGB (ang. Red Green Blue czerwony zielony niebieski). 23
Przycisk Stwórz uruchamia algorytm obróbki wybranego zdjęcia, pobranie danych i zapisanie całości do pliku CSV, który jest akceptowalny przez symulator sztucznych sieci neuronowych zawarty w pakiecie Statistica. Domyślnie zbiór uczący zachowywany jest w folderze, z którego uruchomiona została aplikacja. Za pomocą przycisku Zapisz można zapisać dane w dowolnym miejscu na dysku twardym. Przycisk Wyświetl uruchamia program Notatnik z wygenerowanym uprzednio zbiorem uczącym. Formularz Edycja (rys. 12) umożliwia wybór zdjęć przeznaczonych do edycji. Proces zaznaczania działa identycznie jak w głównym oknie modułu do tworzenia zbiorów. Po wybraniu obrazów przeznaczonych do korekty użytkownik ma do wyboru te same funkcje, jakie występowały przy edycji pojedynczego zdjęcia. Formularze do zmiany jasności, kontrastu i kadrowania są identycznie. Jedyną nowością są przyciski Poprzednie, Następne i Zastosuj do wszystkich zdjęć. Jak sugerują nazwy umożliwiają one wyświetlanie poprzedniego lub następnego obrazu (z puli wybranych do edycji) oraz zastosowanie zmian do wszystkich zaznaczonych zdjęć. Rys. 10. Okno informacji dodatkowych (źródło: praca własna) Fig. 10. Window of additional information (source: own work) Drugi moduł systemu nstraw powstał z myślą o automatyzacji procesu generowania zbioru danych w przypadku większej ilości obrazów. Główne udogodnienie to implementacja algorytmu, który pobiera informacje kolejno z każdego zdjęcia znajdującego się we wskazanym folderze. Czyni to proces tworzenia tablicy decyzyjnej praktycznie bezobsługowym. Po wczytaniu zdjęć do systemu nstraw istnieje możliwość wyboru obrazów do dalszej pracy. Wskazanie i kliknięcie elementu wywołuje akcję zmiany znaku znajdującego się obok prawego górnego rogu zdjęcia. Po wybraniu obiektów użytkownik ma do wyboru dwie funkcje Edytuj i Stwórz (rys. 11). Podobnie jak w module analizy pojedynczego zdjęcia, w tym również, po wczytaniu zdjęć z folderu pojawi się możliwość przeczytania dodatkowych informacji o zdjęciu. Za pomocą listy można wybrać obraz, na temat którego zostaną wyświetlone informacje. Rys. 12. Okno edycji wielu obrazów jednocześnie (źródło: praca własna) Fig. 12. Window for edition of many images simultaneously (source: own work) Rys. 11. Okno tworzenia zbioru uczącego (źródło: praca własna) Fig. 11. Window for creating the learning file (source: own work) Wykorzystując system nstraw można wygenerować zbiory uczące (w postaci plików CSV), a następnie automatycznie eksportować je do pakietu Statistica, w celu wygenerowania adekwatnych modeli neuronowych. Przykładowy zbiór uczący przedstawiono na rys. 13. 24
Rys. 13. Tworzenie zbioru uczącego (źródło: praca własna) Fig. 13. Creating the learning file (source: own work) 4. Wnioski 1. Opracowany system informatyczny nstraw jest odpowiednim narzędziem do określania stopnia rozkładu słomy zbożowej w trakcie procesu kompostowania. 2. System informatyczny udostępniany jest wraz z jego kodem źródłowym, co umożliwia dalszą rozbudowę programu o kolejne moduły rozszerzające jego funkcjonalność. 5. Bibliografia [1] Boniecki P.: Elementy modelowania neuronowego w rolnictwie. Wydawnictwo Uniwersytetu Przyrodniczego w Poznaniu, 2008, ss. 124. [2] Jaszkiewicz A.: Inżynieria oprogramowania. Gliwice: Wydawnictwo Helion, 1997. [3] Jędrczak A.: Biologiczne przetwarzanie odpadów. Warszawa: Wydawnictwo Naukowe PWN SA, 2008. [4] Nowakowski K., Boniecki P.: Wpływ liczby zmiennych na jakość działania neuronowego modelu do identyfikacji wybranych uszkodzeń ziarniaków (The impact of the number of variables on the operation quality of neuron model for identifying mechanical damage of corn seeds). Inżynieria rolnicza, 2008, Vol. 6(104): 145-151. [5] Ossowski S.: Sieci neuronowe w ujęciu algorytmicznym. Wydawnictwa Naukowo-Techniczne, 1996, ss. 234. [6] Pearl Solomon E., Berg L. R., Martin D. W., Villee C. A.: Narządy zmysłów. W: Biologia. Red. Gutowska H. Warszawa: MULTICO Oficyna Wydawnicza, 1998: 861-883. [7] Tadeusiewicz R., Korohoda P.: Komputerowa analiza i przetwarzanie obrazów. Wydawnictwo Fundacji Postępu Telekomunikacji, 1997, ss. 272. [8] Tadeusiewicz R.: Sieci neuronowe. Akademicka Oficyna Wydaw. RM, 1993, ss. 131. [9] Wrycza S., Marcinkowski B., Wyrzykowski K.: Język UML 2.0 w modelowaniu systemów informatycznych. Gliwice: Wydawnictwo Helion, 2006. [10] Żurada J., Barski M., Jędruch W.: Sieci neuronowe. Podstawy teorii i zastosowania. Wydawnictwo Naukowe PWN, 1996, ss. 372. Badania zrealizowano w ramach projektu NCBiR pt. "Technologie odzysku odpadów z wytwarzania biopaliw ciekłych i gazowych" (projekt nr N N313 050036). 25