7.5 KiB
Predykcja technicali
Technical
'Technical' to pojęcie określające lekki pojazd o przeznaczeniu wojskowym mającym pełnić rolę wsparcia na polu bitwy. Technical jako koncept wojskowy wywodzi się z lat 80, kiedy globalizacja i powszechna motoryzacja zaczęła mieć wpływ na działania bojówek afrykańskich i bliskiego wschodu. Organizacje te, albowiem, w tym okresie zaczęły wykorzystywać w dużych ilościach prowizorycznie zmodyfikowane pojazdy cywilne (szczególnie pojazdy w stylu Toyota Hilux) do transportu, a także wsparcia ogniowego lżejszych jednostek piechoty, które zazwyczaj nie mogły się cieszyć żadnym wsparciem w konfliktach tego typu. Chyba najlepiej koncept tego pojazdu ilustruje konflikt Toyota War, nazwany po masowym wykorzystaniu pojazdów tego producenta w tym konflikcie w roli technicali. Koncept ten okazał się na tyle skuteczny, że w ostatnich latach zachodnie firmy zbrojeniowe zaczęły produkować własne iteracje na tym koncepcie, tworząc profesjonalnie wyprodukowane pojazdy mające wykonywać rolę, która dotychczas była tylko wykonywana przez pojazdy improwizowane.
Charakterystyka pojazdów typu technical oznacza, że są, de facto, w szarej strefie pomiędzy pojazdami cywilnymi a wojskowymi. Technical to może być cywilna ciężarówka z przymocowanym uzbrojeniem na dachu, co czyni automatyczne rozpoznawanie pojazdów tego typu potencjalnie trudnym, a jednocześnie istotnym, albowiem poprzez swoje podobieństwo do cywilnych pojazdów błędne rozpoznanie technicala może bardzo łatwo prowadzić to tragedii w środowisku wojskowym.
Zbiór danych
Niestety zagadnienie technicali nie trafiło jeszcze do mainstreamu. W związku z tym dobra dokumentacja zdjęciowa tych maszyn jest ograniczona i z reguły znajduje się na rozproszonych forach dedykowanych wojskowości. Co za tym idzie zbiór danych został zbudowany poprzez wykorzystanie tego gotowego zestawu zdjęć pojazdów wojskowych oraz tego zestawu aut jako pojazdów cywilnych. W ten sposób powstał wystarczająco duży zestaw treningowy i testowy. Aby potwierdzić czy model potrafi rozpoznawać technicale, został stworzony dodatkowy zestaw zdjęć, głównie poprzez scrapowanie z Reddit.com i następnie ręczną weryfikacje. Jako kontrprzykład do tego zestawu zdjęć technicali został wykorzystany ponownie testowy zestaw zdjęć pojazdów cywilnych.
Zbiór treningowy | Zbiór testowy | Zbiór weryfikacyjny | |
---|---|---|---|
Pojazdy wojskowe | 10415 | 3720 | 401 |
Pojazdy cywilne | 1197 | 598 | 598 |
Dokładne źródła zdjęć technicali
Ze strony Reddit.com subreddit r\shittytechincals został wykorzystany jako główne źródło zdjęć. Jest to największe na tej stronie zgromadzenie dedykowane do wymiany zdjęć tych pojazdów. Kwestia dokładnej definicji technicala jest tematem kontrowersyjnym. Jest to zaiste pojęcie rozmyte. Przyjąłem założenie że technical musi być pojazdem naziemnym, z minimalnym lub prowizorycznym pancerzem i zamontowanym uzbrojeniem. Powyższe założenia zostały wykorzystane w ręcznej kuracji zdjęć, i m.in. ilustracje, memy, obrazy pojazdów powietrznych lub nawodnych zostały wyeliminowane z zestawu zdjęć.
Preprocessing
W celu ujednolicenia danych wszystkie zdjęcia zostały zmniejszone do 225x225 px, a następnie zamienione na zdjęcia czarno białe. Oprócz przyspieszenia treningu ten ruch miał na celu wyeliminowanie biasu wynikającego z koloru pojazdów jak i palety kolorystycznej otoczenia.
Model v1
W celu predykcji została stworzona stosunkowo prosta sieć neuronowa składająca się z dwóch warstw konwolucyjnych i dwóch gęstych. Podczas treningu sample były wybierane pseudolosowo, z biasem odpowiadającym dysproporcji wielkości klas w zestawie treningowym.
Ewaluacja
Model osiągnął celność 100% na zestawie treningowym z następującym confusion matrix:
Predicted Negative | Predicted Positive | |
---|---|---|
Actual Negative | 5750 | 5 |
Actual Positive | 8 | 5847 |
Model osiągnął celność 95% na zestawie testowym z następującym confusion matrix:
Predicted Negative | Predicted Positive | |
---|---|---|
Actual Negative | 2001 | 194 |
Actual Positive | 34 | 2127 |
Choć widoczny jest bias, jest on w miarę akceptowalny. Następnie koniecznym było określenie jak ta sieć się spełnia w zadaniu rozróżniania pojazdów cywilnych od technicali. W tym celu została wykonana ewaluacja na zestawie weryfikacyjnym, gdzie zdjęcia technicali były traktowane jako zdjęcia pojazdów wojskowych. W tym zadaniu model osiągnął 93% celności z następującym confusion matrix:
Predicted Negative | Predicted Positive | |
---|---|---|
Actual Negative | 434 | 62 |
Actual Positive | 12 | 489 |
Model v2
Po sukcesie modelu v1 kwestią otwartą było to, czy nie da się zbudować lepszej sieci neuronowej wprowadzając drobne zmiany do jej struktury. Zatem na podstawie pierwszej wersji modelu powstała druga wersja z dodatkową warstwą konwolucyjną i większą ilością neuronów w warstwach. Model ten osiągnął celność 100% na zestawie treningowym z następującym confusion matrix:
Predicted Negative | Predicted Positive | |
---|---|---|
Actual Negative | 5760 | 0 |
Actual Positive | 31 | 5819 |
Na zestawie testowym ta iteracja modelu osiągnęła celność 99% z następującym confusion matrix:
Predicted Negative | Predicted Positive | |
---|---|---|
Actual Negative | 2105 | 23 |
Actual Positive | 18 | 2170 |
I na zestawie weryfikacyjnym model osiągnął celność 98% z następującym confusion matrix:
Predicted Negative | Predicted Positive | |
---|---|---|
Actual Negative | 494 | 8 |
Actual Positive | 7 | 488 |
Model v3
Widząc taki ogromny sukces w rozróżnianiu technicali modelu v2, jedynym logicznym pytaniem było to, czy da się dotrzeć do ~100% celności? W tym celu powstała sieć v3, jeszcze bardziej rozbudowana wersja sieci v2. Niestety ta sieć osiągnęła jedynie marginalnie lepsze wyniki, z różnicą celności < 0.01.
Wnioski
Model wytrenowany na zdjęciach konwencjonalnych pojazdów wojskowych jest w stanie skutecznie rozróżniać między pojazdami typu technical a pojazdami cywilnymi. Kwestią otwartą analizy jest to czy wyniki modelu są wystarczająco dobre, oraz czy model sobie dobrze poradzi z rozpoznawaniem szczególnie niekonwencjonalnych technicali.