- Išankstiniai reikalavimai
- Kaip veikia veido atpažinimas naudojant „OpenCV“
- Veido aptikimas naudojant kaskadinius klasifikatorius „OpenCV“
Veido atpažinimas tampa vis populiaresnis ir dauguma mūsų jį jau naudoja net patys to nesuprasdami. Nesvarbu, ar tai būtų paprastas „Facebook“ žymos pasiūlymas, ar „Snapchat Filter“, ar pažangesnė oro uosto saugumo priežiūra, veido atpažinimas jau dirbo savo magija. Kinija pradėjo naudoti veido atpažinimo funkciją mokyklose, kad stebėtų mokinių lankomumą ir elgesį. Mažmeninės prekybos parduotuvės pradėjo naudoti veido atpažinimo funkciją, kad galėtų suskirstyti savo klientus į kategorijas ir izoliuoti žmones, turinčius sukčiavimo istoriją. Vykdant daug daugiau pokyčių, nėra jokių abejonių, kad ši technologija artimiausiu metu bus matoma visur.
Šioje pamokoje sužinosime, kaip sukurti savo veido atpažinimo sistemą, naudojant „Raspberry Pi“ „OpenCV“ biblioteką. Šios sistemos diegimo nešiojamajame „Raspberry Pi“ pranašumas yra tas, kad ją galite įdiegti bet kur, kad dirbtumėte kaip stebėjimo sistema. Kaip ir visose veido atpažinimo sistemose, pamokoje bus du pitonų scenarijai, vienas yra „ Trainer“ programa, kuri analizuos konkretaus asmens nuotraukų rinkinį ir sukurs duomenų rinkinį (YML failą). Antroji programa yra „ Recognizer“ programakuris aptinka veidą ir tada naudoja šį YML failą veidui atpažinti ir paminėti asmens vardą. Abi programos, kurias čia aptarsime, yra skirtos „Raspberry Pi“ („Linux“), tačiau jos taip pat veiks „Windows Computers“ su labai nedideliais pakeitimais. Mes jau turime pradedančiųjų vadovėlių, skirtų pradėti naudotis „OpenCV“, serijas. Čia galite patikrinti visas „OpenCV“ mokymo programas.
Išankstiniai reikalavimai
Kaip sakyta anksčiau, veidams aptikti ir atpažinti naudosime „OpenCV“ biblioteką. Taigi prieš tęsdami šią mokymo programą įsitikinkite, kad įdiegėte „OpenCV“ biblioteką „Pi“. Taip pat maitinkite „Pi“ naudodami 2A adapterį ir prijunkite jį prie ekrano monitoriaus per HDMI kabelį, nes negalėsime gauti vaizdo išvesties per SSH.
Taip pat neketinu paaiškinti, kaip tiksliai veikia „OpenCV“, jei jus domina mokytis vaizdo apdorojimo, patikrinkite šiuos „OpenCV“ pagrindus ir pažangias vaizdo apdorojimo pamokas. Šioje vaizdo segmentavimo instrukcijoje taip pat galite sužinoti apie kontūrus, „Blob Detection“ ir kt.
Kaip veikia veido atpažinimas naudojant „OpenCV“
Prieš pradedant, svarbu suprasti, kad veido aptikimas ir veido atpažinimas yra du skirtingi dalykai. Be veidų aptikimo tik asmens veido aptikta programinė įranga neįsivaizduoju kas tas asmuo. Be veido atpažinimo programinė įranga bus ne tik aptikti veidą, bet taip pat pripažinti asmenį. Dabar turėtų būti aišku, kad prieš atlikdami veido atpažinimą turime atlikti veido aptikimą. Man nebūtų įmanoma paaiškinti, kaip tiksliai „OpenCV“ šiuo klausimu aptinka veidą ar kitą objektą. Taigi, jei norite sužinoti, kad galite vadovautis šia objekto aptikimo pamoka.
Vaizdo įrašas iš internetinės kameros yra ne kas kita, kaip viena po kitos atnaujinama iliustracija. Kiekvienas iš šių vaizdų yra tik skirtingų reikšmių taškų rinkinys, sujungtas į atitinkamą padėtį. Taigi, kaip programa gali aptikti veidą iš šių taškų ir toliau atpažinti jame esantį asmenį? Už jo slypi daugybė algoritmų, o bandymas juos paaiškinti yra už šio straipsnio ribų, tačiau kadangi mes naudojame „OpenCV“ biblioteką, labai paprasta atlikti veido atpažinimą, nesigilinant į sąvokas.
Veido aptikimas naudojant kaskadinius klasifikatorius „OpenCV“
Tik sugebėdami aptikti veidą galėsime jį atpažinti arba prisiminti. Norėdami aptikti objektą, pvz., Veidą, „OpenCV“ naudoja kažką, vadinamą klasifikatoriais. Šie klasifikatoriai yra iš anksto paruošti duomenų rinkiniai (XML failas), kurie gali būti naudojami aptikti konkretų objektą, mūsų veidą. Čia galite sužinoti daugiau apie veido aptikimo klasifikatorius. Be veido aptikimo, klasifikatoriai gali aptikti kitus objektus, pvz., Nosį, akis, transporto priemonės valstybinį numerį, šypseną ir kt. Bylų klasifikatorių sąrašą galima atsisiųsti iš žemiau esančio ZIP failo
Klasifikatoriai objektams aptikti „Python“
Arba „OpenCV“ taip pat leidžia jums sukurti savo klasifikatorių, kuris gali būti naudojamas aptikti bet kurį kitą paveikslėlyje esantį objektą, mokant „Cascade“ klasifikatorių. Šioje pamokoje naudosime klasifikatorių, vadinamą „haarcascade_frontalface_default.xml“, kuris aptiks veidą iš priekinės padėties. Mes pamatysime