ویژگی‌های پس‌زمینه در Google Meet، طراحی شده توسط Web ML

منتشر‌شده در: وبلاگ هوش مصنوعی گوگل به تاریخ ۳۰ سپتامبر ۲۰۲۰
لینک منبع: Background Features in Google Meet, Powered by Web ML

کنفرانس ویدیویی در کار و زندگی شخصی مردم اهمیت بیشتری پیدا کرده است. بهبود این تجربه با افزایش حریم خصوصی یا تماس‌های تصویری سرگرم‌کننده می‌تواند به تمرکز ما بر روی خود جلسه کمک کند. به عنوان بخشی از این هدف، ما اخیرا روش‌هایی را برای تار کردن و جایگزین کردن پس‌زمینه شما در Google Meet، که از یادگیری ماشین (ML) برای برجسته کردن بهتر شرکت‌کنندگان صرف‌نظر از محیط اطرافشان استفاده می‌کند، اعلام کردیم. در حالی که راه‌حل‌های دیگر نیاز به نصب نرم‌افزارهای اضافی دارند، ویژگی‌های Meet با فن‌آوری‌های پیشرفته وب ML ساخته‌شده با Mediapipe که مستقیما در مرورگر شما کار می‌کنند- هیچ گام اضافی لازم نیست. یک هدف کلیدی در توسعه این ویژگی‌ها، ارائه عملکرد زمان حقیقی تقریبا در مرورگر تمامی دستگاه‌های مدرن بود، که ما با ترکیب مدل‌های کارآمد روی دستگاه ML، ارائه مبتنی بر WebGL، و استنتاج مبتنی بر وب ML از طریق XNPACK و TFLite انجام دادیم.

مروری بر راه‌حل

Web ML ما ویژگی‌های جدید در ملاقات با Mediapipe، چارچوب کتابخانه‌ای گوگل برای راه‌حل‌های قابل سفارشی سازی چند پلت فرم ML برای رسانه‌های زنده و جاری توسعه داده شده‌اند، که همچنین راه‌حل‌های ML مانند زمان حقیقی دستگاه روی دست، عنبیه و ردیابی ژست بدن را توانمند می‌سازد. یک نیاز اساسی برای هر راه‌حل روی دستگاه رسیدن به عملکرد بالا است. برای انجام این کار، یک فرمت کد دودویی سطح پایین که به طور خاص برای مرورگرهای وب طراحی شده‌است و سرعت برای کارهای سنگین محاسباتی را بهبود می‌بخشد. در زمان اجرا، مرورگر دستورها مجلس وب را به کد ماشین بومی تبدیل می‌کند که بسیار سریع‌تر از کد سنتی جاوا اسکریپت اجرا می‌شود. علاوه بر این، کروم ۸۴ به تازگی پشتیبانی را برای WebAssembly SIMD معرفی کرد، که چند نقطه داده را با هر دستور پردازش می‌کند، که منجر به افزایش عملکرد بیش از دو برابر می‌شود. راه‌حل ما، ابتدا هر فریم ویدیویی را با بخش‌بندی یک کاربر از پس‌زمینه خود پردازش می‌کند (بیشتر در مورد مدل تقسیم‌بندی ما بعدا در پست) و از استنتاج ML برای محاسبه یک ماسک با تفکیک پایین استفاده می‌کند. به طور اختیاری، ما بعدا ماسک را اصلاح می‌کنیم تا آن را با مرزهای تصویر هم تراز کنیم. سپس از این ماسک برای نمایش خروجی ویدئو از طریق WebGL2، با تاری پس‌زمینه یا جایگزینی آن استفاده می‌شود.

در نسخه فعلی، استنباط مدل برای مصرف توان کم و پوشش گسترده دستگاه روی CPU مشتری اجرا می‌شود. برای دستیابی به عملکرد زمان واقعی، ما مدل‌های کارآمد ML را با استنتاج تسریع شده توسط کتابخانه XNPACK طراحی کردیم، اولین موتور استنتاج به طور خاص برای مشخصه جدید WebAssembly SIMD طراحی شد. با شتاب توسط XNPACK و SIM D، مدل تقسیم‌بندی می‌تواند در زمان واقعی بر روی وب اجرا شود. با استفاده از پیکربندی انعطاف‌پذیر MediaPipe، راه‌حل پس‌زمینه تار / جایگزین، پردازش خود را براساس قابلیت دستگاه انجام می‌دهد. در دستگاه‌های با کیفیت بالا، خط لوله کامل را برای ارایه بالاترین کیفیت بصری اجرا می‌کند، در حالی که در دستگاه‌های با کیفیت پایین، با تغییر به مدل‌های ML-light و کنار گذاشتن اصلاح ماسک، همچنان به کار خود ادامه می‌دهد.

بخش‌بندی مدل

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

ما MobileNetV3-small را به عنوان رمزگذار تغییر دادیم، که توسط جستجوی معماری شبکه برای بهترین عملکرد با نیازهای منابع پایین تنظیم شده‌است.
برای کاهش اندازه مدل تا ۵۰٪، ما مدل خود را با استفاده از کوانتیزه کردن float16 به TFLite صادر کردیم، که منجر به کاهش اندکی در دقت وزن شد اما هیچ تاثیر قابل‌توجهی بر کیفیت نداشت. مدل حاصل دارای 193K پارامتر بوده و تنها ۴۰۰ کیلوبایت اندازه دارد.

رندر کردن افکت‌ها

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

شکل محو با تنظیم قدرت تاری در هر پیکسل متناسب با مقادیر ماسک تقسیم‌بندی، شبیه به circle-of-confusion (CoC) در نورشناخت، اثر بوکه را شبیه‌سازی می‌کند.
پیکسل ها با شعاع‌های CoC شان وزن گذاری می‌شوند، به طوری که پیکسل های پیش‌زمینه در پس‌زمینه نفوذ نخواهند کرد. ما فیلترهای تفکیک‌پذیر را برای تاری وزنی به جای هرم گاوسی محبوب پیاده‌سازی کردیم، چون آرتیفکت‌های هاله اطراف شخص را از بین می‌برد. این تاری با قدرت تفکیک پایین برای بهره‌وری انجام می‌شود، و با چارچوب ورودی در قدرت تفکیک اصلی ترکیب می‌شود.

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

عملکرد

برای بهینه‌سازی تجربه کردن دستگاه‌های مختلف، ما متغیرهای مدل را در اندازه‌های ورودی چندگانه فراهم می‌کنیم (یعنی ۲۵۶ x144 و ۱۶۰ x96 در انتشار فعلی) ، و به طور خودکار بهترین را با توجه به منابع سخت‌افزاری موجود انتخاب می‌کنیم. ما سرعت استنتاج مدل و خط لوله انتها به انتها را بر روی دو دستگاه مشترک ارزیابی کردیم: MacBook Pro 2018 با 2.2 GHz 6-Core Intel Core i7، و Acer Chromebook 11 با Intel Celeron N3060. برای ورودی ۷۲۰ p، مک بوک پرو می‌تواند مدل کیفیت بالاتر را در ۱۲۰ FPS و خط لوله انتها به انتها را در ۷۰ FPS اجرا کند، در حالی که کروم‌بوک استنباط را در ۶۲ FPS با مدل کیفیت پایین‌تر و ۳۳ FPS انتها به انتها اجرا می‌کند.

برای ارزیابی کمی دقت مدل، ما متریک های محبوب تقاطع روی هم انباشته (IOU) و معیار F مرزی را اتخاذ می‌کنیم. هر دو مدل، به خصوص برای داشتن چنین شبکه سبک‌وزنی، کیفیت بالایی دارند:

ما همچنین Model Card همراه را برای مدل‌های تقسیم‌بندی مان منتشر می‌کنیم، که جزییات ارزیابی‌های عادلانه‌مان را شرح می‌دهد. داده‌های ارزیابی ما شامل تصاویری از ۱۷ زیر منطقه جغرافیایی جهان، با حاشیه‌هایی برای تناژ پوست و جنسیت است. تجزیه و تحلیل ما نشان می‌دهد که این مدل در عملکرد خود در مناطق مختلف، تناژ رنگ پوست، و جنسیت، با تنها انحرافات کوچک در معیارهای IOU، سازگار است. نتیجه‌گیری. ما یک راه‌حل جدید درون مرورگر ML را برای مات کردن و جایگزین کردن پس‌زمینه شما در Google Meet معرفی کردیم. با این کار، مدل‌های ML و سایه‌زن‌های OpenGL می‌توانند به طور موثر بر روی وب اجرا شوند. ویژگی‌های توسعه‌یافته به عملکرد زمان حقیقی با مصرف توان پایین، حتی در دستگاه‌های با توان پایین دست می‌یابند.

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