بخشی از مقاله
چکیده
جهت تشخیص خواب آلودگی راننده، از تکنیک پردازش تصویر در محیط نرم افزار LabVIEW و از تولکیت Vision آن استفاده گردید. برای این کار ابتدا با استفاده از مجموعه توابع موجود در قسمت Searching and Matching بخش Vision نرم افزار لب ویو ، تصویری از یکی از دو چشم فرد اسکن و به نرم افزار به عنوان Pattern و الگوی تصویری مرجع معرفی شد. در مراحل بعد با استفاده از تصویر برداری لحظه ای - Real Time - توسط دوربین و پردازش تصاویر چشم و طراحی یک سیستم مقایسه ای، باز و بسته شدن آن قابل تشخیص گردید.
همچنین برای تمایز بین پلک زدن عادی و خواب آلوده بودن فرد، با استفاده از مجموعه توابع ریاضی نرم افزار و همچنین کد های زبان برنامه نویسی C، مرجع زمانی در نظر گرفته شد. برای ارسال دیتای کنترلی به خارج از رایانه و اعمال فرآیند های کنترلی نیز از بخش Visa و ارتباط سریال استفاده گردید.
مقدمه
بشر از ابتدای تاریخ تاکنون همواره کوشیده است تا با بهره گیربی از طبیعت و اتکا به علوم مختلف، به هوشمند سازی فرآیند ها و افزایش دقت و بهره وری و ایمنی آن ها بپردازد. امروزه با توجه به گسترش علوم مختلف دسترسی به این مسئله برای ما چندان دشوار نیست. علوم مکانیک، الکترونیک، کامپیوتر و ریاضیات از جمله علومی هستند که پیوند نزدیکی با یکدیگر برقرار کرده اند. یکی از زمینه های پیوند این علوم، مبحث هوشمند سازی فرآیند ها و کنترل هوشمند آنهاست که این امر موجب افزایش دقت و بهروه وری و ایمنی گردیده است، بطوری که امروزه کمتر فرآیندی را می شناسیم که از این امر بهره نجسته باشد.
یکی از نرم افزارهای پردازشی که در چند سال گذشته استفاده از آن به دلیل قابلیت های فراوانش افزایش یافته است، نرم افزار LabVIEW می باشد. این نرم افزار ساخت شرکت National Instrument بوده و زمان زیادی از تولید آن نمی گذرد. نرم افزار LabVIEW یک میزکار - workbench - مهندسی بوده و در واقع حالت پیشرفته یک زبان برنامه نویسی گرافیکی است و این قدرت را به فرد می دهد که ایده ذهنی خود را بدون درگیر شدن با اصول و کلمات برنامه نویسی مبتنی بر متن پیاده سازی و تحلیل نماید. یکی از بخش های مهم این نرم افزار قسمت Vision آن می باشد که فرد را قادر می سازد با استفاده از توابع موجود در آن به طراحی سیستم های تحت پردازش تصویر با سرعت پردازش بالا بپردازد.
در این مقاله به استفاده از نرم افزار LabVIEW به طراحی یک سیستم اولیه از تشخیص خواب آلودگی یک فرد با استفاده از پردازش تصویر در پرداخته ایم.
موارد و روش ها
روش های گوناگونی برای تشخیص خواب آلودگی یک فرد راننده وجود دارد. بر اساس پاره ای از تحقیقات هنگام خواب ممکن از دمای بدن پایین بیاید و یا ضربان قلب فرد کم شود ولی این روش ها اولا مستلزم وجود یک سیستمی است که مستقیم با بدن فرد در ارتباط باشند و ثانیا سرعت تشخیص آن پایین می باشد. یکی از بهترین روش ها که در این مقاله به آن پرداخته شده است روش تشخیص خواب آلودگی راننده با استفاده از تکنیک پردازش تصویر و تشخیص و پردازش بسته شدن چشم و پلک زدن می باشد.
در این پروژه طراحی یک سیستم پردازش تصویر RealTime توسط نرم افزار LabVIEW مد نظر بوده است. برای انجام این پروژه از نسخه LabVIEW 2011 استفاده گردیده است و علاوه بر نصب نرم افزار لب ویو تولکیت های VISA و NI Vision Acquisition Software 2011 وNI Vision Development Module 2011 نیز برای ارتباط سریال و پردازش تصویر استفاده کرده ایم.
برای این منظور ابتدا تصاویر چشم فرد بصورت لحظه ای از یک دوربین که در این پروژه یک وبکم بوده است به نرم افزار منتقل به پس از پردازش در آن خواب آلودگی تشخیص داده می شود و سپس توسط یک سیستم واسط سخت افزاری دیتای کنترلی به سخت افزار خارجی منتقل می گردد.در شکل شماره 1 روش کلی پیاده سازه پروژه را مشاهده می نمایید.
شکل :1 روش پیاده سازی
ما در این برنامه از تالکیت Vision این نرم افزار بهره برده ایم. برای این کار ابتدا با استفاده از تابع Vision Acquisition، تصویر دوربین USB متصل توسط برنامه خوانده شد. این تابع قابلیت از بخش Vision Express قابل دسترسی می باشد کلیه دوربین های متصل به رایانه را شناسایی می نماید. سپس با استفاده از توابع IMAQ Select Rectangle و IMAQ Extract تصویری از یکی از دو چشم فرد اسکن و به نرم افزار به عنوان تصویر مرجع معرفی شد.
در مرحله بعد بصورت لحظه ای و بلادرنگ تصویر اسکن شده اولیه با تصاویر ارسالی از دوبین مقایسه و هربار باز و بسته شدن چشم فرد قابل تشخیص گردید. این فرآیند با استفاده از مجموعه توابع موجود در قسمت Searching and Matching بخش Vision نرم افزار لب ویو انجام پذیرفته است. در این بخش توسط تابع IMAQ Learn Color Pattern مشخصات تصویر اسکن شده توسط نرم افزار یادگیری و سپس با استفاده از تابع IMAQ Match Color Pattern با تصویر لحظه ای دوربین از چشم فرد مقایسه شد و بدینوسیله بسته شدن چشم قابل تشخیص گردید. دقت عملکرد یا همان مقدار حساسیت برنامه به محدوده بسته شدن چشم توسط توابع IMAQ Setup Learn Color Pattern وIMAQ Setup Match Color Pattern و همچنین و تغییر Minimum Match Score انجام می پذیرد.
برای تمایز بین پلک زدن عادی و خواب آلوده بودن فرد از مقایسه زمانی استفاده گردید. می دانیم پلک زدن معمولی در زمان کمتر از چند دهم ثانیه صورت می پذیرد در حالی که در هنگام خواب رفتن پلک ها کاملا بسته می شود، بنابر این ما یک تایمر زمانی طراحی نمودیم که از زمان بسته شدن پلک ها شروع به شمارش می کند و در صورتی که زمان بسته بودن چشم از حدی که بیشتر شود پیام هشدار صادر می گردد. این حد زمانی در برنامه قابل تنظیم می باشد. برای طراحی این تایمر زمانی از مجموعه توابع ریاضی نرم افزار و همچنین کد های زبان برنامه نویسی C استفاده گردید.
هر برنامه در نرم افزار لب ویو شامل نرم افزارلب ویو شامل پانل جلو - Front Panel - و پانل عقب - Block Diagram - می باشد که پانل جلویی محیط گرافیکال برنامه می باشد و در پانل عقب کدها و بلوک های اجرایی برنامه قرار دارد. این دو محیط در شکل های 2 و 3 قابل مشاهده می باشد.