Slijede razlike između dviju inačica stranice
Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena | ||
2017:kkaruzic:projektni_zadatak [2017/06/27 15:22] kkaruzic [Ograničenja] |
2017:kkaruzic:projektni_zadatak [2023/06/19 16:11] (trenutno) |
||
---|---|---|---|
Redak 27: | Redak 27: | ||
* Processing | * Processing | ||
* Mosquitto poslužitelj | * Mosquitto poslužitelj | ||
- | |||
- Podsustav za detekciju izlaska osobe iz sobe ili pada s kreveta | - Podsustav za detekciju izlaska osobe iz sobe ili pada s kreveta | ||
* Arduino Due | * Arduino Due | ||
* ESP8266 WiFi modul | * ESP8266 WiFi modul | ||
* Ultrazvučni senzor | * Ultrazvučni senzor | ||
- | |||
- Podsustav za alarmiranje skrbnika | - Podsustav za alarmiranje skrbnika | ||
* Arduino Mega 2560 | * Arduino Mega 2560 | ||
* ESP8266 WiFi modul | * ESP8266 WiFi modul | ||
* Zvučnik | * Zvučnik | ||
+ | |||
====== Ograničenja ====== | ====== Ograničenja ====== | ||
Redak 44: | Redak 43: | ||
====== Vlastita uloga na projektu ====== | ====== Vlastita uloga na projektu ====== | ||
- | Moja uloga na projektu bila je, zajedno s [[:2017:kkaruzic:projektni_zadatak|kolegicom Karužić]], ostvariti algoritam koji bi pravilno i dovoljno brzo ocijenio ustajanje ili pad osobe s kreveta. Konačni algoritam koji detektira pokret može se podijeliti u dva dijela od kojih svaki dio predstavlja jednu razinu sigurnosti pri donošenju odluke o tome je li dogodio pokret ili ne. Potreba za više nezavisnih pokazatelja pokreta je posljedica zahtjeva da sustav detektira trenutak kada osoba koja mjesečari više nije na prostoru svojeg kreveta, nego je ona ustala ili pala s njega.\\ | + | Moja uloga na projektu bila je, zajedno s [[:2017:amatic:projektni_zadatak|kolegicom Matić]], ostvariti algoritam koji bi pravilno i dovoljno brzo ocijenio ustajanje ili pad osobe s kreveta. Konačni algoritam koji detektira pokret može se podijeliti u dva dijela od kojih svaki dio predstavlja jednu razinu sigurnosti pri donošenju odluke o tome je li dogodio pokret ili ne. Potreba za više nezavisnih pokazatelja pokreta je posljedica zahtjeva da sustav detektira trenutak kada osoba koja mjesečari više nije na prostoru svojeg kreveta, nego je ona ustala ili pala s njega.\\ |
\\ | \\ | ||
- | Prva razina detekcije pokreta izračunava razliku između susjednih sličica videa, tj ocjenjuje je li "količina pokreta" dovoljna da bi se slika počela ocjenjivati. Taj dio implementirala sam ja. Budući da se ovaj detektor modelirao pomoću kamere koja snima u boji, razliku između susjednih sličica videa potrebno je izračunavati za sva tri kanala boje (plavi, crveni i zeleni kanal). Razlika se određuje za svaki piksel trenutne sličice videa u odnosu na prošlu sličicu te se određuje broj piksela čija je razlika veća od predodređene vrijednosti. Konačno, prethodno određeni broj piksela čija je razlika za trenutnu i sadašnju sliku veća od predodređene vrijednosti, uspoređuje se s brojem piksela koji bi na slici određene rezolucije predstavljali relevantni pomak. Broj piksela koji predstavljaju relevantni pomak može se predodrediti eksperimentalno uz poznavanje rezolucije kamere. Sljedeći korak je procijeniti kolika se površina pomaknula i to je radila kolegica Katarina. | + | Prvu razinu detekcije pokreta koja izračunava razliku između susjednih sličica videa, tj ocjenjuje je li "količina pokreta" dovoljna da bi se slika počela ocjenjivati je implementirala kolegica Andrea. |
+ | |||
+ | Druga razina detekcije je bio moj zadatak. Drugi dio detekcije pokreta izračunava površinu plohe koja se pomaknula između dva kadra u struji videa. Površina se određuje tako da se gleda predodređena okolina promatranog piksela te ako se nešto promijenilo u odnosu na prethodnu sliku, tada se dogodio pomak. Iterativno, piksel po piksel, moguće je odrediti ukupnu površinu koja se pomaknula. Izračunata površina se tada uspoređuje s iznosom površine koji se eksperimentalno odredio. Eksperimentalno određena površina ugrubo odgovara veličini ljudskog torza snimanog s metar udaljenosti. | ||
- | Za kraj bih naglasila da je krajnji algoritam isprobavan, testiran i nadograđivan (na tome smo radili [[:2017:nvrebcevic:projektni_zadatak|Nikola Vrebčević]], [[:2017:kkaruzic:projektni_zadatak|Katarina Karužić]] i ja) kako bi se osigurala indiferencija na razinu svjetlosti i udaljenosti od promatrane osobe. Sama udaljenost i dalje zna stvarati probleme i lažne detekcije, te bi bilo idealno ostvariti sučelje kojim bi korisnik mogao kalibrirati početne uvjete algoritma (dvije vrste thresholda koji se sad ručno mjenjaju u kodu) pri instalaciji sustava u svojoj sobi. | + | Za kraj bih naglasila da je krajnji algoritam isprobavan, testiran i nadograđivan (na tome smo radili [[:2017:nvrebcevic:projektni_zadatak|Nikola Vrebčević]], [[:2017:amatic:projektni_zadatak|Andrea Matić]] i ja) kako bi se osigurala indiferencija na razinu svjetlosti i udaljenosti od promatrane osobe. Sama udaljenost i dalje zna stvarati probleme i lažne detekcije, te bi bilo idealno ostvariti sučelje kojim bi korisnik mogao kalibrirati početne uvjete algoritma (dvije vrste thresholda koji se sad ručno mjenjaju u kodu) pri instalaciji sustava u svojoj sobi. |