عکس دیجیتال چیست؟
برای ورود به دنیای عکسها، ابتدا باید آنها را بشناسیم؛ هر عکس دیجیتال شامل پیکسلهایی است و هر پیکسل از رنگهایی ساخته شده است. احتمالاً رنگهای اصلی را میشناسید؛ رنگهای اصلی رنگهایی هستند که همۀ رنگها را میتوان از آنها ساخت. رنگهای اصلی، قرمز (Red)، سبز (Green) و آبی (Blue) هستند که به اختصار از RGB استفاده میشود و به معنی سه رنگ اصلی است.
پس میتوانیم برداشت کنیم که هر عکس باید از سه بخش یا کانال که همان سه رنگ اصلی هستند تشکیل شده باشد. به بیان دقیقتر، عکسهای دیجیتال از سه کانال RGB تشکیل شدهاند. حال که شِمای کلی عکس را شناختیم، بیایید به بررسی جزئیتر هرکدام از کانالها بپردازیم؛ هرکدام از کانالهای عکس دیجیتال یک «عکس Grayscale» است. عکسهای Grayscale، عکسهایی تککاناله هستند که صرفاً اطلاعات شدت نور محیط را به ما منتقل میکنند. هرچه نور محیط بیشتر باشد، آن نواحی بیشتر به رنگ سفید هستند و هرچه نور کمتر باشد، آن قسمتها سیاهتر هستند. حال باز هم بیایید جزئیتر به یک عکس نگاه کنیم و ببینیم:
هرکدام از عکسهای Grayscale شامل چه مواردی هستند. هر عکس Grayscale شامل پیکسلهایی است؛ پیکسلها خانههایی بسیار کوچک هستند که میتوانند حامل مقادیر ۰ تا ۲۵۵ باشند. هرچه تصویر روشنتر باشد، مقدار پیکسل آن خانه بیشتر میشود. پس میتوان گفت اگر مقدار آن پیکسل برابر ۲۵۵ باشد، آن خانه سفیدرنگ و اگر ۰ باشد، آن خانه سیاهرنگ است.
حال بیایید باهم کانالهای عکس پایین را دقیقتر بررسی کنیم:
اگر بخواهیم هر سه کانال عکس را جدا کنیم، عکسهای زیر را خواهیم داشت:
حال پیش از اینکه به بررسی این بپردازیم که هر عکس مربوط به کدام کانال عکس اصلی ما است، سعی کنید پاسخ را خودتان پیدا کنید.
با توجه به اینکه گفتیم در عکسهای Grayscale فقط میتوانیم شدت نور را از عکس متوجه شویم، عکسی که شدت نور رنگ قرمز در آن بیشتر است (یعنی LED قرمزرنگ در عکس اصلی در آن عکس سفیدتر باشد)، مربوط به کانال قرمزرنگ است. پس میتوان نتیجه گرفت که عکس اول مربوط به کانال قرمزرنگ است. با همین استنباط میتوان نتیجه گرفت عکس دوم مربوط به کانال آبی عکس اصلی و عکس سوم مربوط به کانال سبزرنگ است.
احتمالاً در فتوشاپ یا نرمافزارهای ویرایش عکس دیدهاید که اگر بخواهید یک رنگ بسازید، میتوانید سه عدد R و G و B به نرمافزار بدهید و بعد رنگ را برای شما تولید کند. برای مثال در رنگ نارنجی، مقدار R برابر ۲۵۵، مقدار G برابر ۱۰۲ و B برابر ۰ است. حال اگر هر سه عدد R و G و B را برابر ۲۵۵ که بیشترین مقدار هر پیکسل است باشد، عکس سفیدرنگ خواهد شد.
تشخیص و شناسایی اشیا
حال که باهم عکس را شناختیم، میتوانیم به سراغ شناسایی یکی از پرکاربردترین حوزههای بینایی ماشین و هوش مصنوعی برویم. ما هنگامی که میخواهیم بینایی ماشین را تعریف کنیم، میگوییم که یک سیستم برای درک محیط اطراف، میتواند همانند انسان اجسام را درک کرده و ببیند و برای این درک لازم است بتواند اشیا و اجسام اطرافش را ابتدا تشخیص دهد.
برای این کار دو مرحله لازم است:
۱) تشخیص اینکه چه جسمی در اطراف سیستم قرار دارد
۲) تشخیص مکان دقیق جسم
چند راه برای یافتن موارد فوق وجود دارد که یکی از آنها "Naive way" یا همان «روش تقسیم و حل (Divide and Conquer)» است که عکس را به چهار بخش مساوی تقسیم میکند. برای مثال داریم:
حال اگر بخواهیم روش تقسیم و حل را روی عکس فوق پیاده کنیم داریم:
بخش بالا و سمت چپ عکس:
بخش بالا و راست عکس:
بخش پایین و چپ عکس:
بخش پایین و راست عکس:
حال ماشین باید به کمک «الگوریتمهای دستهبندی عکس (image classifier)»، در هر یک از این عکسهای چهارگانه تحلیل کند که آیا عابر پیاده یا انسان در هرکدام از آنها وجود دارد یا خیر. در صورتی که وجود داشته باشد، آن بخش در عکس اصلی علامتگذاری میگردد. حال عکس خروجی چهار عکس قسمتبندیشدۀ بالا بهصورت زیر است:
این یک روش بسیار ساده و نسبتاً خوب است اما قطعاً این خروجی، با خروجی اولیۀ ما که در پایین میبینید بسیار متفاوت است و هدف این است که کل شیء یا فرد شناسایی گردد.
روش تقسیم و حل، روشی بسیار ساده برای تشخیص اشیا بود و مدلهای بیشتری هم وجود دارد که پیچیدگی بیشتری دارند؛ نظیر روشهایی که از یادگیری عمیق در شناسایی اشیا استفاده میکنند.
پینوشت: متن فوق در حاشیۀ کارگاه «جعل پیکسل» که با تمرکز بر علم پردازش تصویر و در مدرسه تابستانۀ ۱۴۰۰ رستا برگزار شد، نوشته شده است.
نویسنده: ارشیا همت