Απλή Ζωή

Εφαρμογή ανίχνευσης αναλαμπής με χρήση του Computer Vision

while True:

    if fileStream and not vs.more():
        break

    frame = vs.read()
    frame = imutils.resize(frame, width = 450)
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    rects = detector(gray, 0)

    for rect in rects:

        shape = predictor(gray, rect)
        shape = face_utils.shape_to_np(shape)

        leftEye = shape[lStart:lEnd]
        rightEye = shape[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)

        cv2.drawContours(frame, [leftEyeHull], -1, (0, 255, 0), 1)
        cv2.drawContours(frame, [rightEyeHull], -1, (0, 255, 0), 1)


        if ear < EYE_AR_THRESH:
            COUNTER += 1

        else:
            if COUNTER >= EYE_AR_CONSEC_FRAMES:
                TOTAL += 1
            #reset the eye frame counter

            COUNTER = 0

        cv2.putText(frame, "Blinks:{}".format(TOTAL), (10, 30), cv2.FONT_HERSHEY_COMPLEX, 0.7, (0, 0, 255), 2)
        cv2.putText(frame, "EAR:{:.2f}".format(ear), (300, 30), cv2.FONT_HERSHEY_COMPLEX, 0.7, (0, 0, 255), 2)

    cv2.imshow("Frame", frame)
    key = cv2.waitKey(12) & 0xFF

    if key == ord("q"):
        break

cv2.destroyAllWindows()
vs.stop()

Παραγωγή:

Ανάλυση κώδικα:

  1. Αρχικά θα κάνουμε βρόχο στη ροή βίντεο και μαζί με αυτό, θα ελέγξουμε επίσης αν υπάρχουν περισσότερα καρέ απομένουν στο buffer.
  2. Θα διαλέξουμε πρώτα όλα πλαίσια από το βίντεο/ζωντανή ροή, τότε θα το κάνουμε αλλαγή μεγέθους στις επιθυμητές μας διαστάσεις και, επιτέλους, να τις μετατρέψουμε σε κλίμακα του γκρι.
  3. Στη συνέχεια χρησιμοποιώντας το ανιχνευτής λειτουργία, θα εντοπίσουμε τα πρόσωπα.
  4. Τώρα, με τη βοήθεια του ο προγνωστικός λειτουργία, θα εντοπίσουμε τα σημεία αναφοράς του προσώπου και στη συνέχεια θα τα μετατρέψουμε σε έναν πίνακα NumPy.
  5. Τότε θα αρπάξουμε πρώτα το αριστερά και δεξιά οι συντεταγμένες του ματιού στη συνέχεια θα υπολογίσουν το Αναλογία διαστάσεων ματιών και κάντε τον μέσο όρο κατά 2, δηλαδή, 2 μάτια.
  6. Στη συνέχεια θα υπολογίσουμε το κυρτή γάστρα και για τα δύο μάτια, ώστε να μπορούμε να οραματιστούμε τα μάτια σχέδιο μεθόδους που χρησιμοποιούν περιγράμματα.
  7. Τώρα, θα ελέγξουμε ότι ο υπολογισμός μας ΑΥΤΙ πρέπει να είναι κάτω από το οριακή τιμή ώστε να μπορούμε να αυξήσουμε το μετρητής αναβοσβήνει.
  8. Αλλιώς αν το ΑΥΤΙ είναι μεγαλύτερο από την τιμή κατωφλίουτότε θα αυξήσουμε τον μετρητή του Σύνολο κουφωμάτων για να τσεκάρουμε και άλλα πλαίσια. Εάν τα μάτια ήταν κλειστά για συγκεκριμένα καρέ, τότε επίσης θα αυξήσουμε το αριθμός αναβοσβήνει.
  9. Στη συνέχεια χρησιμοποιώντας το βάλτε κείμενο μέθοδο, θα σχεδιάσουμε το αριθμός αναβοσβήνει σε κάθε πλαίσιο και επίσης το Τιμή αναλογίας ματιών (EAR).
  10. Στη συνέχεια, επιτέλους, χρησιμοποιώντας το προβολή λειτουργία, θα δείξουμε το mainframe και μαζί με αυτό θα κωδικοποιήσουμε και για έξοδο από τον βρόχο, δηλ. qκαι επιτέλους, για τη διαδικασία καθαρισμού, θα καταστρέψουμε όλα τα τζάμια.

συμπέρασμα

  1. Πρώτα είδαμε την εφαρμογή του σε πραγματικό κόσμο εφαρμογή ανίχνευσης αναλαμπής τότε είδαμε τι θα κάναμε με λίγα λόγια.
  2. Το κύριο βασικό στοιχείο από αυτό το άρθρο είναι να τμηματοποιήστε τα μάτια χρησιμοποιώντας τις συντεταγμένες τους.
  3. Μάθαμε επίσης για την έννοια του Ευκλείδεια απόσταση και τους τύπους του χρησιμοποιώντας τη συγκεκριμένη βιβλιοθήκη.
  4. Μαζί με αυτό, συναντήσαμε και την έννοια του Αναλογία διαστάσεων ματιών (EAR)που είναι η ψυχή αυτής της εφαρμογής.
  5. Μάθαμε και πώς το dlib Η βιβλιοθήκη θα μπορούσε να εντοπίσει τα ορόσημα του προσώπου και, μαζί με αυτό, να διαβάσει τα αρχεία βίντεο καθώς και τη ζωντανή ροή.

Εδώ είναι το ρεπό Σύνδεσμος σε αυτό το άρθρο. Ελπίζω να σας άρεσε το άρθρο μου για το Εφαρμογή ανίχνευσης αναλαμπής με χρήση υπολογιστή όρασης. Εάν έχετε οποιεσδήποτε απόψεις ή ερωτήσεις, σχολιάστε παρακάτω.

Διαβάστε στο AV Ιστολόγιο σχετικά με διάφορες προβλέψεις χρησιμοποιώντας τη Μηχανική Μάθηση.

Τα μέσα που εμφανίζονται σε αυτό το άρθρο δεν ανήκουν στο Analytics Vidhya και χρησιμοποιούνται κατά την κρίση του συγγραφέα.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button