Orodha ya maudhui:
- Hatua ya 1: Vitu Unavyohitaji
- Hatua ya 2: Opencv-Intro na Usakinishaji
- Hatua ya 3: Kugundua na Kutambua Uso katika Video ya Wakati Halisi
- Hatua ya 4: Kuendesha Msimbo
Video: Utambuzi wa Uso wa Opencv: Hatua 4
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Utambuzi wa uso ni jambo la kawaida sasa kwa siku, katika matumizi mengi kama simu za rununu, vifaa vingi vya elektroniki. Aina hii ya teknolojia inajumuisha algorithms na zana nyingi. maktaba kama OpenCV, sasa unaweza kuongeza utambuzi wa uso kwa programu zako mwenyewe kama, mifumo ya usalama.
Katika mradi huu, nitakuambia jinsi ya kujenga utambuzi wa uso kwa kutumia Raspberry Pi na tumetumia arduino + Lcd kuonyesha jina la mtu huyo..
Hatua ya 1: Vitu Unavyohitaji
1. RASPBERRY PI
2. ARDUINO UNO / NANO
3.16x2 lCD INAONYESHA
4. RASPI-CAMERA / WEBcam (napendelea kamera ya wavuti kwa matokeo bora)
Hatua ya 2: Opencv-Intro na Usakinishaji
OpenCV (maktaba wazi ya maktaba ya kompyuta) ni maktaba muhimu sana - hutoa huduma nyingi muhimu kama utambuzi wa maandishi, utambuzi wa uso, kugundua kitu, uundaji wa ramani za kina, na ujifunzaji wa mashine.
Nakala hii itakuonyesha jinsi ya kusanikisha Opencv na maktaba zingine kwenye Raspberry Pi ambayo itasaidia wakati wa kugundua kitu na miradi mingine. Kutoka hapo, tutajifunza jinsi ya kufanya shughuli za picha na video kwa kutekeleza utambuzi wa kitu na mradi wa ujifunzaji wa mashine. Hasa, tutaandika nambari rahisi kugundua nyuso kwenye picha.
OpenCV ni nini?
OpenCV ni maono ya kompyuta ya chanzo wazi na maktaba ya programu ya kujifunza mashine. OpenCV hutolewa chini ya leseni ya BSD na kuifanya iwe bure kwa matumizi ya kielimu na kibiashara. Ina C ++, Python, na Java interface na inasaidia Windows, Linux, Mac OS, iOS, na Android. OpenCV iliundwa kwa ufanisi wa kihesabu na kuzingatia kwa nguvu matumizi ya wakati halisi.
Jinsi ya kufunga OpenCV kwenye Raspberry Pi?
Ili kufunga OpenCV, tunahitaji kuwa na Python iliyosanikishwa. Kwa kuwa Raspberry Pis imepakiwa na chatu, tunaweza kusanikisha OpenCV moja kwa moja.
Andika amri zilizo hapa chini ili uhakikishe kuwa Raspberry Pi yako imesasishwa na kusasisha vifurushi vilivyowekwa kwenye Raspberry Pi yako hadi matoleo ya hivi karibuni.
Sudo apt-kupata sasisho Sudo apt-kupata sasisho
Andika amri zifuatazo kwenye terminal ili kusakinisha vifurushi vinavyohitajika kwa OpenCV kwenye Raspberry Pi yako.
Sudo apt kufunga libatlas3-msingi libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqtcore4
Andika amri ifuatayo kusanidi OpenCV 3 ya Python 3 kwenye Raspberry Pi yako, pip3 inatuambia kuwa OpenCV itasanikishwa kwa Python 3.
sudo pip3 sakinisha opencv-contrib-python libwebp6
Sasa, OpenCV inapaswa kuwekwa.
(ikiwa makosa yoyote yalitokea: bado unaweza kuifanya kwa kufuata chini ya kiunga
https://www.instructables.com/id/Raspberry-Pi-Hand…)
Sasa usiwe na haraka tunahitaji kukiangalia ikiwa imewekwa vizuri au la
Jaribu opencv yako kwa:
1. nenda kwa terminal yako na chapa "chatu"
2. halafu andika "kuagiza cv2".
3. kisha andika "cv2._ toleo_".
kisha weka maktaba hizi
pip3 sakinisha python-numpy
pip3 sakinisha python-matplotlib
Nambari ya jaribio ili kugundua nyuso kwenye picha:
kuagiza cv2
usoCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");
image = cv2.imread ('jina lako la faili') # mfano cv2.imread ('home / pi / Desktop / filename.jpg')
utapata pato kama sanduku za mraba ziliundwa kwenye nyuso za watu ambao wako kwenye picha.
Hatua ya 3: Kugundua na Kutambua Uso katika Video ya Wakati Halisi
kuagiza cv2
kuagiza numpy kama np
kuagiza os
kuagiza serial
ser = serial. Serial ('/ dev / ttyACM0', 9600, timeout = 1) # / dev / ttyACM0 inaweza kubadilika katika kesi yako, inategemea arduino
cascadePath = "haarcascade_frontalface_default.xml"
usoCascade = cv2. CascadeClassifier (CascadePath)
kitambuzi = cv2.face.createLBPHFaceRecognizer ()
picha =
lebo =
kwa jina la faili katika os.listdir ('Dataset'):
im = cv2.imread ('Dataset /' + jina la faili, 0)
picha.tumia (im)
lebo.append (int (filename.split ('.') [0] [0]))
jina la faili la #print
names_file = open ('labels.txt')
majina = names_file.read (), mgawanyiko ('\ n')
treni ya kutambua (picha, np.raray (lebo))
chapa 'Mafunzo Yamefanywa… '
fonti = cv2. FONT_
HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # kifaa chako cha video
mwishoRes = "hesabu = 0
wakati (1):
_, fremu = cap.read ()
kijivu = cv2.cvt Rangi (fremu, cv2. COLOR_BGR2GRAY)
nyuso = usoCascade.detectMultiScale (kijivu, 1.3, 5)
hesabu + = 1
kwa (x, y, w, h) katika nyuso:
cv2. mstatili (fremu, (x, y), (x + w, y + h), (255, 0, 0), 2)
ikiwa hesabu> 20: res = majina [kitambuzi. utabiri (kijivu [y: y + h, x: x + w]) - 1]
ikiwa res! = mwishoRes:
mwishoRes = res
chapisha mwishoRes
andika (andika mwisho)
hesabu = 0
kuvunja
cv2.imshow ('fremu', fremu)
k = 0xFF & cv2.waitKey (10)
ikiwa k == 27:
kuvunja
cap. tafadhali ()
karibu
cv2.destroyAll Windows ()
Hatua ya 4: Kuendesha Msimbo
1. Pakua faili zilizoambatishwa katika hatua ya awali
Nakili picha zako za kijivu (picha 6 / sampuli…..) kwenye folda yako ya hifadhidata
1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (data iliyowekwa na nambari ya picha kwa folda ya wazi zaidi ya hifadhidata)
2. Brad Pitt-2_1, 2_2, 2_3, 2_4, 2_5, 2_6
3. Leo-3_1, 3_2, 3_3, 3_4, 3_5, 3_6
4. Ironman4_1, 4_2, 4_3, 4_4, 4_5, 4_6
kama ilivyo hapo juu unaweza kuongeza lebo kwa watu husika,
kwa hivyo ikiwa pi inagundua uso wowote kati ya 1_1, 1_2, 1_3, 1_4, 1_5, 1_6, basi iliwezeshwa kama Tom Cruise, kwa hivyo tafadhali kuwa mwangalifu wakati unapakia picha ……………….
na kisha unganisha arduino yako kwenye Risiberi yako na ufanye mabadiliko kwenye main.py codeer = serial. Serial ('/ dev / ttyACM0', 9600, timeout = 1) 3. weka faili zote zilizopakuliwa (main.py, folda ya hifadhidata, haarcascade_frontalface_default.xml katika folda moja.)
3. Sasa fungua Raspi-terminal endesha nambari yako na "sudo python main.py"
Ilipendekeza:
Kugundua Uso wa Opencv, Mafunzo na Utambuzi: Hatua 3
Kugundua Uso wa Opencv, Mafunzo na Utambuzi: OpenCV ni maktaba ya maono ya kompyuta ya chanzo wazi ambayo ni maarufu sana kwa kufanya kazi za msingi za kuchakata picha kama vile kung'ara, kuchanganya picha, kuongeza picha na ubora wa video, kuzuia nk. Mbali na usindikaji wa picha, ni
Utambuzi wa Uso na Kitambulisho - Kitambulisho cha Uso cha Arduino Kutumia OpenCV Python na Arduino .: Hatua 6
Utambuzi wa Uso na Kitambulisho | Kitambulisho cha Uso cha Arduino Kutumia OpenCV Chatu na Arduino .: Utambuzi wa uso Kitambulisho cha uso cha AKA ni moja ya huduma muhimu sana kwenye simu za rununu siku hizi. Kwa hivyo, nilikuwa na swali " je! Ninaweza kuwa na kitambulisho cha uso kwa mradi wangu wa Arduino " na jibu ni ndio … Safari yangu ilianza kama ifuatavyo: Hatua ya 1: Ufikiaji wetu
Mlango wa Mlango na Utambuzi wa Uso: Hatua 7 (na Picha)
Hivi karibuni kumekuwa na wimbi la wizi katika nchi yangu ambao unalenga watu wazee katika nyumba zao. Kawaida, ufikiaji hutolewa na wenyeji wenyewe kwani wageni huwashawishi kuwa wao ni wahudumu / wauguzi. Ni
Utambuzi wa Uso Smart Lock na LTE Pi HAT: Hatua 4
Utambuzi wa Uso Smart Lock na LTE Pi HAT: Utambuzi wa uso unatumika zaidi na zaidi, tunaweza kuitumia kufanya kufuli nzuri
Uso wa Kubadilisha uso wa uso - Kuwa Chochote: Hatua 14 (na Picha)
Uso wa Kubadilisha Uso wa Makadirio - Kuwa Chochote: Unafanya nini wakati hauwezi kuamua unachotaka kuwa Halloween? Kuwa kila kitu. Kinga ya makadirio inajumuisha maski nyeupe iliyochapishwa ya 3D, pi ya rasipberry, projekta ndogo na kifurushi cha betri. Inauwezo wa kutengeneza kitu chochote na kila kitu