ዝርዝር ሁኔታ:
ቪዲዮ: የእንቅልፍ ማንቂያ ስርዓት - 3 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:30
በዓለም ዙሪያ በገዳይ የመንገድ አደጋዎች በየዓመቱ ብዙ ሰዎች ሕይወታቸውን ያጣሉ እና የእንቅልፍ መንዳት ለመንገድ አደጋዎች እና ለሞት ዋና መንስኤዎች ናቸው። በማሽከርከር መቆጣጠሪያዎች ላይ ድካም እና ማይክሮ እንቅልፍ ብዙውን ጊዜ ለከባድ አደጋዎች መንስኤ ናቸው። ሆኖም ፣ አንድ ወሳኝ ሁኔታ ከመከሰቱ በፊት የድካም የመጀመሪያ ምልክቶች ሊታወቁ ይችላሉ ፣ ስለሆነም የአሽከርካሪውን ድካም ማወቅ እና አመላካች ቀጣይ የምርምር ርዕስ ነው። እንቅልፍን ለመለየት ብዙዎቹ ባህላዊ ዘዴዎች በባህሪያት ገጽታዎች ላይ የተመሰረቱ ናቸው ፣ አንዳንዶቹ ጣልቃ ገብተው ሾፌሮችን ሊያዘናጉ ይችላሉ ፣ አንዳንዶቹ ውድ ዳሳሾች ይፈልጋሉ። ስለዚህ ፣ በዚህ ጽሑፍ ውስጥ ፣ በ Android ትግበራ ላይ ቀላል ክብደት ያለው ፣ የእውነተኛ ጊዜ የአሽከርካሪ ድብታ ማወቂያ ስርዓት ተዘጋጅቶ ይተገበራል። ስርዓቱ የምስል ማቀነባበሪያ ቴክኒኮችን በመጠቀም ቪዲዮዎቹን ይመዘግባል እና በእያንዳንዱ ክፈፍ ውስጥ የአሽከርካሪውን ፊት ይለያል። በአመቻች ወሰን ላይ በመመርኮዝ የአሽከርካሪውን ድብታ ለመለየት ስርዓቱ የፊት ገጽታ ምልክቶችን የመለየት ችሎታ አለው ፣ የዓይን እይታ ሬቲዮ (ኢአር) እና የዓይን መዝጊያ ውድር (ECR) ን ያሰላል። የታቀደውን አቀራረብ ውጤታማነት ለመፈተሽ የማሽን መማሪያ ስልተ ቀመሮች ሥራ ላይ ውለዋል። ተጨባጭ ውጤቶች እንደሚያሳዩት የታቀደው ሞዴል የዘፈቀደ የደን ምደባን በመጠቀም 84% ትክክለኛነትን ማሳካት ይችላል።
ደረጃ 1: የሚያስፈልጉዎት ነገሮች
1. RASPBERRY PI
2.ዌብካም (ለተሻለ ውጤት C270 ኤችዲ ዌብ ካም)
የኮምፒተር ስሪት በኮዱ ውስጥ አንዳንድ ለውጦች ያስፈልጉ ይሆናል
ደረጃ 2 - የፓይዘን ኮድ ከዓይኖች ቅርፅ ትንበያ ዳታሴት (ፒሲ ስሪት)
በእውነተኛ ጊዜ ቪዲዮ ውስጥ ዓይኖችን በጣም ውጤታማ በሆነ መንገድ ለመለየት ፣ ይህንን ስውሎ.dat ፋይል መጠቀም እንችላለን።
drive.google.com/open?id=1UiSHe72L4TeN14VK…
የ.dat ፋይልን ከላይ ካለው አገናኝ ያውርዱ እና ከዚህ በታች ያለውን የፓይዘን ኮድ ያሂዱ
የፓይዘን ኮድ
ከ scipy.spatial ማስመጣት ርቀቱ imutils ከውጭ ያስመጣሉ የፊት_ዩቲል አስመጪዎች ዲሊብ ማስመጣት cv2
def eye_aspect_ratio (ዓይን):
ሀ = distance.euclidean (ዓይን [1] ፣ ዓይን [5]) B = distance.euclidean (ዓይን [2] ፣ ዓይን [4]) C = distance.euclidean (ዓይን [0] ፣ ዓይን [3]) ጆሮ = (A + B) / (2.0 * C) የመመለሻ ጆሮ ትሬሽ = 0.25 frame_check = 20 detect = dlib.get_frontal_face_detector () predict = dlib.shape_predictor (". / Shape_predictor_68_face_landmarks.dat")# የዳታ ፋይል የኮዱ ቁልፍ ነው
(lStart ፣ lEnd) = face_utils. FACIAL_LANDMARKS_68_IDXS ["left_eye"]
(rStart, rEnd) = face_utils. FACIAL_LANDMARKS_68_IDXS ["right_eye"] cap = cv2. VideoCapture (0) ባንዲራ = 0 እውነት ሲሆን - ret, frame = cap.read () frame = imutils.resize (ፍሬም ፣ ስፋት = 450) ግራጫ = cv2.: lEnd] rightEye = ቅርጽ [rStart: rEnd] leftEAR = eye_aspect_ratio (leftEye) rightEAR = eye_aspect_ratio (rightEye) ear = (leftEAR + rightEAR) / 2.0 leftEyeHull = cv2.convexHull (leftEye) rightEyeHull = cv2.convexHull (rightEye) drawContours (ፍሬም ፣ [leftEyeHull] ፣ -1 ፣ (0 ፣ 255 ፣ 0) ፣ 1) cv2.drawContours (ፍሬም ፣ [rightEyeHull] ፣ -1 ፣ (0 ፣ 255 ፣ 0) ፣ 1) ጆሮ ከሆነ = frame_check: cv2.putText (ፍሬም ፣ "**************** አረጋጋ! ****************" ፣ (10 ፣ 30) ፣ cv2. FONT_HERSHEY_SIMPLEX ፣ 0.7 ፣ (0 ፣ 0 ፣ 255) ፣ 2) cv2.putText (ፍሬም ፣ “**************** ALERT! *********** *****”፣ (10 ፣ 325) ፣ cv2. FONT_HERSHEY_SIMPLEX ፣ 0.7 ፣ (0 ፣ 0 ፣ 255) ፣ 2) #ህትመት (“ድሮ wsy ") ሌላ: ባንዲራ = 0 cv2.imshow (" ፍሬም ", ፍሬም) ቁልፍ = cv2.waitKey (1) እና 0xFF ቁልፍ ከሆነ == ord (" q "): cv2.destroyAllWindow () cap.stop ()
ደረጃ 3 - Raspberry Pi ሥሪት
ሰዎች ዓይኖቻቸውን ሲዘጉ የዛፍ ፍሬው ማንቂያውን ይሰጥዎታል
ጩኸትዎን ከፒን 23 ጋር ያገናኙት (ምስሉን ይመልከቱ)
ከ scipy.የቦታ ማስመጣት ርቀት
RPi. GPIO ን እንደ GPIO ያስመጡ
ከጊዜ ወደ ጊዜ እንቅልፍ ያስመጣሉ
GPIO. ማስጠንቀቂያዎች (ሐሰት)
GPIO.setmode (GPIO. BCM)
ከአይሙተሮች ፊት_ዩቱሎችን ያስመጣሉ
አስመጪዎችን ከውጭ አስገባ ዲሊብ ማስመጣት cv2
ጩኸት = 23
GPIO.setup (buzzer, GPIO. OUT)
def eye_aspect_ratio (ዓይን):
ሀ = distance.euclidean (ዓይን [1] ፣ ዓይን [5]) B = distance.euclidean (ዓይን [2] ፣ ዓይን [4]) C = distance.euclidean (ዓይን [0] ፣ ዓይን [3]) ጆሮ = (A + B) / (2.0 * C) የመመለሻ ጆሮ ትሬሽ = 0.25 frame_check = 20 detect = dlib.get_frontal_face_detector () predict = dlib.shape_predictor (". / Shape_predictor_68_face_landmarks.dat")# የዳታ ፋይል የኮዱ ቁልፍ ነው
(lStart ፣ lEnd) = face_utils. FACIAL_LANDMARKS_68_IDXS ["left_eye"]
(rStart, rEnd) = face_utils. FACIAL_LANDMARKS_68_IDXS ["right_eye"] cap = cv2. VideoCapture (0) ባንዲራ = 0 እውነት ሲሆን - ret, frame = cap.read () frame = imutils.resize (ፍሬም ፣ ስፋት = 450) ግራጫ = cv2.: lEnd] rightEye = ቅርጽ [rStart: rEnd] leftEAR = eye_aspect_ratio (leftEye) rightEAR = eye_aspect_ratio (rightEye) ear = (leftEAR + rightEAR) / 2.0 leftEyeHull = cv2.convexHull (leftEye) rightEyeHull = cv2.convexHull (rightEye) drawContours (ክፈፍ ፣ [leftEyeHull] ፣ -1 ፣ (0 ፣ 255 ፣ 0) ፣ 1) cv2.drawContours (ፍሬም ፣ [rightEyeHull] ፣ -1 ፣ (0 ፣ 255 ፣ 0) ፣ 1) ጆሮ ከሆነ = frame_check: cv2.putText (ፍሬም ፣ "**************** አረጋጋ! ****************" ፣ (10 ፣ 30) ፣ cv2. FONT_HERSHEY_SIMPLEX ፣ 0.7 ፣ (0 ፣ 0 ፣ 255) ፣ 2) cv2.putText (ፍሬም ፣ “**************** ALERT! *********** *****”፣ (10 ፣ 325) ፣ cv2. FONT_HERSHEY_SIMPLEX ፣ 0.7 ፣ (0 ፣ 0 ፣ 255) ፣ 2) #ህትመት (“ድሮ wsy ")
GPIO.output (buzzer, GPIO. HIGH)
ሌላ: ባንዲራ = 0
GPIO.output (buzzer, GPIO. LOW)
cv2.imshow ("ፍሬም" ፣ ፍሬም) ቁልፍ = cv2.waitKey (1) እና 0xFF ቁልፍ ከሆነ == ord ("q"): cv2.destroyAllWindow () cap.stop ()
የሚመከር:
የእንቅልፍ ማንቂያ ደውልን 5 ደረጃዎች
የእንቅልፍ ማስጠንቀቂያ ደወል ይከላከሉ - እርስዎ በሚያጠኑበት ጊዜ ነቅተው ያውቁ ነበር ፣ እና ነቅተው ለመቆየት ይፈልጋሉ ፣ ግን አይችሉም? ደህና ፣ ሊነቃዎት የሚችል አሪፍ ማሽን እሠራለሁ። የማሸለብ ማንቂያ ደውል ነው ስሙ። እሱ በቀላሉ ሥራ ነው ፣ ማንቂያውን በጠረጴዛዎ ፊት ላይ ያድርጉት ፣ ጭንቅላትዎ በሚሆንበት ጊዜ
አርዱዲኖ የግፊት ማንቂያ ደወሎች ፣ የዘራፊ ማንቂያ ደወል ፣ የጭስ ማንቂያዎች ወዘተ 8 ደረጃዎች
አርዱዲኖ የግፊት ማንቂያ ደወሎች ፣ የዘራፊ ማንቂያ ደወል ፣ የጭስ ማንቂያ ደወሎች ወዘተ - የአርዱዲኖ ኡኖ እና የኢተርኔት ጋሻ በመጠቀም የ IoT ማሳወቂያዎች ከእርስዎ በር ፣ ዘራፊ ማንቂያ ፣ የጭስ ማንቂያዎች ወዘተ። እዚህ በድር ጣቢያዬ ላይ ሙሉ ዝርዝሮች ስለ አርዱinoኖ የግፋ ማንቂያ ሳጥን በ Wiznet W5100 ቺፕ ላይ በመመርኮዝ አርዱዲኖ ኡኖ እና ኤተርኔት ጋሻን ይጠቀማል
አርዱዲኖን በመጠቀም የእሳት ማንቂያ ስርዓት [በጥቂት ቀላል ደረጃዎች] 3 ደረጃዎች
አርዱዲኖን በመጠቀም የእሳት ማንቂያ ስርዓት [በጥቂት ቀላል ደረጃዎች]: በተመሳሳይ ጊዜ በእውነት ጠቃሚ እና ሕይወት አድን ሊሆን የሚችል ከአርዱዲኖ ጋር ቀላል እና አስደሳች ፕሮጀክት ለመስራት ይፈልጋሉ? አዎ ፣ ለመማር በትክክለኛው ቦታ ላይ መጥተዋል አዲስ እና አዲስ ነገር። በዚህ ጽሑፍ ውስጥ እኛ እንሄዳለን
የእንቅልፍ ጭምብል የእንቅልፍ ሙዚቃ: 5 ደረጃዎች
የዓይን ማስክ የእንቅልፍ ሙዚቃ - ይህ ፕሮጀክት በሌሊት በተሻለ እንዲተኛዎት የሚያደርግ ፕሮጀክት ነው ፣ በአይን ጭምብል ላይ በቀስታ የገና ዘፈን ላይ ይተማመኑ
ከባድ የእንቅልፍ ማንቂያ ሰዓት 7 ደረጃዎች
የከባድ የእንቅልፍ ማንቂያ ደወል ሰዓት - ሰላም ሁላችሁም ፣ ደህና ፣ ስለዚህ በመሠረቱ የጢስ ማውጫ ድምጽ ማጉያውን ለመጠቀም ትንሽ ባትሪ የተጎላበተበትን ሰዓት ቀይሬያለሁ። እሱ በጣም ጮክ ብሎ እና ሙታንን እንደገና ለማደስ እንደ መሣሪያ ሆኖ ሊያገለግል ይችላል። እባክዎን ያስታውሱ ይህ የመጀመሪያ አስተማሪዬ ነው ፣ ስለሆነም