Агуулгын хүснэгт:

Нүүр таних ба таних - OpenCV Python болон Arduino ашиглан Arduino Face ID: 6 алхам
Нүүр таних ба таних - OpenCV Python болон Arduino ашиглан Arduino Face ID: 6 алхам

Видео: Нүүр таних ба таних - OpenCV Python болон Arduino ашиглан Arduino Face ID: 6 алхам

Видео: Нүүр таних ба таних - OpenCV Python болон Arduino ашиглан Arduino Face ID: 6 алхам
Видео: Нүүр царайгаар таних систем 2024, Долдугаар сарын
Anonim
Image
Image

Нүүр таних AKA нүүрний ID нь өнөө үед гар утасны хамгийн чухал онцлогуудын нэг юм.

Тиймээс, би "Arduino төслийнхөө нүүрний дугаартай байж болох уу" гэсэн асуулттай байсан бөгөөд хариулт нь тийм ээ …

Миний аялал дараах байдлаар эхэлсэн.

Алхам 1: Вэбкам руу нэвтрэх

Алхам 2: Царай таних.

Алхам 3: Мэдээлэл цуглуулах

Алхам 4: Сургалт

Алхам 5: Нүүр таних

Алхам 6: Arduino програмчлах

Би доорх бүх алхамыг тайлбарлах болно. Энэ нь танд туслах болно гэж найдаж байна.

Алхам 1: Вэбкам руу нэвтрэх

Вэбкам руу нэвтрэх
Вэбкам руу нэвтрэх

Нүүр таних эхний алхам бол камер эсвэл компьютерийн алсын хараатай байх явдал байв. Энэтхэг түгжигдсэн байгаа тул миний олж мэдсэн хамгийн хямд шийдэл бол openCV модулийг ашиглан python програм ашиглан компьютерийнхээ вэбкамерыг ашиглах явдал байв.

Та OpenCV гэж юу болохыг бодож байж магадгүй, тийм үү?

OpenCV (Open Source Computer Vision Library) нь компьютерийн алсын хараа, машин сургалтын програм хангамжийн номын сан юм. OpenCV нь компьютерийн харааны хэрэглээний нийтлэг дэд бүтцийг бий болгох, арилжааны бүтээгдэхүүнд машины ойлголтыг хурдасгах зорилгоор бүтээгдсэн.

Хэрэв таны компьютер дээр Opencv суулгасан бол та явахад тохиромжтой. Үгүй бол энэ алхамыг дагана уу.

командын мөрийг нээгээд "pip install opencv" гэж бичнэ үү.

Анхааруулга: "'pip" нь дотоод болон гадаад тушаал гэж хүлээн зөвшөөрөгдөөгүй тул алдаа гарч магадгүй юм. Үүний тулд та PATH системийн хувьсагч руу өөрийн пип суулгах замыг нэмэх хэрэгтэй. Энэ бичлэгийг үзээрэй, энэ нь танд туслах болно.

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

OpenCV -ийг суулгасны дараа бид явахад таатай байна … Зөв суулгасан эсэхийг шалгахын тулд Python хэлмэрчээ нээгээд номын санг импортлоорой. Таны гаралт байх ёстой дээрх зургийг үзнэ үү.

"AccessTo_webcam.py" питон файлыг татаж аваад ажиллуулна уу. Би тэнд шаардлагатай бүх тайлбарыг өгсөн.

За, одоо та вэбкамер руу нэвтрэх боломжтой боллоо. Сайн хийлээ. 2 -р алхам руу явцгаая.

Алхам 2: Царай таних

Нүүр таних
Нүүр таних

ижил OpenCV модулийн тусламжтайгаар бид видео урсгал дээр нүүр байгаа эсэхийг тодорхойлох ёстой.

OpenCV нь Cascade Classifier гэж нэрлэгддэг сургалтын арга эсвэл урьдчилан бэлтгэгдсэн загваруудыг өгдөг. Урьдчилан бэлтгэгдсэн загварууд нь 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 бөгөөд нэр нь өөрөө байх болно. Бид түүний нүүр царайг олохын тулд зургийг ачаалж, сонирхлын бүс, өгөгдлийг жагсаалтад хавсаргана.

Y хүний хувьд үүнтэй төстэй алхмуудыг хийх болно. Эцэст нь бид ".yml" файл үүсгэх болно.

"Face_trainer.py" файлыг татаж аваад төслийн үндсэн хавтсанд байрлуулна уу. Шаардлагатай бүх тайлбарыг тухайн файлд оруулсан болно.

Та энэ програмыг ажиллуулахад бүх зургуудыг үзэж, "labels.pickle" ба "trainner.yml" нэртэй хоёр файл үүсгэх болно. Одоо та өөрийнхөө загварыг сургасан. Тиймээс 5 -р алхам руу явцгаая.

Алхам 5: Нүүр таних

Нүүр таних
Нүүр таних

Хэрэв та бүх алхамыг зөв хийсэн бол та өөрийн бэлтгэгдсэн өгөгдлийг үүсгэсэн байж магадгүй юм. Одоо бид энэ өгөгдлийг царай танихад ашиглах болно.

Үндсэндээ бид бэлтгэгдсэн загваруудаа python файл руу ачаалж, вэбкамертаа нэвтэрч, видео урсгал дахь нүүр царайг тодорхойлж, видео урсгалд тодорхойлогдсон одоогийн царай, бэлтгэгдсэн загварыг харьцуулж, таамаглах болно. Хэрэв өгөгдөл таарч байвал тэр хүнийг таньдаг гэж хэлдэг, энэ бол маш энгийн зүйл …

"Face_recognise.py" татаж аваад ажиллуулна уу. Үүнд шаардлагатай бүх мэдээллийг оруулсан болно. Одоо таны царайг таньсан байж магадгүй. Хэрэв нарийвчлал сайн биш бол өгөгдлийг шинэчилж үзээрэй. Хэрэв та бүгд явахад сайн бол 6 -р алхам руу явцгаая.

Алхам 6: Arduino програмчлах

Сүүлчийн бөгөөд эцсийн алхам бол Arduino програмчлал бөгөөд питон ба Arduino хоорондох харилцааны горимыг бий болгох явдал юм. Харилцааны хувьд би "Цуваа холбоо" -г ашигласан. Дээрх холбоосоор холбогдсон видеог үзээд Serial Communication хэрхэн ажилладагийг олж мэдээд видеог тайлбарлахад шаардлагатай бүх файлыг олох болно.

Хэрэв та видеог үзсэн бол надад юу хийснээ тайлбарлаж өгье. Миний царайг танихад шошгоны ID 2 болно. Шошгоны ID 2 болсны дараа би '1' -ийг цуваа өгөгдөл болгон Arduino руу илгээнэ. Энэ нь миний LED chaser хэлхээг асаах болно. Хэрэв шошгоны ID нь 2 -оос өөр байвал би '0' -ийг цуваа өгөгдөл болгон илгээх бөгөөд энэ нь миний LED chaser хэлхээг унтраана.

"Ard_chaser.ino" файлыг татаж авах. Энэ бол цуваа холболтыг ашигладаг энгийн LED chaser програм юм.

Arduino болон python програмын хооронд цуваа холбоо тогтоох "face_recogniser1.py" файлыг мөн адил татаж аваарай.

Та тийшээ яв. Та шинэ зүйл сурсан гэж найдаж байна. Python болон Arduino -той холбоотой бусад зүйлийг миний youtube сувагт бүртгүүлээрэй. Хэрэв танд таалагдсан бол үүнийг хуваалцаарай. Дэмжиж байгаарай.

Баярлалаа.

Зөвлөмж болгож буй: