پرش به محتوا

مقیاس‌بندی تصویر

از ویکی‌پدیا، دانشنامهٔ آزاد

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

هنگام مقیاس‌بندی یک تصویر گرافیکی برداری(vector graphic)، پایه‌های تشکیل دهنده گرافیکی که تصویر را می‌سازند، می‌توانند با استفاده از تبدیل‌های هندسی بدون افت کیفیت در تصویر، مقیاس بندی شوند(lossless). هنگام مقیاس بندیِ یک تصویر گرافیکی شطرنجی، باید یک تصویر جدید با تعداد پیکسل‌های بیشتر یا کمتر تولید شود. در مورد کاهش تعداد پیکسل (کاهش مقیاس)، این معمولاً منجر به کاهش کیفیت قابل مشاهده ای می‌شود. از منظر پردازش سیگنال دیجیتال، مقیاس بندی گرافیک شطرنجی یک مثال دو بعدی از تبدیل نرخ نمونه است، تبدیل یک سیگنال گسسته از یک نرخ نمونه برداری (در این مورد، نرخ نمونه برداری محلی) به دیگری.

از دیدگاه ریاضی[ویرایش]

مقیاس بندی تصویر را می‌توان به عنوان شکلی از نمونه برداری مجدد(resampling) یا بازسازی تصویر از دیدگاه قضیه نمونه‌گیری نایکویست تفسیر کرد. طبق این قضیه، نمونه برداری به پایین از یک تصویر اصلی با وضوح بالاتر به یک تصویر کوچکتر، تنها پس از اعمال یک فیلتر ضد آلیاسینگ ۲ بعدی مناسب برای جلوگیری از بروز اختلالات بصری aliasing انجام می‌شود. تصویر به اطلاعاتی کاهش می‌یابد که می‌تواند توسط تصویر کوچکتر حمل شود.

اگر نمونه برداری به بالا انجام شود، یک فیلتر بازسازی جای فیلتر ضد آلیاسینگ را خواهد گرفت.

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

الگوریتم‌ها[ویرایش]

اندازه تصویر را می‌توان به روش‌ها و الگوریتم‌های مختلفی تغییر داد که هر کدام نکات مثبت و منفی خود را دارند.

درونیابی (الحاق) نزدیکترین همسایه[ویرایش]

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

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

الگوریتم‌های دو خطی و دو مکعبی (Bilinear & Bicubic)[ویرایش]

درون یابی دو خطی با درونیابی مقادیرِ رنگِ پیکسل عمل می‌کند و یک انتقال پیوسته به خروجی ارائه می‌دهد حتی در جایی که محتوای اصلی دارای انتقال‌های گسسته است. اگرچه این برای تصاویر با تُن پیوسته مطلوب است، اما این الگوریتم کنتراست (لبه‌های تیز) را به گونه ای کاهش می‌دهد که ممکن است برای خطوط تصویر مشکلاتی ایجاد شود. درون یابی دو مکعبی با افزایش هزینه محاسباتی، نتایج بسیار بهتری را به همراه دارد

نمونه برداری مجدد سینک و لانچوس(Sinc & Lanczos)[ویرایش]

نمونه‌برداری مجدد Sinc، در تئوری، بهترین بازسازی ممکن را برای یک سیگنال کاملاً باند محدود فراهم می‌کند. اما در عمل، این انتظارات به‌طور کامل توسط تصاویر دیجیتالی دنیای واقعی برآورده نمی‌شود. نمونه برداری مجدد Lanczos، که تقریبی برای روش sinc می‌باشد، نتایج بهتری را به ارمغان می‌آورد. درون یابی دو مکعبی را می‌توان به عنوان یک تقریب محاسباتی کارآمد برای نمونه برداری مجدد Lanczos در نظر گرفت.

نمونه‌گیری جعبه ای[ویرایش]

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

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

MipMap[ویرایش]

راه حل دیگر برای مشکل کوچک کردن تصویر با استفاده از الگوریتم‌های دو نمونه‌گیری، mipmaps است. mipmap مجموعه ای از پیش مقیاس شده از کپی‌های کوچک شده است. هنگام کوچک کردن تصویر، از نزدیکترین mipmap بزرگتر به عنوان مبدأ استفاده می‌شود تا اطمینان حاصل شود که هیچ کوچک‌سازی کمتر از آستانه مفید مقیاس بندی دوخطی نیست. این الگوریتم سریع، و بهینه‌سازی آن آسان است. و استانداردی در بسیاری از فریم ورک‌ها مانند OpenGL است. هزینه آن، استفاده بیشتر از حافظه تصویر است، دقیقاً یک سوم بیشتر از پیاده‌سازی های رایج و استاندارد.

روش‌های تبدیل فوریه[ویرایش]

درون یابی ساده بر اساس تبدیل فوریه، دامنه فرکانس را با اجزای صفر پوشش می‌دهد (رویکردی روان مبتنی بر بازه، اخلالات تصویری Ringing را کاهش می‌دهد). علاوه بر حفظ (یا بازیابی) خوب جزئیات، اخلالات تصویری Ringingو بیرون زدگی پیکسل‌ها به صورت دایره‌ای از سمت چپ به سمت راست (و برعکس) محتوا قابل توجه است.

درون یابی لبه محور[ویرایش]

هدف الگوریتم‌های درون‌یابی لبه‌ای، حفظ لبه‌ها در تصویر پس از مقیاس‌بندی است، برخلاف سایر الگوریتم‌ها، که می‌توانند اختلالات تصویری پلکانی را معرفی کنند.

نمونه‌هایی از الگوریتم‌ها برای این کار عبارتند از درون‌یابی لبه محور جدید (New Edge Directed Interpolation)، درون‌یابی تصویر به کمک لبه (Edge-Guided Image Interpolation)، درون‌یابی مبتنی بر انحنای تکراری (ICBI)، و درون یابی پیچشی مکعبی جهت دار (DCCI). یک تحقیق در سال ۲۰۱۳ نشان داد که DCCI بهترین امتیازات را در PSNR و SSIM در یک سری از تصاویر آزمایشی دارد.

hqx[ویرایش]

برای بزرگنمایی گرافیک‌های کامپیوتری با وضوح کم و/یا رنگ‌های کم (معمولا از ۲ تا ۲۵۶ رنگ)، نتایج بهتری را می‌توان با الگوریتم hqx یا سایر الگوریتم‌های مقیاس بندی هنرهای پیکسلی به دست آورد. اینها الگوریتم هخا تصاویر با لبه‌های تیزتر تولید می‌کنند و سطح بالایی از جزئیات را حفظ می‌کنند.

برداری سازی(Vectorization)[ویرایش]

استخراج برداری یا برداری سازی، رویکرد دیگری را ارائه می‌دهد. Vectorization ابتدا یک نمایش برداری مستقل از وضوح گرافیکی تصویری که باید مقیاس بندی شود ایجاد می‌کند. سپس این نسخه ایجاد شده به عنوان یک تصویر شطرنجی با وضوح مورد نظر درآورده می‌شود. این تکنیک توسط Adobe Illustrator , Live Trace و Inkscape استفاده می‌شود. گرافیک‌های برداری مقیاس‌پذیر به خوبی برای تصاویر هندسی ساده مناسب هستند، در حالی که عکس‌ها به دلیل پیچیدگی‌شان، با برداری سازی مناسب نیستند.

شبکه‌های عصبی کانولوشنال عمیق[ویرایش]

این روش از یادگیری ماشینی برای تصاویر با جزئیات بالاتر مانند عکس‌ها و آثار هنری پیچیده استفاده می‌کند. برنامه‌هایی که از این روش استفاده می‌کنند عبارتند از waifu2x , Imglarger و Neural Enhance.

کاربردها[ویرایش]

عمومی[ویرایش]

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

ویدئو[ویرایش]

این کاربرد، بزرگنمایی تصاویر برای سینماهای خانگی دستگاه‌های HDTV که از محتوای PAL-Resolution پشتیبانی می‌کنند، به عنوان مثال، از یک پخش کننده DVD است. افزایش مقیاس در زمان واقعی انجام می‌شود و سیگنال خروجی ذخیره نمی‌شود.

مقیاس‌بندی هنرهای پیکسلی[ویرایش]

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

الگوریتم‌های تخصصی برای مدیریت گرافیک‌های هنرهای پیکسلی توسعه داده شدند، زیرا الگوریتم‌های مقیاس‌گذاری سنتی نشانه‌های ادراکی انسان را در نظر نمی‌گیرند.

از آنجایی که یک کاربرد رایج آن بهبود ظاهر بازی‌های ویدیویی نسل چهارم و قبل در شبیه‌سازهای آرکید و کنسول است، بسیاری از آنها برای اجرا در زمان واقعی برای تصاویر ورودی کوچک با سرعت ۶۰ فریم در ثانیه طراحی شده‌اند.

در سیستم‌های قوی، این الگوریتم‌ها برای بازی و سایر پردازش‌های لحظه ای تصویر مناسب هستند. این الگوریتم‌ها گرافیکی واضح را ارائه می‌کنند و در عین حال تاری را به حداقل می‌رسانند. الگوریتم‌های مقیاس‌بندی هنری در طیف گسترده‌ای از شبیه‌سازها مانند HqMAME و DOSBox و همچنین موتورهای بازی دو بعدی و سرگرمی‌های موتور بازی مانند ScummVM پیاده‌سازی شده‌اند. آنها در بین گیمرهایی که این فناوری‌ها باعث احیای تجربیات بازی در دهه‌های ۱۹۸۰ و ۱۹۹۰ می‌شدند، محبوبیت رسیدند.

این فیلترها در حال حاضر در شبیه‌سازهای تجاری که به صورت رسمی پشتیبانی می‌شوند در Xbox Live، Virtual Console و PSN استفاده می‌شوند تا به بازی‌های کلاسیک با وضوح پایینتر اجازه دهند تا از نظر بصری در نمایشگرهای HD مدرن جذاب‌تر باشند. بازی‌های اخیراً منتشر شده که این فیلترها را در خود جای داده‌اند عبارتند از Sonic's Ultimate Genesis Collection , castlevania: The Dracula X Chronicles، Castlevania: Symphony of the Night، و Akumajō Dracula X Chi no Rondo.

مقیاس گذاری در زمان واقعی[ویرایش]

تعدادی از شرکت‌ها تکنیک‌هایی را توسعه داده‌اند که فریم‌های ویدیوی را در زمان واقعی ارتقا می‌دهند، مانند زمانی که در یک بازی ویدیویی روی صفحه کشیده می‌شوند. DLSS انویدیا از یادگیری عمیق برای نمونه‌برداری از تصاویر با وضوح پایین به وضوح بالاتر برای نمایش در مانیتورهای رایانه با وضوح بالاتر استفاده می‌کند. AMD FidelityFX Super Resolution 1.0 (FSR) از یادگیری ماشینی استفاده نمی‌کند، در عوض از الگوریتم‌های دست‌نویس سنتی برای دستیابی به ارتقای فضایی در واحدهای سایه‌زنی سنتی استفاده می‌کند. FSR 2.0 از ارتقای مقیاس زمانی، دوباره با یک الگوریتم دستی استفاده می‌کند. استانداردهای FSR اجبار نمی‌شود و برخی از عناوین مانند Dota 2 نواری برای تنظیم وضوح ارائه می‌دهند. فناوری‌های دیگر عبارتند از Intel XeSS و Nvidia Image Scaler (NIS).