Агуулгын хүснэгт:
- Алхам 1: Вэбкам руу нэвтрэх
- Алхам 2: Царай таних
- Алхам 3: Мэдээлэл цуглуулах
- Алхам 4: Сургалт
- Алхам 5: Нүүр таних
- Алхам 6: Arduino програмчлах
Видео: Нүүр таних ба таних - OpenCV Python болон Arduino ашиглан Arduino Face ID: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Нүүр таних 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 сувагт бүртгүүлээрэй. Хэрэв танд таалагдсан бол үүнийг хуваалцаарай. Дэмжиж байгаарай.
Баярлалаа.
Зөвлөмж болгож буй:
Abellcadabra (Нүүр таних хаалганы түгжээний систем): 9 алхам
Абеллкадабра (Нүүр таних хаалганы түгжээний систем): Хорио цээрийн дэглэм тогтоож байхдаа гэрийнхээ хаалганы нүүр таних төхөөрөмжийг ашиглан цагаа үрэх арга замыг олохыг хичээв. Би үүнийг Абеллкадабра гэж нэрлэсэн бөгөөд энэ нь зөвхөн хонх дардаг хаалганы хонхтой шидэт хэллэг болох Абракадабрагийн хослол юм. Хэхэ
Нууц тасалгаатай нүүр таних толь: 15 алхам (зурагтай)
Нууц тасалгаатай нүүрний таних толь: Өгүүллэг, кино гэх мэт зүйлд ашигладаг үргэлж бүтээлч нууц тасалгаанууд надад үргэлж сонирхолтой байдаг. Тиймээс, "Нууц тасалгаа" уралдааныг үзээд би энэ санааг өөрөө туршиж үзээд энгийн толь хийхээр шийдлээ
Нүүр таних хаалганы түгжээ: 8 алхам
Нүүр таних хаалганы түгжээ: Сар орчмын хугацаанд би нүүр таних хаалганы түгжээг танилцуулж байна! Би үүнийг аль болох цэвэрхэн харагдуулахыг хичээсэн ч 13 настай хүүхэд шиг л хийж чадна. Энэхүү нүүр таних хаалганы түгжээг тусгай зөөврийн цохиураар Raspberry Pi 4 ажиллуулдаг
Практикт нүүр царай таних: 21 алхам
Практик дээр нүүр царай таних: Энэ бол миний маш их сонирхдог сэдэв бөгөөд нойр алдахад хүргэдэг: Компьютерийн алсын хараа, объект, хүмүүсийг урьдчилан бэлтгэсэн загвараар илрүүлэх
Google Speech API болон Python ашиглан яриа таних: 4 алхам
Google Speech API болон Python ашиглан яриа таних: Яриа таних Хэл яриа таних нь хиймэл оюун ухааны дэд талбар болох байгалийн хэлний боловсруулалтын нэг хэсэг юм. Энгийнээр хэлэхэд, яриа таних гэдэг нь компьютерийн програм хангамж нь ярианы хэл дээрх үг, хэллэгийг таних чадвар юм