وبلاگ هوش مصنوعی گوگل: LOLNeRF: از یک نگاه بیاموزید

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

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

در “LOLNeRF: از یک نگاه بیاموز”، ارائه شده در CVPR 2022، ما چارچوبی را پیشنهاد می کنیم که مدل سازی ساختار و ظاهر سه بعدی را از مجموعه هایی از تک نمای تصاویر. LOLNeRF ساختار سه بعدی معمولی کلاسی از اشیاء مانند اتومبیل، صورت انسان یا گربه را می آموزد، اما فقط از تک نماها از هر یک شی، هرگز یک شیء مشابه دو بار. ما رویکرد خود را با ترکیب می سازیم بهینه سازی نهفته تولیدی (GLO) و میدان های تابشی عصبی (NeRF) برای دستیابی به نتایج پیشرفته برای سنتز نمای جدید و نتایج رقابتی برای تخمین عمق.

ما یک مدل شی سه بعدی را با بازسازی مجموعه بزرگی از تصاویر تک نمای با استفاده از یک شبکه عصبی مشروط بر بردارهای پنهان یاد می گیریم. z (ترک کرد). این اجازه می دهد تا یک مدل سه بعدی از تصویر برداشته شود و از دیدگاه های جدید رندر شود. با ثابت نگه داشتن دوربین، می توانیم هویت های جدید را درون یابی یا نمونه برداری کنیم (درست).

ترکیب GLO و NeRF
GLO یک روش عمومی است که یاد می گیرد یک مجموعه داده (مانند مجموعه ای از تصاویر دو بعدی) را با یادگیری مشترک یک شبکه عصبی (رمزگشا) و جدول کدها (مخفف) که ورودی رمزگشا است، بازسازی کند. هر یک از این کدهای پنهان یک عنصر واحد (مانند یک تصویر) را از مجموعه داده دوباره ایجاد می کند. از آنجایی که کدهای پنهان ابعاد کمتری نسبت به خود عناصر داده دارند، شبکه مجبور است تعمیم دادن، یادگیری ساختار مشترک در داده ها (مانند شکل کلی پوزه سگ).

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

ما NeRF را با GLO با اختصاص دادن یک کد پنهان به هر شی و الحاق آن با ورودی های استاندارد NeRF ترکیب می کنیم و به آن توانایی بازسازی می دهیم. چندگانه اشیاء. به دنبال GLO، ما این کدهای پنهان را همراه با وزن شبکه در طول آموزش بهینه سازی می کنیم تا تصاویر ورودی را بازسازی کنیم. برخلاف NeRF استاندارد، که به چندین نما از یک شی نیاز دارد، ما روش خود را تنها با آن نظارت می کنیم تک نماها از هر شی (اما چندین نمونه از آن نوع شی). از آنجایی که NeRF ذاتاً سه بعدی است، می‌توانیم شی را از دیدگاه‌های دلخواه رندر کنیم. ترکیب NeRF با GLO به آن توانایی یادگیری ساختار سه بعدی رایج را می دهد در سراسر نمونه ها تنها از نماهای منفرد در حالی که هنوز توانایی بازآفرینی نمونه های خاصی از مجموعه داده را حفظ می کند.

تخمین دوربین
برای اینکه NeRF کار کند، باید مکان دقیق دوربین، نسبت به جسم، برای هر تصویر را بداند. به طور کلی ناشناخته است مگر اینکه در هنگام گرفتن تصویر اندازه گیری شود. در عوض، ما از MediaPipe Face Mesh برای استخراج پنج مکان برجسته از تصاویر استفاده می کنیم. هر یک از این پیش‌بینی‌های دوبعدی با یک نقطه از لحاظ معنایی سازگار در جسم (به عنوان مثال، نوک بینی یا گوشه‌های چشم) مطابقت دارد. سپس می‌توانیم مجموعه‌ای از مکان‌های سه‌بعدی متعارف را برای نقاط معنایی، به همراه تخمین‌هایی از وضعیت‌های دوربین برای هر تصویر استخراج کنیم، به طوری که نمایش نقاط متعارف در تصاویر تا حد امکان با نشانه‌های دوبعدی سازگار باشد.

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

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

همچنین با تقسیم شبکه به شبکه‌های پیش‌زمینه و پس‌زمینه جداگانه، نتایج بهتری به دست آوردیم. ما این جداسازی را با ماسکی از MediaPipe Selfie Segmenter و از دست دادن برای تشویق تخصص شبکه نظارت کردیم. این به شبکه پیش زمینه اجازه می دهد تا فقط در مورد موضوع مورد علاقه تخصص داشته باشد و از پس زمینه “پرت نشود” و کیفیت آن را افزایش دهد.

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

بالا: نمونه تصاویر گربه از AFHQ. پایین: ترکیبی از نماهای سه بعدی جدید ایجاد شده توسط LOLNeRF.

نتیجه
ما تکنیکی را توسعه داده‌ایم که در کشف ساختار سه بعدی از تصاویر تک دوبعدی مؤثر است. ما پتانسیل زیادی در LOLNeRF برای کاربردهای مختلف می بینیم و در حال حاضر در حال بررسی موارد استفاده بالقوه هستیم.

درون یابی هویت های گربه از درون یابی خطی کدهای پنهان آموخته شده برای نمونه های مختلف در AFHQ.

انتشار کد
ما احتمال سوء استفاده و اهمیت اقدام مسئولانه را می پذیریم. برای این منظور، ما فقط کد را برای اهداف تکرارپذیری منتشر می کنیم، اما هیچ مدل مولد آموزش دیده ای را منتشر نمی کنیم.

سپاسگزاریها
مایلیم از Andrea Tagliasacchi، Kwang Moo Yi، Viral Carpenter، David Fleet، Danica Matthews، Florian Schroff، Hartwig Adam و Dmitry Lagun برای کمک مداوم در ساخت این فناوری تشکر کنیم.