Სარჩევი:

სახის ამოცნობა და ამოცნობა - Arduino Face ID OpenCV პითონისა და Arduino– ს გამოყენებით .: 6 ნაბიჯი
სახის ამოცნობა და ამოცნობა - Arduino Face ID OpenCV პითონისა და Arduino– ს გამოყენებით .: 6 ნაბიჯი

ვიდეო: სახის ამოცნობა და ამოცნობა - Arduino Face ID OpenCV პითონისა და Arduino– ს გამოყენებით .: 6 ნაბიჯი

ვიდეო: სახის ამოცნობა და ამოცნობა - Arduino Face ID OpenCV პითონისა და Arduino– ს გამოყენებით .: 6 ნაბიჯი
ვიდეო: Leap Motion SDK 2024, ნოემბერი
Anonim
Image
Image

სახის ამოცნობა AKA face ID არის ერთ -ერთი ყველაზე მნიშვნელოვანი ფუნქცია მობილურ ტელეფონებზე დღეს.

ასე რომ, მე მქონდა შეკითხვა "შემიძლია თუ არა ჩემი სახის Arduino პროექტის სახე" და პასუხი არის დიახ …

ჩემი მოგზაურობა ასე დაიწყო:

ნაბიჯი 1: ვებკამერაზე წვდომა

ნაბიჯი 2: სახის ამოცნობა.

ნაბიჯი 3: მონაცემთა შეგროვება

ნაბიჯი 4: ტრენინგი

ნაბიჯი 5: სახის ამოცნობა

ნაბიჯი 6: არდუინოს დაპროგრამება

ქვემოთ განვმარტავ ყველა ნაბიჯს. იმედი მაქვს, რომ ეს დაგეხმარებათ.

ნაბიჯი 1: ვებკამერაზე წვდომა

ვებკამერაზე წვდომა
ვებკამერაზე წვდომა

სახის ამოცნობის პირველი ნაბიჯი იყო კამერაზე ან კომპიუტერულ ხედვაზე წვდომა. ვინაიდან ინდოეთი დაბლოკილია, ყველაზე იაფი გამოსავალი, რომელიც აღმოვაჩინე, იყო ჩემი კომპიუტერის ვებკამერის გამოყენება, რომელზეც მე მქონდა წვდომა პითონის პროგრამით openCV მოდულის გამოყენებით.

თქვენ ალბათ ფიქრობთ რა არის OpenCV, არა?

OpenCV (ღია კოდის კომპიუტერული ხედვის ბიბლიოთეკა) არის ღია კოდის კომპიუტერული ხედვისა და მანქანათმცოდნეობის პროგრამული ბიბლიოთეკა. OpenCV შეიქმნა, რათა უზრუნველყოს საერთო ინფრასტრუქტურა კომპიუტერული ხედვის პროგრამებისთვის და დააჩქაროს მანქანების აღქმის გამოყენება კომერციულ პროდუქტებში.

თუ Opencv დაინსტალირებულია თქვენს კომპიუტერზე, მაშინ კარგია წასვლა. თუ არა, მიჰყევით ამ ნაბიჯს.

გახსენით ბრძანების სტრიქონი და ჩაწერეთ "pip install opencv".

გაფრთხილება: შეიძლება მიიღოთ შეცდომა, რადგან "" pip "არ არის აღიარებული როგორც შიდა ან გარე ბრძანება". რისთვისაც თქვენ უნდა დაამატოთ თქვენი PIP ინსტალაციის გზა თქვენს PATH სისტემის ცვლადს. გადახედე ამ პოსტს, შეიძლება დაგეხმაროს.

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

მას შემდეგ რაც OpenCV დაინსტალირდება, ჩვენ კარგად უნდა წავიდეთ … იმის შესამოწმებლად, არის თუ არა ის სწორად დაინსტალირებული გახსენით თქვენი პითონის თარჯიმანი და იმპორტირეთ ბიბლიოთეკა. იხილეთ სურათი ზემოთ, რომელიც უნდა იყოს თქვენი გამომავალი.

ჩამოტვირთეთ პითონის ფაილი "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: სახის ამოცნობა

Სახის ამოცნობა
Სახის ამოცნობა

თუ თქვენ სწორად გაიარეთ ყველა ნაბიჯი, თქვენ შეიძლება შექმნათ თქვენი საკუთარი გაწვრთნილი მონაცემები. ახლა ჩვენ გამოვიყენებთ ამ მონაცემებს სახის ამოცნობისთვის.

ძირითადად ჩვენ ჩავტვირთავთ ჩვენს გაწვრთნილ მოდელებს პითონის ფაილში, შევიდეთ ჩვენს ვებკამერაში და გამოვავლენთ სახეებს ვიდეო ნაკადში და გავაკეთებთ შედარებას ან პროგნოზს მიმდინარე ნაკადს, რომელიც გამოვლენილია ვიდეო ნაკადში და მოდელს, რომელიც გაწვრთნილია. თუ მონაცემები ემთხვევა, მაშინ ჩვენ ვამბობთ, რომ ადამიანი აღიარებულია, ეს ასე მარტივია…

ჩამოტვირთეთ "face_recognise.py" და გაუშვით. მასში მოცემულია ყველა საჭირო ინფორმაცია. ახლა შეიძლება შენი სახე ამოიცნო. თუ სიზუსტე არ არის კარგი, სცადეთ მონაცემების განახლება. თუ თქვენ ყველანი კარგად ხართ წასული, მოდით გავაგრძელოთ ნაბიჯი 6/

ნაბიჯი 6: არდუინოს დაპროგრამება

ბოლო და საბოლოო ნაბიჯი არის არდუინოს დაპროგრამება და პითონსა და არდუინოს შორის კომუნიკაციის რეჟიმის უზრუნველყოფა. კომუნიკაციისთვის გამოვიყენე "სერიული კომუნიკაცია". გაეცანით ვიდეოს, რომელიც ზემოთ დავუკავშირე, რათა გაირკვეს, თუ როგორ მუშაობს სერიული კომუნიკაცია და დაამყაროთ იგი. ვიდეო აღწერილობაში ნახავთ ყველა საჭირო ფაილს.

თუ თქვენ გაქვთ გადაღებული ვიდეო, ნება მომეცით აგიხსნათ რა გავაკეთე. როდესაც ჩემი სახე აღიარებულია, ეტიკეტის ID არის 2. მას შემდეგ, რაც ლეიბლის ID არის 2, მე გამოგიგზავნით '1' სერიულ მონაცემებს ჩემს არდუინოში. რომელიც ჩართავს ჩემს LED chaser ჩართვას. თუ ლეიბლის ID არის 2 -ის გარდა, მე გამოგიგზავნით '0' სერიული მონაცემების სახით, რაც გამოთიშავს ჩემს LED chaser Circuit- ს.

ჩამოტვირთეთ ფაილი "ard_chaser.ino". ეს არის მარტივი LED chaser პროგრამა, რომელიც იყენებს სერიულ კომუნიკაციას.

უბრალოდ გადმოწერეთ "face_recogniser1.py", რომელიც დაამყარებს სერიულ კომუნიკაციას არდუინოსა და პითონის პროგრამას შორის.

Ესეც ასე. ვიმედოვნებ, რომ თქვენ ისწავლეთ რაიმე ახალი. გამოიწერეთ ჩემი youtube არხი პითონთან და არდუინოსთან დაკავშირებული სხვა საკითხებისთვის. გააზიარეთ თუ მოგეწონათ. განაგრძეთ მხარდაჭერა.

Გმადლობთ.

გირჩევთ: