Prepoznavanje lica

Detaljnije informacije o učenju i prepoznavanju lica nalaze se u tečaju Upoznajte HuskyLans kameru (lekcija Princip učenja HuskyLens kamere).

Podsjetite se

Da bi kamera mogla naučiti nova lica, potrebno je da zaboravi stara. Taj se postupak sastoji od nekoliko koraka:

  • Uključite kameru (USB kabelom ili preko robota).
  • Pomicanjem funkcijskog tipkala dođite do funkcije prepoznavanje lica (Face Recognition).
  • Kratkim pritiskom na tipkalo za učenje zaboravite prethodno naučena lica.
  • Dugim pritiskom na funkcijsko tipkalo uđite u izbornik funkcije i provjerite je li uključena opcija Learn multiple (da kamera može naučiti više od samo jednog lica). Uključite tu opciju.
  • Tipkalom za učenje naučite nova lica.
Primjer: Dodjeljivanje imena naučenim licima

Neka kamera najprije nauči ova tri ponuđena lica. Uočit ćete na zaslonu kamere da se uz svako lice prikaže i njegova brojčana oznaka (uz prvo naučeno lice pisat će ID:1, uz drugo ID:2 i uz treće ID:3).

Pretvorite lica u osobe tako što ćete im dodijeliti imena i ispisivati ih u Mind+ programu.

Na početku programa nalazi se naredba HuskyLens initialize pin until success za inicijalizaciju HuskyLens kamere. Zatim slijedi naredba HuskyLens switch algorithm to kojom je definirano da kamera radi u načinu rada prepoznavanje lica (Face recognition).

Forever petljom micro:bit neprestano provjerava podatke koje detektira kamera. Nakon toga slijede tri if then naredbe kojima se prema brojčanoj oznaci naučenog lica ispisuje ime koje ćete licu dodijeliti. Kad kamera prepozna prvo naučeno lice, naredbom serial output za serijski ispis u Mind+ programu, ispisat će se ime Ana (vi možete upisati ime po želji). Za drugo naučeno, i potom prepoznato lice, ispisat će se ime Ivan, a za treće, ime Luka.

Da biste vidjeli ispis u Mind+ programu, potrebno je uključiti serijsku komunikaciju između programa i micro:bita (Open Serial). Ta se opcija nalazi u donjem desnom dijelu sučelja, ispod crnog okvira. Također, bitno je da micro:bit USB kabelom bude povezan s računalom jer se inače program neće u potpunosti izvršavati.

Izmjenjujte ispred kamere fotografije naučenih lica i pratite ispis imena u Mind+ programu. Ispis prestaje kad kamera ne vidi lice. U slučaju da pred kameru postavite novo, nenaučeno lice, u Mind+ programu će se ispis zaustaviti, a na zaslonu kamere će se pojaviti bijeli okvir iznad kojeg piše Face.

Primjer: Detektor poznatih i nepoznatih lica

Izradite program kojim će robot preko zaslona micro:bita reagirati na različite načine ovisno o tome detektira li kamerom poznato ili nepoznato lice. Ako robot preko kamere uoči poznato lice, neka se na micro:bitu pokaže sretan smješko. Inače, ako robot kamerom detektira nepoznato lice, neka se prikaže tužni smješko.

Početak programa je isti kao u prvom primjeru (uvijek je potrebno inicijalizirati kameru i postaviti željeni način njezina rada).

U forever petlji se najprije pohranjuje informacija o tome što kamera detektira. Nakon toga se u varijablu Lice (koju je potrebno kreirati u kategoriji Variables) naredbom set Lice to pohranjuje brojčana oznaka lica koje se nalazi u središtu zaslona kamere.

Slijedi if then else naredba koja provjerava postoji li uopće lice ispred kamere.  Ako postoji, na zaslonu micro:bita će se naredbom display pattern prikazati određeni smješko, inače se ne prikazuje ništa. Drugom if then else naredbom je definirano da se prikaže sretan smješko za poznato lice, a tužan za nepoznato.

Sadržaj materijala isključiva je odgovornost Instituta za razvoj i inovativnost mladih.

Projekt je 85% financiran iz EGP financijskog mehanizma, a 15% financiran iz državnog proračuna.

Tags: