عباس غفاری
عباس غفاری
خواندن ۳ دقیقه·۶ ماه پیش

نمونه‌برداری کاهشی (Downsampling ) و افزایشی (Upsampling) بر روی تصاویر

پیشینه

یک کامپیوتر چیزها را در قالب عددی بهتر می‌فهمد،‌ انجام محاسبات ریاضی، کار با چندرسانه، متن‌ها یا سیگنال‌ها همگی در کامپیوتر بصورت اعداد نشان داده می‌شوند. موضوع بحث در اینجا تغییر اندازه تصاویر است.

به این فکر کنید که تصاویر چگونه در کامیوتر ذخیره‌سازی می‌شوند! یک تصویر به عناصر کوچکتر بنام پیکسل شکسته می‌شود، هر پیکسل بیانگر یک رنگ است، بنابرین، یک تصویر با رزولیشن (گسست) 1024 در 798 پیکسل 1024x798=817,152 پیکسل دارد. به این معنی ماتریسی از نقاط رنگی وجود دارد.


نمونه‌برداری کاهشی (Downsampling)

با خواندن نام این تکنیک به طور شهودی این ایده شکل می‌گیرد که به کاهش مقیاس تصویر مربوط است،‌ و خب این ایده درست است، بدلایل مختلفی می‌بایست مقیاس تصویر را کاهش دهیم:

  • باعث می‌شود داده‌ها اندازه قابل مدیریتی بیشتری داشته باشند
  • ابعاد داده‌ها کاهش می‌یابد به همین دلیل پردازش سریعتر داده‌ها ممکن می‌شود (برای تصاویر)
  • حجم ذخیره سازی داده‌ها کاهش می‌یابد.

همچنین بسته به استفاده می‌توان کابردهای دیگری نیز برای این تکنیک بیان کرد.

گاهی اوقات این تکنیک با فشرده‌سازی تصویر به اشتباه گرفته می‌شود که چیز متفاوتی است و کاربرد دیگری دارد. در اینجا ما فقط به کوچک شدن تصویر می‌پردازیم. خب این یعنی چه؟ اساس به معنای دور ریختن برخی از اطلاعات (غیر ضروری) است. پس به این نکته میرسیم که برخی از سطرها و/یا ستون‌ها را در تصویر نادیده بگیریم. ما باید برخی اطلاعات را تبدیل کنیم.

الگوریتم‌های زیادی برای نمونه‌گیری کاهشی (downsampling) وجود دارند که از تکنیک‌های گوناگون استفاده می‌کنند:

نمونه‌برداری افزایشی (Upsampling)

در سمت دیگر نمونه‌گیری افزایشی چیزی نیست جر معکوس نمونه گیری کاهشی: افزایش تعداد سطرها و/یا ستون‌های (ابعاد) یک تصویر. این کار می‌تواند در چندین مورد استفاده شود برای مثال در شبکه‌های GAN (مولد-ممیز) استفاده شود که در آن هدف ساختن یک تصویر از بردار نمونه تصادفی با تقلید از توزیع تصاویر واقعی است. موارد دیگری همچون بهبود کیفیت یک تصویر هم وجود دارد. بگذارید کمی در این خصوص وارد جزئیات شویم.

در هنگام نمونه‌برداری کاهشی کاری که می‌خواستیم انجام بدهیم نسبتا ساده و آشکار بود، اما در نمونه برداری افزیشی به این سادگی نیست. باید به نحوی ابعاد تصویر را افزایش دهیم و شکاف بین ستون‌ها و سطرها را پر کنیم.

فرض کنید می‌خواهیم تصویر اصلی را با ضریب 3 نمونه‌گیری افزایشی دهیم (ابعاد تصویر را سه برابر کنیم) به این معنی باید ۲ سطر و ستون دیگر به ازای هر سطر و ستون با یک منطق یکسان به تصویر بیافزاییم. یکی از روش‌ها این است که صرفا هر سطر و ستون تصویر اصلی را تکرار کنیم.

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

یک رویکرد معقول برای افزودن ستون‌های جدید، درون‌یابی داده‌های جدید بین سطرها و ستون‌ها خواهد بود، اینکار با استفاده از عملیات ریاضی پیشرفته انجام می‌شود و موجب ارائه یک مقدار واسط قابل قبول و دقیق می‌شود.

برخی از این الگوریتم عبارتند از:




شاید از این پست‌ها خوشتان بیاید