Satura rādītājs:
- 1. darbība. Piekļuve tīmekļa kamerai
- 2. darbība. Sejas identifikācija
- 3. darbība: datu vākšana
- 4. solis: apmācība
- 5. darbība: sejas atpazīšana
- 6. solis: Arduino programmēšana
Video: Sejas atpazīšana un identifikācija - Arduino sejas ID, izmantojot OpenCV Python un Arduino .: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Sejas atpazīšana AKA sejas ID ir viena no svarīgākajām mūsdienu mobilo tālruņu funkcijām.
Tātad, man bija jautājums "vai man var būt sejas ID savam Arduino projektam", un atbilde ir jā …
Mans ceļojums sākās šādi:
1. darbība. Piekļuve tīmekļa kamerai
2. darbība: sejas identificēšana.
3. darbība: datu vākšana
4. solis: apmācība
5. darbība: sejas atpazīšana
solis: Arduino programmēšana
Tālāk es izskaidrošu visas darbības. Es ceru, ka tas jums palīdzēs.
1. darbība. Piekļuve tīmekļa kamerai
Sejas atpazīšanas pirmais solis bija piekļuve kamerai vai datora redzei. Tā kā Indija ir slēgta, lētākais risinājums, ko atradu, bija izmantot manu datoru tīmekļa kameru, kurai man bija piekļuve, izmantojot python programmu, izmantojot openCV moduli.
Jūs, iespējams, domājat, kas ir OpenCV, vai ne?
OpenCV (Open Source Computer Vision Library) ir atvērtā pirmkoda datora redzes un mašīnmācīšanās programmatūras bibliotēka. OpenCV tika izveidots, lai nodrošinātu kopēju infrastruktūru datoru redzes lietojumiem un paātrinātu mašīnu uztveres izmantošanu komerciālos produktos.
Ja jūsu datorā ir instalēta programma Opencv, varat sākt darbu. Ja nē, tad izpildiet šo soli.
atveriet komandu uzvedni un ierakstiet "pip install opencv".
Brīdinājums: Jūs varat saņemt kļūdu, jo "pip" netiek atpazīta kā iekšēja vai ārēja komanda. kuram PATH sistēmas mainīgajam jāpievieno pip instalācijas ceļš. Pārlūkojiet šo ziņu, tā var jums palīdzēt.
stackoverflow.com/questions/23708898/pip-i…
Kad OpenCV ir instalēts, mēs varam doties … Lai pārbaudītu, vai tas ir pareizi instalēts, atveriet savu Python tulku un importējiet bibliotēku. Skatiet iepriekš redzamo attēlu, kuram vajadzētu būt jūsu iznākumam.
Lejupielādējiet pitona failu "AccessTo_webcam.py" un palaidiet to. Tur esmu sniedzis visus nepieciešamos komentārus.
Lūk, tagad jums ir piekļuve tīmekļa kamerai. Labi padarīts. turpināsim 2. darbību.
2. darbība. Sejas identifikācija
ar tā paša OpenCV moduļa palīdzību mums ir jānosaka, vai video straumē ir vai nav sejas.
OpenCV nodrošina apmācības metodi vai iepriekš apmācītus modeļus, ko sauc par kaskādes klasifikatoru. Iepriekš apmācītie modeļi atrodas OpenCV instalācijas datu mapē. Es nodrošinu šo failu, vienkārši lejupielādējiet to un ievietojiet to projekta mapē. Mape, kurā tiek saglabāts fails "AccessTo_webcam.py". Ja neesat to izveidojis, dariet to.
Lejupielādējiet "haarcascade_frontalface_default" un ievietojiet to galvenajā projekta mapē.
Lejupielādējiet “Face_identifikācija.py” un ievietojiet to projekta galvenajā mapē. Tajā ir sniegts viss skaidrojums.
Tagad jūs varat identificēt sejas video straumē. Tātad, pāriesim uz 3. darbību.
3. darbība: datu vākšana
Lai atpazītu sejas, mums ir jāapmāca mūsu python programma. Par ko mums ir nepieciešami daži dati.
Datu vākšana ir vienkāršākais solis šajā projektā. savā galvenajā projekta mapē izveidojiet mapi ar nosaukumu "image_data". Mapes "image_data" iekšpusē izveidojiet dažas papildu mapes ar personas vārdu, kurā mēs saglabāsim datus. piemēram:
Mapē "image_data" esmu izveidojis vēl divas mapes ar nosaukumu "HRK" un "Yahiya". kā parādīts iepriekš redzamajā attēlā.
Tagad turpiniet izveidot savas mapes un nosauciet tās.
Kad mapes ir izveidotas, sāciet vākt šīs konkrētās personas attēlus. Es iesaku savākt gandrīz 20 attēlus vienai personai. Varat arī pievienot vairāk attēlu, taču pārliecinieties, ka par visām personām savāktajos datos ir vienāds attēlu skaits. Tas palīdz nodrošināt precizitāti.
tas ir viss, tagad pāriesim uz 4. darbību.
4. solis: apmācība
Īsumā mēs apskatīsim visas mapes un attēlus, kas atrodas mapē "image_data", un izveidosim vārdnīcu, kurā būs etiķetes ID un atbilstošais nosaukums. Vienlaikus mēs ielādēsim attēlu, lai atklātu seju katrā attēlā, ko saucam par "interesējošo reģionu", un izveidosim ".yml" failu, kas satur šo informāciju.
Pieņemot, ka jums ir savākti dati par personu X un Y.
mēs atzīmēsim personu X kā 1, kas būs viņa etiķetes ID, un vārds būs pats X. Mēs ielādējam attēlu, lai atrastu viņa seju, ti, interesējošo reģionu, un pievienojam datus sarakstam.
līdzīgas darbības tiks veiktas personai Y. Un visbeidzot, mēs izveidosim ".yml" failu.
Lejupielādējiet "face_trainer.py" failu un ievietojiet to galvenajā projekta mapē. Viss nepieciešamais skaidrojums ir sniegts pašā failā.
Palaižot šo programmu, tā izskatīs visus attēlus un izveidos divus failus ar nosaukumu "labels.pickle" un "trainner.yml". Tagad jūs esat apmācījis savu modeli. tāpēc turpināsim 5. darbību.
5. darbība: sejas atpazīšana
Ja esat pareizi veicis visas darbības, iespējams, esat izveidojis savus apmācītos datus. Tagad mēs izmantosim šos datus sejas atpazīšanai.
Būtībā mēs ielādēsim mūsu apmācītos modeļus python failā, piekļūsim mūsu tīmekļa kamerai un identificēsim sejas video straumē, kā arī salīdzināsim vai prognozēsim pašreizējo seju, kas ir identificēta video straumē, un apmācīto modeli. ja dati ir saskaņoti, mēs sakām, ka persona ir atpazīta, tas ir tik vienkārši …
Lejupielādējiet “face_recognise.py” un palaidiet to. Tajā ir sniegta visa nepieciešamā informācija. Tagad jūsu seja, iespējams, tika atpazīta. ja precizitāte nav laba, mēģiniet atjaunināt datus. ja jums viss ir kārtībā, pārejiet pie 6. darbības/
6. solis: Arduino programmēšana
Pēdējais un pēdējais solis ir programmēt Arduino un nodrošināt saziņas veidu starp python un Arduino. Saziņai es izmantoju "Sērijas komunikāciju". Pārlūkojiet videoklipu, kuru esmu saistījis iepriekš, lai uzzinātu, kā darbojas seriālā komunikācija, un izveido to. Visus nepieciešamos failus atradīsit video aprakstā.
Ja esat izlasījis videoklipu, ļaujiet man jums paskaidrot, ko es darīju. Kad mana seja tiek atpazīta, marķējuma ID ir 2. Kad etiķetes ID ir 2, es nosūtīšu “1” kā sērijas datus savam Arduino. Kas ieslēgs manu LED mednieku ķēdi. Ja etiķetes ID nav 2, es kā sērijas datus nosūtīšu “0”, kas izslēgs manu gaismas diodes ķēdi.
Lejupielādējiet failu "ard_chaser.ino". Tā ir vienkārša LED meklētāja programma, kas izmanto seriālo komunikāciju.
Vienkārši lejupielādējiet "face_recogniser1.py", kas izveidos sērijveida komunikāciju starp Arduino un python programmu.
Lūdzu. Es ceru, ka jūs esat iemācījušies kaut ko jaunu. Abonējiet manu YouTube kanālu, lai iegūtu vairāk informācijas par python un Arduino. Dalieties ar šo, ja jums tas patika. Turpiniet atbalstīt.
Paldies.
Ieteicams:
Opencv sejas noteikšana, apmācība un atpazīšana: 3 soļi
Opencv sejas noteikšana, apmācība un atpazīšana: OpenCV ir atvērtā pirmkoda datora redzes bibliotēka, kas ir ļoti populāra, lai veiktu tādus pamata attēlu apstrādes uzdevumus kā aizmiglošana, attēlu sajaukšana, attēla uzlabošana, kā arī video kvalitāte, sliekšņa noteikšana utt. tas pierāda
ESP32 CAM sejas atpazīšana ar MQTT atbalstu - AI domātājs: 4 soļi
ESP32 CAM sejas atpazīšana ar MQTT atbalstu | AI domātājs: Sveiki! Es gribēju dalīties ar sava projekta kodu, ja man būtu nepieciešama ESP CAM ar sejas atpazīšanu, kas varētu nosūtīt datus MQTT. Tik labi .. pēc varbūt 7 stundu ilgas skatīšanās, izmantojot vairākus koda piemērus, un meklējot, kas ir kas, man ir finišs
Opencv sejas atpazīšana: 4 soļi
Opencv sejas atpazīšana: sejas atpazīšana mūsdienās ir diezgan izplatīta lieta daudzās lietojumprogrammās, piemēram, viedtālruņos, daudzos elektroniskos sīkrīkos. Šāda veida tehnoloģija ietver daudzus algoritmus un rīkus utt., Kurā tiek izmantotas dažas iegultās iegultās SOC platformas, piemēram, Raspberry
Sejas atpazīšana reāllaikā: pilns projekts: 8 soļi (ar attēliem)
Reāllaika sejas atpazīšana: visaptverošs projekts: Pēdējā apmācībā, kurā pētīju OpenCV, mēs uzzinājām AUTOMĀTISKĀS VISIJAS OBJEKTA IZSEKOŠANU. Tagad mēs izmantosim savu PiCam, lai atpazītu sejas reāllaikā, kā redzams zemāk: Šis projekts tika veikts ar šo fantastisko " Atvērtā pirmkoda datora redzes bibliotēku & qu
Sejas noteikšana+atpazīšana: 8 soļi (ar attēliem)
Sejas noteikšana+atpazīšana: Šis ir vienkāršs sejas noteikšanas un atpazīšanas piemērs ar OpenCV no kameras. PIEZĪME: Es šo projektu izstrādāju sensoru konkursam, un es izmantoju kameru kā sensoru, lai izsekotu un atpazītu sejas. Tātad, mūsu mērķis šajā sesijā: 1. Instalējiet Anaconda