Mündəricat:
- Addım 1: Lazım olan şeylər
- Addım 2: Opencv-Giriş və Quraşdırma
- Addım 3: Real Videoda Üzün Algılanması və Tanınması
- Addım 4: Kodun işə salınması
Video: Opencv Üz Tanıma: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Üz tanıma, indi ağıllı telefonlar, bir çox elektron gadget kimi bir çox tətbiqdə olduqca yaygın bir şeydir. Bu cür texnologiya bir çox alqoritm və aləti əhatə edir. OpenCV kimi kitabxanalar, indi təhlükəsizlik sistemləri kimi öz tətbiqlərinizə üz tanıma əlavə edə bilərsiniz.
Bu layihədə sizə Raspberry Pi istifadə edərək üz tanıma qurmağın yollarını izah edəcəyəm və şəxsin adını göstərmək üçün arduino+Lcd istifadə etdik.
Addım 1: Lazım olan şeylər
1. Raspberry PI
2. ARDUINO UNO / NANO
3.16x2 lCD EKRANI
4. RASPI-CAMERA / WEBcam (daha yaxşı nəticələr üçün veb kameraya üstünlük verirəm)
Addım 2: Opencv-Giriş və Quraşdırma
OpenCV (açıq mənbə kompüter görmə kitabxanası) çox faydalı bir kitabxanadır - mətn tanıma, üz tanıma, obyekt aşkarlama, dərinlik xəritələrinin yaradılması və maşın öyrənmə kimi bir çox faydalı xüsusiyyətləri təmin edir.
Bu məqalə, Raspberry Pi üzərində Opencv və digər kitabxanaların obyekt aşkarlama və digər proyektlər edərkən faydalı olacağını sizə göstərəcək. Oradan bir obyekt tanıma və maşın öyrənmə layihəsi həyata keçirərək görüntü və video əməliyyatlarının necə yerinə yetiriləcəyini öyrənəcəyik. Xüsusilə, bir şəkildəki üzləri aşkar etmək üçün sadə bir kod yazacağıq.
OpenCV nədir?
OpenCV, açıq mənbəli bir kompüter görmə və maşın öyrənmə proqram kitabxanasıdır. OpenCV, həm akademik, həm də kommersiya istifadəsi üçün pulsuz hala gətirən BSD lisenziyası ilə yayımlanır. C ++, Python və Java interfeyslərinə malikdir və Windows, Linux, Mac OS, iOS və Android -i dəstəkləyir. OpenCV, hesablama səmərəliliyi və real vaxt tətbiqlərinə güclü diqqət yetirmək üçün hazırlanmışdır.
Raspberry Pi -də OpenCV -ni necə quraşdırmaq olar?
OpenCV qurmaq üçün Python yüklü olmalıyıq. Raspberry Pis Python ilə əvvəlcədən yükləndiyindən birbaşa OpenCV quraşdıra bilərik.
Raspberry Pi -nin güncəl olduğundan əmin olmaq və Raspberry Pi -də quraşdırılmış paketləri ən son versiyalara yeniləmək üçün aşağıdakı əmrləri daxil edin.
sudo apt-get yeniləmələri və apt-get yeniləmələri
OpenCV üçün lazım olan paketləri Raspberry Pi -yə yükləmək üçün terminala aşağıdakı əmrləri daxil edin.
sudo apt install libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqt4i4 libqtgui4
Raspberry Pi -də Python 3 üçün OpenCV 3 qurmaq üçün aşağıdakı əmri yazın, pip3 bizə OpenCV -nin Python 3 üçün quraşdırılacağını bildirir.
sudo pip3 quraşdırma opencv-Contrib-python libwebp6
İndi OpenCV quraşdırılmalıdır.
(hər hansı bir səhv baş verərsə: hələ də aşağıdakı linki izləyərək edə bilərsiniz
https://www.instructables.com/id/Raspberry-Pi-Hand…)
İndi tələsməyin, düzgün qurulub quraşdırılmadığını yoxlamalıyıq
Opencv -ni sınayın:
1. terminalınıza gedin və "python" yazın
2. sonra "import cv2" yazın.
3. sonra "cv2._ version_" yazın.
sonra bu kitabxanaları quraşdırın
pip3 python-numpy quraşdırın
pip3 python-matplotlib quraşdırın
Şəkildə üzləri aşkar etmək üçün test kodu:
idxal cv2
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");
image = cv2.imread ('fayl adınız') #nümunə cv2.imread ('ev/pi/Masaüstü/filename.jpg')
Şəkildəki insanların üzündə kvadrat qutular əmələ gəlmiş kimi çıxışı alacaqsınız.
Addım 3: Real Videoda Üzün Algılanması və Tanınması
idxal cv2
np kimi numpy idxal edin
id id
idxal serialı
ser = serial. Serial ('/dev/ttyACM0', 9600, zaman aşımı = 1) #/dev/ttyACM0 sizin vəziyyətinizdə dəyişə bilər, arduinodan asılıdır
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier (cascadePath)
tanıyıcı = cv2.face.createLBPHFaceRecognizer ()
şəkillər =
etiketlər =
os.listdir ('Dataset') fayl adı üçün:
im = cv2.imread ('Dataset/'+fayl adı, 0)
şəkillər. əlavə et (im)
labels.append (int (fayl adı.split ('.') [0] [0]))
#fayl adını yazdırın
names_file = açıq ('labels.txt')
adlar = names_file.read (). split ('\ n')
tanıyıcı.train (şəkillər, np.array (etiketlər))
"Təlim bitdi" yazdırın… '
font = cv2. FONT_
HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # video cihazınız
lastRes = '' count = 0
isə (1):
_, çərçivə = cap.read ()
boz = cv2.cvtColor (çərçivə, cv2. COLOR_BGR2GRAY)
üzlər = faceCascade.detectMultiScale (boz, 1.3, 5)
say+= 1
üzlərdə (x, y, w, h) üçün:
cv2.dörtbucaq (çərçivə, (x, y), (x+w, y+h), (255, 0, 0), 2)
əgər say> 20: res = adlar [tanıyan.predikt (boz [y: y+h, x: x+w])-1]
əgər res! = lastRes:
lastRes = res
lastRes çap edin
ser.write (lastRes)
say = 0
fasilə
cv2.imshow ('çərçivə', çərçivə)
k = 0xFF & cv2.waitKey (10)
əgər k == 27:
fasilə
cap.release ()
ser.close ()
cv2.destroyAllWindows ()
Addım 4: Kodun işə salınması
1. Əvvəlki addımda əlavə edilmiş faylları yükləyin
2. boz şəkillərinizi (6 şəkil/ nümunə ….) məlumat qovluğunuza kopyalayın
1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (daha açıq verilənlər bazası qovluğu üçün məlumat dəsti şəkil nömrəsi)
2. Bred Pitt-2_1, 2_2, 2_3, 2_4, 2_5, 2_6
3. Aslan-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
yuxarıdakı kimi, müvafiq şəxslər üçün etiketlər əlavə edə bilərsiniz,
əgər pi 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 arasında hər hansı bir üz algılarsa, o zaman Tom Cruise olaraq etiketlənir, buna görə də şəkilləri yükləyərkən diqqətli olun ………………
və sonra arduino -nuzu moruq Pi -yə qoşun və main.py codeer = serial. Serial ('/dev/ttyACM0', 9600, zaman aşımı = 1) dəyişikliklər edin, haarcascade_frontalface_default.xml bir qovluqda.)
3. İndi "sudo python main.py" ilə kodunuzu işlədən Raspi terminalını açın.
Tövsiyə:
Abellcadabra (Üz Tanıma Qapı Kilidi Sistemi): 9 addım
Abellcadabra (Üz Tanıma Qapı Kilidi Sistemi): Karantin zamanı evin qapısı üçün üz tanıma quraraq vaxtı öldürmək üçün bir yol tapmağa çalışdım. Adını Abellcadabra qoydum - bu, Abracadabra ilə qapının zəngi olan sehrli bir ifadənin birləşməsidir və mən yalnız zəng vururam. LOL
Opencv Üz Tanıma, Təlim və Tanıma: 3 addım
Opencv Üz Tanıma, Təlim və Tanıma: OpenCV, bulanıqlaşdırma, şəkil qarışdırma, görüntünün yaxşılaşdırılması, video keyfiyyətinin artırılması, eşikləmə və s. sübut edir
Kompüter Görmə (OpenCV) istifadə edərək ulduz tanıma: 11 addım (şəkillərlə)
Kompüter Görmə (OpenCV) istifadə edərək Ulduz Tanıma: Bu təlimat, şəkildəki ulduz nümunələrini avtomatik olaraq təyin etmək üçün kompüter görmə proqramının necə yaradılacağını sizə izah edəcək. Metod, bir sıra təlim keçmiş HAAR kaskadları yaratmaq üçün OpenCV (Açıq Mənbə Kompüter Görmə) kitabxanasından istifadə edir
Üz Tanıma və Tanıma - OpenCV Python və Arduino istifadə edərək Arduino Face ID: 6 Addım
Üz Tanıma və Tanıma | OpenCV Python və Arduino istifadə edərək Arduino Face ID: Üz tanıma AKA üz ID indiki zamanda cib telefonlarında ən əhəmiyyətli xüsusiyyətlərdən biridir. Beləliklə, bir sualım var idi: "Arduino layihəm üçün üz idim ola bilərmi?" və cavab bəli … Səyahətim belə başladı: Addım 1: Bizə giriş
Üz Tanıma+Tanıma: 8 Addım (Şəkillərlə birlikdə)
Üz Algılama+tanıma: Bu, bir kameradan OpenCV ilə üz tanıma və tanıma işlərinin sadə bir nümunəsidir. DİQQƏT: BU PROJƏNİ SENSOR MÜSABİQƏSİ ÜÇÜN YAPDIM VƏ YÜZLƏRİ İZLƏMƏK VƏ TANIŞI YÜZÜNÜN KAMERASINDAN İSTİFADƏ ETDİM