Სარჩევი:
- ნაბიჯი 1: ის, რაც გჭირდებათ
- ნაბიჯი 2: გახსნა-დანერგვა და ინსტალაცია
- ნაბიჯი 3: სახის გამოვლენა და ამოცნობა რეალურ დროში ვიდეოში
- ნაბიჯი 4: კოდის გაშვება
ვიდეო: Opencv სახის ამოცნობა: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
სახის ამოცნობა დღესდღეობით საკმაოდ გავრცელებული მოვლენაა, ბევრ აპლიკაციაში, როგორიცაა სმარტფონები, ბევრი ელექტრონული გაჯეტი. ამგვარი ტექნოლოგია მოიცავს უამრავ ალგორითმს და ინსტრუმენტს და სხვ. რომელიც იყენებს ჩამონტაჟებულ SOC პლატფორმებს, როგორიცაა Raspberry Pi და ღია კოდის კომპიუტერული ხედვა ბიბლიოთეკები, როგორიცაა OpenCV, ახლა თქვენ შეგიძლიათ დაამატოთ სახის ამოცნობა თქვენს საკუთარ პროგრამებში, როგორიცაა უსაფრთხოების სისტემები.
ამ პროექტში მე გეტყვით როგორ ავაშენოთ სახის ამოცნობა Raspberry Pi– ს გამოყენებით და ჩვენ გამოვიყენეთ arduino+Lcd პიროვნების სახელის საჩვენებლად.
ნაბიჯი 1: ის, რაც გჭირდებათ
1. ჟოლოს პი
2.არდინო უნო / ნანო
3.16x2 lCD დისპლეი
4. RASPI-CAMERA / WEBcam (უკეთეს შედეგს ვანიჭებ ვებკამერას)
ნაბიჯი 2: გახსნა-დანერგვა და ინსტალაცია
OpenCV (ღია კოდის კომპიუტერული ხედვის ბიბლიოთეკა) არის ძალიან სასარგებლო ბიბლიოთეკა - ის შეიცავს ბევრ სასარგებლო ფუნქციას, როგორიცაა ტექსტის ამოცნობა, სახის ამოცნობა, ობიექტების გამოვლენა, სიღრმის რუქების შექმნა და მანქანათმცოდნეობა.
ეს სტატია გაჩვენებთ თუ როგორ უნდა დააინსტალიროთ Opencv და სხვა ბიბლიოთეკები Raspberry Pi– ზე, რაც გამოგადგებათ ობიექტების გამოვლენისა და სხვა პროექტების განხორციელებისას. იქიდან ჩვენ ვისწავლით თუ როგორ უნდა შეასრულოთ გამოსახულება და ვიდეო ოპერაციები ობიექტის ამოცნობისა და მანქანათმცოდნეობის პროექტის განხორციელებით. კერძოდ, ჩვენ დავწერთ მარტივ კოდს გამოსახულების სახეების გამოსავლენად.
რა არის OpenCV?
OpenCV არის ღია კომპიუტერული ხედვისა და მანქანათმცოდნეობის პროგრამული ბიბლიოთეკა. OpenCV გამოდის BSD ლიცენზიით, რაც უფასოა როგორც აკადემიური, ასევე კომერციული გამოყენებისთვის. მას აქვს C ++, Python და Java ინტერფეისები და მხარს უჭერს Windows, Linux, Mac OS, iOS და Android. OpenCV შეიქმნა გამოთვლითი ეფექტურობისთვის და რეალურ დროში პროგრამებზე ძლიერი ფოკუსირებისთვის.
როგორ დავაყენოთ OpenCV ჟოლოს პიზე?
OpenCV– ის ინსტალაციისთვის, ჩვენ გვჭირდება პითონი დაყენებული. მას შემდეგ, რაც Raspberry Pis წინასწარ არის დატვირთული Python– ით, ჩვენ შეგვიძლია პირდაპირ დავაყენოთ OpenCV.
ჩაწერეთ ქვემოთ მოცემული ბრძანებები, რომ დარწმუნდეთ, რომ თქვენი Raspberry Pi განახლებულია და განაახლოთ თქვენს Raspberry Pi– ზე დაინსტალირებული პაკეტები უახლეს ვერსიებზე.
sudo apt-get updatesudo apt-get განახლება
ჩაწერეთ შემდეგი ბრძანებები ტერმინალში, რომ დააინსტალიროთ OpenCV– სთვის საჭირო პაკეტები თქვენს Raspberry Pi– ზე.
sudo apt install libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqtcore4
ჩაწერეთ შემდეგი ბრძანება, რომ დააინსტალიროთ OpenCV 3 Python 3 – ისთვის თქვენს Raspberry Pi– ზე, pip3 გვეუბნება, რომ OpenCV დაინსტალირდება Python 3 –ზე.
sudo pip3 დააინსტალირეთ opencv-contrib-python libwebp6
ახლა, OpenCV უნდა იყოს დაინსტალირებული.
(თუ რაიმე შეცდომა მოხდა: მაინც შეგიძლიათ ამის გაკეთება ქვემოთ მოცემულ ბმულზე
https://www.instructables.com/id/Raspberry-Pi-Hand…)
ახლა ნუ იჩქარებთ, ჩვენ უნდა შევამოწმოთ ის სწორად იყო დაინსტალირებული თუ არა
შეამოწმე შენი ღია ვიდეო:
1. შედი შენს ტერმინალში და typr "პითონი"
2. შემდეგ ჩაწერეთ "იმპორტი cv2".
3. შემდეგ ჩაწერეთ "cv2._ ვერსია_".
შემდეგ დააინსტალირეთ ეს ბიბლიოთეკები
pip3 დააინსტალირეთ python-numpy
pip3 დააინსტალირეთ python-matplotlib
ტესტის კოდი გამოსახულების სახეების დასადგენად:
იმპორტი cv2
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");
image = cv2.imread ('თქვენი ფაილის სახელი') #მაგალითი cv2.imread ('home/pi/Desktop/filename.jpg')
თქვენ მიიღებთ გამომავალს ისე, როგორც კვადრატული ყუთები ჩამოყალიბდა იმ ადამიანების სახეებზე, ვინც სურათზეა.
ნაბიჯი 3: სახის გამოვლენა და ამოცნობა რეალურ დროში ვიდეოში
იმპორტი cv2
იმპორტირებული numpy როგორც np
იმპორტი os
სერიული იმპორტი
ser = serial. სერიული ('/dev/ttyACM0', 9600, ვადა = 1) #/dev/ttyACM0 შეიძლება შეიცვალოს თქვენს შემთხვევაში, ეს დამოკიდებულია არდუინოზე
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier (cascadePath)
აღიარებელი = cv2.face.createLBPHFaceRecognizer ()
სურათები =
ეტიკეტები =
ფაილის სახელისთვის os.listdir ('მონაცემთა ნაკრები'):
im = cv2.imread ("მონაცემთა ნაკრები/"+ფაილის სახელი, 0)
images.append (im)
labels.append (int (filename.split ('.') [0] [0]))
#დაბეჭდე ფაილის სახელი
names_file = ღია ('labels.txt')
სახელები = names_file.read (). გაყოფა ('\ n')
ამოცნობა
ბეჭდვა 'ტრენინგი დასრულებულია. რა რა '
font = cv2. FONT_
HERSHEY_SIMPLEXcap = cv2. ვიდეო გადაღება (1) # თქვენი ვიდეო მოწყობილობა
lastRes = "" რაოდენობა = 0
ხოლო (1):
_, frame = cap.read ()
ნაცრისფერი = cv2.cvtColor (ჩარჩო, cv2. COLOR_BGR2GRAY)
სახეები = faceCascade.detectMultiScale (ნაცრისფერი, 1.3, 5)
დათვლა+= 1
for (x, y, w, h) სახეებში:
cv2. მართკუთხედი (ჩარჩო, (x, y), (x+w, y+h), (255, 0, 0), 2)
თუ რიცხვი> 20: res = სახელები [აღიარებელი. წინასწარმეტყველება (ნაცრისფერი [y: y+h, x: x+w])-1]
თუ res! = lastRes:
lastRes = რეზ
დაბეჭდე lastRes
ser.write (lastRes)
რაოდენობა = 0
შესვენება
cv2.imshow ('ჩარჩო', ჩარჩო)
k = 0xFF და cv2.wait გასაღები (10)
თუ k == 27:
შესვენება
cap. გამოშვება ()
ser. დახურვა ()
cv2.destroyAllWindows ()
ნაბიჯი 4: კოდის გაშვება
1. ჩამოტვირთეთ წინა საფეხურზე თანდართული ფაილები
2. დააკოპირეთ ნაცრისფერი ფოტოები (6 სურათი/ ნიმუში…..) თქვენს მონაცემთა ნაკრების საქაღალდეში
1. ტომ კრუიზი 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (მონაცემთა ნაკრების გამოსახულების ნომერი მონაცემთა ნაკრების უფრო ღია საქაღალდეში)
2. ბრედ პიტი -2_1, 2_2, 2_3, 2_4, 2_5, 2_6
3. ლომი -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
ზემოთქმულის მსგავსად, თქვენ შეგიძლიათ დაამატოთ ეტიკეტები შესაბამისი პირებისთვის,
ასე რომ, თუ პი აღმოაჩენს რაიმე სახეს 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 შორის, მაშინ ის იყო ტომ კრუზის მარკირებული, ასე რომ ფრთხილად იყავით ფოტოების ატვირთვისას ………………
და შემდეგ დაუკავშირეთ თქვენი arduino თქვენს ჟოლოს Pi და შეიტანეთ ცვლილებები main.py codeser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) 3. ჩაწერეთ ყველა გადმოწერილი ფაილი (main.py, მონაცემთა ნაკრების საქაღალდე, haarcascade_frontalface_default.xml ერთ საქაღალდეში.)
3. ახლა გახსენით Raspi- ტერმინალი გაუშვით თქვენი კოდი "sudo python main.py"
გირჩევთ:
MATLAB მარტივი სახის ამოცნობა: 4 ნაბიჯი
MATLAB Easy Face Detection: ამ ინსტრუქციის მთავარი მიზანია აჩვენოს რამდენად ადვილი იქნება სურათის დამუშავება, MATLAB– ის დახმარებით სახის გამოვლენა და თვალთვალი იყო მნიშვნელოვანი და აქტიური კვლევითი სფერო, ამიტომ ამიტომაც ვაპირებ ახსნას როგორ შეიძლება ამის გაკეთება
Opencv სახის ამოცნობა, სწავლება და ამოცნობა: 3 ნაბიჯი
Opencv სახის ამოცნობა, სწავლება და ამოცნობა: OpenCV არის ღია კოდის კომპიუტერული ხედვის ბიბლიოთეკა, რომელიც ძალიან პოპულარულია გამოსახულების დამუშავების ძირითადი ამოცანების შესასრულებლად, როგორიცაა დაბინდვა, სურათის შერწყმა, სურათის გაძლიერება, ასევე ვიდეოს ხარისხი, ბარიერი და ა.შ. სურათის დამუშავების გარდა, ეს პროვოცირებს
სახის ამოცნობა და ამოცნობა - Arduino Face ID OpenCV პითონისა და Arduino– ს გამოყენებით .: 6 ნაბიჯი
სახის ამოცნობა და ამოცნობა | Arduino Face ID OpenCV პითონისა და არდუინოს გამოყენებით: სახის ამოცნობა AKA face ID არის ერთ -ერთი ყველაზე მნიშვნელოვანი ფუნქცია მობილურ ტელეფონებზე დღეს. ასე რომ, მე მქონდა შეკითხვა " შემიძლია ვიპოვო სახის ID ჩემი Arduino პროექტისთვის " და პასუხი არის დიახ … ჩემი მოგზაურობა დაიწყო შემდეგნაირად: ნაბიჯი 1: ჩვენთან წვდომა
სახის ამოცნობა+ამოცნობა: 8 ნაბიჯი (სურათებით)
სახის გამოვლენა+ამოცნობა: ეს არის მარტივი ამოცანა სახის გამოვლენისა და ამოცნობის შესახებ OpenCV კამერით. შენიშვნა: მე გავაკეთე ეს პროექტი სენსორული კონკურსისთვის და გამოვიყენე კამერა, როგორც სენსორი თვალყურის დევნისა და აღიარების სახეებისთვის. ასე რომ, ჩვენი მიზანი ამ სესიაზე, 1. დააინსტალირეთ ანაკონდა
სახის და თვალის ამოცნობა ჟოლოს პი ნულოვანი და Opencv: 3 ნაბიჯი
სახის და თვალის ამოცნობა ჟოლოსთან Pi ნულოვანი და Opencv: ამ ინსტრუქციურად მე ვაპირებ ვაჩვენო, თუ როგორ შეგიძლიათ აღმოაჩინოთ სახე და თვალი ჟოლოს pi და opencv გამოყენებით. ეს არის ჩემი პირველი ინსტრუქცია opencv– ზე. მე გავეცანი ბევრ გაკვეთილს ჟოლოში ღია cv- ს შესაქმნელად, მაგრამ ყოველ ჯერზე რაღაც შეცდომებით ვხვდებოდი. ყოველ შემთხვევაში მე