## Podprojekt Jakub Adamski Wykrywanie rodzaju rośliny w danym polu, na którym znajduje się traktor. ## Spis treści * [Wykorzystana technologia](#wykorzystana-technologia) * [Dane](#dane) * [Kod](#kod) * [Działanie](#działanie) * [Uruchomienie](#uruchomienie) * [Notatki](#notatki) ## Wykorzystana technologia W projekcie wykorzystuję sieć neuronową. Jest to klasyfikator obiektów, oparty na modelu MobileNetV2. MobileNet to wysoce zoptymalizowana struktura pozwalająca na rozpoznawanie obiektów.
Składa się z warstw: CNN - convolutional neural network do wyodrębnienia cech charakterystycznych z obrazka oraz jednej warstwy dense, złozonej z duzej ilosci neuronow, które produkują finalny wynik na podstawie wyniku z CNN. ## Dane Trenowanie klasyfikatorów od zera jest bardzo czasochłonne. Zazwyczaj zajmuje nawet kilka dni, nie wspominając o zgromadzeniu bardzo duzej ilosci zdjęć - najlepiej klika milionów.
Z tego powodu wykorzystuję, gotową, wytrenowaną sieć na zbiorze danych imagenet. Do uruchomienia urzywam pakietu keras dostępnego w bibliotece tensorflow. Tensorflow to rozbudowany zestaw narzędzi do machine learningu, keraz to nakładka ułatwijąca uzywanie tego frameworku. ## Kod Klasyfikator działa w głównej pętli while w pliku main.py. Uruchamia się gdy traktor (niebieski kwadrat) zmieni swoją lokalizację. Zdjęcia przypisane do danej kratki są dobierane losowo. W finalnej wersji zdjęć będzie więcej - folder imgs/.
Gdy klasyfikator zakończy swoje działanie, w konsoli pojawia się najbardziej prawdopodobny obiekt znajdujący się na zdjęciu. Zdjęcie pojawia się w osobnym oknie. Po zamknięciu okna mozemy kontynuować sterowanie traktorem za pomocą strzałek. ## Działanie W finalnej wersji łączącej wszytkie podprojekty mozna dodatkowo dołączyć walidację otrzymanego wyniku na podstawie nazwy zdjęcia.
![](ss/adamski1.png) ## Uruchomienie Instalacja tensorflow
Byl error z jakas biblioteka, trzeba zainstalować nomkl lub rozwiazanie ad hoc to komenda która pokazuje się przy błędzie. os.environ['KMP_DUPLICATE_LIB_OK']='True' https://docs.anaconda.com/mkl-optimizations/ ## Notatki Lista obiektów: - pumpkin/dynia ok - spaghetti_squash - cabbage/kapusta ok - head_cabbage - mushchroom/grzyb ok - mushroom - cauliflower/kalafior ok - cauliflower - ziemniak NIE ROZPOZNAL - marchewka NIE ROZPOZNAL