ዝርዝር ሁኔታ:
- ደረጃ 1: የሚያስፈልጉዎት ነገሮች
- ደረጃ 2: Opencv- መግቢያ እና ጭነት
- ደረጃ 3 - በእውነተኛ ሰዓት ቪዲዮ ውስጥ ፊትን መለየት እና ማወቅ
- ደረጃ 4 - ኮዱን ማስኬድ
ቪዲዮ: የ Opencv ፊት መታወቂያ 4 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:31
እንደ ስማርት ስልኮች ፣ ብዙ የኤሌክትሮኒክስ መሣሪያዎች ባሉ ብዙ አፕሊኬሽኖች ውስጥ የፊት ለይቶ ማወቅ በአሁኑ ጊዜ በጣም የተለመደ ነገር ነው። ይህ ዓይነቱ ቴክኖሎጂ ብዙ ስልተ ቀመሮችን እና መሳሪያዎችን ወዘተ ያካትታል። እንደ OpenCV ያሉ ቤተ -መጽሐፍት ፣ አሁን እንደ የደህንነት ሥርዓቶች ባሉ የእራስዎ መተግበሪያዎች ላይ የፊት መታወቂያ ማከል ይችላሉ።
በዚህ ፕሮጀክት ውስጥ Raspberry Pi ን በመጠቀም የፊት መታወቂያ እንዴት እንደሚገነቡ እነግርዎታለሁ እናም የሰውን ስም ለማሳየት አርዱዲኖ+ኤልሲድን ተጠቅመናል።
ደረጃ 1: የሚያስፈልጉዎት ነገሮች
1. RASPBERRY PI
2. ARDUINO UNO / NANO
3.16x2 lCD ማሳያ
4. RASPI-CAMERA / WEBcam (ለተሻለ ውጤት የድር ካሜራ እመርጣለሁ)
ደረጃ 2: Opencv- መግቢያ እና ጭነት
OpenCV (ክፍት ምንጭ የኮምፒውተር ራዕይ ቤተ -መጽሐፍት) በጣም ጠቃሚ ቤተ -መጽሐፍት ነው - እንደ ጽሑፍ ማወቂያ ፣ የፊት ለይቶ ማወቅ ፣ የነገር ማወቂያ ፣ የጥልቅ ካርታዎችን መፍጠር እና የማሽን መማርን የመሳሰሉ ብዙ ጠቃሚ ባህሪያትን ይሰጣል።
ይህ ጽሑፍ የነገር ማወቂያን እና ሌሎች ፕሮጄክቶችን በሚሠሩበት ጊዜ የሚጠቅሙትን በ Raspberry Pi ላይ Opencv ን እና ሌሎች ቤተ -ፍርግሞችን እንዴት እንደሚጭኑ ያሳየዎታል። ከዚያ ፣ የነገር ማወቂያ እና የማሽን መማሪያ ፕሮጀክት በማከናወን የምስል እና የቪዲዮ ሥራዎችን እንዴት ማከናወን እንደሚቻል እንማራለን። በተለይም ፣ በምስል ውስጥ ፊቶችን ለመለየት ቀለል ያለ ኮድ እንጽፋለን።
OpenCV ምንድን ነው?
OpenCV ክፍት ምንጭ የኮምፒተር እይታ እና የማሽን መማሪያ ሶፍትዌር ቤተ -መጽሐፍት ነው። OpenCV በ BSD ፈቃድ ስር ይለቀቃል ለሁለቱም ለአካዳሚክ እና ለንግድ አገልግሎት ነፃ ያደርገዋል። ሲ ++ ፣ ፓይዘን እና ጃቫ በይነገጾች አሉት እና ዊንዶውስ ፣ ሊኑክስ ፣ ማክ ኦኤስ ፣ አይኤስኦ እና Android ን ይደግፋል። OpenCV ለስሌት ውጤታማነት እና በእውነተኛ-ጊዜ ትግበራዎች ላይ ጠንካራ ትኩረት የተነደፈ ነው።
Raspberry Pi ላይ OpenCV ን እንዴት እንደሚጫን?
OpenCV ን ለመጫን Python ን መጫን አለብን። Raspberry Pis በ Python ቀድሞ ስለተጫኑ ፣ OpenCV ን በቀጥታ መጫን እንችላለን።
የእርስዎ Raspberry Pi ወቅታዊ መሆኑን ለማረጋገጥ እና በእርስዎ Raspberry Pi ላይ የተጫኑ ጥቅሎችን ወደ የቅርብ ጊዜ ስሪቶች ለማዘመን ከዚህ በታች ያሉትን ትዕዛዞች ይተይቡ።
sudo apt-get updatesudo apt-get upgrade
በእርስዎ Raspberry Pi ላይ ለ OpenCV የሚያስፈልጉ ጥቅሎችን ለመጫን በተርሚናሉ ውስጥ የሚከተሉትን ትዕዛዞች ይተይቡ።
sudo apt install libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqtcore
በእርስዎ Raspberry Pi ላይ OpenCV 3 ን ለ Python 3 ለመጫን የሚከተለውን ትዕዛዝ ይተይቡ ፣ ፒፒ 3 OpenCV ለ Python 3 እንደሚጫን ይነግረናል።
sudo pip3 opencv-contrib-python libwebp6 ን ይጫኑ
አሁን ፣ OpenCV መጫን አለበት።
(ማንኛውም ስህተቶች ከተከሰቱ አሁንም ከዚህ በታች ያለውን አገናኝ በመከተል ማድረግ ይችላሉ
https://www.instructables.com/id/Raspberry-Pi-Hand…)
አሁን አይቸኩሉ በትክክል ተጭኗል ወይም አለመሆኑን ማረጋገጥ አለብን
የእርስዎን opencv ይሞክሩት በ ፦
1. ወደ ተርሚናልዎ ይሂዱ እና “ፓይዘን” ይተይቡ
2. ከዚያ “አስመጣ cv2” ብለው ይተይቡ።
3. ከዚያ “cv2._ ስሪት_” ብለው ይተይቡ።
ከዚያ እነዚህን ቤተ -መጽሐፍት ይጫኑ
pip3 ጫን Python-numpy
pip3 ጫን Python-matplotlib
በምስል ውስጥ ፊቶችን ለመለየት የሙከራ ኮድ
ማስመጣት cv2
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");
ምስል = cv2.imread ('የእርስዎ ፋይል ስም') #ምሳሌ cv2.imread ('ቤት/pi/ዴስክቶፕ/filename.jpg')
በሥዕሉ ላይ ባሉ ሰዎች ፊት ላይ እንደ ካሬ ሳጥኖች እንደተፈጠሩ ውጤቱን ያገኛሉ።
ደረጃ 3 - በእውነተኛ ሰዓት ቪዲዮ ውስጥ ፊትን መለየት እና ማወቅ
ማስመጣት cv2
ቁጥርን እንደ np ያስመጡ
አስመጣ os
ማስመጣት ተከታታይ
ser = serial. Serial ('/dev/ttyACM0' ፣ 9600 ፣ የእረፍት ጊዜ = 1) #/dev/ttyACM0 በእርስዎ ጉዳይ ላይ ሊለወጥ ይችላል ፣ በአርዲኖው ላይ የሚመረኮዝ
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier (cascadePath)
መታወቂያ = cv2.face.createLBPHFaceRecognizer ()
ምስሎች =
መለያዎች =
በ os.listdir ('Dataset') ውስጥ ለፋይል ስም:
im = cv2.imread ('የውሂብ ስብስብ/'+የፋይል ስም ፣ 0)
images.append (im)
labels.append (int (filename.split ('.')) [0] [0]))
#የህትመት ፋይል ስም
names_file = ክፍት ('labels.txt')
ስሞች = names_file.read ()። ተከፋፈለ ('\ n')
recognizer.train (ምስሎች ፣ np.array (መለያዎች))
ማተም 'ስልጠና ተከናውኗል።.. '
ቅርጸ -ቁምፊ = cv2. FONT_
HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # የቪዲዮ መሣሪያዎ
lastRes =”ቆጠራ = 0
(1):
_ ፣ ፍሬም = ካፕ።
ግራጫ = cv2.cvtColor (ፍሬም ፣ cv2. COLOR_BGR2GRAY)
ፊቶች = faceCascade.detectMultiScale (ግራጫ ፣ 1.3 ፣ 5)
ቁጥር+= 1
ለ (x ፣ y ፣ w ፣ h) በፊቶች
cv2.አራት ማዕዘን (ፍሬም ፣ (x ፣ y) ፣ (x+w ፣ y+h) ፣ (255 ፣ 0 ፣ 0) ፣ 2)
ቢቆጠር> 20: res = ስሞች [recognizer.predict (ግራጫ [y: y+h, x: x+w])-1]
ዳግም ከሆነ! = lastRes:
lastRes = res
lastRes ን ያትሙ
ser.write (lastRes)
ቁጥር = 0
ሰበር
cv2. ማሳያ ('ፍሬም' ፣ ፍሬም)
k = 0xFF & cv2. ይጠብቁ ቁልፍ (10)
k == 27 ከሆነ
ሰበር
ካፕ። መልቀቅ ()
ser.close ()
cv2. DestroyAllWindow ()
ደረጃ 4 - ኮዱን ማስኬድ
1. በቀደመው ደረጃ የተያያዙትን ፋይሎች ያውርዱ
2. ግራጫ ፎቶዎችዎን (6 ምስሎች/ ናሙናዎች…..) ወደ የውሂብ ስብስብ አቃፊዎ ይቅዱ
1. Tom Cruise 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 መካከል ማንኛውንም ፊት ከለየ ፣ እንደ ቶም ክሩዝ የሚል ስያሜ ተሰጥቶታል ፣ ስለዚህ እባክዎን ፎቶዎችን በሚሰቅሉበት ጊዜ ይጠንቀቁ ………………
እና ከዚያ የእርስዎን አርዱኢኖን ከእርስዎ እንጆሪ ፒ ጋር ያገናኙት እና በ main.py codeer = serial. Serial ('/dev/ttyACM0' ፣ 9600 ፣ የጊዜ ማብቂያ = 1) ውስጥ ለውጦችን ያድርጉ 3. ሁሉንም የወረዱ ፋይሎች (main.py ፣ የውሂብ ስብስብ አቃፊ), haarcascade_frontalface_default.xml በአንድ አቃፊ ውስጥ።)
3. አሁን Raspi-terminal ኮድዎን በ “sudo Python main.py” ያሂዱ።
የሚመከር:
የእንቅስቃሴ መታወቂያ ALARM: 7 ደረጃዎች
የእንቅስቃሴ መመርመሪያ ቃል: - ሰላም ፣ ጓደኞች በመማሪያው ውስጥ የእንቅስቃሴ ማወቂያ ማንቂያ እንዴት እንደሚሠሩ አሳያችኋለሁ። የዚህ ፕሮጀክት ዋና አካል የፒአር ዳሳሽ ነው
የፊት መታወቂያ በር መቆለፊያ: 8 ደረጃዎች
የፊት መታወቂያ በር መቆለፊያ - በግንባታ ላይ አንድ ወር ገደማ ፣ የፊት ለይቶ ማወቅን በር መቆለፊያ አቀርባለሁ! በተቻለኝ መጠን ንፁህ እንዲሆን ለማድረግ ሞከርኩ ፣ ግን እኔ ማድረግ የምችለው የ 13 ዓመት ልጅ ብቻ ነው። ይህ የፊት መታወቂያ በር መቆለፊያ የሚከናወነው በ “Raspberry Pi 4” ነው ፣ በልዩ ተንቀሳቃሽ ውጊያ
የእጅ እንቅስቃሴ መታወቂያ 5 ደረጃዎች
የእጅ እንቅስቃሴ ለይቶ ማወቅ - አጠቃላይ እይታ በዚህ ፕሮጀክት ውስጥ ማይክሮባይት እና ጥቂት ዳሳሾችን በመጠቀም አንዳንድ መሠረታዊ የእጅ እንቅስቃሴዎችን ሊያውቅ የሚችል ጓንት እንሠራለን። አንድን ለማሠልጠን ከ Android መተግበሪያ እና ከድር አገልጋይ ጋር በመሆን በማይክሮ ቢት ላይ የብሉቱዝ ችሎታዎችን እንጠቀማለን
የፊት መታወቂያ እና መታወቂያ - አርዱዲኖ የፊት መታወቂያ OpenCV Python ን እና Arduino ን በመጠቀም።: 6 ደረጃዎች
የፊት መታወቂያ እና መታወቂያ | አርዱዲኖ የፊት መታወቂያ OpenCV Python ን እና Arduino ን በመጠቀም። - የፊት ለይቶ ማወቅ የ AKA የፊት መታወቂያ በአሁኑ ጊዜ በሞባይል ስልኮች ላይ በጣም አስፈላጊ ከሆኑት ባህሪዎች አንዱ ነው። ስለዚህ ፣ እኔ ጥያቄ ነበረኝ ለ ‹አርዱinoኖ› ፕሮጀክት የፊት መታወቂያ አለኝ? እና መልሱ አዎ ነው … ጉዞዬ እንደሚከተለው ተጀመረ - ደረጃ 1: እኛ ወደ እኛ መድረስ
በተግባር ውስጥ የፊት መታወቂያ 21 ደረጃዎች
በተግባራዊ ሁኔታ የፊት ዕውቅና-ይህ በጣም ያስደነቀኝ ርዕሰ ጉዳይ ነው ፣ እንቅልፍ እንዳጣ ያደርገኛል-የኮምፒተር ራዕይ ፣ የነገሮችን እና ሰዎችን ቅድመ-ሥልጠና ሞዴል በመጠቀም