Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA
Projekt iz predmeta Raspoznavanje uzoraka
Ak. god. 2018/2019
Automatska procjena gustoće mnoštva ljudi uporabom teksture
Autori:
Mirko Bartol
Viktor Prusac
Ivan Despot
Marko Mihaljčuk
siječanj, 2019.
I
Sadržaj:
1. Projektni zadatak ......................................................................................... 1
1.1 OPIS PROJEKTNOG ZADATKA ..................................................................................................................... 1 1.2 PREGLED I OPIS SRODNIH RJEŠENJA ........................................................................................................... 1 1.3 KONCEPTUALNO RJEŠENJE ZADATKA ........................................................................................................ 1
2. Postupak rješavanja zadatka ...................................................................... 5
2.1 UČITAVANJE SLIKA U CRNO BIJELOJ BOJI ................................................................................................... 5 2.2 GLCM ....................................................................................................................................................... 5
2.2.1 Učitavanje GLCM ........................................................................................................................... 5 2.2.2 Izračun kontrasta iz GLCM ............................................................................................................. 5
2.3 SOM.......................................................................................................................................................... 5 2.3.1 Inicijalizacija ................................................................................................................................... 5 2.3.2 Učenje ............................................................................................................................................. 5
3. Ispitivanje rješenja ....................................................................................... 7
3.1 ISPITNA BAZA ............................................................................................................................................ 7 3.2 REZULTATI UČENJA I ISPITIVANJA.............................................................................................................. 7 3.3 ANALIZA REZULTATA ................................................................................................................................ 8
4. Opis programske implementacije rješenja ................................................ 8
5. Zaključak ....................................................................................................... 9
6. Literatura ...................................................................................................... 9
1
1. Projektni zadatak (do 10 stranica)
1.1 Opis projektnog zadatka
Zadatak ovog projekta je napraviti automatsku procjenu mnoštva ljudi koristeći teksture.
Praćenje gustoće mnoštva ljudi na javnim mjestima provodi se radi sigurnosti jer veliki broj
ljudi na nekom prostoru može dovesti do ozljeda ili smrtnih slučajeva. Prirodne katastrofe
poput potresa, požara i slično uzrokuju paniku kod većine ljudi. U takvim situacijama oni
postaju opasni za sebe i druge ljude u blizini. Praćenje ljudi u gomilama i analiziranjem
njihovog ponašanja i kretanja u takvim situacijama, mogu se isplanirati i izgraditi sigurnije
zgrade i sigurniji izlazi u slučaju opasnosti.
Dodatni razlog za praćenje količine ljudi na javnim mjestima je sprječavanje stvaranja
nepotrebnih gužvi. Praćenjem gužvi uživo, mogu se u vrlo kratkom vremenu poduzeti
potrebne radnje da se ljudima osigura brži i sigurniji prolazak.
Dosad se praćenje obavljalo ljudskim nadzorom. Sustav nadzornih kamera snimao bi zadane
javne prostore i sliku uživo prenosio na ekrane. Čovjek zadužen za nadzor morao bih
istovremeno promatrati na desetke ekrana što može biti veoma naporno i rezultiralo bi padom
koncentracije.
Zato se javlja potreba za automatskim nadzorom koji bi uz veliku preciznost mogao
konstantno obavljati taj zadatak. U ovom projektu koristit ćemo teksture za automatsku
procjenu količine ljudi.
1.2 Pregled i opis srodnih rješenja
U radu iz 1995. godine Davies, Yin i Velastin predložili su obradu slika kao metodu za
procjenu gustoće mnoštva ljudi. Njihova se metoda zasniva na dvije mjere izlučene iz slika
prostora koji se promatra. Prva mjera je broj elemenata u prvom planu na slici promatranog
prostora kada nema ljudi, a druga je broj rubnih elemenata slike izračunatih detekcijom
rubova i stanjivanjem.
Zaključili su da postoji linearna zavisnost između broja ljudi u promatranom prostoru i te
dvije mjere. Njihova metoda se pokazala uspješnom kod procjene gustoće u prostorima gdje
se nalazi umjerena gustoća mnoštva ljudi, ali nije prikladna za slučajeve s mnogo ljudi koji se
međusobno zaklanjaju.[2]
1.3 Konceptualno rješenje zadatka
Različite gustoće mnoštva ljudi na slikama imati će različite uzorke tekstura. Slike na kojima
se nalazi mnogo ljudi imat će mnogo sitnijih, finijih uzoraka, a slike sa manje ljudi imati će
krupnije, grublje uzorke. Mnogo sitnijih uzoraka odgovara većim frekvencijama u
frekvencijskoj domeni, a manje krupnijih uzoraka odgovara manjim frekvencijama, posebno
ako pozadinu čine krupniji uzorci.
Za potrebe dobivanja rezultata u ovom projektu korištena je statistička analiza teksture.
Ulazne podatke predstavljaju slike na kojima se nalaze različite gustoće mnoštva ljudi.
Na slikama 1.a-e prikazani su primjeri različitih gustoća mnoštva ljudi na nekom javnom
mjestu. Analizu tekstura tih slika obavljamo pomoću združene vjerojatnosti drugog reda
izračunate na regiji slike definirane funkcijom: f(i, j|d, θ). Ova funkcija predstavlja
vjerojatnost para nivoa sive boje (i, j) da se pojavi u paru točaka međusobno udaljenih za d
2
pod kutom θ. Za specifični kut θ uzimaju se vrijednosti θ = 0°, 90°. Ova statistička metoda
drugog reda naziva se ovisnost sivog nivoa ili GLD (engl. gray level dependence).
Kod manjih pomaka d u odnosu na veličinu uzoraka tekstura, vjerojatnost da parovi točaka
imaju slične intenzitete sive boje bit će velika. To se često događa kod krupnijih uzoraka,
odnosno slika sa malom gustoćom mnoštva ljudi. Kod slika sa velikom gustoćom mnoštva
ljudi, vjerojatnost sličnih intenziteta sive boje u paru točaka će biti znatno manja zbog sitnije
teksture na slici. Za udaljenost d ćemo uzeti vrijednosti d=1.
Ovim postupkom iz matrice GLD mogu se izračunati različita obilježja teksture. U ovom
projektu mi ćemo računati kontrast. Kombiniranjem ovog obilježja s dvije vrijednosti
specifičnog kuta θ dobit ćemo konačni vektor značajki koji čine 2 značajke. Konačno se
primjeri klasificiraju u pet grupa s obzirom na gustoću mnoštva ljudi: vrlo mala, mala,
srednja, velika i jako velika.
Slika 1-1 Primjer s vrlo malom gustoćom ljudi
3
Slika 1-2 Primjer s malom gustoćom ljudi
Slika 1-3 Primjer sa srednjom gustoćom ljudi
4
Slika 1-4 Primjer s velikom gustoćom ljudi
Slika 1-5 Primjer s vrlo velikom gustoćom ljudi
5
2. Postupak rješavanja zadatka (do 10 stranica)
2.1 Učitavanje slika u crno-bijeloj boji
Koristeći OpenCV učitavamo slike koji ih automatski pretvara iz slika u boji u crno-bijele
slike.
2.2 GLCM
GLCM (Grey level co-occurrence matrix) je statistička metoda ispitivanja teksture koja
razmatra prostorni odnos piksela, također poznata kao matrica prostorne ovisnosti na sivoj
razini. GLCM funkcije karakteriziraju teksturu slike izračunavanjem koliko često se parovi
piksela s određenim vrijednostima i određenim prostornim odnosom pojavljuju na slici.
2.2.1 Učitavanje GLCM
Za svaki primjerak učitavamo crno-bijelu sliku te izračunavamo dvije 256x256 matrice
koristeći biblioteku skimage. Računamo po jednu matricu za svaku kombinaciju udaljenosti i
specifičnog kuta, u našem slučaju jedna udaljenost d = 1 i dva specifična kuta θ = 0°, 90°.
Broj redaka i stupaca ovisi o broju razina sive boje u našem slučaju 256 razina.
2.2.2 Izračun kontrasta iz GLCM
Za svaku GLCM računamo kontrast. Gdje je Pij vrijednost ćelije.
Kao što je vidljivo iz formule što su veće razlike između pojedinih razina sive boje to će
kontrast biti veći.
2.3 SOM
Samoorganizirajuća mapa (SOM) ili samoorganizirajuća mapa značajki (SOFM) je vrsta
umjetne neuronske mreže (ANN) koja je trenirana koristeći nenadzirano učenje.
Samoorganizirajuće mape razlikuju se od drugih umjetnih neuronskih mreža jer primjenjuju
kompetitivno učenje za razliku od nadziranog učenja (kao što je propagacija greške unazad s
gradijentnim spustom), te koriste funkciju susjedstva za očuvanje topoloških svojstava
ulaznog prostora.
2.3.1 Inicijalizacija
SOM je inicijaliziran kao mreža s dva ulaza i pet izlaza, za funkciju udaljenosti koristi
euklidsku udaljenost, koristimo topologiju lanca. Koristeći topologiju lanca osiguravamo da
će centroidi odnosno klasifikacija biti monotona prva klasa vrlo mala gustoća, a peta klasa
vrlo velika ili obrnuto.
2.3.2 Učenje
SOM smo trenirali u tri faze u kojima smo podešavali utjecaj pobjedničkog centroida na
susjedne. Faze se mijenjaju nakon svake dvije epohe.
6
2.3.2.1 Prva faza
U prvoj fazi smo koristili udaljenost utjecaja 2 što znači da će se istovremeno pomicati
najbliži centroid, njegovi susjedi te njihovi susjedi. Ovu fazu koristimo kako bi sve centroide
postavili u prostor značajki blizu naših primjera.
Slika 2-1 Model nakon treniranja s udaljenosti utjecaja 2
Sivo su značajke svih primjera, a crvene točke su centroidi naše mreže.
2.3.2.2 Druga faza
Smanjujemo udaljenost utjecaja na 1 kako bi centroide bolje raspršili po podacima.
Slika 2-2 Model nakon treniranja s udaljenosti utjecaja 1
7
2.3.2.3 Treća faza
Smanjujemo udaljenost utjecaja na 0, svaki se centroid pomiče sam za sebe. To radimo zbog
neujednačenosti ulaznih podataka. Na slici vidimo da nemamo puno ulaznih podataka velike
gustoće.
Slika 2-3 Model nakon treniranja s udaljenosti utjecaja 0
...
3. Ispitivanje rješenja (do 10 stranica)
3.1 Ispitna baza
Za ispitnu bazu smo koristili podatke Sveučilišta u Readingu koji su dostupni za istraživanje
računalnog vida. U bazi su slike uličnih kamera koje snimaju određeni dio staze kud se
studenti kreću. Dostupne slike su slikane u različito doba dana, iz različitih kuteva te s
različitim načinom kretanja studenata. U našoj bazi ima 1080 slika. Od njih 1080 proizvoljno
je odabrano 5 slika koje bi po našoj pretpostavci mogli biti predstavnici naših klasa.
3.2 Rezultati učenja i ispitivanja
Na grafu vidimo naučenu mrežu kako dijeli prostor značajki na 5 približno jednakih dijelova,
te naše primjere čije su značajke označene zelenom bojom.
8
Slika 3-1 Model nakon treniranja s testnim primjerima
3.3 Analiza rezultata
Predstavnike različitih gustoća možemo prikazati u tablici u jednom retku našu pretpostavku
pripadnosti, a u drugom predviđanje modela.
Primjer 1 Primjer 2 Primjer 3 Primjer 4 Primjer 5
Naša
pretpostavka
Vrlo mala
gustoća Mala gustoća
Srednja
gustoća
Velika
gustoća
Vrlo velika
gustoća
Izlaz modela Vrlo mala
gustoća
Vrlo mala
gustoća Mala gustoća
Velika
gustoća
Vrlo velika
gustoća
Kako bi ispitivanja bilo bolja trebalo bi testirati na puno više testnih primjera, no problem je
što i svaki taj primjer moramo i ručno odrediti.
4. Opis programske implementacije rješenja (do 5 stranice)
Programsko rješenje je napisano u programskom jeziku Python. Korištene su biblioteke glob,
os, pickle, skimage, numpy, cv2, neupy te matplotli. Skimage koristimo za generiranje GLCM
te računanje kontrasta iz iste. Cv2 je biblioteka OpenCV koju koristimo za učitavanje slika te
pretvorbu iz slike u boji u crno-bijelu sliku. Iz biblioteke neupy koristimo implementaciju
SOM-a.
Cijelo programsko rješenje se nalazi u datoteci rasuzo.py, jedini parametar koji bi se trebao
promijeniti u kodu da bi se koristio na bilo kojem računalu je putanja „path“ do direktorija
gdje se nalaze ulazni primjeri.
9
5. Zaključak (do 2 stranice)
Ova implementacija je uspješna jer vidimo da SOM ravnomjerno dijeli prostor značajki. U
izradi ovog rada smo se susreli s raznim problemima kao što su sjene u različitim trenucima
tijekom dana i slike iz različitih kuteva (kamera) koje u podatke unose dozu šuma te s tim
malo više rasprše podatke u prostoru značajki.
Ako bi se ovakav sustav koristio pri procjeni gustoće zatvorenog prostora ili prostora gdje je
manji utjecaj danjeg svjetla mogla bi se dodati maska koja bi maknula teksturu pozadine.
6. Literatura
[1] A.N. Marana, S.A. Velastin, L.F. Costa, R.A. Lotufo, „Automatic Estimation of Crowd
Density Using Texture“, International Workshop on Systems and Image Processing, May 28-
30, 1997.
[2] A.C. Davies, J.H. Yin, S.A. Velastin, „Crowd monitoring using image processing“,
Electronics and Communications Engineering Journal, February, pp 37-47, 1995.
DVD/CD
kompletan tekst projekta
izvorni kod projekta
exe verzija
readme file – upute za korištenje i pokretanje programa
baze slika (sve koje su korištene)
E-oblik članaka koji su korišteni za izradu projekta
primjeri obrade