成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用 YOLO 檢測(cè)眼睛閉合 | 設(shè)定警報(bào)

開發(fā) 深度學(xué)習(xí)
我們將探討如何使用OpenCV和YOLO目標(biāo)檢測(cè)模型來檢測(cè)視頻中的眼睛閉合,并在眼睛閉合超過特定閾值時(shí)發(fā)出警告。我們還將討論將這種方法應(yīng)用于實(shí)時(shí)檢測(cè)的可能性。

我們將探討如何使用OpenCV和YOLO目標(biāo)檢測(cè)模型來檢測(cè)視頻中的眼睛閉合,并在眼睛閉合超過特定閾值時(shí)發(fā)出警告。我們還將討論將這種方法應(yīng)用于實(shí)時(shí)檢測(cè)的可能性。眼睛閉合檢測(cè)在許多現(xiàn)實(shí)世界的應(yīng)用中都是一個(gè)重要的用例,從監(jiān)控駕駛員疲勞到確保關(guān)鍵環(huán)境中的警覺性。

先決條件

在開始之前,請(qǐng)確保已安裝以下庫:

  • OpenCV:用于視頻處理和顯示結(jié)果。
  • Ultralytics YOLO:一個(gè)流行且高效的深度學(xué)習(xí)模型,用于目標(biāo)檢測(cè)。

要安裝必要的庫,你可以運(yùn)行:

pip install opencv-python
pip install ultralytics

眼睛閉合檢測(cè)算法概述

  • 加載YOLO模型:我們加載一個(gè)預(yù)訓(xùn)練的YOLO模型(best.pt)用于眼睛檢測(cè)。這個(gè)模型被訓(xùn)練來識(shí)別兩種狀態(tài):“閉合”和“打開”的眼睛。下載模型
  • 讀取輸入視頻:使用OpenCV逐幀讀取視頻。
  • 執(zhí)行目標(biāo)檢測(cè):使用YOLO檢測(cè)每幀中眼睛的狀態(tài)。
  • 跟蹤眼睛閉合持續(xù)時(shí)間:如果檢測(cè)到眼睛“閉合”超過指定閾值,將顯示警告。
  • 顯示結(jié)果:結(jié)果被寫入輸出視頻文件,如果需要,警告消息會(huì)被疊加在幀上。

逐步實(shí)現(xiàn)

以下是使用YOLO和OpenCV檢測(cè)視頻中眼睛閉合的完整Python代碼:

import cv2
from ultralytics import YOLO


# Load the pre-trained YOLO model
model = YOLO("best.pt")
names = model.names
# Open the video file
cap = cv2.VideoCapture("video.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
# Initialize video writer to save the output
video_writer = cv2.VideoWriter("output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Initialize variables for eye closure detection
eye_closed_frames = 0
eye_closed_threshold_seconds = 1  # Threshold in seconds
eye_closed_threshold_frames = eye_closed_threshold_seconds * fps  # Convert seconds to frames
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    # Predict the state of the eyes using YOLO
    results = model.predict(im0, show=False)
    boxes = results[0].boxes.xyxy.cpu().tolist()
    clss = results[0].boxes.cls.cpu().tolist()
    annotator = Annotator(im0, line_width=2, example=names)
    eye_closed = False  # Flag to check if the eye is closed in the current frame
If boxes are not None:
        for box, cls in zip(boxes, clss):
            clsName = names[int(cls)]
            xmax = int(box[0])
            ymin = int(box[1])
            xmin = int(box[2])
            ymax = int(box[3])
            # Set color based on the class name
            if clsName == 'closed':
                clr = (0, 0, 255)
                eye_closed = True  # Mark eye as closed
            elif clsName == 'opened':
                clr = (0, 255, 0)
            # Draw the bounding box and label
cv2.FONT_HERSHEY_SIMPLEX
            Font_scale = 1
            Font_thickness = 2
            tw, th = cv2.getTextSize(clsName, font, font_scale, font_thickness)[0]
            cv2.rectangle(im0, (xmin, ymin), (xmax, ymax), color=clr, thickness=2)
            cv2.putText(im0, clsName, (xmax, ymin - 5), font, font_scale, color=clr, thickness=font_thickness)
    # Check for eye closure duration
    if eye_closed:
        Eye_closed_frames += 1
    else:
# Reset counter if the eye is not closed
    # Display warning if eye has been closed for more than the threshold
    if eye_closed_frames > eye_closed_threshold_frames:
        print("Warning: Eye has been closed for more than 2 seconds!")
        cv2.putText(im0, "WARNING: Eye closed for more than 2 seconds!", (50, 50), font, font_scale, (0, 0, 255), font_thickness)
    # Write the processed frame to the output video
    video_writer.write(im0)
# Release resources
cap.release()
video_writer.release()

代碼解釋

  • 模型加載:使用ultralytics庫中的YOLO類加載YOLO模型,并提取類名。
  • 視頻處理:使用cv2.VideoCapture打開輸入視頻,并初始化視頻寫入器以保存輸出。
  • 逐幀檢測(cè):逐幀處理視頻。對(duì)于每一幀,使用YOLO模型檢測(cè)眼睛并將其分類為“閉合”或“打開”。
  • 眼睛閉合檢測(cè):計(jì)數(shù)器(eye_closed_frames)跟蹤眼睛被檢測(cè)為“閉合”的連續(xù)幀數(shù)。如果這個(gè)計(jì)數(shù)超過閾值(在這種情況下,是1秒鐘的幀數(shù)),則顯示警告消息。
  • 警告消息顯示:每當(dāng)眼睛閉合超過閾值持續(xù)時(shí)間時(shí),警告消息就會(huì)動(dòng)態(tài)疊加在視頻上。

實(shí)時(shí)檢測(cè)的可能性

上述方法可以適應(yīng)使用網(wǎng)絡(luò)攝像頭或?qū)崟r(shí)視頻流進(jìn)行實(shí)時(shí)檢測(cè)。以下是如何實(shí)現(xiàn)這一點(diǎn)的方法:

  • 捕獲實(shí)時(shí)視頻:將視頻文件輸入更改為實(shí)時(shí)視頻流,方法是將cv2.VideoCapture參數(shù)更改為0(默認(rèn)網(wǎng)絡(luò)攝像頭)。
cap = cv2.VideoCapture(0)  # Use 0 for the default camera, or 1, 2, etc. for other cameras
  • 優(yōu)化實(shí)時(shí)性能:為確保流暢的實(shí)時(shí)性能,你可能需要通過使用較小的模型(如YOLOv5s)或在可用的情況下在GPU上運(yùn)行來優(yōu)化模型推理速度。
  • 實(shí)時(shí)顯示結(jié)果:使用cv2.imshow()實(shí)時(shí)顯示視頻流:
cv2.imshow("Eye Closure Detection", im0) if cv2.waitKey(1) & 0xFF == ord('q'):  # Press 'q' to quit     break

結(jié)合YOLO和OpenCV,你可以有效地檢測(cè)視頻或甚至實(shí)時(shí)中的眼睛閉合。這項(xiàng)技術(shù)在許多實(shí)際應(yīng)用中都有應(yīng)用,包括駕駛員監(jiān)控系統(tǒng)、疲勞檢測(cè)和在各種安全關(guān)鍵領(lǐng)域中的警覺性驗(yàn)證。通過利用像YOLO這樣的深度學(xué)習(xí)模型,你可以在檢測(cè)微妙的面部表情(如眼睛閉合)方面實(shí)現(xiàn)高準(zhǔn)確性和性能。

責(zé)任編輯:趙寧寧 來源: 小白玩轉(zhuǎn)Python
相關(guān)推薦

2017-08-02 07:36:06

大數(shù)據(jù)PythonOpenCV

2025-02-11 08:30:00

2025-02-18 08:00:00

C++YOLO目標(biāo)檢測(cè)

2024-11-29 16:10:31

2024-10-09 17:02:34

2024-11-28 15:56:05

YOLOEasyOCRPython

2014-03-17 09:34:01

HTMLHTML閉合

2022-03-03 10:40:25

VSaaS視頻監(jiān)控人工智能

2023-11-20 09:47:14

自動(dòng)駕駛視覺

2025-01-22 11:10:34

2024-08-20 09:30:00

2024-06-21 14:55:22

LinuxShell腳本

2024-06-21 10:40:00

計(jì)算機(jī)視覺

2025-01-14 08:30:00

YOLO目標(biāo)檢測(cè)YOLOv8

2010-11-04 14:11:11

2025-01-13 10:00:00

2011-01-21 10:10:44

sendmail

2010-01-08 12:13:09

ibmdwDB2

2024-07-30 12:30:00

2024-06-25 09:31:02

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产视频福利一区 | 91精品国产色综合久久不卡98 | av天天澡天天爽天天av | 一级黄色片日本 | 伊人网站 | 国产一区二区三区在线视频 | 日韩国产一区二区三区 | 狠狠操狠狠色 | 日韩欧美中文字幕在线视频 | 91精品久久久久久久久 | 国产日韩欧美一区二区 | 一区二区三区国产在线观看 | av黄色片在线观看 | 午夜影晥 | 日日夜夜精品免费视频 | 国产成人高清 | 精品国产99 | 亚洲一区二区电影在线观看 | 久久久久99| 国产成人精品一区 | 美女视频. | 国产精品久久久久久久免费观看 | 国产精品一级 | 久久国产精品免费视频 | 一级看片免费视频囗交动图 | 成人亚洲网站 | 在线观看国产www | 精品中文字幕视频 | 欧美一区二区三 | 亚洲国产成人在线视频 | 偷拍亚洲色图 | 国产黄色网址在线观看 | 一级a毛片 | 美日韩免费 | 黄色欧美视频 | 97国产一区二区精品久久呦 | 国产精品自产拍在线观看蜜 | 免费观看的av毛片的网站 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | 久久久激情视频 | 国产成人精品999在线观看 |