یک دکمه را میزنید و یک ثانیه بعد پسزمینه عکستان ناپدید شده و جایش را یک صفحه شطرنجی تمیز از شفافیت گرفته. حس جادو دارد، اما جادویی در کار نیست و در IMG.DIY هیچ سروری هم کار را انجام نمیدهد. این چیزی است که واقعاً میان کلیک و برش اتفاق میافتد.
کار واقعی: تصمیمگیری درباره اینکه کدام پیکسلها «سوژه»اند

حذف پسزمینه در واقع یک مسئله برچسبگذاری است. برای هر تکپیکسل در تصویر شما، نرمافزار باید به یک سؤال پاسخ بدهد: این بخشی از سوژه است یا بخشی از پسزمینه؟ این کار را برای همهشان انجام بدهید و یک ماسک خواهید داشت، که یک نقشه سیاهوسفید است که در آن سفید یعنی «نگه دار» و سیاه یعنی «حذف کن». ماسک را روی تصویر اصلی بگذارید، نواحی سیاه را دور بیندازید و برشتان را به دست میآورید.
این کار در بینایی رایانهای یک نام دارد: قطعهبندی تصویر (image segmentation). بهطور مشخص، حذف پسزمینه از قطعهبندی شیء برجسته استفاده میکند، یعنی مدل تلاش میکند آن یک چیزی را که یک انسان میگوید عکس «درباره» آن است پیدا کند و از بقیهچیزها جدا کند.
مدل چطور یاد گرفت سوژه را ببیند

مدل از قواعد دستنوشته مثل «آن چیز آدمشکل را بگیر» پیروی نمیکند. یک شبکه عصبی است که روی دهها هزار تصویر آموزش دیده که در آنها یک انسان از پیش ماسک بینقص را با دست کشیده بود. در طول آموزش، شبکه یک حدس میزد، با پاسخ انسان مقایسه میشد و کمی خودش را تنظیم میکرد تا کمتر اشتباه باشد. این را میلیونها بار تکرار کنید و شبکه الگوهای بصریای را یاد میگیرد که یک شیء پیشزمینه را از محیطش جدا میکنند: لبهها، تغییرات بافت، فوکوس، کنتراست و اینکه یک سوژه معمولاً نزدیک مرکز مینشیند.
حذف پسزمینه در IMG.DIY از مدلهای خانواده U²-Net استفاده میکند، یک معماری معروف دقیقاً برای همین کار. دو نسخه در دسترس است:
- u2netp — یک مدل کوچک و سریع ۴ مگابایتی. عالی برای سوژههای واضح و کارهای سریع.
- silueta — یک مدل بزرگتر ۴۳ مگابایتی که لبههای تمیزتری تولید میکند، بهتر برای برشهای پرجزئیات.
هر دو تصویر شما را میگیرند، از میان لایههای بسیار زیادی از فیلترهای آموختهشده عبورش میدهند و آن ماسک نگهدار-یا-حذف را خروجی میدهند.
چرا بهجای یک سرور در مرورگر شما اجرا میشود
بیشتر ابزارهای حذف پسزمینه عکستان را به یک مرکز داده آپلود میکنند، مدل را روی سختافزار خودشان اجرا میکنند و نتیجه را برمیگردانند. این کار میکند، اما یعنی تصویر شما، هرچند کوتاه، روی رایانه یک نفر دیگر مینشیند.
IMG.DIY کار را جور دیگری انجام میدهد. همان نوع شبکه عصبی درون مرورگر شما با استفاده از دو فناوری وب اجرا میشود:
- WebAssembly (WASM) به مرورگر اجازه میدهد کد کامپایلشده با سرعتی نزدیک به بومی اجرا کند، که همان چیزی است که ریاضیات مدل به آن نیاز دارد.
- ONNX Runtime موتوری است که واقعاً مدل آموزشدیده را در آن محیط اجرا میکند.
فایل مدل یک بار دانلود میشود، بعد تمام محاسبات روی پردازنده (یا کارت گرافیک) خودتان انجام میشود. عکستان از دیسک خوانده میشود، به یک شبکه از اعداد تبدیل میشود، از میان شبکه رانده میشود و دوباره به یک برش سرِ هم میشود، همه بدون اینکه حتی یک بایت از دستگاه شما خارج شود.
پردازش درونمرورگری برای شما یعنی چه
سه پیامد عملی از این طراحی بیرون میآید.
حریم خصوصی ساختاری است، نه یک وعده. خیلی از سایتها میگویند «ما تصاویر شما را نگه نمیداریم». اینجا تصویر هرگز جایی فرستاده نمیشود، پس چیزی برای نگه داشتن هم نیست. این بیش از همه برای عکسهای کارت شناسایی، اسناد، نمونههای اولیه محصول یا هر چیزی که ترجیح میدهید به سرور یک غریبه ندهید اهمیت دارد.
آفلاین کار میکند. چون IMG.DIY یک PWA با یک service worker است، ابزارها بدون اتصال به کارشان ادامه میدهند. حذف پسزمینه یک ستاره کوچک دارد: مدل باید بار اول دانلود شود (فایل ۴ مگابایتی یا ۴۳ مگابایتی بالا). بعد از آن، میتوانید در هواپیما، در قطار یا با یک اتصال ضعیف هتل پسزمینهها را ببرید.
نه صفی هست، نه انتظاری برای آپلود. با کاربران دیگر برای یک سرور مشترک رقابت نمیکنید و هرگز منتظر آپلود شدن یک عکس بزرگ نمیمانید. سرعت پردازش به دستگاه خودتان بستگی دارد، پس یک لپتاپ امروزی بیشتر تصاویر را در چند ثانیه از پس برمیآید.
جایی که مدلها هنوز به مشکل میخورند
فهم سازوکار به شما میگوید کجا هم شکست میخورد. جزئیات ریز و نازک مثل موهای پرپشت یا خز واقعاً سختاند، چون یک تار مو باریکتر از حد اطمینان مدل است و ممکن است در طول لبه «پسزمینه» حدس بزند. صحنههای کمکنتراست (یک گربه خاکستری روی یک مبل خاکستری) به شبکه چیز کمی برای جدا کردن میدهند. و یک پسزمینه شلوغ که در رنگ و بافت به سوژه شبیه است میتواند برچسبگذاری را گیج کند.
برای سوژههای تمیز روی یک پسزمینه متمایز، نتایج عالیاند. برای موارد سخت، یک اصلاح دستی سریع روی لبهها کار را تمام میکند. در هر صورت، کل فرایند روی دستگاه شما، در یک زبانه مرورگر، در چند ثانیه انجام میشود، با یک حذف پسزمینه خوب که کار سنگین را انجام میدهد.
