Բովանդակություն:
- Քայլ 1: Մուտք դեպի տեսախցիկ
- Քայլ 2: Դեմքի նույնականացում:
- Քայլ 3: Տվյալների հավաքագրում
- Քայլ 4: Վերապատրաստում
- Քայլ 5: Դեմքի ճանաչում
- Քայլ 6: Arduino- ի ծրագրավորում
Video: Դեմքի ճանաչում և նույնականացում - Arduino Face ID ՝ օգտագործելով OpenCV Python և Arduino. 6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Դեմքի ճանաչում AKA face ID- ն մեր օրերում բջջային հեռախոսների ամենակարևոր հատկություններից մեկն է:
Այսպիսով, ես ունեի մի հարց «կարո՞ղ եմ դեմք ունենալ իմ Arduino նախագծի համար», և պատասխանը այո է
Իմ ճանապարհորդությունը սկսվեց հետևյալ կերպ.
Քայլ 1: Տեսախցիկի մուտք
Քայլ 2: Դեմքի նույնականացում:
քայլ 3: Տվյալների հավաքագրում
Քայլ 4: Վերապատրաստում
Քայլ 5: Դեմքի ճանաչում
քայլ 6: Arduino- ի ծրագրավորում
Ստորև կբացատրեմ բոլոր քայլերը: Հուսով եմ, որ սա կօգնի ձեզ:
Քայլ 1: Մուտք դեպի տեսախցիկ
Դեմքի ճանաչման առաջին քայլը տեսախցիկին կամ համակարգչային տեսողությանը հասանելիություն ունենալն էր: Քանի որ Հնդկաստանը գտնվում է արգելափակման մեջ, ամենաէժան լուծումը, որը ես գտա, այն էր, որ օգտագործեի իմ համակարգիչների վեբ -տեսախցիկը, որին հասանելի էի python ծրագրով ՝ openCV մոդուլի միջոցով:
Գուցե մտածում եք, թե ինչ է OpenCV- ն, այնպես չէ՞:
OpenCV (Open Source Computer Vision Library) բաց կոդով համակարգչային տեսողության և մեքենայական ուսուցման ծրագրային գրադարան է: OpenCV- ն ստեղծվել է համակարգչային տեսողության ծրագրերի համար ընդհանուր ենթակառուցվածք ապահովելու և առևտրային արտադրանքներում մեքենաների ընկալման արագացման համար:
Եթե Opencv- ը տեղադրված է ձեր համակարգչում, ապա լավ կլինի: Եթե ոչ, ապա հետևեք այս քայլին:
բացեք հրամանի տողը և մուտքագրեք «pip install opencv»:
Նախազգուշացում. Դուք կարող եք սխալ ստանալ, քանի որ «'pip» - ը չի ճանաչվում որպես ներքին կամ արտաքին հրաման »: որի համար Դուք պետք է ձեր pip տեղադրման ուղին ավելացնեք ձեր PATH համակարգի փոփոխականին: Անցեք այս գրառմամբ, դա կարող է օգնել ձեզ:
stackoverflow.com/questions/23708898/pip-i…
OpenCV- ի տեղադրումից հետո մենք լավ ենք գնում … Ստուգելու համար, թե արդյոք այն պատշաճ տեղադրված է, բացեք ձեր Python թարգմանիչը և ներմուծեք գրադարանը: Տեսեք վերը նշված պատկերը, որը պետք է լինի ձեր ելքը:
Ներբեռնեք «AccessTo_webcam.py» պիթոնի ֆայլը և գործարկեք այն: Ես այնտեղ տվել եմ բոլոր անհրաժեշտ մեկնաբանությունները:
Ահա, հիմա դուք մուտք ունեք վեբ -տեսախցիկ: Լավ արեց: անցնենք 2 -րդ քայլին:
Քայլ 2: Դեմքի նույնականացում:
նույն OpenCV մոդուլի օգնությամբ մենք պետք է որոշենք ՝ տեսահոսքի վրա դեմք կա, թե ոչ:
OpenCV- ն տրամադրում է վերապատրաստման մեթոդ կամ նախապես պատրաստված մոդելներ, որոնք կոչվում են Կասկադի դասակարգիչ: Նախապես պատրաստված մոդելները գտնվում են OpenCV տեղադրման տվյալների պանակում: Ես տրամադրում եմ այդ ֆայլը, պարզապես ներբեռնեք այն և տեղադրեք այն ձեր նախագծի թղթապանակում: Թղթապանակը, որտեղ պահվում է «AccessTo_webcam.py» ֆայլը: Եթե դուք չեք ստեղծել մեկը, ապա դա արեք:
Ներբեռնեք «haarcascade_frontalface_default» և տեղադրեք այն ծրագրի հիմնական թղթապանակում:
Ներբեռնեք «Face_identification.py» և տեղադրեք այն ծրագրի հիմնական թղթապանակում: Ամբողջ բացատրությունը տրված է դրանում:
Այժմ դուք կարող եք ճանաչել դեմքերը տեսահոսքի մեջ: Այսպիսով, եկեք անցնենք 3 -րդ քայլին:
Քայլ 3: Տվյալների հավաքագրում
Դեմքերը ճանաչելու համար մենք պետք է պատրաստենք մեր պիթոնների ծրագիրը: Ինչի համար մեզ անհրաժեշտ են որոշ տվյալներ:
Տվյալների հավաքագրումն այս նախագծում բավականին ամենահեշտ քայլն է: ձեր հիմնական նախագծի թղթապանակում ստեղծեք «image_data» անունով թղթապանակ: «Image_data» թղթապանակի ներսում ստեղծեք անձի անունով որոշ լրացուցիչ պանակներ, որտեղ մենք կպահենք տվյալները: օրինակ:
«Image_data» թղթապանակում ես ստեղծել եմ ևս երկու թղթապանակ ՝ «HRK» և «Yahiya» անուններով: ինչպես ցույց է տրված վերը նշված նկարում:
Այժմ շարունակեք ստեղծել ձեր սեփական թղթապանակները և անվանել դրանք:
Թղթապանակների ստեղծումից հետո սկսեք հավաքել տվյալ անձի պատկերները: Ես խորհուրդ եմ տալիս հավաքել մոտ 20 պատկեր մեկ անձի համար: Կարող եք նաև ավելացնել ավելի շատ պատկերներ, բայց համոզվեք, որ բոլոր անձանց համար հավաքված տվյալները պարունակում են նույն թվով պատկերներ: Այն օգնում է ապահովել ճշգրտություն:
վերջ, հիմա անցնենք 4 -րդ քայլին:
Քայլ 4: Վերապատրաստում
Մի խոսքով, մենք կանցնենք բոլոր թղթապանակներով և պատկերներով, որոնք առկա են «image_data» թղթապանակում և կստեղծենք բառարան, որը կպարունակի պիտակի ID- ն և համապատասխան անունը: Ուգահեռաբար մենք կբեռնենք պատկերը ՝ յուրաքանչյուր պատկերում դեմքը հայտնաբերելու համար, որը մենք այն անվանում ենք «Հետաքրքրությունների տարածաշրջան» և ստեղծելու ենք «.yml» ֆայլ, որը պարունակում է այդ տեղեկատվությունը:
Ենթադրելով, որ դուք ունեք տվյալներ հավաքված X և Y անձի համար:
մենք X անձին կպիտակավորենք 1 -ով, որը կլինի նրա պիտակի ID- ն և անունը `X: Մենք բեռնում ենք պատկերը ՝ գտնելու համար նրա դեմքը, այսինքն ՝ հետաքրքրության շրջանը և տվյալները կցում ենք ցուցակին:
նմանատիպ քայլեր կկատարվեն անձի Y- ի համար: Եվ վերջապես, մենք կստեղծենք «.yml» ֆայլ:
Ներբեռնեք «face_trainer.py» ֆայլը և տեղադրեք այն ծրագրի հիմնական թղթապանակում: Բոլոր անհրաժեշտ բացատրությունները ներկայացված են հենց այդ ֆայլում:
Երբ գործարկեք այս ծրագիրը, այն կանցնի բոլոր պատկերներով և կստեղծի երկու ֆայլ ՝ «labels.pickle» և «trainner.yml» անուններով: Այժմ դուք պատրաստել եք ձեր սեփական մոդելը: Այսպիսով, եկեք անցնենք 5 -րդ քայլին:
Քայլ 5: Դեմքի ճանաչում
Եթե դուք ճիշտ անցել եք բոլոր քայլերը, ապա գուցե ստեղծել եք ձեր սեփական պատրաստված տվյալները: Այժմ մենք այդ տվյալները կօգտագործենք դեմքի ճանաչման համար:
Հիմնականում մենք կբեռնենք մեր պատրաստված մոդելները python ֆայլի մեջ, մուտք կգտնենք մեր տեսախցիկ և կբացահայտենք դեմքերը տեսահոլովակում և համեմատություն կամ կանխատեսում կկատարենք տեսահոլովակում նշված ներկայիս դեմքի և վերապատրաստված մոդելի միջև: եթե տվյալները համընկնում են, ապա մենք ասում ենք, որ անձը ճանաչված է, դա նույնքան պարզ է…
Ներբեռնեք «face_recognise.py» և գործարկեք այն: Բոլոր անհրաժեշտ տեղեկությունները ներկայացված են դրանում: Հիմա երևի ձեր դեմքը ճանաչված էր: եթե ճշգրտությունը լավ չէ, ապա փորձեք թարմացնել տվյալները: եթե բոլորդ լավ եք գնում, ապա անցեք 6 -րդ քայլին/
Քայլ 6: Arduino- ի ծրագրավորում
Վերջին և վերջին քայլը Arduino- ի ծրագրավորումն է, և պիթոնի և Arduino- ի միջև հաղորդակցության ռեժիմի ապահովումը: Հաղորդակցության համար ես օգտագործել եմ «Սերիական հաղորդակցություն»: Անցեք տեսանյութը, որը ես կապել եմ վերևում ՝ գտնելու համար, թե ինչպես է աշխատում սերիական հաղորդակցությունը և ստեղծելու այն: Տեսանյութի նկարագրության մեջ դուք կգտնեք բոլոր անհրաժեշտ ֆայլերը:
Եթե դիտել եք տեսանյութը, թույլ տվեք բացատրել ձեզ, թե ինչ եմ արել: Երբ իմ դեմքը ճանաչվում է, պիտակի ID- ն է 2. Երբ պիտակի ID- ն 2 է, ես կուղարկեմ '1' որպես սերիական տվյալներ իմ Arduino- ին: Որը կմիացնի իմ LED հետապնդող սխեման: Եթե պիտակի ID- ն այլ չէ, քան 2 -ը, ապա ես սերիական տվյալներ կուղարկեմ '0', ինչը կանջատի իմ LED հետապնդող սխեման:
Ներբեռնեք «ard_chaser.ino» ֆայլը: Դա պարզ LED հետապնդող ծրագիր է, որն օգտագործում է սերիական հաղորդակցություն:
Ներբեռնեք «face_recogniser1.py» - ն, որը կհաստատի Arduino- ի և python ծրագրի սերիական հաղորդակցությունը:
Այդպես էլ գնացեք: Հուսով եմ, որ դուք նոր բան եք սովորել: Բաժանորդագրվեք իմ youtube ալիքին ՝ Python- ի և Arduino- ի հետ կապված ավելի շատ նյութերի համար: Կիսեք սա, եթե ձեզ դուր եկավ: Շարունակեք աջակցել:
Շնորհակալություն.
Խորհուրդ ենք տալիս:
Opencv դեմքի հայտնաբերում, ուսուցում և ճանաչում. 3 քայլ
Opencv դեմքի հայտնաբերում, ուսուցում և ճանաչում. OpenCV- ը բաց կոդով համակարգչային տեսադարան է, որը շատ տարածված է պատկերի մշակման հիմնական առաջադրանքների կատարման համար, ինչպիսիք են ՝ պղտորումը, պատկերի միաձուլումը, պատկերի, ինչպես նաև տեսանյութի որակի բարձրացումը, շեմը և այլն: Բացի պատկերի մշակումից, դա ապացուցում է
Դեմքի ճանաչում պրակտիկայում. 21 քայլ
Դեմքի ճանաչում պրակտիկայում. Սա այն առարկան է, որով ես այնքան հրապուրված եմ, որ ստիպում է ինձ քնել: Համակարգչային տեսլականը, օբյեկտների և մարդկանց հայտնաբերումը նախապես պատրաստված մոդելի միջոցով
ESP32 CAM դեմքի ճանաչում MQTT աջակցությամբ - AI-Thinker: 4 քայլ
ESP32 CAM դեմքի ճանաչում MQTT աջակցությամբ | AI-Thinker. Բարև, ես ուզում էի կիսել ծրագրի իմ ծածկագիրը, եթե ինձ պետք էր ունենալ ESP CAM ՝ դեմքի ճանաչմամբ, որը կարող էր տվյալներ ուղարկել MQTT- ին: Շատ լավ: Միգուցե 7 ժամ փնտրելով բազմաթիվ կոդերի օրինակներ և փնտրելով այն, ինչ ինչ է, ես ավարտեցի
Opencv դեմքի ճանաչում. 4 քայլ
Դեմքի ճանաչում. Օրերս բավականին տարածված բան է, սմարթ հեռախոսների, բազմաթիվ էլեկտրոնային գործիքների նման ծրագրերում: Այս տեսակի տեխնոլոգիան ներառում է բազմաթիվ ալգորիթմներ և գործիքներ և այլն:
Իրական ժամանակի Դեմքի ճանաչում. Անընդհատ նախագիծ ՝ 8 քայլ (նկարներով)
Իրական ժամանակի դեմքի ճանաչում. Անընդհատ ծրագիր. OpenCV- ն ուսումնասիրող իմ վերջին ձեռնարկում մենք սովորեցինք ԱՎՏՈՄԱՏԱԿԱՆ ՎԻISԻԱՆԻ ՕԲՅԵԿՏԻ ԳՆԱՀԱՏՈՄ: Այժմ մենք կօգտագործենք մեր PiCam- ը `իրական ժամանակում դեմքերը ճանաչելու համար, ինչպես տեսնում եք ստորև