بخشی از مقاله
چکیده -
امروزه تشخیص میزان قند خون با استفاده از دستگاههاي پرتابل و الکترونیکی کاربرد وسیعی در میان بیماران و پزشکان دارد. از طرفی دیگر کامپیوتر و نرم افزارهاي کنترلی سطح بالا نظیر MATLAB به طور چشمگیري در میان جامعه مهندسان کاربرد دارد.
با ترکیب این دو نوع نیازمندي، اقدام به ساخت سخت افزاري براي تشخیص تصویر نوارهاي تست و تصمیمگیري و ثبت اطلاعات توسط کامپیوتر و برنامه MATLAB نمودیم. ساخت این دستگاه و نرم افزار، اقدامی در جهت کاهش خطاهاي انسانی در زمینه تشخیص و ثبت اطلاعات آماري بیماران میباشد. در این تحقیق با استفاده از روشهاي پردازش تصویر، روشی جدید براي تشخیص قند خون و بارداري ارائه میدهیم.
-1 مقدمه
با توجه به توانایی کامپیوتر در حفظ و نگهداري اطلاعات و پردازش سریع اطلاعات، استفاده از کامپیوتر در کارهاي روزمره و تخصصی افزایش یافتهاست. این تحقیق در جهت ارتقا قدرت پردازش و ایجاد پایگاه داده کامپیوتري براي بیماريهاي قندي و غیره میباشد. روال اجرا به این صورت است که در ابتدا عکس رنگی از نوارهاي تشخیصی قند خون و بارداري گرفته میشود. سپس این تصویر به کامپیوتر ارسال میشود و بر روي آن پردازش رنگی صورت میگیرد.
بنابراین لازم است تصویري با دقت رنگی بالا از نوار مورد نظر گرفته شود. در این تحقیق براي گرفتن تصویر نوار از یک دوربین آنالوگ و یک کارت TV Capture استفاده میشود. از آنجا که تمام اطلاعات جهت پردازش تصویر در رنگ عکس نهفته است، لذا لازم است که در عکسبرداري، نویز نوري محیط گرفته شود. بدین جهت از یک LED در پشت یا روبروي نوار مورد نظر استفاده میشود. بلوك دیاگرام روش پیشنهادي در شکل 1 نشان داده شدهاست.
-2 نوارهاي تشخیصی
در این قسمت روش سنجش نوارهاي تشخیصی و ویژگیهاي ظاهري آنها را بررسی میکنیم.
-1-2 قند خون
نوارهاي اندازهگیري قند خون با نام تجاري Accu-chek در بازار موجود است که جهت اندازهگیري قند خون به صورت شخصی عرضه شده است. این نوارها داراي حفره هستند که در یک سمت آن نوعی پارچه جذبکننده چسبیده است که خون را به سرعت در خود جذب میکند. صفحه رنگی در پشت آن که از سمت دیگر قابل رویت است، با توجه به میزان گلوکز خون تغییر رنگ میدهد
-2-2 بارداري
نوارهاي تست بارداري که با نام تجاري HCA Pregnancy Test و بهنام One step Rapid Test تولید میشوند، نوار باریکی هستند که یک خط محدودکننده دارند1]، .[2 این خط محلی را که نوار باید تا آنجا در محلول فرو رود را نشان میدهد. نوار را در محلولی که 3 قطره - حدود - 100 ml از نمونه فرد است فرو میکنیم و حدود ده ثانیه در آن نگاه میداریم. پس از خارج کردن از محلول 3 تا 10 دقیقه زمان لازم است تا نوار پاسخ را نمایش دهد. طبق آنچه در راهنماي نوار تست ارائه شده در پاسخهاي منفی فقط یک خط قرمز رنگ بر روي نوار تست ظاهر میشود و در حالت پاسخهاي مثبت 2ردیف خط ظاهر میشود.
شکل :1 تهیه تصویر از نوار تشخیصی و انتقال به کامپیوتر
-3 روش پیشنهادي
همانطور که در مقدمه ذکر شد، هدف این است که با استفاده از دوربین نوارهاي اندازهگیري قند خون و تست بارداري خوانده شوند. طرز کار هر یک از این نوارها با هم فرق میکند. نوار تست قند خون با تغییر رنگ و نوار تست بارداري با ظاهر شدن یک یا دو خط بر روي نوار تست عمل میکند و در حیطه پردازش تصویر اشتراك عملکردي با هم ندارند. آنچه در هر دو مشترك است، گرفتن عکس با استفاده از دوربین و ثبت آن جهت پردازش است. پردازشها توسط ابزار پردازش تصویر نرمافزار MATLAB انجام میگیرد.
براي اینکه یک ابزار تصویري براي MATLAB قابل دسترسی باشد نیاز داریم یک object آنالوگ براي آن بسازیم. در این تحقیق قصد داریم یک دوربین آنالوگ را با استفاده از یک کارت به کامپیوتر وصل کنیم
شکل 2 اخذ تصویر توسط نرمافزار MATLAB را نشان میدهد.
شکل :2 اخذ تصویر توسط نرم افزار MATLAB
در این پروژه نیازي به ثبت اطلاعات بصورت زمانبندي شده نیست و در هربار ثبت، توسط کاربر دستور داده میشود.
مهمترین قسمت این تحقیق، استخراج ویژگی میباشد.
طبق توضیحات ارائه شده در مورد ظاهر نوار و ابزاري که در دست داریم آنچه که باید در این قسمت مورد بررسی قرار بگیرد، رنگ حفره نوار است.
-1-3 تشخیص قند خون
در نوارهاي اندازهگیري قند خون، تغییرات رنگی در نوار نشاندهنده میزان مولاریته گلوکز در خون است. عملیات زیر را براي تعیین ویژگیهاي نوار انجام میدهیم:
در پشت حفره نوار اندازهگیر، سوراخی به همان اندازه تعبیه میکنیم و یک LED سفید رنگ در آن قرار میدهیم. این LED توسط یک باتري 9 ولت تغذیه میشود. با استفاده از یک پتانسیومتر 10 k میتوان نورهایی با شدت و ضعف مختلف به نوار اندازهگیر تاباند.
در این تحقیق منبع اطلاعاتی ما میزان نور و رنگ و یک نوار اندازهگیري است و آنچه باعث هرگونه خللی در اطلاعات ما شود باید حذف شود. میزان تابش نور باید کافی باشد یعنی نباید آنقدر زیاد باشد که باعث اشباع رنگ شود - همه چیز سفید به نظر بیاید - و نه آنقدر کم که دامنه رنگ به دست آمده از محیط بیشتر از آن باشد. بدین جهت بهتر است دستگاه در محیطی تاریک - تاریکخانه - قرار گیرد مانند یک جعبه کوچک که باعث هرچه بهتر شدن شرایط آزمایشگاهی میشود.
پس از گرفتن عکس در برنامه، توسط یک فیلتر متوسطگیر1 نویز تصویر را کاهش می دهیم. آنچه مورد نیاز است رنگ ناحیه رنگی است. براي متوسط گیري از تصویر، از ماسک زیر استفاده میکنیم
فیلتر بر روي ماتریس دوبعدي تصویر اعمال میشود و تصویر حاصل به صورت RGB ذخیره میشود. فیلتر متوسطگیر را سه بار، هربار بر روي یکی از ماتریسهاي R، G و B در تصویر تاثیر میدهیم. شکل 3 اعمال فیلتر دوبعدي بر روي تصویر را نشان میدهد. هدف اولیه ما بخش بندي کردن قسمت رنگی است. این عمل باعث میشود تا انجام عملیات مستقل از تغییر محل رنگی در اجراي کار شود. به عبارتی میتوان با ثابت کردن محل دوربین و ثابت بودن محل استقرار نوار اندازهگیري، محل همیشگی لکه رنگی را حدس زد و به طور همیشگی رنگ مختصات مشخص شده را دریافت کرده و مورد پردازش قرار داد. ولی هدف این تحقیق، پیدا کردن لکه رنگی مستقل از مختصات محل رنگی آن است. زیرا تا حد ممکن باید شرایط آزمایش را عاري از خطا کرد. با اعمال آستانه گیري[6] 2 دیده میشود که لکه رنگی از بدنه عکس جدا شده است.
اعداد ماتریس نشانگر عملیات انجام شده میباشد. شکل 4 اعمال آستانه گیري در ماتریس تصویر را نشان میدهد. حال از تصویر حاصل از آستانهگیري به عنوان ماسک استفاده نموده آن را در هر یک از مولفه هاي تصویر رنگی اصلی ضرب میکنیم تا ناحیه رنگی در تصویر اصلی استخراج شود. روش سادهاي براي یافتن وزنهاي رنگی وجود دارد که در آن مجموع سهرنگ یک پیکسل در مخرج و شدت رنگ آن پیکسل در صورت این واحد قرار داده میشود.
این عمل تا حدود زیادي تاثیر شدت نور مزاحم حاصل از عوامل خارجی و نویز را میکاهد. شدت نور مزاحم در رنگ همانند یک offset است که به یک میزان در تمام رنگ تاثیر میکند. با استفاده از این روش تا حدود زیادي این offset بیتاثیر میشود. همچنین این روش میزان درصد یک رنگ را در مجموع به نمایش میگذارد و به نوعی رنگ را نرمالیزه میکند. در این تحقیق نیز جهت استخراج ویژگیهاي رنگی از همین روش استفاده شده است.
مشخصه دیگري که قابل استفاده است میزان شدت رنگ خاکستري در تصویر نمونه است که شاید بتوان از آن هم استفاده کرد. آنچه مهم است این است که براي درك بهتر تغییرات یک پارامتر بتوانیم ویژگیهاي متعددي از آن پارامتر استخراج کنیم.
-2-3 تشخیص بارداري
طبق آنچه که در قسمت 2-2 گفته شد بر خلاف حالت اندازهگیري قند خون، براي تشخیص بارداري به رنگ و اطلاعات رنگی نهفته در نوار کاري نداریم و هدف ما یافتن تعداد خطوط رنگی در نوار تشخیص است.
از آنجایی که فرد باردار در دسترس نداشتیم پاسخهاي نوار تست را با ماژیک همرنگ پاسخ روي نوار تست طبق آنچه در برگه راهنماي نوار تست ارائه شده کشیدیم. نتیجه با توجه به پروسه انجام کار هیچ تفاوتی نخواهد کرد. شکل 5 نمونه ساخته شده که توسط نرمافزار MATLAB عکسبرداري شده است را نشان میدهد.
شکل :5 پاسخ نوار تشخیص بارداري
در اندازهگیري قند خون دیدیم که نور میتواند بهعنوان نویز عمل کند. به همین جهت، براساس ساختار فیزیکی نوار
تست، نوري از پشت نوار تست تاباندیم و ترجیحا سعی کردیم در محیطی که نور از اطراف کمتر بتابد عکاسی صورت گیرد. همچنین به صورت نرمافزاري تا آنجا که امکان داشت تاثیرات نور محیط را از بین بردیم. در تشخیص نوار تست بارداري نیازي به تابش نور از پشت وجود ندارد و امکانش هم وجود ندارد. نوار تست قند داراي حفره شفافی است که نور را از خود عبور میدهد و با عبور نور رنگ خود را واضحتر نمایش میدهد
شکل :3 اعمال فیلتر دوبعدي بر روي تصویر
شکل :4 اعمال آستانه گیري بارداري آن قدر ضخیم است که نور از خود رد نمیکند و ثانیا به مشخصههاي رنگی آن - نسبت به اندازهگیري قند