ترمیم عکس‌های با کیفیت بالا و ماسکای بزرگ: یه روش خفن با مدل احتمالی (Probabilistic Model)

اگه اهل عکاسی دیجیتال یا کار با هوش مصنوعی باشی، حتماً به مسئله ترمیم عکس یا به اصطلاح «inpainting» برخوردی. یعنی چی؟ Inpainting یعنی وقتی یه تیکه از عکس نیست یا خراب شده، بتونیم اون قسمت رو به صورت طبیعی و قشنگ با کمک الگوریتم‌ها پر کنیم. حالا این موضوع برای عکسای با کیفیت خیلی بالا و ماسکای بزرگ (یعنی بخش‌های خیلی زیادی از عکس که حذف شدن یا خراب‌ان) واقعاً سخته!

تا چند سال پیش، بیشتر روش‌هایی که برای ترمیم تصویر استفاده می‌کردن، متکی به مدل‌های یادگیری ماشین بودن که باید کلی داده با برچسب بهشون داده می‌شد (به این میگن supervised learning یا یادگیری با نظارت). مشکل چیه؟ اینه که اگر ورودی (یعنی نوع ماسک یا عکس) یکم تغییر کنه، باید از اول مدل رو آموزش بدی! وای یعنی وقت و انرژی زیادی باید بزاری هر بار. خلاصه دردسر داره. واسه همین جدیداً رفتن سراغ روش‌های بی‌نظارت (unsupervised learning)، یعنی مدل خودش از داده‌ها می‌فهمه چجوری باید جای خالی عکس رو پر کنه بدون اینکه نیاز به برچسب‌گذاری داشته باشه.

البته این وسط شبکه‌های GAN (Generative Adversarial Network)، یعنی شبکه‌هایی که خودشون می‌تونن عکس جدید و باحال تولید کنن، حسابی معروف شدن تو این زمینه. اما حتی با GAN هم وقتی می‌خوای عکس با کیفیت بالا و ماسک بزرگ رو درست و طبیعی ترمیم کنی، مشکلاتش کم نیست! اغلب نتیجه‌ها یا ساختار عکس خراب می‌شه، یا ظاهرش تار و مات درمیاد که انگار فیلتر روش انداختی. خلاصه خیلی وقتا کیفیت رضایت‌بخش نیست.

یه مشکل مهم دیگه هم هست: بعضی مدل‌ها فقط برای یه دسته خاص از عکس‌ها جواب می‌دن، مثلاً فقط چهره، یا فقط مناظر. اگه بخوای مدل رو برای عکس‌های بسیار متنوعی آموزش بدی (مثلاً هم چهره، هم مناظر، هم عکس مغز!!)، کار فوق‌العاده سخت و پیچیده می‌شه.

حالا جدیداً یه روش نوآورانه پیشنهاد شده که اومده این چالش‌ها رو حل کنه. داستانش اینجوریه: مدل جدید یه مدل احتمالی (probabilistic model) ساخته که از priorها یا پیش‌فرض‌های عکس کمک می‌گیره تا ویژگی‌های مهم رو یاد بگیره. مثلاً چی؟ مثلاً باکیفیت‌ترین و خاص‌ترین ویژگی‌ها رو از شبکه StyleGAN3 می‌گیره (StyleGAN3 یه نسل جدید از مدل‌های تولید عکس با کیفیت بالاست).

برای اینکه این priorها ساخته بشه، محققین از چیزایی مثل شباهت کسینوسی (cosine similarity — یعنی ببینی دو تا ویژگی چقدر به هم شبیه‌ان)، میانگین، و شدت یا روشنایی استفاده کردن. حالا شدت (intensity) رو چجوری حساب کردن؟ با یه الگوریتم بهینه‌سازی به اسم Papoulis–Gerchberg که یه مدل بهبودیافته هم براش ساختن! این الگوریتم تو بازسازی سیگنال و تصویر خیلی کاربرد داره و می‌تونه اطلاعات گمشده رو از باقی قسمت‌های عکس حدس بزنه.

برای ساخت دوباره عکس، میان از تخمین maximum a posteriori (MAP) استفاده می‌کنن. یعنی با احتمال‌سنجی بهترین حالت ممکن عکس بازسازی شده رو پیدا می‌کنن. بعدشم یه تکنیک پیشرفته به اسم «تخمین واریانسی» (Variational Inference) به کار می‌برن که نزدیک‌ترین راه‌حل رو با یه نسخه خاص از الگوریتم Bayes-by-Backprop به دست میاره. (Bayes-by-Backprop یعنی به‌روزرسانی مدل بر اساس قانون‌های آماری بیز، توی جریان یادگیری شبکه عصبی.)

واسه اینکه ببینن مدل جدیدشون واقعا خوبه یا نه، روی ۷۰هزار عکس از دیتاست‌های متنوع مثل Flickr-Faces-HQ (پر از عکس چهره با کیفیت بالا)، DIV2K (مجموعه‌ای از عکسای متنوع با رزولوشن بالا)، و حتی یه دیتاست عکس مغز هم تستش کردن! نتیجه چی شد؟ این مدل جدید توی بازسازی و ترمیم تصویر از تکنیک‌های قبلی بهتر عمل کرد و تونست تصاویر واقعی‌تر و با کیفیت‌تر تولید کنه.

خلاصه اینکه، اگه دنبال یه راه واقعا هوشمند و منعطف واسه ترمیم عکس با ماسک‌های بزرگ و کیفیت بالا می‌گردی، این مدل جدید می‌تونه خیلی به کارت بیاد، به‌خصوص اگه داری با عکس‌های مختلف و چالش‌برانگیز کار می‌کنی. امیدوارم این توضیحات کمک کنه به دنیای inpainting علاقه‌مند بشی و ایده بگیری!

منبع: +