در سالهای اخیر، ما شاهد افزایش علاقه مصرفکنندگان و محققان به تجربههای واقعیت افزوده (AR) یکپارچه با استفاده از تولید ویژگیهای چهره در زمان واقعی و عملکردهای ویرایش در برنامههای تلفن همراه، از جمله ویدیوهای کوتاه، واقعیت مجازی، و بازیها بودهایم. در نتیجه، تقاضای فزایندهای برای مدلهای تولید و ویرایش چهره سبک و در عین حال با کیفیت بالا وجود دارد که اغلب بر اساس تکنیکهای شبکه متخاصم مولد (GAN) هستند. با این حال، اکثر مدلهای GAN از پیچیدگی محاسباتی بالا و نیاز به مجموعه داده آموزشی بزرگ رنج میبرند. علاوه بر این، استفاده مسئولانه از مدل های GAN نیز مهم است.
در این پست، MediaPipe FaceStylizer را معرفی میکنیم، یک طراحی کارآمد برای استایلسازی چند عکسی که به پیچیدگی مدل فوقالذکر و چالشهای کارآیی داده پاسخ میدهد و در عین حال با اصول هوش مصنوعی مسئول گوگل هدایت میشود. این مدل شامل یک مولد چهره و یک رمزگذار چهره است که به عنوان وارونگی GAN برای نگاشت تصویر به کد پنهان ژنراتور استفاده می شود. ما یک شبکه سنتز سازگار با موبایل را برای ژنراتور چهره با یک سر کمکی معرفی میکنیم که ویژگیها را در هر سطح از ژنراتور به RGB تبدیل میکند تا تصاویر با کیفیت بالا از دانهبندی درشت تا ریز تولید کند. ما همچنین توابع تلفات را برای هدهای کمکی فوق الذکر به دقت طراحی کردیم و آنها را با توابع تلفات GAN رایج ترکیب کردیم تا ژنراتور دانش آموز را از مدل معلم StyleGAN تقطیر کنیم، که در نتیجه یک مدل سبک وزن ایجاد شد که کیفیت تولید بالا را حفظ می کند. راه حل پیشنهادی به صورت متن باز از طریق MediaPipe در دسترس است. کاربران میتوانند با استفاده از MediaPipe Model Maker، ژنراتور را برای یادگیری سبکی از یک یا چند تصویر تنظیم کنند و با استفاده از MediaPipe FaceStylizer، در برنامههای سبکسازی چهره روی دستگاه با مدل سفارشیسازی شده استفاده کنند.
سبکسازی چهره چند عکس روی دستگاه
یک خط لوله سرتاسر
هدف ما ایجاد خط لوله ای برای پشتیبانی از کاربران برای تطبیق MediaPipe FaceStylizer با سبک های مختلف با تنظیم دقیق مدل با چند مثال است. برای فعال کردن چنین خط لوله سبکسازی چهره، خط لوله را با یک رمزگذار وارونگی GAN و مدل مولد چهره کارآمد ساختیم (به زیر مراجعه کنید). سپس خط لوله رمزگذار و ژنراتور را می توان از طریق یک فرآیند یادگیری چند شات با سبک های مختلف تطبیق داد. کاربر ابتدا یک یا چند نمونه مشابه از تصاویر سبک را برای تنظیم دقیق مدل به MediaPipe ModelMaker ارسال می کند. فرآیند تنظیم دقیق، ماژول رمزگذار را منجمد می کند و فقط مولد را تنظیم دقیق می کند. فرآیند آموزش از چندین کد پنهان نزدیک به خروجی رمزگذاری تصاویر سبک ورودی به عنوان ورودی به مولد نمونه برداری می کند. سپس مولد برای بازسازی تصویری از چهره یک فرد به سبک تصویر سبک ورودی با بهینه سازی یک تابع ضرر مشترک که سبک و محتوا را نیز در نظر می گیرد، آموزش می بیند. با چنین فرآیند تنظیم دقیقی، MediaPipe FaceStylizer میتواند با سبک سفارشیسازی شده سازگار شود، که تقریباً ورودی کاربر است. سپس می توان آن را برای سبک سازی تصاویر آزمایشی از چهره های واقعی انسان اعمال کرد.
ژنراتور: BlazeStyleGAN
خانواده مدل StyleGAN به طور گسترده برای تولید چهره و کارهای مختلف ویرایش چهره مورد استفاده قرار گرفته است. برای پشتیبانی از تولید چهره کارآمد روی دستگاه، طراحی ژنراتور خود را بر اساس StyleGAN قرار دادیم. این مولد، که ما آن را BlazeStyleGAN می نامیم، شبیه به StyleGAN است که شامل یک شبکه نقشه برداری و شبکه سنتز نیز می شود. با این حال، از آنجایی که شبکه سنتز StyleGAN عامل اصلی پیچیدگی محاسباتی بالای مدل است، ما یک شبکه سنتز کارآمدتر را طراحی و به کار گرفتیم. راندمان بهبود یافته و کیفیت تولید توسط:
- کاهش بعد ویژگی پنهان در شبکه سنتز به یک چهارم وضوح لایه های مشابه در معلم StyleGAN،
-
طراحی سرهای کمکی متعدد برای تبدیل ویژگی کاهش مقیاس به حوزه تصویر برای تشکیل یک هرم تصویر درشت به ریز برای ارزیابی کیفیت ادراکی بازسازی، و
-
در زمان استنتاج از همه موارد به جز هد کمکی نهایی پرش می شود.
با معماری جدید طراحی شده، ما مدل BlazeStyleGAN را با تقطیر آن از مدل معلم StyleGAN آموزش می دهیم. برای انتقال قابلیت تولید وفاداری بالا از مدل معلم به مدل BlazeStyleGAN دانش آموز و همچنین برای کاهش مصنوعات از مدل معلم، از یک ضرر ادراکی چند مقیاسی و از دست دادن متخاصم در تقطیر استفاده می کنیم.
جزئیات بیشتر معماری مدل و طرح آموزشی را می توان در مقاله ما یافت.
مقایسه بصری بین نمونه های صورت تولید شده توسط StyleGAN و BlazeStyleGAN. تصاویر در ردیف اول توسط معلم StyleGAN تولید می شوند. تصاویر در ردیف دوم توسط دانش آموز BlazeStyleGAN تولید می شوند. چهره تولید شده توسط BlazeStyleGAN کیفیت بصری مشابهی با تصویر تولید شده توسط مدل معلم دارد. برخی از نتایج نشان میدهند که دانشآموز BlazeStyleGAN مصنوعات مدل معلم را در تقطیر سرکوب میکند. |
در شکل بالا، چند نمونه از نتایج BlazeStyleGAN را نشان می دهیم. با مقایسه با تصویر چهره تولید شده توسط مدل معلم StyleGAN (ردیف بالا)، تصاویر ایجاد شده توسط دانش آموز BlazeStyleGAN (ردیف پایین) کیفیت بصری بالایی را حفظ کرده و به دلیل طراحی تابع از دست دادن در تقطیر ما، مصنوعات تولید شده توسط معلم را کاهش می دهد.
یک رمزگذار برای وارونگی GAN کارآمد
برای پشتیبانی از سبکسازی تصویر به تصویر، ما همچنین یک وارونگی GAN کارآمد را به عنوان رمزگذار برای نگاشت تصاویر ورودی به فضای پنهان ژنراتور معرفی کردیم. رمزگذار توسط یک ستون فقرات MobileNet V2 تعریف شده و با تصاویر چهره طبیعی آموزش داده شده است. از دست دادن به عنوان ترکیبی از کاهش کیفیت ادراکی تصویر تعریف می شود که تفاوت محتوا، شباهت سبک و فاصله جاسازی و همچنین از دست دادن L1 بین تصاویر ورودی و تصاویر بازسازی شده را اندازه گیری می کند.
عملکرد روی دستگاه
ما پیچیدگی های مدل را از نظر اعداد پارامتر و محاسبه FLOP در جدول زیر مستند کردیم. در مقایسه با معلم StyleGAN (پارامترهای 33.2M)، BlazeStyleGAN (ژنراتور) به طور قابل توجهی پیچیدگی مدل را کاهش می دهد، تنها با 2.01M پارامتر و 1.28G FLOP برای وضوح خروجی 256×256. در مقایسه با StyleGAN-1024 (تولید اندازه تصویر 1024×1024)، BlazeStyleGAN-1024 می تواند اندازه مدل و پیچیدگی محاسبات را تا 95٪ بدون تفاوت کیفیت قابل توجه کاهش دهد و حتی می تواند مصنوعات مدل معلم StyleGAN را سرکوب کند.
مدل | اندازه تصویر | #پارامز (M) | FLOP (G) | |||
StyleGAN | 1024 | 33.17 | 74.3 | |||
BlazeStyleGAN | 1024 | 2.07 | 4.70 | |||
BlazeStyleGAN | 512 | 2.05 | 1.57 | |||
BlazeStyleGAN | 256 | 2.01 | 1.28 | |||
رمزگذار | 256 | 1.44 | 0.60 |
پیچیدگی مدل با اعداد پارامتر و FLOP اندازه گیری می شود. |
ما زمان استنتاج MediaPipe FaceStylizer را در دستگاههای مختلف تلفن همراه رده بالا مقایسه کردیم و نتایج را در جدول زیر نشان دادیم. از نتایج، هر دو BlazeStyleGAN-256 و BlazeStyleGAN-512 به عملکرد بلادرنگ در تمام دستگاه های GPU دست یافتند. این میتواند در کمتر از 10 میلیثانیه زمان اجرا روی پردازنده گرافیکی یک گوشی پیشرفته اجرا شود. BlazeStyleGAN-256 همچنین میتواند به عملکرد بیدرنگ در CPU دستگاههای iOS دست یابد.
مدل | BlazeStyleGAN-256 (ms) | رمزگذار-256 (ms) | ||
آیفون 11 | 12.14 | 11.48 | ||
آیفون 12 | 11.99 | 12.25 | ||
آیفون 13 پرو | 7.22 | 5.41 | ||
پیکسل 6 | 12.24 | 11.23 | ||
سامسونگ گلکسی اس 10 | 17.01 | 12.70 | ||
سامسونگ گلکسی اس 20 | 8.95 | 8.20 |
معیار تأخیر BlazeStyleGAN، رمزگذار چهره، و خط لوله انتها به انتها در دستگاه های تلفن همراه مختلف. |
ارزیابی عادلانه
این مدل با مجموعه دادههای متنوعی از چهرههای انسان آموزش داده شده است. انتظار می رود این مدل برای چهره های مختلف انسان منصفانه باشد. ارزیابی عادلانه نشان میدهد که مدل از نظر جنسیت، رنگ پوست و سن، خوب و متعادل عمل میکند.
تجسم استایل سازی چهره
برخی از نتایج استایل سازی چهره در شکل زیر نشان داده شده است. تصاویر در ردیف بالا (در کادرهای نارنجی) تصاویر سبک مورد استفاده برای تنظیم دقیق مدل را نشان می دهند. تصاویر در ستون سمت چپ (در کادرهای سبز رنگ) تصاویر صورت طبیعی هستند که برای آزمایش استفاده می شوند. ماتریس 2×4 تصاویر خروجی MediaPipe FaceStylizer را نشان می دهد که خروجی ها را بین چهره های طبیعی در سمت چپ ترین ستون و سبک های چهره مربوطه در ردیف بالا ترکیب می کند. نتایج نشان میدهد که راهحل ما میتواند به سبکسازی چهره با کیفیت بالا برای چندین سبک محبوب دست یابد.
نتایج نمونه MediaPipe FaceStylizer ما. |
راه حل های MediaPipe
MediaPipe FaceStylizer قرار است برای کاربران عمومی در MediaPipe Solutions منتشر شود. کاربران می توانند از MediaPipe Model Maker برای آموزش یک مدل استایل سازی صورت سفارشی با استفاده از تصاویر سبک خود استفاده کنند. پس از آموزش، بسته نرم افزاری صادر شده از فایل های مدل TFLite را می توان با استفاده از MediaPipe Tasks FaceStylizer API تنها در چند خط کد بر روی برنامه های کاربردی در سراسر سیستم عامل ها (اندروید، iOS، وب، پایتون و غیره) مستقر کرد.
سپاسگزاریها
این کار از طریق همکاری چند تیم در سراسر Google امکان پذیر است. مایلیم از مشارکت های عمر توف، یانگ ژائو، آندری واکونوف، فی دنگ، آریل افرات، اینبار موسری، لو وانگ، چو لینگ چانگ، تینگبو هو، و ماتیاس گراندمان قدردانی کنیم.