Mündəricat:

Üz Tanıma və Tanıma - OpenCV Python və Arduino istifadə edərək Arduino Face ID: 6 Addım
Üz Tanıma və Tanıma - OpenCV Python və Arduino istifadə edərək Arduino Face ID: 6 Addım

Video: Üz Tanıma və Tanıma - OpenCV Python və Arduino istifadə edərək Arduino Face ID: 6 Addım

Video: Üz Tanıma və Tanıma - OpenCV Python və Arduino istifadə edərək Arduino Face ID: 6 Addım
Video: OpenCV ve Python Görüntü İşlemeye Giriş | Vusal Ismayilov | TGEA #4 2024, Noyabr
Anonim
Image
Image

Üz tanıma AKA üz identifikatoru, hazırda cib telefonlarında ən əhəmiyyətli xüsusiyyətlərdən biridir.

Beləliklə, "Arduino layihəm üçün üz idim ola bilərmi" sualım vardı və cavabı bəli …

Səyahətim belə başladı:

Addım 1: Veb kameraya giriş

Addım 2: Üz tanıma.

Addım 3: Məlumat toplama

Addım 4: Təlim

addım 5: Üz tanıma

addım 6: Arduino proqramlaşdırılması

Aşağıdakı bütün addımları izah edəcəyəm. Ümid edirəm ki, bu sizə kömək edəcək.

Addım 1: Veb kameraya giriş

Veb kameraya giriş
Veb kameraya giriş

Üz tanıma üçün ilk addım kameraya və ya kompüterə baxmaq imkanı idi. Hindistan kiliddə olduğu üçün, tapdığım ən ucuz həll yolu, açıq bir CV modulu istifadə edərək bir python proqramı ilə daxil olduğum kompüter veb kameramdan istifadə etmək idi.

OpenCV -nin nə olduğunu düşünürsünüz, elə deyilmi?

OpenCV (Açıq Mənbə Kompüter Görmə Kitabxanası) açıq mənbəli kompüter görmə və maşın öyrənmə proqram kitabxanasıdır. OpenCV, kompüter görmə tətbiqləri üçün ortaq bir infrastruktur təmin etmək və ticarət məhsullarında maşın algısının istifadəsini sürətləndirmək üçün qurulmuşdur.

Kompüterinizdə Opencv quraşdırılıbsa, getməyiniz yaxşıdır. Əks təqdirdə bu addımı izləyin.

əmr satırını açın və "pip install opencv" yazın.

Xəbərdarlıq: 'pip' daxili və ya xarici əmr olaraq tanınmadığı üçün bir səhv ala bilərsiniz. bunun üçün PATH sistem dəyişəninizə pip quraşdırma yolunuzu əlavə etməlisiniz. Bu yazını keçin sizə kömək edə bilər.

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

OpenCV quraşdırıldıqdan sonra getmək lazımdı … Düzgün quraşdırıldığını yoxlamaq üçün Python tərcüməçinizi açın və kitabxananı idxal edin. Çıxışınız olmalı olan yuxarıdakı şəklə baxın.

"AccessTo_webcam.py" python faylını yükləyin və işə salın. Orada bütün lazımi şərhləri verdim.

Budur, indi veb kameraya girişiniz var. Əla. 2 -ci mərhələyə keçək.

Addım 2: Üz Tanıma

Üz Tanıma
Üz Tanıma

eyni OpenCV modulunun köməyi ilə video axınında üzün olub olmadığını müəyyən etməliyik.

OpenCV, Cascade Classifier adlanan bir təlim metodu və ya əvvəlcədən öyrədilmiş modellər təqdim edir. Əvvəlcədən öyrədilmiş modellər OpenCV quraşdırma məlumat qovluğunda yerləşir. Bu faylı yalnız yükləyin və layihə qovluğunuza yerləşdirin. "AccessTo_webcam.py" faylının saxlandığı qovluq. Birini yaratmadınızsa, edin.

"Haarcascade_frontalface_default" yükləyin və əsas layihə qovluğuna yerləşdirin.

"Face_identification.py" yükləyin və əsas layihə qovluğuna yerləşdirin. Bütün izahatlar orada verilmişdir.

İndi video axınında üzləri tanıya bilərsiniz. Beləliklə, 3 -cü mərhələyə keçək.

Addım 3: Məlumat Toplama

Məlumatların toplanması
Məlumatların toplanması

Üzləri tanımaq üçün python proqramımızı öyrətməliyik. Bunun üçün bəzi məlumatlara ehtiyacımız var.

Məlumat toplamaq bu layihədə ən asan addımdır. əsas layihə qovluğunda "image_data" adlı bir qovluq yaradın. "Image_data" qovluğunun içərisində, şəxsin adı olan bəzi əlavə qovluqlar yaradın, burada məlumatları saxlayacağıq. misal üçün:

"İmage_data" qovluğunda "HRK" və "Yahiya" adlı daha iki qovluq yaratdım. yuxarıdakı şəkildə göstərildiyi kimi.

İndi öz qovluqlarınızı yaradın və ad verin.

Qovluqlar yaradıldıqdan sonra həmin şəxsin şəkillərini toplamağa başlayın. Adambaşına təxminən 20 şəkil toplamağı məsləhət görürəm. Daha çox şəkil də əlavə edə bilərsiniz, ancaq bütün şəxslər üçün toplanan məlumatların eyni sayda şəkilləri ehtiva etdiyini görə bilərsiniz. Dəqiqliyi təmin etməyə kömək edir.

budur, indi 4 -cü addıma keçək.

Addım 4: Təlim

Qısacası, "image_data" qovluğunda olan bütün qovluqları və şəkilləri nəzərdən keçirəcəyik və etiket identifikatorunu və müvafiq adı ehtiva edən bir lüğət yaradacağıq. Eyni zamanda, "maraq bölgəsi" dediyimiz hər bir şəkildəki üzü aşkar etmək üçün görüntüyü yükləyəcəyik və bu məlumatları ehtiva edən ".yml" faylı yaradacağıq.

X və Y şəxsləri üçün toplanmış məlumatlarınız olduğunu düşünsək.

X şəxsini 1 olaraq etiketləyəcəyik ki, bu da onun etiket nömrəsi və adı X -in özü olacaq. Üzünü, yəni maraq bölgəsini tapmaq üçün məlumatları bir siyahıya əlavə etmək üçün yükləyirik.

oxşar addımlar Y şəxs üçün də izləniləcək. Və nəhayət, ".yml" faylı yaradacağıq.

"Face_trainer.py" faylını yükləyin və əsas layihə qovluğuna yerləşdirin. Bütün lazımi izahatlar həmin faylın özündə verilir.

Bu proqramı işə saldığınız zaman bütün şəkillərdən keçəcək və "labels.pickle" və "trainner.yml" adlı iki fayl yaradacaq. İndi öz modelinizi öyrətmisiniz. 5 -ci addıma keçək.

Addım 5: Üz Tanıma

Üz Tanıma
Üz Tanıma

Bütün addımları düzgün şəkildə keçmisinizsə, öz təlim keçmiş məlumatlarınızı yaratmış ola bilərsiniz. İndi bu məlumatları üz tanıma üçün istifadə edəcəyik.

Əsasən, təlim keçmiş modellərimizi python faylına yükləyəcəyik, veb kameramıza daxil olacağıq və video axınında Üzləri tanıyacağıq və video axınında müəyyən edilmiş hazırkı üzlə öyrədilmiş model arasında müqayisə və ya proqnoz verəcəyik. məlumatlar uyğun gəlirsə, o şəxsin tanındığını söyləyirik, bu qədər sadədir …

"Face_recognise.py" yükləyin və işləyin. İçərisində bütün lazımi məlumatlar verilir. İndi üzünüz tanındı. dəqiqlik yaxşı deyilsə, məlumatları yeniləməyə çalışın. əgər hamınız yaxşısınızsa, 6 -cı addıma keçək/

Addım 6: Arduino proqramlaşdırılması

Son və son addım, Arduino və Python ilə Arduino arasında bir ünsiyyət rejimi təmin etməkdir. Ünsiyyət üçün "Serial Rabitə" dən istifadə etdim. Serial Rabitənin necə işlədiyini və qurmaq üçün yuxarıda əlaqələndirdiyim videoya keçin. Video təsvirində bütün lazımi faylları tapa bilərsiniz.

Videodan keçmisinizsə, sizə nə etdiyimi izah edim. Üzüm tanındıqda, göstərilən etiket ID -si 2 -dir. Etiket ID -si 2 olduqda, Arduino -ya serial məlumat olaraq '1' göndərəcəyəm. Hansı ki, mənim LED təqibçi dövrəmi açacaq. Etiket ID -si 2 -dən başqa olarsa, LED məlumat kəsmə qurğumu söndürəcək serial məlumat olaraq '0' göndərəcəyəm.

"Ard_chaser.ino" faylını yükləyin. Serial ünsiyyətdən istifadə edən sadə bir LED chaser proqramıdır.

Arduino ilə python proqramı arasında serial ünsiyyəti quracaq "face_recogniser1.py" faylını eyni şəkildə yükləyin.

Ora gedirsən. Ümid edirəm yeni bir şey öyrənmisiniz. Python və Arduino ilə əlaqəli daha çox şey üçün youtube kanalıma abunə olun. Bəyənmisinizsə bunu paylaşın. Dəstək olmağa davam edin.

Çox sağ ol.

Tövsiyə: