در برخی سیستمها، برای کاهش حجم محاسبات بخش نرمافزار هوشمند، از نورپردازی پالسی طیف مادون قرمز استفاده شده است [۶, ۲۰-۲۳]. این روش امکان آشکارسازی سریع چشم را فراهم میکند. معمولا در نورپردازی پالسی[۲۸] برای همزمانسازی[۲۹] نورپردازی و تصویربرداری از کنترلکننده استفاده میشود. در این حالت کنترلکننده روشن شدن منبع (منابع) نور و لحظه بازشدن دهانه دیافراگم دوربین را تنظیم میکند. از مزایای نورپردازی پالسی نسبت به نورپردازی معمولی میتوان به کاهش تاثیر نویز محیط در تصویر و همچنین کاهش توان مصرفی منبع نور اشاره کرد [۲۰].
سختافزار و پردازنده
بخش سختافزار و پردازنده شامل بورد سختافزاری، یک یا چند پردازنده و رابط انسان و ماشین[۳۰] (HMI) است. در سیستمهای واقعی، بخش سختافزار و پردازنده باید به شکل سیستم تعبیهشده[۳۱] و تا حد امکان ارزان قیمت باشد. پردازنده سیستم میتواند یکی از انواع ریزپردازندههای معمولی[۳۲] [۲۰]، پردازندههای سیگنال دیجیتال[۳۳] (DSP) [24]، مدارات FPGA[34] [۲۵, ۲۶] و مدارات مجتمع خاص منظوره[۳۵] (ASIC) یا ترکیبی از آنها باشد.
در سیستم نظارت چهره راننده، بیشتر حجم محاسبات مربوط به عملیات پردازش تصویر برای تحلیل و تفسیر چهره است. استفاده از ریزپردازندههای معمولی با وجود قابلیت انعطافپذیری[۳۶] در ایجاد تغییرات نرمافزاری، برای این منظور چندان مناسب نیست. چرا که معمولا در این حالت سیستم بلادرنگ نخواهد شد. استفاده از مدارات مجتمع خاص منظوره (ASIC) با وجود کارایی بسیار بالا، به دلیل هزینه زیاد نامناسب است. ضمن اینکه ASIC قابلیت انعطافپذیری ندارد. DSP و FPGA نسبت به ریزپردازندههای معمولی سریعتر و از ASIC کندتر هستند، اما مهمترین مزیت آنها نسبت به ASIC، قابلیت انعطافپذیری است. انعطافپذیری در DSP از طریق نرمافزاری و در FPGA از طریق سختافزاری میسر است. به همین دلیل در سیستمهای واقعی معمولا از DSP یا FPGA استفاده میشود.
بخشی از رابط انسان و ماشین (HMI) مانند بخش اعلام هشدار و ابزار تنظیم سیستم، در قالب بخش سختافزار ظاهر میشود. اما کنترل هوشمند این بخش به شکل نرمافزاری و از طریق الگوریتمهای تصمیم گیری برای تولید خروجی انجام میگیرد.
نرمافزار هوشمند
بخش نرمافزار هوشمند یک سیستم نظارت چهره راننده به دو بخش اصلی قابل تقسیم است: الگوریتمهای پردازش تصویر و الگوریتمهای تشخیص و تصمیم گیری. در واقع بخش نرمافزار هوشمند، مهمترین بخش یک سیستم نظارت چهره راننده میباشد.
عمده اهداف در الگوریتمهای پردازش تصویر عبارتند از: پیشپردازش تصویر، آشکارسازی و ردیابی چهره، آشکارسازی و ردیابی چشم و سایر اجزای چهره و استخراج ویژگیهای مناسب از چهره و اجزای آن. در واقع الگوریتمهای پردازش تصویر بخش اصلی سیستمهای نظارت چهره راننده را تشکیل میدهند. این الگوریتمها معمولا حجم حافظه زیادی احتیاج داشته و بار محاسباتی زیادی به پردازنده و سختافزار وارد میکنند. برای طراحی یک سیستم دقیق و بلادرنگ، تمرکز طراحی باید بر روی این الگوریتمها باشد.
پس از استخراج ویژگیهای مناسب از تصویر، الگوریتمهای تشخیص و تصمیم گیری بر اساس این ویژگیها میزان خستگی و عدم تمرکز حواس راننده را تعیین و تصمیم مناسب را برای خروجی سیستم اتخاذ میکنند. الگوریتمهای تشخیص و تصمیم گیری از این لحاظ اهمیت دارند که باید قادر به تشخیص به موقع خستگی و عدم تمرکز حواس راننده باشند و تصمیم گیری مناسب را برای تولید خروجی سیستم انجام دهند. هر چه الگوریتم تشخیص بتواند در مدت زمان کوتاهتری وقوع خوابآلودگی یا عدم تمرکز حواس راننده را تشخیص دهد، سیستم کارایی بیشتری خواهد داشت. ضمن این که پس از تشخیص، تصمیم گیری در مورد نحوه عملکرد سیستم برای تولید خروجی از اهمیت زیادی برخوردار است. بخشی از رابط انسان و ماشین (HMI) به شکل نرمافزاری و در قالب الگوریتم تصمیم گیری برای تولید خروجی است.
شکل ۲‑۱ یک فلوچارت کلی از سیستمهای نظارت چهره راننده را نشان میدهد. هرچند در سیستمهای مختلف این فلوچارت تا حدودی متغیر است، اما روند کلی انجام فرایند مطابق فلوچارت رسم شده در شکل ۲‑۱ است.
بلی
خیر
آیا sw=0 است؟
sw=0
آشکارسازی چهره
(آیا چهره آشکارسازی شد؟)
آشکارسازی چشم
(آیا چشم آشکارسازی شد؟)
ردیابی چهره
(آیا ردیابی چهره موفق بود؟)
دریافت یک فریم از تصویر
استخراج ویژگی
تشخیص خستگی و عدم تمرکز حواس
sw=1
خیر
بلی
بلی
خیر
شکل ۲‑۱: فلوچارت کلی برای سیستمهای نظارت چهره راننده
آشکارسازی چهره
معمولا اولین بخش از نرمافزار هوشمند در سیستمهای نظارت چهره راننده، مربوط به آشکارسازی چهره است. در سیستمهایی که خستگی و عدم تمرکز حواس را از پردازش ناحیه چهره مشخص میکنند، آشکارسازی چهره بخش اصلی سیستم محسوب میشود. همچنین در اکثر روشهای مبتنی بر پردازش ناحیه چشم، به دلیل مشکل بودن آشکارسازی مستقیم چشم، ابتدا چهره آشکارسازی شده و سپس ناحیه چشم از چهره مشخص میشود.
روشهای بسیار زیادی برای آشکارسازی چهره ارائه شده است، اما مهمترین روشهای مورد استفاده در سیستمهای نظارت چهره راننده را میتوان چنین تقسیمبندی کرد:
روشهای مبتنی بر مدل رنگ
روشهای مبتنی بر ویژگیهای شبه هار
روشهای مبتنی بر شبکه عصبی
روشهای مبتنی بر مدل رنگ
مدل رنگ پوست چهره، یکی از روشهای آشکارسازی چهره است. این ویژگی برای آشکارسازی چهره در تصاویری که پس زمینه ساده دارند مناسب است، اما در شرایطی که پسزمینه چهره پیچیده و شلوغ باشد، خطای زیادی خواهد داشت. ضمن این که روشهای مبتنی بر مدل رنگ، برای آشکارسازی چهره در طیف مرئی مناسب است و در طیف مادون قرمز کاربردی ندارد. ضمن اینکه نور محیط باید به اندازه کافی باشد تا تفکیک رنگها به خوبی انجام گیرد.
معمولا مدل رنگی چهره بر اساس توزیع احتمال در یک فضای رنگ بیان میشود. سپس با اعمال یک یا چند حد آستانه بر روی توزیع بدست آمده، ناحیه چهره در تصویر آشکارسازی خواهد شد. برای تشکیل مدل رنگ چهره میتوان از فضای رنگی RGB [24, 27]، فضای رنگی YCbCr [28] یا فضای رنگی HSI [29-31] استفاده کرد.
روشهای مبتنی بر ویژگیهای شبه هار
اولین بار این روش توسط Viola و Jones [32] برای آشکارسازی اشیا[۳۷] پیشنهاد گردید و بعد از آن برای آشکارسازی چهره معرفی شد [۳۳]. مهمترین مزیت این روش دقت خوب و در عین حال سرعت بسیار خوب آن در آشکارسازی چهره است. در این روش ابتدا تعدادی ویژگی ساده با بهره گرفتن از ماسکهای مستطیل شکل (شکل ۲‑۲) از چهره استخراج میشود که به این ویژگیها، ویژگی شبه هار[۳۸] میگویند.
شکل ۲‑۲: نمونههایی از ماسکهای ویژگی برای استخراج ویژگیهای شبه هار
هرچند ویژگیهای شبه هار بسیار ساده به نظر میرسند، اما با تشکیل یک طبقهبندیکننده آبشاری تقویتشده[۳۹] (شکل ۲‑۳)، دقت الگوریتم در آشکارسازی چهره بسیار خوب خواهد شد. این طبقهبندیکننده در واقع یک درخت تصمیم است که با بهره گرفتن از الگوریتم تقویت[۴۰]، دقت آن در آشکارسازی چهره و رد تصاویر غیرچهره بهبود یافته است. از این الگوریتم در [۷, ۳۴-۳۶] برای آشکارسازی چهره استفاده شده است.
مرحله ۲
مرحله ۳
مرحله n
شروع
مرحله ۱
عدم پذیرش
عدم پذیرش
عدم پذیرش
عدم پذیرش
پذیرش
شکل ۲‑۳: درخت تصمیم آبشاری برای آشکارسازی چهره
روشهای مبتنی بر شبکه عصبی
یکی دیگر از روشهای آشکارسازی چهره استفاده از شبکههای عصبی مصنوعی است. در این دسته از روشهای آشکارسازی چهره، ابتدا تعدادی ویژگی سطح پایین از تصویر استخراج شده، سپس شبکه عصبی با بهره گرفتن از این ویژگیها آموزش داده میشود. Hamada و همکارانش [۳۷] آشکارسازی چهره را با بهره گرفتن از یک شبکه عصبی چند لایه پرسپترون[۴۱] (MLP) انجام داده اند. در این روش ابتدا تصویر لبهیابی شده، سپس با یک پنجره با ابعادی حدود ابعاد چهره پیمایش شده و با شبکه عصبی مورد ارزیابی قرار میگیرد. در روش پیشنهادی Fukumi [38]، آشکارسازی چهره و تعیین جهت آن با بهره گرفتن از تحلیل اجزای اصلی[۴۲] (PCA)، قالب چهره و شبکه عصبی انجام شده است.
آشکارسازی چشم
طراحی سیستم نظارت چهره راننده جهت تشخیص خستگی و عدم تمرکز حواس- فایل ...