Съдържание:

Разпознаване и разпознаване на лица - Arduino Face ID Използване на OpenCV Python и Arduino .: 6 стъпки
Разпознаване и разпознаване на лица - Arduino Face ID Използване на OpenCV Python и Arduino .: 6 стъпки

Видео: Разпознаване и разпознаване на лица - Arduino Face ID Използване на OpenCV Python и Arduino .: 6 стъпки

Видео: Разпознаване и разпознаване на лица - Arduino Face ID Използване на OpenCV Python и Arduino .: 6 стъпки
Видео: Распознавание лиц на Python | Определение возраста, эмоций и расы по фотографии лица 2024, Юли
Anonim
Image
Image

Разпознаване на лице 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 и импортирайте библиотеката. Вижте изображението по -горе, което трябва да бъде вашият изход.

Изтеглете файла python „AccessTo_webcam.py“и го стартирайте. Предоставих всички необходими коментари там.

Ето, сега имате достъп до уеб камерата. Много добре. нека преминем към стъпка 2.

Стъпка 2: Идентификация на лицето

Идентификация на лицето
Идентификация на лицето

с помощта на същия OpenCV модул трябва да идентифицираме дали има лице във видео потока или не.

OpenCV предоставя метод на обучение или предварително обучени модели, наречени Cascade Classifier. Предварително обучените модели се намират в папката с данни в инсталацията на OpenCV. Предоставям този файл, просто го изтеглете и го поставете в папката на вашия проект. Папката, в която се съхранява файлът „AccessTo_webcam.py“. Ако не сте създали такъв, направете го.

Изтеглете „haarcascade_frontalface_default“и го поставете в основната папка на проекта.

Изтеглете „Face_identification.py“и го поставете в основната папка на проекта. Цялото обяснение е дадено в него.

Сега можете да идентифицирате лицата във видео поток. Така че нека да преминем към стъпка 3.

Стъпка 3: Събиране на данни

Събиране на данни
Събиране на данни

За да разпознаем лицата, трябва да обучим нашата програма за python. За което се нуждаем от някои данни.

Събирането на данни е по -скоро най -лесната стъпка в този проект. създайте папка с име "image_data" във вашата основна папка на проекта. Вътре в папката "image_data" създайте няколко допълнителни папки с името на човека, където ще съхраняваме данните. например:

В папката "image_data" създадох още две папки, наречени "HRK" и "Yahiya". както е показано на горното изображение.

Сега продължете да създавате свои собствени папки и да ги наименувате.

След като папките са създадени, започнете да събирате изображения на този конкретен човек. Препоръчвам да съберете близо 20 изображения на човек. Можете също да добавите още изображения, но се погрижете данните, събрани за всички лица, да съдържат еднакъв брой изображения. Той помага да се осигури точност.

това е сега нека преминем към стъпка 4.

Стъпка 4: Обучение

Накратко, ще преминем през всички папки и изображения, които присъстват в папката "image_data" и ще създадем речник, който ще съдържа идентификатора на етикета и съответното име. Едновременно с това ще заредим изображението, за да открием лицето във всяко изображение, което го наричаме „регион на интерес“и ще създадем „.yml“файл, който съдържа тази информация.

Ако приемем, че имате събрани данни за лице X и Y.

ще обозначим лице X като 1, което ще бъде неговият идентификационен номер на етикета, а името ще бъде самото X. Зареждаме изображението, за да намерим лицето му, т.е. регион на интерес и добавяме данните към списък.

подобни стъпки ще бъдат последвани за лице Y. И накрая, ние ще създадем ".yml" файл.

Изтеглете файла "face_trainer.py" и го поставете в основната папка на проекта. Цялото необходимо обяснение е дадено в самия файл.

Когато стартирате тази програма, тя ще премине през всички изображения и ще създаде два файла, наречени "labels.pickle" и "trainner.yml". Сега сте обучили свой собствен модел. така че нека преминем към стъпка 5.

Стъпка 5: Разпознаване на лица

Разпознаване на лица
Разпознаване на лица

Ако сте преминали правилно всички стъпки, може да сте създали свои собствени обучени данни. Сега ще използваме тези данни за разпознаване на лица.

По принцип ние ще заредим нашите обучени модели във файла python, ще получим достъп до нашата уеб камера и ще идентифицираме лица във видео потока и ще направим сравнение или прогнозиране между текущото лице, което е идентифицирано във видео потока, и модела, който е обучен. ако данните съвпадат, тогава казваме, че лицето е разпознато, това е толкова просто …

Изтеглете „face_recognise.py“и го стартирайте. В него е предоставена цялата необходима информация. Сега лицето ви може да е разпознато. ако точността не е добра, опитайте да актуализирате данните. ако всичко е наред, нека преминем към стъпка 6/

Стъпка 6: Програмиране на Arduino

Последната и последна стъпка е програмирането на Arduino и осигуряването на начин на комуникация между python и Arduino. За комуникация използвах „Серийна комуникация“. Прегледайте видеоклипа, който свързвах по -горе, за да разберете как работи серийната комуникация и да я установите. В описанието на видеото ще намерите всички необходими файлове.

Ако сте прегледали видеото, нека ви обясня какво направих. Когато лицето ми бъде разпознато, предоставеният идентификационен номер на етикета е 2. След като идентификационният номер на етикета е 2, ще изпратя „1“като серийни данни на моя Arduino. Което ще включи веригата ми за преследване на LED. Ако идентификаторът на етикета е различен от 2, тогава ще изпратя „0“като серийни данни, което ще изключи моята LED верига за преследване.

Изтеглете файла "ard_chaser.ino". Това е проста програма за преследване на LED, която използва серийна комуникация.

Подобно изтеглете "face_recogniser1.py", който ще установи серийната комуникация между Arduino и програмата python.

Ето. Надявам се, че сте научили нещо ново. Абонирайте се за моя канал в YouTube за още неща, свързани с python и Arduino. Споделете това, ако ви е харесало. Продължавайте да подкрепяте.

Благодаря ти.

Препоръчано: