Konvolutivna neuronska mreža


Motivacija

Neuronske mreže predstavljaju univerzalne klasifikatore, dok je uvođenjem slojeva za konvoluciju performansa istih u zadacima klasifikacije slika u mnogome povećana. Implementacije dubokih neuronskih mreža koje vrše particionisanje slike i njihovo enkodiranje na osnovu obučavajućeg skupa predstavljaju novi pristup u detekciji objekata, pre svega u detekcijama gde je preciznost bitna, a ulazni podaci variraju ili postoje određene smetnje, poput preklapanja ili zaklonjenosti.

Jedna od ovakvih implementacija opisana je u radu: https://arxiv.org/pdf/1506.04878.pdf, dok je praktično implementirana uz oslonac na Tensorflow biblioteku, u vidu TensorBox paketa za obučavanje neuronske mreže i detekciju objekata.


Postupak

S obzirom na to da se radi o konvolutivnoj neuronskoj mreži, karakteristike slika se određuju u procesu obučavanja neuronske mreže, koja ih sama podešava u procesu obučavanja. Potrebno je obezbediti dovoljno veliki broj slika sa anotacijama objekata od interesa u odgovarajućem formatu. U ovu svrhu upotrebljen je GTSDB skup podataka, gde je napisana skripta za prevođenje postojeće anotacije u odgovarajući format. Nakon toga se započinje obučavanje postavljene neuronske mreže.

Neuronska mreža oslanja se na karakteristike samih objekata, konteksta u kojem se nalaze (pozadine), kao i mogućim transformacijama koje se nad njima dešavaju kroz različite primere. Negativni primeri nisu potrebni jer neuronska mreža u procesu obučavanja ne vrši klasifikaciju po objektima diferenciranjem između pozitivnih i negativnih slučajeva, već traži parametre na osnovu primera označenih objekata.

Veliki broj pozitivnih primera doprinosi većoj preciznosti, a mreža se obučava na osnovu svih saobraćajnih znakova. Obučavanje je dugotrajno, međutim posle nekoliko stotina iteracija preciznost prevazilazi prethodne pristupe detekciji znakova, uz slične praktične performanse u vidu vremena neophodnog za obradu slike.


Rezultati

Nakon obučavanja, neuronska mreža je spremna za upotrebu za detekciju objekata. Potrebno je skalirati sliku na očekivane dimenzije, koja se daje na ulaz za detekciju. Izlaz predstavlja anotirana slika, odnosno bounding box gde je mreža detektovala znak. Moguće je da će se desiti više detekcija u regionu bliskom znaku što je neophodno obraditi, pre svega u smislu udaljenosti takvih objekata. Potrebno je diferencirati iste objekte, od onih na kojima se objekti preklapaju, pa se primenjuje Non-Maximum Suppression, kako bi se suvišne detekcije uklonile, odnosno predstavile kao jedna.

Detekcije pre primene NMS algoritma predstavljene su crvenom bojom, dok je zelenom bojom predstavljena konačna detekcija objekta.

Rezultat detekcije - predikcija Anotirano iz skupa - istinita vrednost


In [ ]: