forked from s444426/AIProjekt
40 lines
2.3 KiB
Markdown
40 lines
2.3 KiB
Markdown
## Podprojekt Jakub Adamski
|
|
Wykrywanie rodzaju rośliny na danym polu, w 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. <br>
|
|
Składa się z warstw: CNN - convolutional neural network do wyodrębnienia cech charakterystycznych z obrazka oraz jednej warstwy dense, złozonej z 4 neuronow (ilosc obiektow w moim projekcie), które produkują finalny wynik na podstawie wyniku z CNN.
|
|
|
|
## Dane
|
|
Zgromadzone zdjecia dostepne sa tutaj: [link](https://drive.google.com/open?id=1cs3TE-niBrhXT-23IA9g2rll3Qpk7Xdk). Dane zbierałem za pomocą wyszukiwarki google, następnie pogrupowałem według klas. Ostatnie 20 warstw sieci jest wytrenowana w pliku net_training.py, pierwsze warstwy są uczone na zbiorze danych imagenet - zmienna base_model. <br>
|
|
Do uruchomienia uzywam 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/. <br>
|
|
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
|
|
![uczenie](ss/adamski2.png) <br>
|
|
![dzialanie](ss/adamski1.png)
|
|
|
|
## Uruchomienie
|
|
Instalacja tensorflow <br>
|
|
Byl error z jakas biblioteka, trzeba zainstalować nomkl lub rozwiazanie ad hoc to komenda która pokazuje się przy błędzie. <code>os.environ['KMP_DUPLICATE_LIB_OK']='True'</code>
|
|
https://docs.anaconda.com/mkl-optimizations/
|
|
|
|
|
|
## Notatki
|
|
Lista obiektów:
|
|
- pumpkin/dynia
|
|
- cabbage/kapusta
|
|
- mushroom/grzyb
|
|
- cauliflower/kalafior
|