มุมมองของ Anderson

การสร้างสภาพแวดล้อมการบินผ่านของการค้นหาและช่วยเหลือโดยใช้ Mega-NeRF

mm

การวิจัยร่วมใหม่ระหว่างมหาวิทยาลัยคาร์เนกีเมลลอนและบริษัทเทคโนโลยีการขับขี่อัตโนมัติ Argo AI ได้พัฒนาวิธีการที่มีประสิทธิภาพในการสร้างสภาพแวดล้อมการบินผ่านแบบไดนามิกโดยใช้ Neural Radiance Fields (NeRF) โดยใช้ภาพที่บันทึกจากโดรน

"Mega-NeRF

แนวทางใหม่นี้เรียกว่า Mega-NeRF สามารถเพิ่มความเร็วได้ถึง 40 เท่าเมื่อเทียบกับมาตรฐานการเรนเดอร์ Neural Radiance Fields โดยทั่วไป และยังมีความแตกต่างอย่างเห็นได้ชัดจากมาตรฐาน ถังและวิหาร ที่พบในเอกสาร NeRF ใหม่ๆ

เอกสารวิจัยใหม่เรื่อง Mega-NeRF: Scalable Construction of Large-Scale NeRFs for Virtual Fly-Throughs มาจากนักวิจัยสามคนจากมหาวิทยาลัยคาร์เนกีเมลลอน ซึ่งหนึ่งในนั้นยังเป็นตัวแทนของ Argo AI

การสร้างแบบจำลอง NeRF สำหรับการค้นหาและช่วยเหลือ

ผู้เขียนเชื่อว่าการค้นหาและช่วยเหลือ (SAR) เป็นกรณีการใช้งานที่เหมาะสมที่สุดสำหรับเทคนิคของพวกเขา เมื่อประเมินภูมิประเทศ SAR โดรนถูกจำกัดโดยความกว้างแบนด์วิธและชีวิตแบตเตอรี่ และดังนั้นจึงไม่สามารถได้รับการครอบคลุมที่มีรายละเอียดหรือครอบคลุมก่อนที่จะต้องกลับไปที่ฐาน ซึ่ง ณ จุดนั้นข้อมูลที่รวบรวมจะถูก แปลง เป็นแผนที่มุมมองทางอากาศ 2D แบบคงที่

ผู้เขียนระบุว่า:

‘เราคิดถึงอนาคตที่การเรนเดอร์แบบニューラล์จะยกการวิเคราะห์นี้ขึ้นสู่ 3D ทำให้ทีมตอบสนองสามารถตรวจสอบพื้นที่ได้เหมือนกับบินโดรนแบบเรียลไทม์ที่ระดับรายละเอียดที่มากกว่าที่สามารถทำได้ด้วย Structure-from-Motion (SfM) แบบคลาสสิก’

ด้วยกรณีการใช้งานนี้ ผู้เขียนได้พยายามสร้างแบบจำลอง NeRF ที่ซับซ้อนซึ่งสามารถฝึกได้ภายในหนึ่งวัน โดยพิจารณาว่าอายุการใช้งานของผู้รอดชีวิตในการค้นหาและช่วยเหลือลดลงมากถึง 80% ในช่วง 24 ชั่วโมงแรก

ผู้เขียนสังเกตว่าชุดข้อมูลการบันทึกโดรนที่จำเป็นในการฝึกแบบจำลอง Mega-NeRF มีขนาด “หลายอันดับ” มากกว่าชุดข้อมูลมาตรฐานสำหรับ NeRF และความจุของแบบจำลองต้องสูงกว่าในแบบฟอร์กหรืออนุพันธ์ของ NeRF โดยทั่วไป นอกจากนี้ การโต้ตอบและความสามารถในการสำรวจเป็นสิ่งจำเป็นในแผนที่ภูมิประเทศการค้นหาและช่วยเหลือ ในขณะที่การเรนเดอร์ NeRF แบบเรียลไทม์มาตรฐานคาดว่าจะมีช่วงการเคลื่อนไหวที่จำกัดมากขึ้น

แบ่งและ征服

เพื่อแก้ไขปัญหาเหล่านี้ ผู้เขียนได้สร้างอัลกอริทึมการคลัสเตอร์ทางเรขาคณิตที่แบ่งงานออกเป็นซับโมดูล และสร้างเมทริกซ์ของซับ NeRF ที่ฝึกพร้อมกัน

ณ จุดการเรนเดอร์ ผู้เขียนยังใช้อัลกอริทึมการแสดงภาพแบบเรียลไทม์ที่ตอบสนองได้เพียงพอที่จะอำนวยความสะดวกในการโต้ตอบแบบเต็มโดยไม่ต้องมีการประมวลผลล่วงหน้ามากเกินไป ซึ่งคล้ายกับวิดีโอเกมที่จะเพิ่มรายละเอียดของวัตถุเมื่อเข้าใกล้มุมมองของผู้ใช้ แต่จะยังคงอยู่ในระดับที่ประหยัดพลังงานและเรียบง่ายกว่าเมื่ออยู่ห่างออกไป

การประหยัดเหล่านี้ ผู้เขียนแย้งว่า ส่งผลให้มีรายละเอียดที่ดีกว่าวิธีการก่อนหน้าที่พยายามจัดการพื้นที่หัวข้อที่กว้างมากในบริบทแบบโต้ตอบ ในแง่ของการขยายรายละเอียดจากวิดีโอความละเอียดต่ำ ผู้เขียนยังระบุถึงการปรับปรุงภาพของ Mega-NeRF เมื่อเทียบกับฟังก์ชันการทำงานที่เทียบเท่าใน UC Berkeley’s PlenOctrees

การใช้ซับ NeRF ที่เชื่อมต่อกันของโครงการนี้มีพื้นฐานมาจาก ความสามารถในการเรนเดอร์แบบเรียลไทม์ของ KiloNeRF ซึ่งผู้เขียนรับทราบ แต่ Mega-NeRF ออกไปจากแนวทางนี้โดยการทำ ‘การแบ่งส่วน’ (การแบ่งแยกของด้านของฉาก) ระหว่างการฝึกแทนการประมวลผลล่วงหน้าเช่น KiloNeRF ซึ่งใช้ฉาก NeRF ที่คำนวณแล้วและแปลงเป็นพื้นที่ที่สามารถสำรวจได้

A discrete training set is created for submodules, comprised of training image pixels whose trajectory might span the cell that it represents. Consequently, each module is trained entirely separately from adjacent cells. Source: https://arxiv.org/pdf/2112.10703.pdf

ชุดฝึกที่แยกจากกันถูกสร้างขึ้นสำหรับซับโมดูล ซึ่งประกอบด้วยพิกเซลภาพฝึกที่อาจครอบคลุมเซลล์ที่แสดงถึง พอดี แต่ละโมดูลจะถูกฝึกแยกจากกันจากเซลล์ที่อยู่ติดกัน Source: https://arxiv.org/pdf/2112.10703.pdf

ผู้เขียนอธิบาย Mega-NeRF ว่าเป็น ‘การปฏิรูปโครงสร้าง NeRF ที่ทำให้การเชื่อมต่อระหว่างเลเยอร์เบาในลักษณะที่ตระหนักถึงพื้นที่ ทำให้สามารถปรับปรุงประสิทธิภาพที่เวลาฝึกและเวลาเรนเดอร์’

Conceptual comparison of training and data discretization in NeRF, NeRF++, and Mega-NeRF. Source: https://meganerf.cmusatyalab.org/

การเปรียบเทียบแนวคิดของการฝึกและการแยกข้อมูลใน NeRF, NeRF++, และ Mega-NeRF Source: https://meganerf.cmusatyalab.org/

ผู้เขียนอ้างว่า Mega-NeRF ใช้กลยุทธ์ความสอดคล้องตามเวลาใหม่ๆ ที่หลีกเลี่ยงการประมวลผลล่วงหน้ามากเกินไป ทะลุถึงขีดจำกัดที่มีอยู่ในขนาด และทำให้เกิดรายละเอียดที่สูงกว่างานที่คล้ายกันก่อนหน้านี้ โดยไม่ต้องเสียสละความสามารถในการโต้ตอบหรือต้องใช้เวลาฝึกหลายวัน

นักวิจัยยังเผยแพร่ชุดข้อมูลขนาดใหญ่ที่มีภาพความละเอียดสูงหลายพันภาพที่ได้รับจากภาพบันทึกโดรนมากกว่า 100,000 ตารางเมตรของพื้นที่รอบๆ อุตสาหกรรม ชุดข้อมูลที่มีอยู่สองชุดคือ ‘อาคาร’ และ ‘ซากปรักหักพัง’

การปรับปรุงจากงานก่อนหน้า

เอกสารวิจัยระบุว่าความพยายามก่อนหน้านี้ในลักษณะเดียวกัน รวมถึง SneRG, PlenOctree และ FastNeRF ล้วนพึ่งพาการแคชหรือการประมวลผลล่วงหน้าบางอย่างที่เพิ่มการคำนวณและ/หรือเวลามากเกินไป ซึ่งไม่เหมาะสมสำหรับการสร้างสภาพแวดล้อมการค้นหาและช่วยเหลือเสมือนจริง

ในขณะที่ KiloNeRF ได้รับซับ NeRF จากคอลเลกชันของ multilayer perceptrons (MLPs) ที่มีอยู่แล้ว แต่ก็มีข้อจำกัดทางสถาปัตยกรรมในการฉากภายในที่มีความสามารถและความสามารถในการขยายตัวที่จำกัดสำหรับสภาพแวดล้อมที่มีขนาดใหญ่กว่า FastNeRF จัดเก็บรุ่น ‘อบ’ ที่คำนวณล่วงหน้าของแบบจำลอง NeRF ลงในโครงสร้างข้อมูลที่อุทิศและช่วยให้ผู้ใช้สามารถนำทางผ่านมันผ่าน MLP ที่อุทิศหรือผ่านการคำนวณพื้นฐานทรงกลม

ในสถานการณ์ KiloNeRF ความละเอียดสูงสุดของแต่ละด้านในฉากถูกคำนวณแล้ว และจะไม่มีการเพิ่มความละเอียดมากขึ้นหากผู้ใช้ตัดสินใจ ‘ซูมอิน’

ในทางกลับกัน NeRF++ สามารถจัดการสภาพแวดล้อมภายนอกที่ไม่จำกัดได้โดยการแบ่งพื้นที่ที่สามารถสำรวจได้ออกเป็นภูมิภาคหน้าและภูมิภาคหลัง ซึ่งแต่ละภูมิภาคได้รับการดูแลโดยแบบจำลอง MLP ที่อุทิศซึ่งทำการเรย์-แคสต์ก่อนการประกอบสุดท้าย

สุดท้าย NeRF in the Wild ซึ่งไม่ได้กล่าวถึงพื้นที่ที่ไม่จำกัดโดยตรง แต่ปรับปรุงคุณภาพของภาพใน ชุดข้อมูล Phototourism และการฝังตัวของการปรากฏตัวที่มีการติดตามในโครงสร้างสำหรับ Mega-NeRF

ผู้เขียนยังยอมรับว่า Mega-NeRF ได้รับแรงบันดาลใจจากโครงการ Structure-from-Motion (SfM) โดยเฉพาะอย่างยิ่งโครงการ Building Rome in a Day ของมหาวิทยาลัยวอชิงตัน

ความสอดคล้องตามเวลา

เช่นเดียวกับ PlenOctree Mega-NeRF คำนวณแคชที่หยาบของสีและความโปร่งใสในบริเวณที่มุ่งเน้นของผู้ใช้ในปัจจุบัน แต่แทนที่จะคำนวณเส้นทางทุกครั้งที่อยู่ใกล้กับเส้นทางที่คำนวณ PlenOctree จะ ‘บันทึก’ และนำข้อมูลนี้กลับมาใช้ใหม่โดยการแบ่งต้นไม้ออกเป็นชั้น ๆ ตามแนวโน้มที่เพิ่มขึ้นในการแยกการประมวลผลของ NeRF ที่ผูกกันอย่างแน่นหนา

On the left, PlenOctree's single-use calculation. Middle, Mega-NeRF's dynamic expansion of the octree, relative to the current position of the fly-through. Right, the octree is reused for subsequent navigation.

ทางซ้าย การคำนวณแบบใช้ครั้งเดียวของ PlenOctree กลาง การขยายตัวแบบไดนามิกของต้นไม้ Octree ของ Mega-NeRF โดยสัมพันธ์กับตำแหน่งปัจจุบันของการบินผ่าน ทางขวา ต้นไม้ Octree ถูกนำกลับมาใช้สำหรับการนำทางครั้งถัดไป

การประหยัดการคำนวณนี้ ตามที่ผู้เขียนระบุ ลดภาระการประมวลผลอย่างมีนัยสำคัญโดยใช้การคำนวณแบบเรียลไทม์เป็นแคชท้องถิ่น แทนที่จะประมาณการและแคชล่วงหน้าตามแนวปฏิบัติ最近

การวาดตัวอย่างแบบมีคำแนะนำ

หลังการวาดตัวอย่างครั้งแรก ตามแบบจำลองมาตรฐานจนถึงปัจจุบัน Mega-NeRF จะทำการวาดตัวอย่างแบบมีคำแนะนำอีกครั้งหลังการปรับแต่งต้นไม้ Octree เพื่อปรับปรุงคุณภาพของภาพ สำหรับสิ่งนี้ Mega-NeRF ใช้การผ่านเพียงครั้งเดียวตามน้ำหนักที่มีอยู่ในโครงสร้างข้อมูลต้นไม้ Octree

ดังที่เห็นได้จากภาพด้านบนจากเอกสารวิจัยใหม่ การวาดตัวอย่างมาตรฐานจะสูญเสียทรัพยากรการคำนวณโดยการประเมินพื้นที่เป้าหมายมากเกินไป ในขณะที่ Mega-NeRF จะจำกัดการคำนวณตามความรู้เกี่ยวกับตำแหน่งที่มีเรขาคณิต และลดการคำนวณที่เกินเกณฑ์ที่กำหนดไว้ล่วงหน้า

ข้อมูลและการฝึก

นักวิจัยได้ทดสอบ Mega-NeRF กับชุดข้อมูลต่างๆ รวมถึงสองชุดข้อมูลที่สร้างขึ้นด้วยมือที่ได้รับจากภาพบันทึกโดรนเหนือพื้นที่อุตสาหกรรม ชุดข้อมูลแรก Mill 19 – อาคาร มีภาพที่ถ่ายจากพื้นที่ 500 x 250 ตารางเมตร ชุดข้อมูลที่สอง Mill 19 – ซากปรักหักพัง แสดงภาพที่ถ่ายจากไซต์ก่อสร้างที่อยู่ติดกัน ซึ่งผู้วิจัยได้วางตัวแบบแทนผู้รอดชีวิตในสถานการณ์การค้นหาและช่วยเหลือ

From the paper's supplemental material: Left, the quadrants to be covered by the Parrot Anafi drone (pictured center, and in the distance in the right-hand photo).

จากวัสดุเสริมของเอกสาร: ทางซ้าย สี่ส่วนของพื้นที่ที่จะครอบคลุมโดยโดรน Parrot Anafi (ในภาพตรงกลาง และในระยะไกลในภาพมือขวา)

นอกจากนี้ โครงสร้างยังได้รับการทดสอบกับฉากต่างๆ จาก UrbanScene3D จากศูนย์วิจัยการคำนวณภาพของมหาวิทยาลัยเชินเจิ้นในประเทศจีน ซึ่งประกอบด้วยภาพโดรนความละเอียดสูงของสภาพแวดล้อมเมืองขนาดใหญ่ และ Quad 6k dataset จากห้องปฏิบัติการการมองเห็นคอมพิวเตอร์ของมหาวิทยาลัยอินเดียนา

การฝึกเกิดขึ้นใน 8 ซับโมดูล แต่ละโมดูลมี 8 เลเยอร์ของหน่วยซ่อน 256 และเลเยอร์ ReLU 128 ช่องทาง ต่างจาก NeRF ที่ใช้ MLP เดียวกันในการสอบถามตัวอย่างที่หยาบและละเอียด ทำให้ขนาดแบบจำลองโดยรวมลดลงและอนุญาตให้ใช้ผลลัพธ์เครือข่ายที่หยาบในขั้นตอนการเรนเดอร์ถัดไป ผู้เขียนประมาณการว่าสิ่งนี้ช่วยประหยัดการสอบถามแบบจำลอง 25% สำหรับแต่ละเรย์

1024 เรย์ถูกตัวอย่างต่อแบตช์ภายใต้ Adam ที่อัตราการเรียนรู้เริ่มต้นที่ 5×104 ที่ลดลงเหลือ 5×10-5 การฝังตัวของการปรากฏตัวถูกจัดการในลักษณะเดียวกับ การฝึกแบบมีความแม่นยำผสม (การฝึกที่ความแม่นยำต่ำกว่า 32 บิต浮ตัว) และความกว้างของ MLP ถูกกำหนดไว้ที่ 2048 หน่วยซ่อน

การทดสอบและผลลัพธ์

ในการทดสอบของนักวิจัย Mega-NeRF สามารถเอาชนะ NeRF, NeRF++ และ DeepView หลังจากฝึก 500,000 อิเทอร์เรชั่นบนชุดข้อมูลที่กล่าวถึง เนื่องจากสถานการณ์เป้าหมายของ Mega-NeRF มีข้อจำกัดด้านเวลา นักวิจัยจึงให้เวลาเฟรมเวิร์กก่อนหน้าที่ช้ากว่านั้นพิเศษเกินขีดจำกัด 24 ชั่วโมง และรายงานว่า Mega-NeRF ยังคงเอาชนะพวกมันแม้จะได้รับสิ่งเหล่านี้

เมตริกที่ใช้คืออัตราส่วนสัญญาณต่อเสียงรบกวน (PSNR) PSNR VGG version of LPIPS และ SSIM การฝึกเกิดขึ้นบนเครื่องเดียวที่มี V100 GPUs 8 ตัว – โดยมี VRAM 256GB และ Tensor cores 5120

Sample results from the Mega-NeRF experiments (please see the paper for more extended results across all frameworks and datasets) show that PlenOctree causes notable voxelization, while KiloNeRF produces artifacts and generally more blurry results.

ผลลัพธ์ตัวอย่างจากการทดลอง Mega-NeRF (กรุณาดูเอกสารสำหรับผลลัพธ์ที่ขยายออกไปสำหรับเฟรมเวิร์กและชุดข้อมูลทั้งหมด) แสดงให้เห็นว่า PlenOctree ทำให้เกิดการทำวอกเซลที่เห็นได้ชัด ในขณะที่ KiloNeRF สร้างอาร์ติแฟคต์และผลลัพธ์ที่มีความเบลอมากกว่าโดยทั่วไป

หน้าโครงการอยู่ที่ https://meganerf.cmusatyalab.org/ และโค้ดที่เผยแพร่อยู่ที่ https://github.com/cmusatyalab/mega-nerf

เผยแพร่ครั้งแรกเมื่อวันที่ 21 ธันวาคม 2021

นักเขียนด้านการเรียนรู้ของเครื่องจักร ผู้เชี่ยวชาญด้านสังเคราะห์ภาพมนุษย์ อดีตหัวหน้าฝ่ายวิจัยเนื้อหาที่ Metaphysic.ai