سامانه تشخیص خوابآلودگی راننده (Driver Drowsiness Detection)
یک سامانه بهینهسازیشده بینایی ماشین برای سختافزارهای کممصرف جهت پیشگیری از تصادفات جادهای ناشی از خستگی. استخراج زنده ۴۶۸ نقطه هندسی چهره، محاسبه نسبت ابعادی چشم (EAR) و دهان (MAR) برای شناسایی خوابهای کوتاه (Microsleep) پیش از وقوع حادثه.
۱. مبانی ریاضی نسبت ابعادی چشم (EAR)
تشخیص خستگی با مدلهای سنگین شبکههای عصبی پیچشی (CNN) برای پردازندههای تعبیهشده داخل خودرو بیش از حد سنگین است. در این روش، با استفاده از ۶ لندمارک هندسی مشخص در اطراف هر چشم، یک نسبت اسکالر بسیار سبک محاسبه میشود:
# محاسبه نسبت ابعادی چشم بر اساس فاصله اقلیدسی لندمارکها
def calculate_ear(eye_landmarks):
# فواصل عمودی پلک بالا و پایین
A = np.linalg.norm(eye_landmarks[1] - eye_landmarks[5])
B = np.linalg.norm(eye_landmarks[2] - eye_landmarks[4])
# فاصله افقی گوشههای داخلی و خارجی چشم
C = np.linalg.norm(eye_landmarks[0] - eye_landmarks[3])
# فرمول استاندارد نسبت ابعادی چشم
ear = (A + B) / (2.0 * C)
return ear
۲. تفکیک پلکزدن طبیعی از خوابآلودگی با فیلتر هیسترزیس
پلکزدنهای طبیعی غیرارادی انسان بین ۱۰۰ تا ۲۵۰ میلیثانیه به طول میانجامند. سامانه با پیادهسازی یک بافر فریم متوالی، تنها زمانی آلارم اضطراری را به صدا درمیآورد که مقدار EAR بیش از ۱۶ فریم متوالی (حدود ۰.۵ ثانیه) زیر آستانه بحرانی باقی بماند؛ این کار مانع از هشدارهای آزاردهنده کاذب میشود.
۳. قابلیتهای کلیدی سیستم
تشخیص خمیازه با معیار MAR
پایش پیوسته نسبت بازشدگی دهان برای تشخیص تکرار خمیازه به عنوان نشانگر اولیه افت سطح هوشیاری راننده.
تخمین زاویه سر و حواسپرتی
محاسبه بردارهای سهبعدی دوران سر (Roll, Pitch, Yaw) جهت تشخیص نگاه به تلفن همراه یا انحراف دید از جاده.
عملکرد پایدار در تاریکی کابین
بهکارگیری پیشپردازش تطبیقی کنتراست تصویر (CLAHE) جهت تضمین پایداری لندمارکها در شرایط نوری ضعیف یا دوربینهای فروسرخ.
آماده برای بردهای پردازش لبه (Edge)
طراحی بهینه با مصرف پایین حافظه و پردازنده، قابل اجرا روی بردهای صنعتی رزبریپای ۴ و انویدیا جتسُن بدون نیاز به کارت گرافیک مجزا.