11
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.

Automatska procjena gustoće mnoštva ljudi uporabom teksturekacavis.zemris.fer.hr/.../Raspoznavanje_Uzoraka_Projekt.pdf · 2019-02-05 · 1 1. Projektni zadatak (do 10 stranica)

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Automatska procjena gustoće mnoštva ljudi uporabom teksturekacavis.zemris.fer.hr/.../Raspoznavanje_Uzoraka_Projekt.pdf · 2019-02-05 · 1 1. Projektni zadatak (do 10 stranica)

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.

Page 2: Automatska procjena gustoće mnoštva ljudi uporabom teksturekacavis.zemris.fer.hr/.../Raspoznavanje_Uzoraka_Projekt.pdf · 2019-02-05 · 1 1. Projektni zadatak (do 10 stranica)

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

Page 3: Automatska procjena gustoće mnoštva ljudi uporabom teksturekacavis.zemris.fer.hr/.../Raspoznavanje_Uzoraka_Projekt.pdf · 2019-02-05 · 1 1. Projektni zadatak (do 10 stranica)

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

Page 4: Automatska procjena gustoće mnoštva ljudi uporabom teksturekacavis.zemris.fer.hr/.../Raspoznavanje_Uzoraka_Projekt.pdf · 2019-02-05 · 1 1. Projektni zadatak (do 10 stranica)

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

Page 5: Automatska procjena gustoće mnoštva ljudi uporabom teksturekacavis.zemris.fer.hr/.../Raspoznavanje_Uzoraka_Projekt.pdf · 2019-02-05 · 1 1. Projektni zadatak (do 10 stranica)

3

Slika 1-2 Primjer s malom gustoćom ljudi

Slika 1-3 Primjer sa srednjom gustoćom ljudi

Page 6: Automatska procjena gustoće mnoštva ljudi uporabom teksturekacavis.zemris.fer.hr/.../Raspoznavanje_Uzoraka_Projekt.pdf · 2019-02-05 · 1 1. Projektni zadatak (do 10 stranica)

4

Slika 1-4 Primjer s velikom gustoćom ljudi

Slika 1-5 Primjer s vrlo velikom gustoćom ljudi

Page 7: Automatska procjena gustoće mnoštva ljudi uporabom teksturekacavis.zemris.fer.hr/.../Raspoznavanje_Uzoraka_Projekt.pdf · 2019-02-05 · 1 1. Projektni zadatak (do 10 stranica)

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.

Page 8: Automatska procjena gustoće mnoštva ljudi uporabom teksturekacavis.zemris.fer.hr/.../Raspoznavanje_Uzoraka_Projekt.pdf · 2019-02-05 · 1 1. Projektni zadatak (do 10 stranica)

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

Page 9: Automatska procjena gustoće mnoštva ljudi uporabom teksturekacavis.zemris.fer.hr/.../Raspoznavanje_Uzoraka_Projekt.pdf · 2019-02-05 · 1 1. Projektni zadatak (do 10 stranica)

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.

Page 10: Automatska procjena gustoće mnoštva ljudi uporabom teksturekacavis.zemris.fer.hr/.../Raspoznavanje_Uzoraka_Projekt.pdf · 2019-02-05 · 1 1. Projektni zadatak (do 10 stranica)

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.

Page 11: Automatska procjena gustoće mnoštva ljudi uporabom teksturekacavis.zemris.fer.hr/.../Raspoznavanje_Uzoraka_Projekt.pdf · 2019-02-05 · 1 1. Projektni zadatak (do 10 stranica)

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