بخشی از مقاله
چکیده
هر روز مقدار زیادی اطلاعات در سراسر جهان ذخیره، پردازش و انتقال داده می شود. شبکه های عصبی به عنوان یک راه حل برای انجام پردازش تصویر به سرعت در حال توسعه و گسترش می باشد. در این مقاله یک شبکه عصبی عمیق - DNN - و فیلتر حذف نویز برای فشرده سازی تصاویر رنگی ارائه شده است. ابتدا یک شبکه عصبی عمیق با الگوریتم فشرده سازی اتوانکودر برای فشرده سازی تصاویر رنگی در این مقاله ارائه شده است.
همچنین نتایج تجربی نشان می دهد نه تنها شبکه عصبی عمیق کیفیت تصاویر بازسازی شده را بهبود بخشیده، بلکه محاسبات پیچیده و زمان آموزش کاهش یافته است. دوم از یک کانال حذف نویز برای از بین بردن نویزهای ناشی از فشرده سازی بکار گرفته شده است که موجب بهبود کیفیت تصویر بازسازی و همچنین پارامترهای ریاضی شده است. در روش فشرده سازی پیشنهادی در این مقاله، ابتدا تصویر ورودی توس لایه های رمزگذار میانی فشرده و سپس با لایه های رمزگشای میانی تصویر بازسازی می شود. که نتایج بدست آمده نشان از برتری و کارآمدی الگوریتم فشرده سازی روش پیشنهادی دارد.
-1 مقدمه
روش های فشرده سازی و انتقال داده ها به طور موثر و ایمن در حال تبدیل شدن به کاربردی قابل توجه و تجارتی سودمند می باشد. تکنیک های فشرده سازی تصویر امکان ایجاد یک مصالحه بین کیفیت خوب تصاویر دیجیتال و به حداقل رساندن پهنای باند و نیازهای فضای ذخیره سازی را فراهم می کند. یک شبکه عصبی مصنوعی - ANNs - یک سیستم پردازش اطلاعات است که می تواند در فشرده سازی تصویر و کنترل خطای کانال - حذف نویز - که الهام گرفته شده از سیستم عصبی بیولوژیکی می باشد استفاده کرد. اخیرا، محققان به نتایجی دست یافته اند که برخی موفقیت ها با آموزش شبکه های عصبی عمیق - DNNs - ، که شبکه عصبی مصنوعی با تعداد لایه های مخفی بسیاری بین لایه های ورودی و خروجی قرار دارد. تحقیقات پیشین نشان می دهد شبکه های عصبی چند لایه در مقایسه با شبکه های عصبی تک لایه عملکرد بهتری دارند
شبکه های عصبی برای حل مسائل فشرده سازی تصویر برای چندین دهه مورد استفاده قرار گرفته اند. یک مرور خوب از فشرده سازی تصویر با استفاده از شبکه های عصبی در [4] ارائه شده است. محققان در [5,6] شبکه عصبی با یک لایه مخفی را برای فشرده سازی تصویر پیشنهاد داده اند.
در [7] نویسندگان یک مقایسه از توابع انتقال شبکه عصبی عمیق برای انجام فشرده سازی تصویر معرفی نموده اند. با این حال، آن ها به این نتبجه رسیدند که راه طولانی ای وجود دارد تا فشرده سازی با شبکه عصبی بتواند به خوبی روش های فشرده سازی بدون شبکه عصبی همانند - DCT - و - SPIHT - شود. تبدیل کسینوسی گسسته - DCT - الگوریتم پردازش تصویر بیشتر اغلب برای فشرده سازی تصویر در سالهای گذشته مورد استفاده قرار می گرفت. در [8,9] الگوریتم های DCT و DWT برای برای فشرده سازی و بازسازی تصاویر مورد بررسی قرار گرفته است. در ضمن روش فشرده سازی SPIHT برای تصاویر تولید شده مصنوعی توسعه نمی یابد.
همچنین تکنیک های مختلفی برای برای حل مسئله کنترل خطای کانال - حذف نویز - با استفاده از شبکه های عصبی مصنوعی پیشنهاد شده است، که این تکنیک ها را می توان به دو گروه تقسیم نمود. در گروه اول شبکه عصبی، تکنیک اصلاح خطا توانایی خود تست را ندارند. در [10] شبکه های عصبی پیشنهاد شده بدون توانایی خود تست تنها می تواند تعدادی محدود از خطا را اصلاح کند. در گروه دوم، شبکه عصبی با توانایی خود تست برای انجام تکنیک های اصلاح خطا است. با این حال در این مقاله برای افزایش ظرفیت تصحیح خطا و قابلیت ذخیره سازی شبکه از فیلتر حذف نویز هم استفاده شده است. هدف این مقاله ایجاد الگوریتم اتوانکودر برای فشرده سازی و بازسازی تصویر می باشد.
مدلهای شبکه عمیق توسعه یافته مدلهای شبکه عصبی برای یادگیری تبدیل غیرخطی روی دادهها هستند. این مدلها در سالهای اخیر مورد توجه فراوان قرار گرفتهاند. در این مدلها علاوه بر کدگذار در هر لایه یک کدگشا نیز وجود دارد. به عبارت دیگر تفاوت اساسی مدلهای شبکه عمیق با شبکه عصبی این است که در هر لایه سعی میکنند قابلیت بازسازی داده را حفظ کنند.
ادامه مقاله بدین صورت است که در بخش 2 فشرده سازی تصویر با شبکه عصبی عمیق ارائه شده است. بخش 3 به تشریح جزئیات روش پیشنهادی پرداخته و بخش 4 نتایج بررسی و ارزیابی روش پیشنهادی را ارائه خواهد نمود. و همچنین در بخش 5 به نتیجه گیری پرداخته شده است.
-2 مروری بر روش های موجود
تصاویر دیجیتال بسیار متمرکز هستند و از این رو حجم زیادی از حافظه برای ذخیره سازی و زمان زیادی برای انتقال صرف می شود. با استفاده از تکنیک های فشرده سازی تصویر، ممکن است برخی از اطلاعات افزونگی موجود در تصاویر نیاز به فضای ذخیره سازی کمتر و زمان کمتری برای انتقال داشته باشد. شکل - 1 - یک بلوک دیاگرام از فرآیند فشرده سازی تصویر با شبکه عصبی عمیق را نشان می دهد. سیستم فشرده سازی تصویر شامل یک ماژول فشرده سازی و یک ماژول بازسازی می باشد. S نشان دهنده تصویر اصلی، C نشان دهنده تصویر فشرده شده و S نشان هنده تصویر بازسازی شده است.
برای استانداردهای تصویر موجود مانند JPEG و JPEG2000 کدک ها در عمل بطور جداگانه بهینه شده اند. در مرحله رمزگذاری آنها ابتدا یک تبدیل خطی را بر یک تصویر انجام می دهند. کوانتیزاسیون و رمزگذاری آنتروپی بدون اتلاف برای کم کردن نرخ فشرده سازی مورد استفاده قرار می گیرد JPEG2000 .[11] از تجزیه موجک متعامد چندگانه برای تبدیل یک تصویر و رمزگذاری کدهای کوانتیزه شده با رمزگذاری بلوک جاسازی شده با قطع شدن بهینه استفاده می کند.
در مرحله رمزگشایی، الگوریتم رمزگشایی تبدیل معکوس برای کاهش اعوجاج طراحی شده اند .[12] اخیرا چندین مدل های فشرده سازی تصویر مبتنی بر یادگیری عمیق توسعه یافته اند. برای فشرده سازی تصویر بدون اتلاف عملکرد مدل های یادگیری عمیق به دست آمده است .[13] برای فشرده سازی تصاویر با اتلاف Toderici و همکاران [14] یک شبکه عصبی برگشتی - RNN - برای فشرده کردن تصویر 32*32 ارائه داده اند. آنها بعد یک مجموعه ای از روش های فشرده سازی با دقت کامل برای رمزگذاری و رمزگشایی پیشرفته تصاویر معرفی نمودند
این روش ها یاد می گیرند اعوجاج تکنیک های فشرده سازی برای نرخ فشرده سازی داده شده را به حداقل برسانند. Balle و همکاران [16] از نرمالسازی تقسیم کننده کلی - GDN - و جایگزینی گرد کردن کوانتیزه با افزودن نویز یکنواخت برای آرامش مداوم اعوجاج و کاهش میزان آنتروپی استفاده نموده اند. الگوریتم های رمزنگاری مبتنی بر بی نظمی راه های کارآمد برای توسعه رمزنگاری تصویر مناسب را پیشنهاد کرده اند.
این الگوریتم ها به شرای اولیه شان حساس هستند، هر تغییر کوچک می تواند پاسخ های بسیار متفاوتی را که کارایی طرح های رمزنگاری را تضمین می کند ارائه کند. نگاشت لجیستیکی یکی از آنهاست، که در بسیاری از زمینه های پردازش اطلاعات اهمیت زیادی دارد. چنین زمینه هایی شامل موارد زیر می شوند: زیست شناسی جمعیت، شیمی، رمزنگاری، ارتباطات و محی زیست. پایداری و شاخه نگاشت لجیستیکی مانند شبکه های عصبی کوهن گروسبرگ با تاخیر [17] و Neimkar Sacker با تاخیر [18] مورد مطالعه قرار گرفته اند.
شکل :1 بلوک دیاگرام فشرده سازی تصویر با شبکه عصبی
مهندسی ویژگی - feature engineering - استخراج الگوهای مناسب از داده ها که به مدلهای یادگیری ماشین کمک می نماید تا بهتر بتواند بین دسته ها یا کلاس های مختلف موجود تمائز قائل شود. مهندسی ویژگی مهمترین مهارتی هست که برای بدست آوردن نتایج خوب در کارهای مربوط به پیش بینی، فشرده سازی، تشخیص و… تو حوزه یادگیری ماشین نیاز است. الگوریتم های یادگیری ویژگی برای پیدا کردن و استخراج خودکار الگوهای مشترک استفاده می شوند تا از ویژگیهای استخراج شده در فرآیندهای دسته بندی و رگرسیون استفاده شوند. یادگیری ویژگی را می توان بعنوان همان مهندسی ویژگی ای دید که بصورت خودکار توس یک الگوریتم انجام می شود.
در یادگیری ویژگی سلسله مراتبی ویژگی های غیرخطی چندین لایه را استخراج می نماییم و سپس آنها را به یک دسته بندی کننده می دهیم تا تمام ویژگی ها را ترکیب نموده و بتواند پیش بینی ای را انجام دهد. هرچقدر این سلسله مراتب لایه ها بیشتر - عمیقتر - باشه در نتیجه ویژگی های غیرخطی بیشتری هم بدست میاد برای همین هم هست که ما علاقه داریم از تعداد لایه های بیشتری در یادگیری عمیق استفاده کنیم ، قسمت قبل از همین اصل نشات گرفته و اشاره به سلسله مراتب عمیقی دارد که تو یادگیری ویژگیها به ما کمک می نماید.
از طرف دیگه این ویژگی های پیچیده رو نمی توان بصورت مستقیم از تصویر ورودی بدست آورد.از لحاظ ریاضی بهترین ویژگی ای که از یک تصویر با یک لایه می توان بدست آورد فق لبه ها - edge - و توده ها - blob - هست. دلیلش هم این می باشد که نهایت اطلاعاتی است که می توانیم از یک تبدیل غیرخطی از تصویر ورودی بدست آوریم. برای بدست آوردن و تولید ویژگی هایی که شامل اطلاعات بیشتر ی هستند نمی توان بصورت مستقیم روی تصویر ورودی کار کرد و لازمه برای این کار ویژگی های اولیه مثل لبه ها و توده ها را دوباره تبدیل کنیم تا ویژگی های پیچدیده تری که شامل اطلاعات بیشتری برای تمایز بین کلاس ها مورد نیاز هست بدست آید.
همانطور که در شکل - 2 - می بینید ساختار شبکه عصبی عمیق را به خوبی نشان می دهد، که نشان دهنده عمیق بودن شبکه می باشد.
شکل :2 ساختار شبکه عصبی عمیق
هرچه تعداد لایه های میانی عمیق تر باشد، دقت و اطلاعاتی که در خروجی سیستم دریافت می شود بهتر و مناسب تر است. برای آموزش شبکه، تصاویر آموزشی ابتدا به یک ماتریس نرمالیزه شده پردازش شده و سپس به لایه ورودی شبکه عصبی عمیق اعمال می شود.
-2-1 یادگیری عمیق در شبکه های عصبی
یادگیری عمیق یا به عبارت دیگر، یادگیری ساختار عمیق یا یادگیری سلسله مراتبی یک زیرشاخه از یادگیری ماشین است که اساس آن بر یادگیری نمایش دانش و ویژگی ها در لایه های مدل است.
-1 روش پیشنهادی
یکی از الگوریتم های کاربردی و جدید برای فشرده سازی تصویر اتوانکودر می باشد که در این مقاله پیشنهاد شده است. اتوانکودر نوعی خاصی از شبکه عصبی مصنوعی است که برای encode کردن بهینه یادگیری مورد استفاده قرار می گیرد .[19] بجای آموزش شبکه و پیش بینی مقدار هدف y در ازای ورودی x، یک اتوانکودر آموزش می بیند تا ورودی x خود را بازسازی کند. بنابراین بردارهای خروجی همان ابعاد بردار ورودی را خواهند داشت. فرآیند کلی یک اتوانکودر در شکل - 3 - نشان داده شده است.
در حین این فرآیند اتوانکودر با کمینه سازی خطای نوسازی - reconstruction error - بهینه می شود. بطور کلی، یک لایه ی تنها، قادر به دریافت ویژگی های متمایز از داده خام نیست. محققان در حال حاضر از اتوانکودر عمیق استفاده میکنند که کد یاد گرفته شده از اتوانکودر قبلی را به اتوانکودر بعدی جهت به انجام رساندن کار خود ارسال میکنند. ساختار روش پیشنهادی مربوط به فشرده سازی و بازسازی تصویر در شکل - 4 - نمایش داده شده است.
یک اتوانکودر اغلب با استفاده یکی از تعداد دیگری از پس انتشار آموزش می بیند. اگرچه اغلب عاملی موثر است اما مشکلات اساسی با استفاده از پس انتشار برای آموزش شبکه با لایه های میانی بسیاری وجود دارد. یکبار خطای پس انتشار در لایه های اول گرفته می شود که آنها مقدارشان کوچک و کاملا بی اثر هستند.
شکل :3 فرآیند کلی یک اتوانکودر
شکل :4 ساختار روش پیشنهادی
هدف یک اتوانکودر، یادگیری بازنمایش فشرده شده ای برای یک مجموعه داده است. یعنی معمولا اتوانکودر برای کاهش بعد، اندازه مورد استفاده قرار می گیرد. بر اساس تعریف [2] اتوانکودر تابعی است که عمدتا از دو بخش تشکیل می گردد: الف - انکدر: که یک تابع استخراج ویژگی بوده و بردار ویژگی را از روی وردی ها محاسبه می نماید. بنابراین اگ بردار ویژگی را با h ، انکدر را با f و مجموعه داده ها را xiها نمایش دهیم، رابطه - 1 - برقرار خواهد بود:
در واقع از یک تابع احتمال مشخص، مدل های احتمالی تعریف شده و برای حداکثر نمودن - اغلب بصورت تقریبی - تشابه داده ها، آموزش داده می شوند. اتوانکودرها با استفاده از اصول آموزشی متفاوتی، آموزش داده می شوند. مجموعه پارامترهای انکدر و دیکدر بطور مشابه برای بازسازی ورودی اصلی یلد گرفته می شوند. یعنی تلاش می شود خطای بازسازی L - x,r - ، تا حد امکان حداقل شود. این کار با بازسازی r از روی x با پیش آموزش و اندازه گیری اختلاف میان x و r انجام می شود. به طور خلاصه آموزش اتوانکودر شامل پیدا نمودن بردار پارامتر تتا برای حداقل نمودن خطای بازسازی می باشد:
به حداقل رساندن این مقدار نیز معمولا به روش گرادیان نزولی تصادفی مشابه روش آموزش پرسپترون چند لایه انجام می شود. عمومی سازی خوب در اینجا به معنی خطای بازسازی کوچک برای نمونه های تست است در حال که این خطا برای سایر پیکربندی های دیگر x حداکثر باشد. در [20] ساختار جدیدی از اتوانکودر چند لایه مبتنی بر ساختار متقارن، نسبت به اتوانکودر مرسوم، برای کاهش بعد استفاده شده است. این ساختار جدید تعداد وزن های لازم برای تنظیم را کاهش داده و در نتیجه توانسته است هزینه محاسباتی را متعاقبا کاهش دهد. همچنین تعمیم کارآیی را بهبود داده است.
روشی که در این مقاله ارائه شده است بدین گونه است، ابتدا تصویر ورودی خوانده شده، سپس توس لایه های میانی کدگذاری شده و تصویر فشرده می شود و سپس تصویر فشرده شده توس لایه های میانی کدگشایی شده و تصویر اصلی بازسازی می شود. با توجه به نتایج بدست آمده، روش پیشنهادی روش موثر و کارآمدی می باشد. روشی پیشنهادی در این مقاله به دلیل ساختاری ساده ولی توانمند و کارا توانسته عملکرد خوبی را داشته باشد. همچنین در ادامه برای از بین بردن نویز از فیلتر حذف نویز برای فشرده سازی تصویر استفاده شده است ، که با این تکنیک توانستیم پارامترهای فشرده سازی و بازسازی را بهبود بخشیم.
-2 نتایج شبیه سازی
گرچه روش پیشنهادی روی هر نوع تصاویری قابل اعمال است، اما جهت نمایش کارایی روش فشرده سازی روش پیشنهادی و نیز با توجه به تاثیر ماهیت تصویر روی این کارایی، تصاویر رنگی برای انجام این ارزیابی انتخاب شده اند. برای ارزیابی از سه نوع تصویر مختلف رنگی استفاده شده است. اندازه همه تصاویر تست شده برای ارزیابی 512*512 می باشد.
در جدول - 1 - نتایج حاصل از فشرده سازی قبل از اعمال فیلتر حذف نویز نشان داده شده است.
که h بردار ویژگی یا نمایش یا کد محاسبه شده از x می باشد.
ب - دیکدر: تابعی است که آن را با g نمایش می دهند و با استفاده از رابطه - 2 - نگاشتی از فضای ویژگی به فضای ورودی انجام می دهد.