Orodha ya maudhui:

Utambuzi wa Uso na Kitambulisho - Kitambulisho cha Uso cha Arduino Kutumia OpenCV Python na Arduino .: Hatua 6
Utambuzi wa Uso na Kitambulisho - Kitambulisho cha Uso cha Arduino Kutumia OpenCV Python na Arduino .: Hatua 6

Video: Utambuzi wa Uso na Kitambulisho - Kitambulisho cha Uso cha Arduino Kutumia OpenCV Python na Arduino .: Hatua 6

Video: Utambuzi wa Uso na Kitambulisho - Kitambulisho cha Uso cha Arduino Kutumia OpenCV Python na Arduino .: Hatua 6
Video: Robotic arm learns to mimic a person using artificial intelligence 2024, Novemba
Anonim
Image
Image

Utambuzi wa uso wa kitambulisho cha uso cha AKA ni moja ya huduma muhimu sana kwenye simu za rununu siku hizi.

Kwa hivyo, nilikuwa na swali "je! Ninaweza kuwa na kitambulisho cha uso kwa mradi wangu wa Arduino" na jibu ni ndio…

Safari yangu ilianza kama ifuatavyo:

Hatua ya 1: Ufikiaji wa kamera ya wavuti

hatua ya 2: Kitambulisho cha uso.

hatua ya 3: Ukusanyaji wa data

Hatua ya 4: Mafunzo

hatua ya 5: Utambuzi wa uso

hatua ya 6: Kupanga Arduino

Nitaelezea hatua zote hapa chini. Natumahi kuwa hii itakusaidia.

Hatua ya 1: Ufikiaji wa Kamera ya Wavuti

Ufikiaji wa Kamera ya Wavuti
Ufikiaji wa Kamera ya Wavuti

Hatua ya 1 ya utambuzi wa uso ilikuwa kupata kamera au maono ya kompyuta. Kwa kuwa India imefungwa suluhisho la bei rahisi ambalo nimepata ni kutumia kamera yangu ya wavuti ya kompyuta ambayo nilikuwa na ufikiaji na mpango wa chatu kwa kutumia moduli ya openCV.

Labda unafikiria OpenCV ni nini, sivyo?

OpenCV (Open Source Computer Vision Library) ni maono ya kompyuta ya chanzo-wazi na maktaba ya programu ya kujifunza mashine. OpenCV ilijengwa kutoa miundombinu ya kawaida kwa matumizi ya maono ya kompyuta na kuharakisha utumiaji wa mtazamo wa mashine katika bidhaa za kibiashara.

Ikiwa Opencv imewekwa kwenye kompyuta yako basi ni vizuri kwenda. Ikiwa sivyo basi fuata hatua hii.

fungua amri haraka na andika "pip install opencv".

Onyo: Unaweza kupata hitilafu kwani "'bomba' haitambuliwi kama amri ya ndani au nje". ambayo unahitaji kuongeza njia ya usanidi wa bomba yako kwa anuwai ya mfumo wa PATH. Pitia chapisho hili linaweza kukusaidia.

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

Mara OpenCV ikiwa imewekwa sisi ni vizuri kwenda… Kuangalia ikiwa imewekwa vizuri fungua mkalimani wako wa Python na uingize maktaba. Tazama picha hapo juu ambayo inapaswa kuwa pato lako.

Pakua faili ya chatu "AccessTo_webcam.py" na uiendeshe. Nimetoa maoni yote muhimu hapo.

Huko unaenda, Sasa unaweza kufikia kamera ya wavuti. Umefanya vizuri. wacha tuendelee hatua ya 2.

Hatua ya 2: Kitambulisho cha uso

Kitambulisho cha Uso
Kitambulisho cha Uso

kwa msaada wa moduli sawa ya OpenCV, lazima tugundue ikiwa kuna uso kwenye mkondo wa video au la.

OpenCV hutoa njia ya mafunzo au mifano ya mafunzo ya awali inayoitwa Cascade Classifier. Mifano zilizopatiwa mafunzo ziko kwenye folda ya data kwenye usanidi wa OpenCV. Ninatoa faili hiyo kuipakua tu na kuiweka kwenye folda yako ya mradi. Folda ambayo faili ya "AccessTo_webcam.py" imehifadhiwa. Ikiwa haujaunda moja basi fanya.

Pakua "haarcascade_frontalface_default" na uweke kwenye folda kuu ya mradi.

Pakua "Face_identification.py" na uweke kwenye folda kuu ya mradi. Maelezo yote yametolewa ndani yake.

Sasa unaweza kutambua nyuso katika mkondo wa video. Basi wacha tuendelee na hatua ya 3.

Hatua ya 3: Ukusanyaji wa Takwimu

Ukusanyaji wa Takwimu
Ukusanyaji wa Takwimu

Ili kutambua nyuso tunahitaji kufundisha mpango wetu wa chatu. Kwa ambayo tunahitaji data.

Ukusanyaji wa data ni hatua rahisi zaidi katika mradi huu. unda folda inayoitwa "image_data" katika folda yako kuu ya mradi. Ndani ya folda ya "image_data" tengeneza folda zingine za ziada na jina la mtu, ambapo tutahifadhi data. kwa mfano:

Katika folda ya "image_data" nimeunda folda mbili zaidi zilizoitwa "HRK" na "Yahiya". kama inavyoonyeshwa kwenye picha hapo juu.

Sasa endelea kuunda folda zako mwenyewe na uwape jina.

Mara tu folda zinapoundwa kisha anza kukusanya picha za mtu huyo maalum. Ninapendekeza kukusanya karibu picha 20 kwa kila mtu. Unaweza pia kuongeza picha zaidi lakini angalia kuwa data iliyokusanywa kwa watu wote ina idadi sawa ya picha. Inasaidia kutoa usahihi.

hiyo ndio sasa hebu tuendelee na hatua ya 4.

Hatua ya 4: Mafunzo

Kwa kifupi, tutapitia folda zote na picha ambazo ziko kwenye folda ya "image_data" na tengeneza kamusi ambayo itakuwa na kitambulisho cha lebo na jina linalolingana. Wakati huo huo tutapakia picha ili kugundua sura katika kila picha ambayo tunaiita "Mkoa wa Riba" na tengeneza faili ya ".yml" ambayo ina habari hiyo.

Kwa kudhani kuwa una data iliyokusanywa kwa mtu X na Y.

tutamtaja mtu X kama 1 ambayo itakuwa kitambulisho chake na jina litakuwa X yenyewe. Tunapakia picha ili kupata uso wake yaani Mkoa wa kupendeza na kuongeza data kwenye orodha.

hatua kama hizo zitafuatwa kwa mtu Y. Na mwishowe, tutaunda faili ya ".yml".

Pakua faili ya "face_trainer.py" na uweke kwenye folda kuu ya mradi. Maelezo yote muhimu hutolewa katika faili yenyewe.

Unapoendesha programu hii itapitia picha zote na kuunda faili mbili zilizoitwa "labels.pickle" na "trainner.yml". Sasa umefundisha mtindo wako mwenyewe. basi wacha tuendelee hatua ya 5.

Hatua ya 5: Utambuzi wa Uso

Utambuzi wa Uso
Utambuzi wa Uso

Ikiwa umepitia hatua zote vizuri basi unaweza kuwa umeunda data yako mwenyewe ya mafunzo. Sasa tutatumia data hiyo kwa utambuzi wa uso.

Kimsingi tutapakia modeli zetu zilizofunzwa kwenye faili ya chatu, Fikia kamera yetu ya wavuti, na utambue sura katika mkondo wa video na ufanye ulinganisho au utabiri kati ya uso wa sasa ambao umetambuliwa kwenye mkondo wa video, na mfano ambao ulifundishwa. ikiwa data inalingana basi tunasema kwamba mtu huyo anatambuliwa ni rahisi tu…

Pakua "face_recognise.py" na uiendeshe. Maelezo yote muhimu hutolewa ndani yake. Sasa uso wako unaweza kuwa umetambuliwa. ikiwa usahihi sio mzuri basi jaribu kusasisha data. ikiwa wewe ni mzuri kwenda basi basi endelea hatua ya 6 /

Hatua ya 6: Kupanga Arduino

Hatua ya mwisho na ya mwisho ni programu ya Arduino, Na kutoa njia ya mawasiliano kati ya chatu na Arduino. Kwa mawasiliano, nilitumia "Mawasiliano ya Siri". Pitia video ambayo nimeunganisha hapo juu ili kupata jinsi Mawasiliano ya Siri hufanya kazi na kuanzisha moja. Utapata faili zote zinazohitajika katika maelezo ya video.

Ikiwa umepitia video hiyo basi nikueleze nilichofanya. Wakati uso wangu unapotambuliwa basi kitambulisho cha lebo kilichotolewa ni 2. Mara tu kitambulisho cha lebo ni 2 nitatuma '1' kama data ya serial kwa Arduino yangu. Ambayo itawasha mzunguko wangu wa chaser ya LED. Ikiwa kitambulisho cha lebo ni zaidi ya 2 basi nitatuma '0' kama data ya serial, ambayo itazima Mzunguko wangu wa chaser ya LED.

Pakua faili "ard_chaser.ino". Ni mpango rahisi wa chaser wa LED ambao hutumia mawasiliano ya serial.

Pakua simillerly "face_recogniser1.py" ambayo itaanzisha mawasiliano ya serial kati ya Arduino na mpango wa chatu.

Huko unaenda. Natumai umejifunza kitu kipya. Jisajili kwenye kituo changu cha youtube kwa vitu zaidi vinavyohusiana na chatu na Arduino. Shiriki hii ikiwa umeipenda. Endelea kuunga mkono.

Asante.

Ilipendekeza: