یکی از کاربردهای نوین تکنولوژیهای هوش مصنوعی، استفاده از شبکه عصبی در پردازش تصویر میباشد. در این مقاله میخواهیم به تعریف پردازش تصویر، شبکه عصبی و نکات استفاده از شبکه عصبی مصنوعی در پردازش تصویر بپردازیم.
منظور از پردازش تصویر چیست؟
پردازش تصویر به عنوان زیر مجموعه ای از پردازش سیگنال دیجیتال می باشد که دارای کاربرد ها و مزایای مختلفی در حوزههای متفاوت است. پردازش دیجیتال در حقیقت همان پردازش تصویر دیجیتالی است که به کمک دانش کامپیوتر، برنامه نویسی و هوش مصنوعی قابل اجرا است. پردازش تصویر یکی از کاربرد ها و زیر مجموعه های هوش مصنوعی است که همان طور که از نام آن پیداست بر روی تصاویر دیجیتالی پردازش انجام میدهد و بر اساس آموزشهای از پیش تعیین شده خروجی معینی را به همراه اطلاعات بخصوصی به نمایش میگذارد. امروزه کاربردهای فناوری پردازش تصویر به صورت متنوع در زمینههای فنی، صنعتی، علمی، امنیتی، پزشکی و … باعث شده که بسیار مورد توجه و استفاده افراد و کسبوکارهای مختلف واقع شود.
در پردازش تصویر، ورودی شامل محتوایی تصویری است که با انجام یکسری عملیات بر روی آن، خروجی داریم که شامل مجموعهای از نشانهای ویژه یا متغیرهای مربوط به تصویر میباشد. این خروجیها میتوانند شامل موارد زیر باشند:
- نمایش و چاپ تصویر
- ویرایش تصویر
- بهبود تصویر
- کشف و تشخیص یک ویژگی خاص در تصویر
- فشرده سازی تصویر.
- و…
شبکه عصبی مصنوعی چیست؟
شبکههای عصبی مصنوعی در واقع روشی است که هوش مصنوعی را بیشتر و بهتر به انسان شبیه میکند و تواناییهای آنالیز دادههای پیچیده را به هوش مصنوعی میدهد. در حقیقت در این روش نوعی روش یادگیری هوش مصنوعی است که از روی مغز انسان و روش کار سیناپسهای (Synapses) آن درست شده است. در شبکه عصبی به جای یادگیری و محاسبات سنتی، از نودها و یالها استفاده میشود تا بتوان دادههای پیچیده را به سرعت و دقت فوقالعادهای تجزیه و تحلیل کند.
هوش مصنوعی آن چیزی است که باعث هوشمند شدن ابزار مختلف میشود و این هوشمند شدن از طریق یادگیری و آموزش اتفاق میافتد. یکی از این روشهای یادگیری هم استفاده از شبکههای عصبی عمیق میباشد. با استفاده از شبکههای عصبی میتوان به هوش مصنوعی کمک کرد تا کارها و یا مفاهیم پیچیده را بهتر درک کند و بتواند شبیه انسان تجزیه و تحلیل کند. پس تفاوت شبکه عصبی و هوش مصنوعی در آن چه که گفته شد است و میتوان گفت که شبکه عصبی در واقع زیر مجموعه هوش مصنوعی است.
برای استفاده از شبکه عصبی در پردازش تصویر به چه فاکتورهایی نیاز داریم؟
اساس کار الگوریتمهای شبکه عصبی در پردازش تصویر، به کیفیت مجموعه داده باز میگردد و بر کیفیت تصاویر مورد استفاده بر آموزش و آزمایش مدل متکی است. در ادامه به برخی از فاکتورهای مهم در هنگام استفاده از شبکه عصبی در پردازش تصویر اشاره میکنیم.
اندازه تصاویر
تصاویر با کیفیت بالا اطلاعات بیشتری را در اختیار مدل قرار میدهد اما در مقابل به میزان زیادی گره در شبکههای عصبی و همین طور قدرت پردازش بالا نیاز دارد.
تعداد تصاویر
هرچه تعداد تصاویری که به یک مدل داده میشود بیشتر باشد، دقت سیستم و در نهایت قدرت تشخیص آن بالاتر میرود. باید به این مسئلهای توجه کرد که مجموعهای که به سیستم آموزش میدهید نشان دهنده و نمونهای از جمعیت واقعی که باید برای تشخیص نهایی استفاده شود، باشد.
تعداد کانالها
تصاویر سیاه و سفید دارای 2 کانال (سیاه و سفید) و تصاویر رنگی به طور معمول دارای 3 کانال رنگی (قرمز ، سبز ، آبی / RGB) هستند. رنگهای این تصاویر معمولا در محدوده [0،255] قرار دارند.
نسبت ابعاد
در استفاده از شبکه عصبی، اطمینان حاصل کنید که تصاویر نسبت و اندازه یکسان دارند. به طور معمول، مدلهای شبکه عصبی تصاویری مربعی شکل را قبول می کنند.
مقیاس گذاری تصاویر
پس از اینکه همه تصاویر به مربعهای کوچکتری تقسیم بندی شدند، میتوانید هر تصویر را مقیاس بندی کنید. تکنیکهای زیادی برای بالا و پایین سازی مقیاس وجود دارد که به عنوان عملکرد در کتابخانههای یادگیری عمیق در دسترس هستند.
میانگین انحراف استاندارد از دادههای ورودی
میتوانید با محاسبه مقادیر میانگین برای هر پیکسل، در همه مثالهای آموزشی، به “میانگین تصویر” نگاه کنید تا اطلاعاتی در مورد ساختار زمینهای در تصاویر بدست آورید.
عادی سازی ورودی های تصویر
این مورد تضمین میکند که کلیه پارامترهای ورودی (در این مورد منظور پیکسلها است) دارای توزیع یکنواخت داده هستند. این مسئله باعث میشود که هنگام آموزش شبکه، همگرایی سریعتر انجام شود. میتوانید با کم کردن میانگین هر پیکسل، عادی سازی داده ها را انجام داده و سپس نتیجه را بر انحراف استاندارد تقسیم کنید.
کاهش ابعاد
میتوانید کانالهای RGB که در بالا به آن اشاره شد را به یک کانال در مقیاس خاکستری تبدیل کرد. اگر نمیخواهید شبکه عصبی را به آن بعد تبدیل کنید و یا اینکه آموزش را از نظر محاسباتی کمتر کنید، باید ابعاد دیگر را کاهش دهید.
افزودن داده
این مسئله شامل افزایش مجموعه دادههای موجود، با انواع تصاویر آشفته فعلی، و مسائلی از جمله مقیاس گذاری و چرخش میشود. شما این کار را انجام میدهید تا شبکه عصبی را در معرض تغییرات مختلف قرار دهید. به این ترتیب این شبکه عصبی کمتر احتمال دارد خصوصیات ناخواسته را در مجموعه داده نشان دهد.