Talaan ng mga Nilalaman:

Pagkilala at Pagkakakilanlan sa Mukha - Arduino Face ID Gamit ang OpenCV Python at Arduino .: 6 Mga Hakbang
Pagkilala at Pagkakakilanlan sa Mukha - Arduino Face ID Gamit ang OpenCV Python at Arduino .: 6 Mga Hakbang

Video: Pagkilala at Pagkakakilanlan sa Mukha - Arduino Face ID Gamit ang OpenCV Python at Arduino .: 6 Mga Hakbang

Video: Pagkilala at Pagkakakilanlan sa Mukha - Arduino Face ID Gamit ang OpenCV Python at Arduino .: 6 Mga Hakbang
Video: Pwede ba pang miss universe #MissIgado 2024, Hunyo
Anonim
Image
Image

Ang pagkilala sa mukha ng AKA face ID ay isa sa pinakamahalagang tampok sa mga mobile phone sa kasalukuyan.

Kaya, mayroon akong isang katanungan na "maaari ba akong magkaroon ng isang id ng mukha para sa aking proyekto ng Arduino" at ang sagot ay oo…

Nagsimula ang aking paglalakbay tulad ng sumusunod:

Hakbang 1: Pag-access sa webcam

hakbang 2: Pagkilala sa mukha.

hakbang 3: Koleksyon ng data

Hakbang 4: Pagsasanay

hakbang 5: Pagkilala sa mukha

hakbang 6: Programming Arduino

Ipapaliwanag ko ang lahat ng mga hakbang sa ibaba. Inaasahan kong makakatulong ito sa iyo.

Hakbang 1: Pag-access sa Webcam

Pag-access sa Webcam
Pag-access sa Webcam

Ang unang hakbang para sa pagkilala sa mukha ay ang pagkakaroon ng access sa isang camera o paningin sa computer. Dahil ang India ay nasa ilalim ng lockdown ang pinakamurang solusyon na nahanap ko ay ang paggamit ng aking computer webcam kung saan ako ay may access sa isang python program na gumagamit ng openCV module.

Maaaring iniisip mo kung ano ang OpenCV, hindi ba?

Ang OpenCV (Open Source Computer Vision Library) ay isang open-source computer vision at library ng software ng pag-aaral ng machine. Ang OpenCV ay itinayo upang magbigay ng isang pangkaraniwang imprastraktura para sa mga aplikasyon ng computer vision at upang mapabilis ang paggamit ng pang-unawa ng makina sa mga produktong komersyal.

Kung ang Opencv ay naka-install sa iyong computer pagkatapos ay mahusay kang pumunta. Kung hindi pagkatapos ay sundin ang hakbang na ito.

buksan ang prompt ng utos at i-type ang "pip install opencv".

Babala: Maaari kang makakuha ng isang error dahil ang "'pip' ay hindi kinikilala bilang isang panloob o panlabas na utos". kung saan kailangan mong idagdag ang landas ng iyong pag-install ng pip sa iyong variable na PATH system. Dumaan sa post na ito maaari itong makatulong sa iyo.

stackoverflow.com/questions/23708898/pip-i…

Kapag na-install na ang OpenCV mahusay kaming pumunta… Upang suriin kung maayos itong na-install buksan ang iyong interpreter ng Python at i-import ang library. Tingnan ang imahe sa itaas na dapat ang iyong output.

I-download ang python file na "AccessTo_webcam.py" at patakbuhin ito. Naibigay ko ang lahat ng kinakailangang mga puna doon.

Doon ka, Ngayon ay may access ka sa webcam. Magaling magpatuloy tayo sa hakbang 2.

Hakbang 2: Pagkakakilanlan sa Mukha

Pagkakakilanlan sa Mukha
Pagkakakilanlan sa Mukha

sa tulong ng parehong module ng OpenCV, kailangan nating kilalanin kung may mukha sa stream ng video o hindi.

Nagbibigay ang OpenCV ng paraan ng pagsasanay o mga pre-train na modelo na tinatawag na Cascade Classifier. Ang mga paunang sinanay na mga modelo ay matatagpuan sa folder ng data sa pag-install ng OpenCV. Ibinibigay ko ang file na iyon i-download lamang ito at ilagay ito sa iyong folder ng proyekto. Ang folder kung saan naka-imbak ang file na "AccessTo_webcam.py". Kung hindi mo pa nilikha ang isa gawin ito.

I-download ang "haarcascade_frontalface_default" at ilagay ito sa pangunahing folder ng proyekto.

I-download ang "Face_identification.py" at ilagay ito sa pangunahing folder ng proyekto. Ang lahat ng paliwanag ay ibinigay dito.

Ngayon ay maaari mo nang makilala ang mga mukha sa isang stream ng video. Kaya't magpatuloy tayo sa hakbang 3.

Hakbang 3: Koleksyon ng Data

Pagkolekta ng data
Pagkolekta ng data

Upang makilala ang mga mukha na kailangan namin upang sanayin ang aming programa sa sawa. Kung saan kailangan namin ng ilang data.

Ang pagkolekta ng data ay ang pinakamadaling hakbang sa proyektong ito. lumikha ng isang folder na pinangalanang "image_data" sa iyong pangunahing folder ng proyekto. Sa loob ng folder na "image_data" lumikha ng ilang karagdagang mga folder na may pangalan ng tao, kung saan maiimbak namin ang data. Halimbawa:

Sa folder na "image_data" lumikha ako ng dalawa pang folder na pinangalanang "HRK" at "Yahiya". tulad ng ipinakita sa larawan sa itaas.

Ngayon magpatuloy lumikha ng iyong sariling mga folder at pangalanan ang mga ito.

Sa sandaling nalikha ang mga folder pagkatapos ay simulang mangolekta ng mga larawan ng tukoy na taong iyon. Inirerekumenda kong mangolekta ng halos 20 mga imahe bawat tao. Maaari ka ring magdagdag ng higit pang mga imahe ngunit tingnan na ang data na nakolekta para sa lahat ng mga tao ay naglalaman ng parehong bilang ng mga imahe. Nakakatulong ito upang magbigay ng kawastuhan.

yan lang ngayon magpatuloy tayo sa hakbang 4.

Hakbang 4: Pagsasanay

Sa madaling sabi, dadaan kami sa lahat ng mga folder at imahe na naroroon sa folder na "image_data" at lilikha ng isang diksyunaryo na naglalaman ng label ID at ang kaukulang pangalan. Nang sabay-sabay naming mai-load ang imahe upang makita ang mukha sa bawat imahe na tinatawag naming "Rehiyon ng Interes" at lumikha ng isang ".yml" na file na naglalaman ng impormasyong iyon.

Ipagpalagay na mayroon kang nakolektang data para sa tao X at Y.

tatawagan namin ang tao X bilang 1 na kung saan ay ang kanyang label ID at ang pangalan ay magiging X mismo. Kami ay naglo-load ng imahe upang mahanap ang kanyang mukha i.e Rehiyon ng interes at idagdag ang data sa isang listahan.

ang mga katulad na hakbang ay susundan para sa taong Y. At sa wakas, lilikha kami ng isang ".yml" na file.

I-download ang file na "face_trainer.py" at ilagay ito sa pangunahing folder ng proyekto. Ang lahat ng kinakailangang paliwanag ay ibinigay sa mismong file na iyon.

Kapag pinatakbo mo ang program na ito dumaan ito sa lahat ng mga imahe at lilikha ng dalawang mga file na pinangalanang "labels.pickle" at "trainner.yml". Ngayon ay sinanay mo ang iyong sariling modelo. kaya't magpatuloy tayo sa hakbang 5.

Hakbang 5: Pagkilala sa Mukha

Pagkilala sa Mukha
Pagkilala sa Mukha

Kung napagdaanan mo ang lahat ng mga hakbang nang maayos maaari kang lumikha ng iyong sariling sanay na data. Gagamitin namin ngayon ang data na iyon para sa pagkilala sa mukha.

Karaniwan ay mai-load namin ang aming mga may kasanayang modelo sa file ng sawa, I-access ang aming webcam, at kilalanin ang Mga Mukha sa stream ng video at gumawa ng paghahambing o hula sa pagitan ng kasalukuyang mukha na nakilala sa stream ng video, at sa modelo na sinanay. kung ang data ay naitugma pagkatapos ay sinasabi namin na ang tao ay kinikilala na ito ay simple lamang …

I-download ang "face_recognise.py" at patakbuhin ito. Ang lahat ng kinakailangang impormasyon ay ibinigay dito. Ngayon ang iyong mukha ay maaaring nakilala. kung ang kawastuhan ay hindi maganda pagkatapos subukang i-update ang data. kung lahat kayo ay magaling pumunta pagkatapos ay magpatuloy sa hakbang 6 /

Hakbang 6: Programming Arduino

Ang huli at ang panghuling hakbang ay ang pagprograma ng Arduino, At upang magbigay ng isang mode ng komunikasyon sa pagitan ng sawa at Arduino. Para sa komunikasyon, ginamit ko ang "Serial Communication". Dumaan sa video na na-link ko sa itaas upang malaman kung paano gumagana ang Serial Communication at upang maitaguyod ang isa. Makikita mo ang lahat ng kinakailangang mga file sa paglalarawan ng video.

Kung napagdaanan mo ang video, hayaan mo akong ipaliwanag sa iyo kung ano ang ginawa ko. Kapag nakilala ang aking mukha pagkatapos ang ibinigay na label ID ay 2. Kapag ang label ID ay 2 ay magpapadala ako ng '1' bilang serial data sa aking Arduino. Alin ang magbubukas sa aking LED chaser circuit. Kung ang label ID ay iba sa 2 pagkatapos ay magpapadala ako ng '0' bilang serial data, na papatayin ang aking LED chaser Circuit.

I-download ang file na "ard_chaser.ino". Ito ay isang simpleng programa ng LED chaser na gumagamit ng serial na komunikasyon.

Simillerly i-download ang "face_recogniser1.py" na magtatatag ng serial na komunikasyon sa pagitan ng Arduino at ng python program.

Ayan ka na Sana may natutunan kang bago. Mag-subscribe sa aking youtube channel para sa maraming bagay na nauugnay sa sawa at Arduino. Ibahagi ito kung nagustuhan mo ito. Patuloy na suportahan.

Salamat.

Inirerekumendang: