1
0
forked from s444399/AI
AI/KijowskiM.md

60 lines
2.4 KiB
Markdown
Raw Normal View History

2020-05-10 22:19:44 +02:00
## Raport z wykonania części indywidualnej projektu
## Kijowski Michał
### Omówienie projektu
Projekt polega na dodaniu automatycznej identyfikacji paczek przychodzących do magazynu, na podstawie ich zdjęcia. Do wykonania projektu wykorzystałem uczenie sieci neuronowych (yolov3). Po otrzymaniu pliku graficznego przedstawiającego paczkę, program szuka na niej piktogramów aby zidentyfikować tę paczkę.
Wyróżniamy:
| Identyfikacja | Wyszukiwane piktogramy |
| -------- | -------- |
2020-05-10 22:20:46 +02:00
| Kruche | ![](https://git.wmi.amu.edu.pl/s444399/AI/raw/master/demo/kruche.png) |
2020-05-10 22:19:44 +02:00
| Niebezpieczne | ![](https://git.wmi.amu.edu.pl/s444399/AI/raw/master/demo/electrical.png) ![](https://git.wmi.amu.edu.pl/s444399/AI/raw/master/demo/biohazard.png) |
| Radioaktywne | ![](https://git.wmi.amu.edu.pl/s444399/AI/raw/master/demo/radioactive.png) |
| Łatwopalne | ![](https://git.wmi.amu.edu.pl/s444399/AI/raw/master/demo/flammable.png) |
Jeśli nie znajdziemy żadnego z piktogramów, paczka jest klasyfikowana jako zwykła.
### Uczenie modelu
2020-05-10 22:57:24 +02:00
Program ten dysponuje pięcioma klasami, są to:
* kruche
* radioaktywne
* zagrożenia elektryczne
* biohazard
* latwopalne
Dla każdej klasy został przygotowany zbiór przedstawiający piktogramy reprezentowane przez te klasy:
* kruche - 137 zdjęć
* radioaktywne - 136 zdjęć
* zagrożenia elektryczne - 141 zdjęć
* biohazard - 144 zdjęć
* latwopalne - 120 zdjęć
Dla każdego pliku przygotowałem plik tekstowy o takiej samej nazwie (różniącej się tylko rozszerzeniem), w którym zawarte są współrzędne obiektów które chcemy wyszukiwać. I tak w każdej lini dla każdego obiektu na danym zdjęciu, zgodnie ze schematem:
<object-class> <x> <y> <width> <height>
Z tak przygotowanego zbioru wybrałem losowo niewielką część jako zbiór testowy.
Nasz zbiór uczący używamy w programie [darknet](https://github.com/pjreddie/darknet) do wygenerowania wag dla sieci. Wykorzystałem do tego pretrenowany model i dostosowałem go do potrzeb tego projektu z wykorzystaniem właśnie tego zbioru.
Współczynnik recall (część wspólna obiektu i detekcji przez rozmiar obiektu) dla poszczególnych etapów uczenia na podstawie zbioru testowego:
| Liczba iteracji | Współczynnik recall |
| -------- | -------- |
| 100 | % |
| 200 | % |
| 500 | % |
| 1000 | % |
| 5000 | % |
| 15000 | % |
| 30000 | % |
| 40000 | % |
2020-05-10 22:19:44 +02:00
### Integracja projektu
### Implementacja projektu