ارائه الگوریتمی جدید برای حذف نویز از تصاویر دیجیتالی با استفاده از شبکه های عصبی و فیلتر میانی
مقدمه:
در عصر مدرن انتقال اطلاعات بصری در فرمت تصاویر دیجیتال به یکی از رایج ترین متدهای اشتراک اطلاعات تبدیل شده است. با این حال تصویر دریافت شده توسط گیرنده ی ارتباط، اغلب آغشته به نویز است. تصویر دریافت شده قبل از هرگونه استفاده ای در یک کاربرد، نیاز به پردازش جهت خذف یا کاهش اثر تخریب کنندگی نویز دارد. علاوه بر این به دلیل نادرست عمل کردن اجزاء سخت افزاری همچنین پیکسا های حسگر دوربین و یا حافظه و یا تبدیل تصویر از یک قالب به قالب دیگر، کپی کردن، اسکن کردن، چاپ و فشرده سازی نیز احتمال افزوده شدن انواع مختلفی از نویز به تصویر وجود دارد. حضور نویز هم از لحاظ ظاهری برای بیننده آزار دهنده است و هم انجام پردازش های بعدی همچون بخش بندی، لبه یابی، تفسیر و تشخیص را با مشکل مواجه می کند. لذا افزایش کیفیت تصویر و حذف نویز موجود در آن یک پیش پردازش اساسی و مهم قبل از هر گونه عملیات دیگر است. کاهش یا حذف نویز به عملیاتی گفته می شود که طی آن پردازش و دست کاری هایی بر روی تصویر ورودی انجام می شود تا تصویر با کیفیت بالاتر جهت استفاده های بعدی به دست آید.
تعیین یک آستامه برای سیستم عصبی برای اینکه سیستم حذف کننده نویز همه پیکسل ها را مورد بررسی قرار ندهد و فقط پیکسل هایی که از این آستانه عبور کنند مورد بررسی و بازیابی قرار گیرند. به همین منظور ابتدا به روش های حذف نویز موجود پرداخته می شود و در انتها این الگوریتم با آستانه مشخص اضافه می شود تا سرعت حذف نویز از تصاویر بیشتر شود.
پردازش تصویر:
پردازش تصویر شاخه ای از علم رایانه است که هدف آن پردازش تصاویر برداشته شده توسط دوربین دیجیتال و یا تصاویر اسکن شده توسط اسکنر است. پردازش تصویر از دو جنبه به بهبود اطلاعات بصری برای تفسیر بصری توسط انسان و دیگری ارائه یک تصویر با جزئیات مناسب و کارآمد برای تعبیر توسط ماشین مورد توجه است. (McAndrew, 2004)
سیستمهای پردازش تصویر را می توان در سه سطح پردازشی دسته بندی کرد:
- سطح پایین: عملیات اولیه(مانند حذف نویز، افزایش میزان کنتراست) که در آن ها هم ورودی و هم خروجی سیستم تصویر هستند.
- سطح متوسط: استخراج ویژگی ها (مانند لبه ها، کانتورها، نواحی) از یک تصویر که معمولا این پردازش ها در حیطه بینایی ماشین قرار دارند.
- سطح بالا: تحلیل و تفسیر محتوایی یک صحنه که اغلب از الگوریتم های یادگیری ماشین در این سطح استفاده می شود.
هر سیستم پردازش تصویر معمولا بر حسب نوع کاربرد و هدف نهایی پردازش شامل بخش های مختلفی است. در گام اول یک تصویر توسط یکی از ابزار های تصویر برداری همچون دوربین دیجیتال یا اسکنر بدست می آید. کیفیت تصویر خروجی بلوک تصویر برداری به شدت بر روی کل سیستم تاثیر گذار است. در گام بعد، پیش پردازشی بر روی تصویر ورودی انجام می شود. هدف این پیش پردازش بهبود ظاهری تصویر، بالا بردن کنتراست، حذف نویز، تصحیح درخشندگی، تمیز کردن تصویر یا از بین بردن تاری ناشی از قرار گرفتن سوژه خارج از فاصله کانونی است. در گام بعدی تصویر بر مبنای معیار های مختلفی از جمله ویژگی های بافتی، مولفه های هم بندی، اشکال هندسی و موارد دیگر بخش بندی می شود. و در نهایت در گام نهایی هر یک از بخش ها بر مبنای همین ویژگی ها مورد تجزیه و تحلیل قرار می گیرد و به هر ناحیه یک برچسب نسبت داده می شود. همان طور که در شکل 1 مشخص است در تمام این مراحل از یک پایگاه دانش بسته به نوع سیستم استفاده می شود. پایگاه دانش علاوه بر محیا کردن دانش لازم برای هر واحد به تعامل بین بخش ها نیز نظارت دارد.(van bemmel and musen, 1997)
شکل 1-گام های پردازش تصویر
پردازش تصویر دارای طیف وسیعی از کاربرد ها است. از آن جمله می توان به موارد زیر اشاره کرد:
- کاربرد های پزشکی
- تفسیر خود کار تصاویر پزشکی سونوگرافی، رادیولوژی و مامو گرافی
- تحلیل تصاویر سلولی از گونه های کروموزوم
- کشاورزی
- پردازش تصاویر ماهواره های جهت تعیین محل مناسب برای کشت محصول
- کنترل کیفیت خود کار محصولات کشاورزی و دسته بندی آن ها در دسته های مختلف
- صنعت
- خودکار سازی خط تولید در کارخانه ها
- تحلیل وضعیت ترافیکی جاده ها
- دسته بندی محصولات کارخانه ای
- قضایی
- تحلیل و بررسی اثر انگشت
- تعیین هویت شخص از روی نشانه های بیومتریک
- تعیین هویت تصاویر(جعلی یا واقعی بودن آن ها)
انواع تصاویر دیجیتال:
تصویر در واقع یک تابع دو بعدب مانند F(x,y) است که در آن آرگومان های ورودی x,y مختصات مکانی در هر نقطه به صورت شماره سطر و شماره ستون است. و مقدار تابع شدت روشنایی آن نقطه از تصویر است. از آن جا که مقادیر F(x,y) و x,y مقادیر گسسته اند، تصویر را یک تصویر دیجیتال می نامند. یک تصویر دیجیتال از تعدادی از عناصر با مقدار و موقعیت مشخص تشکیل شده است که به هر یک از این عناصر پیکسل گفته می شود. برای نمایش یک تصویر با ابعاد M*N از یک ماتریس دو بعدی با M سطر و N ستون استفاده می شود. مقدار هر یک از این عناصر این آرایه شدت روشنایی آن پیکسل را نشان می دهد. بسته به نوع داده ای این آرایه دو بعدی، انواع مختلف از تصاویر بوجود می آیند که در ادامه هر یک از انواع تصاویر به طور خلاصه بررسی می شوند.
تصاویر دودویی:
در تصاویر دودویی هر کدام از پیکسل ها می توانند یکی از دو مقدار روشن 1 و خاموش 0 را داشته باشند. لذا برای نگهداری هر پیکسل تنها به یک بیت دودویی نیاز است. یکی از اصلی ترین مزایای این گونه تصاویر حجم کم آن ها است و معمولا برای نگهداری نوشته های چاپی و یا دست نویس، اثر انگشت و نقشه های مهندسی از آن استفاده می شود.(Gonzalez and woods, 2005)
تصاویر شدت روشنایی:
تصاویر شدت با نام تصاویر خاکستری نیز شناخته می شوند. در این تصاویر مقدار هر یک ار عناصر آرایه دوبعدی تصویر یک عدد 8 بیتی است که می تواند نقداری بین 0 (معادل رنگ مشکی) و 255 (معادل رنگ سفید) را در خود ذخیره کند. دامنه تغییرات عناصر در این گونه تصاویر، اعداد صحیح بین 0 تا 255 است.
تصاویر رنگی:
در تصاویر رنگی هر پیکسل دارای یک رنگ مشخص است که خود ترکیبی از سه مولفه رنگی اصلی قرمز، سبز و آبی است و لذا برای ذخیره کردن یک تصویر رنگی با ابعاد M*N نیاز به سه ماتریس با ابعاد M*N است که هر کدام شدت روشنایی هر کدام از مولفه ها را در خود ذخیره می کنند. به عنوان مثال اگر رنگ یک پیکسل قرمز خالص باشد لایه های رنگی آن به صورت ]0و0و255[ می باشند. برای نمایش سفید خالص هر سه مولفه رنگی برابر 255 و برای مشکی خالص هر سه مولفه برابر صفر است. تصاویر RGB دارای سه لایه رنگی 8 بیتی هستند و لذا بانام تصاویر 24 بیتی نیز شناخته می شوند. این تصاویر سه برابر تصاویر سطح خاکستری هم اندازه خود فضا اشغال می کنند. (Gonzalez and woods, 2005)
تصاویر شاخص:
یکی از مهم ترین معایب تصاویر 24 بیتی عدم سازگاری با سخت افزار های قدیمی بود که قادر به نمایش هم زمان 16 میلیون رنگ نبودند. علاوه بر این به حجم بالای ذخیره سازی نیاز داشتند. راه اصلی که همزمان دو مشکل را حل می کند استفاده از یک بازنمایی شاخص دار است که در آن از یک آرایه دوبعدی هم اندازه با تصویر استفاده می شود. لذا برای نمایش هر تصویر شاخص دار از یک آرایه دو بعدی 8 بیتی تصویر و یک نقشه رنگی 256 مدخلی استفاده می شود.
انواع نویز و نحوه اثر گذاری آن بر تصویر:
نویز به اختلالات نامطلوب در سطح شدت روشنایی تصویر گفته می شود، به گونه ای که بر روی کیفیت تصویر اثرات منفی می گذارد. بدین معنی که این تغییرات جزعی از سیگنال اصلی نیستند و موجب افت کیفیت در سیگنال می شوند. نویز می تواند به دلایل مختلف بر روی یک تصویر اضافه شود. انتقال تصویر از یک کانال ارتباطی مخدوش، سوختن پیکسل های حسگر دوربین، عملکرد نامناسب قطعات سخت افزاری، خطا در خانه های حافظه، دیجیتال کردن داده های آنالوگ و بسیاری از موارد دیگر نمونه هایی از دلایل ایجاد نویز بر روی تصویر می باشند. بسته به نوع منبع نویز، انواع مختلفی از نویز بر روی تصاویر ایجاد می شود. اغلب منبع نویز و نوع خطای رخ داده شده در نتیجه نوع نویز مشخص است و لذا می توان مدل و رویکرد های مناسب با همان نوع نویز را بر روی تصاویر اعمال کرد تا تصویری با کیفیت بالاتر بدست آید. در ادامه چندین مورد از انواع نویز رایج در پردازش تصویر مورد بررسی قرار می گیرد.
نویز ضربه ای:
نویز ضربه ای با نام های دیگر از جمله نویز باینری و لحظه ای نیز شناخته می شود و دلیل آن تغییرات سریع و ناگهانی در سیگنال تصویر است. این نویز خود به دو نوع نویز فلفل نمکی و نویز ضربه با مقادیر تصادفی تقسیم می شود. در مدل فلفل نمکی، شدت روشنایی تعدادی از پیکسل ها به صورت تصادفی با مقدار کمینه شدت روشنایی(مقدار صفر) و یا شدت بیشینه مقدار روشنایی(مقدار255) جایگزین می شود.و نتیجه آن تصویری خواهد بود که بر روی آن نقاط سفید و مشکی رنگ دیده می شود. در مدل نویز ضربه ای با مقادیر تصادفی، شدت روشنایی پیکسل نویزی شده محدود به مقدار کمینه و بیشینه نیست و میتواند یکی از مقادیر در بازه مشخص شده را اختیار کند. میزان آغشته شدن تصویر با این نویز معمولا با یک درصد که نمایانگر میزان پیکسل های نویزی درصد پیکسل است نشان داده می شود.
نویز سفید گوسی:
این نویز گاهی با نام نویز سفید نیز شناخته می شود. نویز سفید گوسی معمولا ناشی از وجود حسگر های الکتریکی برای ثبت سیگنال تصویر است و مقادیر آن از یک توزیع گوسی مطابق با رابطه زیر حاصل می شود:
که در این رابطهµ و Ƃ دو پارامتر مدل نویز گوسی هستند که به ترتیب میانگین و واریانس توزیع گوسی می باشند.
نویز متناوب:
نویز متناوب در اثر اغتشاشات الکتریکی یا الکترومغناطیسی در طول فرایند ذخیره سازی و انتقال تصویر ایجاد می شود. این نویز دارای یک فرکانس ثابت و هارمونیک های آن است و لذا بهترین راه مقابله با آن استفاده از فیلتر های حوزه فرکانس است. در صورتی که از یک تصویر آغشته به نویز متناوی تبدیل فوریه دو بعدی گرفته شود، نویز به صورت نقاط مزدوج بر روی محیط یک دایره مشخص خواهد بود.
نویز ضرب شونده:
نویز ضرب شونده را می توان به صورت حاصل ضرب مقادیر تصادفی در تصویر تعریف کرد و اغلب در تصاویر رادار روزنه ترکیبی، تصاویر سونوگرافی دیده می شود و معروف ترین آن نویز خال است. تاثیر نویز خال و نویز گوسی در تصویر تقریبا مشابه همدیگر است. ولی با توجه با آن که منبع تولید هر کدام متفاوت است از رویکرد های متفاوتی برای کاهش و یا حذف اثرات آن استفاده می شود. مدل ریاضی نویز ضرب شونده را می توان به صورت معادله زیر نشان داد:
با افزایش کاربرد های پردازش تصویر، روشهای مختلفی برای حذف نویز از تصاویر پیشنهاد شده است. به طور کلی متد های موجود در زمینه حذف نویز را می توان از یک دیدگاه به دو دسته فیلتر گذاری در حوزه مکان و فیلتر گذاری در حوزه تبدیلی دسته بندی کرد.(Ahmadi et al.,2013).در هر دو دسته، توسعه هایی مبتنی بر الگوریتم های مبتنی بر محاسبات نرم و ابزارهای هوشمند مانند سیستم های فازی و شبکه های عصبی و الگوریتم های بهینه سازی همچون الگوریتم ژنتیک دیده می شود.
در ادامه توضیح مختصری از این دسته ها داده می شود و موارد مرتبط با موضوع این پژوهش به تفضیل شرح داده خواهد شد.
در شکل 2 دیدگاه دسته بندی متد های حذف نویز نشان داده شده است:
شکل 2-دسته بندی متد های حذف نویز
فیلتر های حوزه مکان:
فیلتر گذاری یکی از عملیات پایه ای و اغلب به عنوان یک پیش پردازش در زمینه پردازش سیگنال به شمار می آید و کاربرد های مختلفی در حذف نویز، بهبود تصویر و لبه یابی دارد. یکی از ابتدایی ترین روش هایی که برای حذف نویز به کار می رود، روشهای مبتنی بر فیلتر های متوسط گیر در حوزه مکان است که به خصوص برای تصاویر با نویز گوسی مورد استفاده قرار می گیرند. اساس عملکرد این روش ها پردازش بر روی هر پیکسل و متوسط گیری روی آن، مقدار متوسط جایگزین مقدار آن پیکسل می شود. متوسط گیری به روش های مختلفی از جمله میانگین حسابی، میانگین هندسی و میانگین همساز انجام می گیرد.
فیلتر میانگین حسابی تغییرات محلی را در تصویر و به طبع آن نویز را کاهش می دهد. اما روش میانگین گیری به این صورت باعث محو شدن تصویر و همچنین تخریب لبه های تصویر می شود که پدیده ای نا مطلوب است و باید تا حد امکان از آن اجتناب شود
فیلتر های حوزه فرکانس:
یکی دیگر از فیلتر های حذف نویز استفاده از فیلتر های حوزه فرکانس است. تصویر در حوزه مکان به صورت مجموعه ای از پیکسل ها و مقادیر متناظر آنها معنی پیدا می کند. ولی در حوزه فرکانس تصویر به صورت یک سیگنال با طیفی از فرکانس ها دیده می شود. در فیلتر های حوزه فرکانس، طیف های فرکانسی مشخصی از تصویر مورد پردازش قرار می گیرد. با توجه به این که نویز شامل تغییر های سریع در تصویر است، مولفه های نویز مربوط به مولفه های فرکانسی بالای تبدیل فوریه است. بنابر این باید ار فیلتر های پایین گذر استفاده کرد. این فیلتر ها با تضعیف محدوده مشخصی از مولفه های فرکانس بالای تصویر، نویز را حذف می کنند اما این عمل باعث تخریب لبه های تصویر که جزء مولفه های فرکانس بالا هستند همراه است.
ساده ترین نوع فیلتر پایین گذر، فیلتر پایین گذر ایده آل است که تمام مولفه های فرکانسی بالا که در فاصله بیشتر از فاصله معین D0 از مرکز تبدیل فوریه قرار دارند را حذف می کند. این فیلتر به دلیل مشخصه تیز در حوزه فرکانس دارای اثرات جانبی مثل اضافه شدن موج هایی در تصویر بازیابی شده است.
برای رفع مشکل فیلتر ایده آل، می بایست به جای حذف مولفه های فرکانس بالا و ایجاد ناپیوستگی در طیف فرکانسی، این مولفه ها به صورت پیوسته تضعیف شوند که این کار توسط دو فیلتر Butterworth و فیلتر گوسی انجام می شود.
فیلتر های نظم آماری:
از دیگر روش های حذف نویز در تصاویر رقمی استفاده از فیلتر های مبتنی بر نظم آماری است. این فیلتر ها، فیلتر های غیر خطی مکانی هستند که پاسخ آن ها ب رمبنای مرتب کردن مقادیر پیکسل های درون پنجره فیلتر و قرار دادن یکی از عناصر مرتب شده، در پیکسل مرکزی پنجره شکل می گیرد. از جمله این فیلتر ها می توان از فیلتر میانه و نسخه های مختلف آن، فیلتر میانگین حذف آلفا و فیلتر میانه تطبیقی نام برد. به دلیل موقعیت فیلتر های غیر خطی در حذف نویز انواع مختلفی از این فیلتر ها ارائه شده است.
فیلتر میانگین حذفα:
فیلتر میانگین حذف α در دسته فیلتر های غیرخطی قرار می گیرد که ترکیبی از فیلتر میانه و میانگین است. ایده اصلی این فیلتر حذف نمونه های برون نهاد و استفاده از میانگین نمونه های باقی مانده است. پارامتر α که در این فیلتر دیده می شود میزان داده های نادیده گرفته شده را تعیین می کند. الگوریتم میانگین حذف آلفا را می توان به صورت زیر بیان کرد:
1- داده های زیر پنجره فیلتر به صورت صعودی مرتب می شوند.
2- نیمه آلفای کوچکتر و نیمه آلفای بزرگتر نادیده گرفته می شوند.
3- میانگین نمونه های باقی مانده محاسبه و جواب حاصل جایگزین مرکز فیلتر می شود.
فیلتر میانه سوئیچ کننده :
یکی از معایب متد های بیان شده آن است که هر پیکسل بدون توجه به آنکه نویزی شده یا سالم است تحت پردازش قرار می گیرد. این امر موجب می شود پیکسل های سالم تصویر که در بر گیرنده جزئیات تصویر اصلی هستند طی پردازش تغییر کنند. رویکردی که برای این مسئله وجود دارد فیلتر میانه سوئیچ کننده است که در آن هر پیکسل ابتدا در یکی از دو دسته نویزی و سالم طبقه بندی می شوند. اگر پیکسل نویزی باشد از فیلتر های حذف نویز در آن استفاده می شود، ولی اگر پیکسل سالم باشد عملیات فیلتر شدن میانبر می شود و مقدار خروجی مستقیما برابر مقدار ورودی می شود.(sun and neuvo,1994)
رویکرد های متفاوت برای هر یک از دو مرحله طبقه بندی و فیلتر گذاری وجود دارد که ترکیب آن ها یک متد جدید فیلتر های سوئیچ کننده به شمار می آید.(Akkoul et al.,2010)
فیلتر میانگین رتبه ی منظم وابسته به سیگنال:
در فیلتر میانه بدون توجه به آن که یک پیکسل نویزی است یا نه، با مقدار میانه پنجره فیلتر جایگزین می شود. هر چند نویز به میزان قابل توجه ای از بین می رود اما هم زمان میزان قابل توجه ای از اطلاعات و جزئیات تصویر از بین می رود و تصویر مات می شود. به خصوص زمانی که اندازه پنجره فیلتر بزرگ باشد. تعمیم های زیادی از فیلتر میانه برای کسب نتایج بهتر ارائه شده اما به دلیل اینکه روی تمام تصویر با یک عملکرد عمل می کنند تمایل به حذف پیکسل های غیر نویزی و در نتیجه حذف جزئیات تصویر دارند و یا ممکن است به خوبی نویز را حذف نکنند.
فیلترSDROM (Abreu and Mitra,1999) یک الگوریتم غیر خطی کارآمد است که برای حذف نویز از تصاویر تخریب شده با چگالی بالای نویز بکار می رود که جزئیات و ویژگی های تصویر را نیز حذف می کند. این روش برای حذف انواع نویز ضربه چه از نوع مقدار ثابت و چه از نوع مقدار تصادفی کاربردی است.
در رهیافت sdrom عملیات فیلتر گذاری مشروط به تفاوت بین پیکسل ورودی و سایر پیکسل های مرتب شده بر اساس رتبه در پنجره فیلتر است. بر خلاف فیلتر میانه، sdrom روی کل تصویر به یک روش عمل نمی کند و لذا نتایج بهتری نسبت به فیلتر میانه فراهم می کند و توازن بهتری بین حذف نویز و حفظ جزئیات تصویر برقرار می کند، بدون آن که حجم محاسباتی را خیلی افزایش دهد. فیلترsdrom برای حذف نویز از دو فاز تشخیص و ترمیم بهره می گیرد. در فاز تشخیص اگر هر کدام از نامعادلات ارضا شود، پیکسل مرکزی پنجره فیلتر نویزی تشخیص داده می شود.
الگوریتم مبتنی بر تصمیم گیری:
در srinirasan and Ebenezer(2007) روشی با نام الگوریتم مبتنی بر تصمصم گیری ارائه شده است. در صورتی که مقدار هر پیکسل بین مینیمم و ماکزیمم مقدار درون پنجره فیلتر قرار گیرد، پیکسل سالم معرفی شده و بدون تغییر باقی می ماند. اگر پیکسل نویزی باشد و مقدار میانه پنجره فیلتر در بازه مینیمم و ماکزیمم پنجره باشد مقدار میانه جایگزین پیکسل خواهد شد و در غیر این صورت مقدار پیکسل با پیکسل همسایه اش جایگزین می شود. الگوریتم DBA در چگالی نویز بالا نیز کارامد است.
متد های مبتنی بر محاسبات نرم:
در سال های اخیر، تکنیک های پیشرفته محاسبات نرم برای عملیات فیلتر گذاری تصاویر با در نظر گرفتن آن به عنوان یک مسئله غیر خطی بکار گرفته شده اند. هم شبکه های عصبی و هم شبکه های با منطق فازی ابزارهای قدرتمندی برای حل طیف وسیعی از مسائل پردازش تصویر هستند. در منبع یک شبمه عصبی نقشه خود سازماندهی برای آشکار سازی پیکسل های نویزی به همراه یک فیلتر تطبیقی برای فیلتر کردن پیکسل نویزی استفاده شده است. شبکه از انحرافات میانه یعنی تفاضل پیکسل های همسایه با میانه پبجره فیلتر به عنوان ورودی استفاده کرده و پیکسل مرکزی را به دو دسته نویزی و سالم طبقه بندی می کند. این فیلتر قابلیت خوبی در حفظ جزئیات تصویر دارد. مهمترین عیب این فیلتر ابعاد بالای ورودی شبکه و انتخاب تصاویر آموزشی است.
در zvonarev and khryashchev(2005) از ترکیب فیلتر میانه و شبکه عصبی برای بهبود عملکرد حذف نویز استفاده شده است. سیستم پیشنهاد شده، برای جدا سازی پیکسل نویزی از پیکسل سالم از الگوریتم دو مرحله ای استفاده می کند. در تشخیص اولیه، اگر مقدار هر پیکسل درون بازه [min,max] باشد پیکسل سالم و در غیر این صورت نویز تشخیص داده می شود. پیکسل های کاندید برای نویزی بودن به شبکه عصبی فرستاده می شود تا طبقه بندی انجام شود. از ویژگی های محلی آماری برای ورودی شبکه استفاده شده است. مفهوم منطق فازی در سال 1965 توسط آقای زاده به عنوان یک ابزار ریاضی برای مدل سازی عضویت نسبی در مجموعه های معرفی شد. بر خلاف تکنیک های کلاسیک مجموعه ای که تنها عضویت قطعی در آن ها وجود دارد، در منطق فازی امکان تعریف عضویت نسبی وجود دارد.
در منبع yuksel and besdok(2004) از یک سیستم فازی عصبی تطبیقی برای آشکار سازی پیکسل نویزی استفاده شده است که شامل دو زیر آشکار گر مبتنی بر شبکه فازی عصبی با منطق فازی نوع سوگنو است که هر کدام از سه ورودی استفاده می کنند. این سه ورودی پیکسل های عمودی و افقی در یک پنجره 3*3 هستند. هر زیر آشکارگر برای هر ورودی سه تابع و سه تابع زنگوله ای برای هر ورودی، 27 قاعده برای تصمیم گیری است.که وزن ها بر اساس شدت آتش هر قاعده تعیین می شود. در نهایت میانگین خروجی دو زیر آشکارگر محاسبه می شود و از یک آستانه نهایی برای تشخیص پیکسل نویزی استفاده می شود.
در فیلتر های حذف نویز، طبقه بندی هر پیکسل با برچسب نویزی یا سالم معمولا از طریق مشاهدات همسایگی پیکسل انجام می شود. یک راه ساده برای طبقه بندی اندازه گیری میزان اختلاف پیکسل مرکزی و خروجی فیلتر میانه است. در صورتی که میزان اختلاف از یک حد آستانه بیشتر باشد، پیکسل به عنوان پیکسل نویزی و در غیر این صورت پیکسل به عنوان سالم بر چسب می خورد. این راه حل در نگاه اول ساده به نظر می رسد، اما تعیین مقدار مناسب آستانه بحث بر انگیز است و تعیین چنین آستانه هایی معمولا امری مشکل است. در یک رویکرد فازی، با استفاده از شروط فازی و توابع عضویت، میزان نویزی بودن هر پیکسل تعیین می شود و می توان از این طبقه بندی هم در بخش طبقه بندی اولیه در سیستم حذف نویز و هم در تخمین مقدار نهایی برای پیکسل نویزی استفاده کرد.
در قسمت های قبل مفاهیم پایه و انواع تصاویر و همچنین مدل های مختلف نویز بررسی شد و تاثیر هر کدام از انواع نویز بر روی تصاویر سطح خاکستری نشان داده شد. هر کدام از انواع نویز تاثیر متفاوتی بر روی کیفیت تصویر اصلی می گذارند و بر همین اساس از رویکرد های متفائتی برای کاهش اثر هر کدام از انواع نویز استفاده می شود. متد های فوق و پایه ای در حذف نویز ضربه در این قسمت مرور شد. در ادامه متدی برای کاهش اثر نویز ضربه بر روی تصاویر دیجیتال بررسی می شود.
شبکه های عصبی پرسپترون چند لایه:
شبکه های عصبی پرسپترون، به ویژه پرسپترون چند لایه، در زمره کاربردی ترین شبکه های عصبی می باشند. این شبمه ها قادرند با انتخاب مناسب تعداد لایه ها و سلول های عصبی، که اغلب هم زیاد نیستند، یک نگاشت غیر خطی را با دقت دلخواه انجام دهند. این شبکه ها، یک لایه ورودی چند لایه پنهان به روش سعی و خطا مشخص می گردد. شبکه های عصبی نوعی مدل سازی ستده انگارانه از سیستم های عصبی واقعی هستند که کاربرد فراوانی در حل مسائل مختلف در علوم دارند. حوزه کاربرد این شبکه ها آن جنان گسترده است که از کاربرد های طبقه بندی گرفته تا کاربردهایی نظیر درون یابی، تخمین و آشکارسازی را شامل می شوند. شاید مهمترین مزیت این شبکه ها توانایی وافر آن ها در کنار سهولت استفاده از آن ها باشد. شکل 3 یک شبکه پرسپترون سه لایه را نشان می دهد. به سادگی می توان استنباط نمود که تعداد نرون های هر لایه مستقل از تعداد نرون های دیگر لایه ها می باشد. توجه به این نکته حائز اهمیت است که در شکل زیر همه دایره های تجمیع شده عمل جمع و آستانه گذاری (عبور از تابع غیر خطی زیگموید) است. در حقیقت هر دایره توپر در شکل مدلی از جمع کننده است.
|
Yi |
|
Y1 |
|
xi |
|
X2 |
|
X1 |
شکل 3- شبکه پرسپترون سه لایه
به طور کلی شبکه های عصبی مصنوعی از لحاظ یاد گیری بر دو دسته اند: شبکه های وزن ثابت و شبکه های با وزن متغییر. خود شبکه های یاد گیر نیز به دودسته با سرپرست و بدون سرپرست تقسیم می شوند. در شبکه های با سرپرست، در فاز آموزش از نمونه هایی استفاده می گردد که خروجی ایده آل متناظر با آن ها از پیش دانسته است. به عبارت دیگر در این گونه شبکه ها، نمونه های داده ورودی برچسب دارند. در شبکه های بی سرپرست، بر اساس یک معیار(مثلا فاصله) و بر اساس موعی رقابت، خروجی مورد نظر در کلاس جداگانه قرار می گیرد.
با توجه به این که شبکه عصبی، مدل ساده شده اعصاب بدن است، درست به مانند آن ها قابلیت یادگیری دارند. به عبارت دیگر شبکه با استفاده از اطلاعاتی که از ورودی و توسط سرپرست خود دریافت می کند قادر به فراگیری روند موجود در الگو ها است. لذا به طور مشابه با انسان، روند یاد گیری در شبکه عصبی نیز از مدل های انسانی الهام گرفته است. بدین صورت که مثال های بسیاری را به دفعات بایستی به شبکه ارائه نمود تا بتواند با تغییر وزن های شبکه، خروجی مورد نظر را دنبال کند.
ارائه نمونه داده های ورودی به شبکه عصبی به دو روش امکان پذیر است:
- روش ارائه یک جا: در این روش، تمام نمونه ها به شبکه ارائه می گردند و در آخر، خطای شبکه نسبت به کل نمونه ها محاسبه گشته و وزن ها بر اساس آن خطا تغییر می کنند. در مرحله بعد مجددا تمام داده ها یک بار دیگر به شبکه ارائه شده و روند فوق نظیر به نظیر انجام می پذیرد تا نهایتا خطا به حد اقل قبولی برسد. مسلما این روش پیچیده و زمان بر بوده و نیاز به حافظه زیادی دارد. همچنین امکان به تله افتادن الگوریتم در مینیمم های محلی وجود دارد.
- روش ارائه الگو: در این روش در هر بار نمونه ها به صورت تک تک به شبکه داده شده و خطای متناظر با همان داده بلافاصله محاسبه شده و بر اساس آن، وزن های شبکه به روز رسانی می شوند. سپس نمونه بعدی به شبکه ارائه شده و روند بالا مشابها انجان می پذیرد. چون در این روش در هر گام اصلاح وزن ها بر اساس هر نمونه انجام می پذیرد، الگوریتم هم گرایی خوبی داشته و با توجه به ماهیت تصادفی موجود در ارائه تکی داده ها، احتمال خطر تله مینیمم های محلی بسیار کم خواهد بود.
به منظور آموزش شبکه و اصلاح وزن ها تا رسیدن به یک خطای معنا دار، روش های بسیار زیادی وجود دارد. یکی از مشهورترین این روش ها الگوریتم پس انتشار خطاست که در ادامه توضیح داده می شود.
الگوریتم پس انتشار خطا:
این الگوریتم در سال 1986 روملهارت و مک گلیلاند پیشنهاد گردید، در شبکه های عصبی پیش رو مورد استفاده قرار می گیرد. پیش سو بودن به این معنا است که نورون های مصنوعی در لایه های متوالی قرار گرفته اند و خروجی خود را به جلو می فرستند. واژه پس انتشار نیز به معنای این است که خطا به سمت عقب در شبکه تغذیه می شوند تا وزن ها را اصلاح کنند و پس از آن مجددا ورودی مسیر پیش سوی خود را تا خروجی تکرار کنند. روش پس انتشار خطا از روش های با ناظر است به این مفهوم که نمونه های ورودی برچسب خورده اند و خروجی مورد انتظار هر یک از آن ها از پیش دانسته است. لذا خروجی شبکه با این خروجی های ایده آل مقایسه شده و خطای شبکه محاسبه می گردد. در این الگوریتم ابتدا فرض بر این است که وزن های شبکه به طور تصادفی انتخاب شده اند. در هر گام خروجی شبکه محاسبه شده و بر حسب میزان اختلاف آن با خروجی مطلوب، وزن ها تصحیح می گردند تا در نهایت این خطا مینیمم شود. در الگوریتم پس انتشار خطا، تابع تحریک هر عصب به صورت جمع وزن دار ورودی های مربوط به آن عصب در نظر گرفته می شود.
حال بایستی به بررسی ارتباط خطا با ورودی ها، وزن ها و خروجی ها بپردازیم. برای این کار روش های متفاوتی وجود دارد که برخی از مهمترین آن ها عبارتند از:
1- روش گرادیان شیب
2- روش نیوتن
3- روش اندازه حرکت
4- روش آنتروپی متقابل
5- روش Marquarlt-levenberg
الگوریتم پیشنهادی:
در چند دهه اخیر متد های متفاوتی برای حذف نویز از تصاویر دیجیتال ارائه شده اند. مروری بر نتایج تحقیقات انجام شده نشان می دهد الگوریتم های مبتنی بر فاز تشخیص و فاز ترمیم از کارایی بالاتری نسبت به سایر الگوریتم ها برخوردارند. الگوریتم های تک مرحله ای بدون توجه به نویزی بودن یا نبودن یک پیکسل عمیات فیلترینگ را انجام می دهند و این امر موجب می شود جزئیات تصویر در طی عملیات فیلتر کردن تخریب شده و در نتیجه تصویر خروجی از کیفیت لازم برخوردار نباشد. در مقابل الگوریتم های مبتنی بر فاز تشخیص و ترمیم ابتدا از یک آشکار گر نویز استفاده کرده و در مرحله بعد تنها پیکسلهای نویزی وارد فیلتر می شوند و لذا پیکسل های سالم از هر گونه تغییر محفوظ نگه داشته می شوند. الگوریتم های متنوعی با معیار های مختلف جهت تشخیص نویزی بودن یک پیکسل ارائه شده اند. که در اکثریت آن ها مرز تصمیم گیری پیکسل سالم یا نویزی توسط آستانه های تعیین شده توسط کاربر مشخص می شود.
الگوریتم پیشنهادی از یک شبکه عصبی پیشرو برای فاز تشخیص پیکسل های نویزی استفاده می کند. هدف از این کار طبقه بندی پیکسل ها بر مبنای نویزی یا سالم بودن توسط شبکه عصبی است. شکل 4 ساختار کلی سیستم آشکار سازی و حذف نویز ارائه شده را نشان می دهد. همان طور که در شکل دیده می شود، سیستم ارائه شده از دو جزء آشکارگر نویز ضربه و عملیات فیلتر گذاری تشکیل شده است. زمانی که آشکار گر، پیکسلی را نویزی برچسب گذاری کند، آن پیکسل توسط بخش بعدی فیلتر گذاری می شود و مقدار شدت روشنایی تصویر در آن پیکسل توسط همسایگی آن تخمین زده می شود.
شکل 4- سیستم آشکار ساز و خذف نویز
ساختار هر شبکه مصنوعی پیش رو با تعداد سلول ورودی، تعداد لایه های پنهان و تعداد سلول ها در هر لایه پنهان و تعداد سلول خروجی مشخص می شود. شبکه عصبی ارائه شده دارای 7 سلول ورودی، یک لایه پنهان با ده سلول و یک سلول خروجی است که به صورت بلوکی در شکل 5 نشان داده شده است. در ادامه جزئیات شبکه پیشنهادی شرح داده خواهد شد.
شکل 5- بلوک پیشنهادی برای شبکه عصبی
با توجه به این که هر چه میزان قدر مطلق تفاضل پیکسل مرکزی و میانه پنجره فیلتر کم تر باشد احتمال نویزی بودن پیکسل مرکزی کمتر است، این ویژگی می تواند به عنوان یک ویژگی متمایز کننده پسکسل نویزی از پیکسل سالم به کار رود. ورودی دوم شبکه عصبی حاصل مینیمم گیری روی کانولوشن پنجره فیلتر در چهار فیلتر لاپلاسین می باشد. هر کدام از فیلتر ها نسبت به یکی از لبه های افقی، عمودی، لبه با شیب مثبت و لبه با شیب منفی حساس است. کمینه مقادیر حاصل از کانولوشن این 4 فیلتر را می توان به عنوان معیاری برای تشخیص نویز در نظر گرفت. از مقدار ROAD به عنوان دورودی سوم شبکه عصبی استفاده می شود. مقدار ROAD برای پیکسل های نویزی مقدار بالا و برای پیکسل های سالم مقدار پائین دارد. مقدار چهارم تا هفتم شبکه عصبی، 4 مقدار محاسبه شده توسط فیلتر SD-ROM است. و هر یک از این چهار مقدار اطلاعاتی را در رابطه با وجود نویز در پیکسل مرکزی بیان می کند.
برای آموزش هر ماشین یادگیر، نیاز به یک مجموعه از داده های آموزشی است. مجموعه داده های آموزشی جفت های ورودی – خروجی هستند که شبکه سعی در یاد گیری آن ها دارد. برای یادگیری شبکه عصبی پیشنهادی نیاز به تصویری نویزی به عنوان ورودی و تصویر باینری نویز به عنوان خروجی داریم.
رویکرد معمولی که در مقالات مختلف برای حل این مشکل ارائه شده است، تولید یک تصویر تصادفی است و هدف این کار آن است که آموزش شبکه به تصویر خاصی وابسته نباشد. برای آموزش شبکه عصبی پیشنهادی از تصویر 128*128 از بلوک های 4*4 که تمام پیکسل های هر بلوک شدت روشنایی ثابتی دارند که به صورت تصادفی انتخاب می شوند استفاده می شود.
با توجه به اینکه گلوگاه سرعت اجرای الگوریتم ارائه شده، محاسبه خروجی شبکه عصبی برای تعیین نوع پیکسل ورودی است، از یک فاز تشخیص اولیه استفاده شده است تا تنها پیکسل هایی که احتمال نویزی بودن آن ها وجود دارد برای تصمیم گیری نهایی به شبکه عصبی داده شوند.
برای آموزش شبکه پیشنهادی از الگوریتم شناخته شده ی انتشار خطای عقب گرد و حد اکثر تعداد 100 و همچنین خطای مطلوب صفر استفاده می شود. پس از آموزش شبکه، مقدار خروجی برای پیکسل های نویزی نزدیک به یک و برای پیکسل های سالم نزدیک به صفر است.
در صورتی که آشکار گر مبتنی بر شبکه عصبی، یک پیکسل را نویزی تشخیص دهد، مقدار پیکسل نویزی باید فیلتر شود و تخمینی بر مبنای مقادیر پیکسل های همسایه بدست آید. برای فیلتر کردن پیکسل های نویزی از فیلتر میانه استاندارد بر روی عناصر سالم پنجره بهره گرفته شده است. همچنین در صورتیکه تمامی پیکسل ها در همسایگی پیکسل مرکزی نویزی باشند مقدار خروجی صفر قرار داده می شود و الگوریتم برای بار دیگر به صورت بازگشتی بر روی تصویر بدست آمده اجرا می شود. برای افزایش سرعت اجرای الگوریتم از یک پیش قضاوت اولیه استفاده شده است. با توجه که تنها نویز فلفل نمکی مورد بررسی است، تمام پیکسل هایی که مقداری به جز 0 یا 255 دارند به عنوان سالم در نظر گرفته می شود. و برای طبقه بندی دقیق تر پیکسل ها از شبکه عصبی پیشنهادی استفاده می شود. پس از طبقه بندی نهایی، در صورت نویزی بودن یک پیکسل، از فیلتر میانه استاندارد برای تخمین پیکسل نویزی از پیکسل های همسایه استفاده شده است.
معیار های ارزیابی:
برای ارزیابی توانایی متد های مختلف در حذف نویز از تصاویر سطح خاکستری معمولا از دو معیار استاندارد نسبت پیک سیگنال به نویز (PSNR)[1] و میانگین مربعات خطا (MSE)[2] استفاده می شود.
نتایج شبیه سازی:
جدول 1 مقدار PSNR حاصل از اجرای الگوریتم پیشنهادی بر روی تصاویر موجود در شکل به ازای چگالی های مختلف نویز فلفل نمکی را نشان می دهد.
مقادیر PSNR حاصل از اجرای متد پیشنهادی بر روی تصاویر مختلف با درصد نویز متفاوت:
جدول 1- مقادیر PSNR حاصل از متد پیشنهادی بر روی تصاویر مختلف با درصد نویز متفاوت
|
Peppers |
House |
Barbara |
Boat |
Cameraman |
%noisy |
|
26.05 |
45.01 |
36.66 |
42.01 |
38.26 |
5 |
|
25.94 |
41.35 |
33.53 |
38.45 |
35.26 |
10 |
|
25.77 |
39.12 |
31.77 |
36.43 |
32.94 |
15 |
|
25.68 |
37.02 |
30.09 |
34.60 |
31.50 |
20 |
|
25.27 |
34.38 |
28.67 |
32.13 |
28.70 |
30 |
|
24.77 |
31.98 |
26.33 |
29.84 |
26.63 |
40 |
|
23.96 |
29.90 |
24.79 |
27.86 |
24.62 |
50 |
|
22.80 |
26.90 |
23.16 |
25.60 |
22.83 |
60 |
همچنین مقدار MSE بین تصویر اصلی و خروجی حاصل از الگوریتم پیشنهادی برای تصاویر مختلف در جدول 2 لیست شده است:
جدول 2- مقدار MSE بین تصویر اصلی و خروجی الگوریتم پیشنهادی
|
Peppers |
House |
Barbara |
Boat |
Cameraman |
%noisy |
|
161.10 |
2.04 |
14.02 |
4.08 |
9.69 |
5 |
|
165.36 |
4.76 |
28.81 |
9.27 |
19.32 |
10 |
|
171.82 |
7.97 |
43.22 |
14.78 |
32.97 |
15 |
|
175.49 |
12.94 |
63.67 |
22.49 |
45.93 |
20 |
|
193.14 |
23.67 |
101.47 |
39.79 |
78.56 |
30 |
|
216.50 |
41.13 |
151.38 |
67.42 |
141.04 |
40 |
|
261.06 |
66.49 |
215.35 |
106.35 |
224.29 |
50 |
|
340.81 |
132.57 |
314.02 |
178.87 |
338.37 |
60 |
هر چه میزان شباهت تصویر اصلی و بازیابی شده بیشتر باشد، مقدار MSE بین دوتصویر کمتر و لذا طبق رابطه میزان PSNR بین آن ها بیشتر خواهد بود.
جدول 3 نتایج مقایسه الگوریتم پیشنهادی و سایر متد های شناخته شده و موفق برای حذف نویز فلفل نمکی با چگالی 25% را برای جند تصویر نشان می دهد:
جدول 3- نتایج مقایسه الگوریتم پیشنهادی با سایر متدها
|
Barbara |
House |
Peppers |
Cameraman |
Boat |
Method |
|
42.62 |
28.12 |
22.89 |
22.24 |
22.19 |
MF |
|
52.12 |
29.86 |
25.92 |
55.35 |
24.32 |
Sdrom |
|
26.08 |
31.15 |
27.67 |
27.91 |
28.05 |
TONF |
|
27.55 |
34.49 |
28.00 |
28.11 |
28.22 |
Yuksel |
|
29.73 |
36.03 |
28.59 |
30.21 |
32.15 |
Proposed |
نتایج :
نتایج عددی و بصری به دست آمده از اجرای روش پیشنهادی حاکی از آن است که روش ارائه شده در حذف نویز و حفظ جزئیات لبه های تصویر موفق بوده است. همچنین با تکرار اجرای الگوریتم بر روی تصاویر با چگالی نویز بالا، نتایج قابل قبولی بدست آمد.
پیشنهاد ها:
البته به منظور بهبود عملکرد شبکه عصبی در دسته بندی پیکسل ها در درصد های مختلف نویز، اگر از معیار هایی با متمایز کنندگی بالاتر و مقاوم نسبت به چگالی نویز آغشته کننده و یا استفاده از شبکه های عصبی چند لایه متناظر با چگالی های نویز مختلف استفاده کرد. همچنین در فاز دوم الگوریتم، می توان برای فیلتر کردن پیکسل های آلوده از الگوریتم های دیگری مانند میانه وزن دار یا وزن دار مرکزی استفاده کرد.