مروری بر روشها و سیستمهای تشخیص خواب آلودگی رانندگان
سازمان امنیت ترافیک جادهای امریکا (NHTSA) علت 91هزار تصادف جادهای در سال 2017 را خوابآلودگی رانندگان اعلام کرد. طبق گزارشی دیگر در سال 2020، در 663 مورد منجر به فوت، یک راننده خوابآلود دخیل بوده است. با این حال، NHTSA اعتراف می کند که تعداد واقعی تصادفات، جراحات و مرگ ناشی از خوابآلودگی بسیار بیشتر از اعداد گزارشی بوده و تعیین دقیق آن امری دشوار است {لینک}. در ایران نیز، در سال 1397 طبق اعلام سردار حمیدی، رئیس وقت پلیس راه کشور، 40 درصد از تصادف به علت خوابآلودگی رانندگان گزارش شده است {لینک}.
این ارقام اهمیت تاثیر خوابآلودگی در تصادفات جادهای را نمایش میدهند. خوشبختانه می توان خوابآلودگی راننده را در مراحل اولیه تشخیص داد و هشدارهایی جهت جلوگیری از هر گونه تصادف احتمالی صادر کرد. رانندگان خواب آلود علائم مختلفی از جمله خمیازه های مکرر، بسته شدن طولانی و مکرر چشم و خروج از خطوط را از خود نشان می دهند {لینک}. با توجه به این علائم، میتوان سیستمها و دستگاههای تشخیص دهندهی خوابآلودگی رانندگان (Driver Drowsiness Detection یا DDD) را طراحی کرد {لینک}. در این مقاله سعی میشود انواع این سیستمها مقایسه و به طور اجمالی معرفی شوند. پیش از بررسی سیستم های DDD بهتر است خوابآلودگی، به تفکیک مراحل، توضیح داده شده و معیارهای کیفی اندازهگیری آن معرفی شوند.
علائم و مراحل خوابآلودگی
اکثر اوقات اصطلاح خوابآلودگی به جای خستگی به کار گرفته میشود در حالی که این دو، تعریفهای کاملا متفاوتی دارند. «خستگی» به عدم توانایی فرد در انجام کاری گفته میشود که حاصل انجام فعالیتهای فیزیکی، روحی یا تکراری است. اما «خوابآلودگی» نیاز وسوسه برانگیز بیولوژیکی بدن به خواب است. خوابآلودگی میتواند به دلایل مختلفی از جمله مصرف دارو، ساعتهای طولانی کار، اختلالات خواب، خواب نامناسب یا نداشتن خواب کافی رخ دهد. معمولا فردی که در حین رانندگی دچار خوابآلودگی میشود یک یا چند علائم زیر را از خود بروز خواهد داد:
- دشواری در باز نگه داشتن چشم
- خمیازه
- پلک زدن های مکرر
- دشواری در تمرکز
- انحراف از خط و واکنشهای تاخیری به ترافیک
- بالا و پایین شدن سر
- تغییرات ناگهانی و غیر قابل توجیه در سرعت
برای تعیین میزان خوابآلودگی معیاری تحت عنوان «معیار تشخیص کارولینسکا (KSS)» معرفی شده است. KSS یک معیار 9 مرحلهای است که میزان خوابآلودگی را در گامهای زیر دستهبندی میکند:
- فوق العاده هوشیار
- خیلی هوشیار
- هوشیار
- تقریبا هوشیار
- نه هوشیار نه خوابآلود
- نشانههایی از خوابآلودگی
- خوابآلود، بدون تلاش برای هوشیار ماندن
- خوابآلود، کمی تلاش برای هوشیار ماندن
- خیلی خواب آلود، تلاش بسیار برای هوشیار ماندن
سیستمهای تشخیص خوابآلودگی
جهت تشخیص خوابآلودگی، محققین واکنش رانندگان و الگوی رانندگی خودروها را بررسی کرده اند. روشهای شناسایی خوابآلودگی را میتوان به چهار دسته دستهبندی کرد.
- اقدامات مبتنی بر تصویر
- اقدامات مبتنی بر بیولوژیک
- اقدامات مبتنی بر خودرو
- اقدامات ترکیبی
دو دسته اول، یعنی اقدامات مبتنی بر تصویر و بیولوژیک، بر اساس اندازهگیریهای مستقیم از راننده است.
شکل1 به صورت اجمالی انواع روشهای تشخیص خوابآلودگی را لیست کرده است. در این مقاله سعی شده اقدامات مبتنی بر تصویر با جزئیات بیشتری بررسی شود.
شکل 1 - انواع سیستمهای تشخیص خوابآلودگی
اقدامات مبتنی بر تصویر
برخی از علائم خواب آلودگی، قابل مشاهده هستند و می توانند توسط دوربین ها یا حسگرهای بصری ثبت شوند. از جمله این علائم میتوان به حالات و حرکات صورت راننده، تغییرات چشم و دهان اشاره کرد. در متون علمی به این نشانه ها، معیارهای بصری گفته میشود. همچنین لازم به ذکر است که معیارهای بصری صرفا یک حالت خاص چهره یا یک حالت بدنی نیست، بلکه مجموعهای از رفتارهای راننده را در بر میگیرد.
در اقدامات مبتنی بر تصویر، داشتن مجوعهای از تصاویر که حالتهای مختلف خوابآلودگی را در بر بگیرد، بسیار در دقت نهایی تاثیر گذار است. یکی از مجموعه دادههای پرکاربرد در میان سیستمهای DDD مبتنی بر تصویر، مجموعهی NTHUDDD است. این پایگاه داده توسط آزمایشگاه ماشین بینایی دانشگاه Tsing Hua ساخته شده است {لینک}. مجموعه مذکور به دلیل سناریوهای مختلف و ویژگیهای خوابآلودگی متفاوتی که پوشش میدهد، محبوبیت زیادی پیدا کرده است. فیلم های ضبط شده در پایگاه داده در برگیرندهی 38 شخص از قومیتهای مختلف است. علاوه بر این، در این پایگاه داده حالتهایی از داشتن عینک (آفتابی یا معمولی)، شرایط روشنایی روز، شب و دیگر انواع سناریوها شبیه سازی شده است.
در ادامه برخی روشهای اخیر تشخیص خوابآلودگی مبتنی بر پردازش تصاویر راننده، به طور مختصر شرح داده شده اند:
روشمبتی بر دهان : آنالیز خمیازه و موقعیت دهان
این روش، یکی از روشهای خوب تشخیص خواب آلودگی است که در سال 2011 معرفی شد. روش مذکور، خوابآلودگی را به صورت لحظهای تشخیص میدهد. مراحل کلی کار، براساس تشخیص چشم بسته و دهان باز است. در این پژوهش، گروهی از تصاویر با استفاده از وب کم جمع آوری شده است. چهره راننده از تصویر استخراج میشود و سپس ناحیه چشم و دهان در تصویر مشخص میگردد. اگر گردی عنبیه در تصویر وجود داشته باشد، چشم در حالت «باز» بوده و در غیر این صورت چشم «بسته» در نظر گرفته میشود. علاوه بر این، با همین تکنیک اگر حالت دهان به صورت گِرد در تصویر وجود داشته باشد، آن را به عنوان خمیازه تشخیص میدهد. در نهایت با ادغام حالت چشم و دهان، سیستم تصمیم میگیرد که آیا راننده خوابآلود است یا خیر.
شکل 2 - تشخیص خمیازه و پلک
- روش مبتنی بر چشم : آنالیز بسته شدن پلک
در سال 2019 یک سیستم DDD پیشنهاد گردید که اساس آن، بسته شدن پلک است. این سیستم روی سختافزاری پیادهسازی شد که از فیلمهای وبکم برای تشخیص باز یا بسته بودن چشمهای رانندگان استفاده میکرد. سیستم با شناسایی چهره راننده شروع به کار میکند. سپس پلکها فیلتر شده و تقعر یا مقدار انحنای پلک اندازه گیری میگردد. بر اساس مقدار انحنا، پلک به دو دسته باز (انحنا به بالا) یا بسته (انحنا به پایین) طبقه بندی میشوند. اگر چشم ها برای مدت معینی بسته در نظر گرفته شوند، یک زنگ هشدار به صدا در میآید.
شکل 3 - تشخیص انحنای پلک
روش مبتنی بر سر : آنالیز حرکت سر و مولفههای چهره
در سال 2020، یک الگوریتم برای تشخیص خستگی راننده با استفاده از حرکت صورت پیشنهاد شد. این الگوریتم شامل چهار مرحله است. مرحله اول، موقعیت یابی چهره. لازم به ذکر است که روش پیاده سازی شده، پاسخ خوبی در پیدا کردن ناحیه صورت تحت شرایط پیچیده و کیفیت نامناسب تصویر، ارائه میدهد. مرحله دوم، استخراج قسمتهای مختلف چهره. قسمتهایی همچون چشم، بینی، دهان و گردی صورت را میتوان در تصویر پیدا کرد. مرحله سوم، اعمال دو مرحله قبل برای فریمهای مختلف در ویدیو. در این مرحله، حرکت سر و قسمتهای مختلف چهره دنبال شده و خط سیر حرکت آنها رسم میگردند. مرحله چهارم که آخرین مرحله از روش مذکور است وظیفه تشخیص خواب آلودگی با توجه به حرکت سر و سایر قسمتها را بر عهده دارد.
روش ترکیبی : مدلهای یادگیری عمیق
در سال 2021 با استفاده از پایگاه داده NTHUDDD، روشی بر پایه هوشمصنوعی و یادگیری عمیق پیشنهاد شد که خوابآلودگی راننده را تشخیص میدهد. ساختار این روش از چهار مدل یادگیری عمیق مستقل تشکیل شده است: AlexNet، VGG-FaceNet، FlowImageNet و ResNet. این مدلها هریک برای استخراج نوع خاصی از ویژگیها استفاده میشوند: حالت چهره، حرکات سر، حرکات دست و ویژگیهای رفتاری. مدل AlexNet شرایط محیطی و پسزمینه را در نظر میگیرد، مدل VGG-FaceNet ویژگیهای چهره را شناسایی و استخراج میکند. در مقابل، FlowImageNet برای استخراج حرکات سر و ویژگی های رفتاری بوده، در حالی که ResNet برای حرکات دست استفاده می شود. نهایتا از برآیند کلی این 4 ساختار، خوابآلودگی شخص تعیین میشود.
به طور کلی اقدامات مبتنی بر تصویر، دقت قابل قبولی در تشخیص خوابآلودگی راننده دارند. از طرفی اضافه شدن این سیستمها در خودروها، میتواند به صورت مستقل صورت گیرد. به عبارتی دیگر، در خودرویی که فاقد سیستم تشخیص خوابآلودگی است، افزودن سیستمهای مبتنی بر پردازش تصویر، صرفا نیازمند نصب سخت افزار و دوربین است. در حالی که برخی روشهای تشخیص خوابآلودگی که وابسته به نحوه حرکت خودرو و جهت چرخها هستند، جدای از سخت افزار پردازشی، نیازمند نصب برخی سنسورها در قطعات خودرو نیز هستند که این امر، پیاده سازی آنها را با دشواریهای بیشتری همراه میکند.
با همه این اوصاف، مساله اصلی و خطرناک، رانندگی در حالت خوابآلودگی است. سیستم تشخیص خوابآلودگی صرفا به عنوان یک هشدار عمل میکند. شخصی که با وجود هشدارها یا علم به خوابآلودگی به رانندگی ادامه دهد، هم خود و هم سایرین را در معرض خطرات بزرگی قرار میدهد. بنابراین مسئولیت پذیرانه ترین رفتار، رعایت جوانب ایمنی در حین رانندگی است چه سیستم تشخیص خوابآلودگی وجود داشته باشد و چه نداشته باشد.