SMERF: เรเดียนซ์ฟิลด์แบบสตรีมได้และใช้หน่วยความจำอย่างมีประสิทธิภาพ
(smerf-3d.github.io)- SMERF เป็นวิธีสังเคราะห์มุมมองสำหรับการสำรวจฉาก 3D ขนาดใหญ่แบบเรียลไทม์บนเว็บเบราว์เซอร์ โดยรองรับพื้นที่ได้สูงสุด 300m² และความละเอียดเชิงปริมาตร 3.5mm³
- ระบบแบ่งฉากออกเป็น ซับโมเดลอิสระ หลายส่วน และเลือกใช้เฉพาะโมเดลที่จำเป็นตามตำแหน่งต้นกำเนิดของกล้อง เพื่อลดภาระการคำนวณและการใช้หน่วยความจำระหว่างการเรนเดอร์
- ขั้นแรกจะฝึกเรเดียนซ์ฟิลด์ออฟไลน์ Zip-NeRF ก่อน จากนั้นจึงกลั่นความรู้มาเป็น SMERF โดยใช้ค่าคาดการณ์ RGB และความแตกต่างของค่าน้ำหนักในการเรนเดอร์เชิงปริมาตรเพื่อยกระดับคุณภาพ
- ในการสังเคราะห์มุมมองใหม่แบบเรียลไทม์ ผลลัพธ์ดีขึ้น 0.78dB บนเบนช์มาร์กมาตรฐาน และ 1.78dB บนฉากขนาดใหญ่ พร้อมทั้งเรนเดอร์เฟรมได้เร็วกว่าโมเดลเรเดียนซ์ฟิลด์รุ่นล่าสุดหลายร้อยเท่า
- รองรับ การนำทาง 6DOF บนเบราว์เซอร์ ทำให้อุปกรณ์ผู้บริโภคทั่วไปอย่างสมาร์ตโฟนและโน้ตบุ๊กสามารถสำรวจฉากขนาดใหญ่แบบเรียลไทม์ได้
คอขวดของการสำรวจฉากขนาดใหญ่แบบเรียลไทม์
- เทคนิคการสังเคราะห์มุมมองแบบเรียลไทม์พัฒนาอย่างรวดเร็ว จนสามารถเรนเดอร์ฉากที่ใกล้เคียงภาพถ่ายได้แม้ที่อัตราเฟรมระดับโต้ตอบได้
- อย่างไรก็ตาม ยังมีจุดแลกเปลี่ยนที่ชัดเจนระหว่าง การแทนฉากแบบชัดแจ้ง ซึ่งเหมาะกับการแรสเตอร์ไรซ์ และ neural fields ที่อาศัย ray marching
- วิธี neural fields รุ่นล่าสุดมีคุณภาพเหนือกว่าการแทนแบบชัดแจ้ง แต่มีต้นทุนการคำนวณสูงเกินไปสำหรับแอปพลิเคชันแบบเรียลไทม์
- SMERF เป็นแนวทางการสังเคราะห์มุมมองที่มุ่งเป้าความแม่นยำระดับแนวหน้าสำหรับงานเรียลไทม์ในฉากขนาดใหญ่
- พื้นที่สูงสุด 300m²
- ความละเอียดเชิงปริมาตร 3.5mm³
- การสำรวจแบบ 6DOF ภายในเว็บเบราว์เซอร์
- การเรนเดอร์แบบเรียลไทม์บนสมาร์ตโฟนและโน้ตบุ๊กทั่วไป
การแทนฉากด้วยซับโมเดลและการฝึกแบบกลั่นความรู้
- ฉากขนาดใหญ่ที่มีหลายห้องถูกแบ่งออกเป็น ซับโมเดลอิสระ หลายส่วนเพื่อคงความสามารถในการแทนฉาก
- แต่ละซับโมเดลถูกกำหนดให้กับบริเวณที่ต่างกันของฉาก
- ระหว่างการเรนเดอร์ ระบบจะเลือกซับโมเดลที่จะใช้ตามตำแหน่งต้นกำเนิดของกล้อง
- เพื่อรองรับเอฟเฟกต์ที่ซับซ้อนซึ่งขึ้นกับมุมมอง ภายในแต่ละซับโมเดลมีสำเนาของ พารามิเตอร์ deferred MLP ที่จัดเรียงตามกริดเพิ่มเข้ามา
- พารามิเตอร์ดังกล่าวถูกอินเตอร์โพเลตแบบไตรลิเนียร์โดยอิงจากตำแหน่งต้นกำเนิดของกล้อง
- แต่ละซับโมเดลแทนฉากทั้งหมด แต่จะโมเดลเฉพาะเซลล์กริดที่เชื่อมกับตัวเองในความละเอียด สูง
- ทำได้โดยใช้วิธีบีบอัดพิกัดเฉพาะที่ของแต่ละซับโมเดล
- ความเที่ยงตรงของภาพถูกยกระดับด้วย การกลั่นความรู้ (distillation)
- ขั้นแรกจะฝึก Zip-NeRF ซึ่งเป็นเรเดียนซ์ฟิลด์ออฟไลน์รุ่นล่าสุด
- ใช้ค่าพยากรณ์สี RGB ของโมเดลครูเป็นสัญญาณกำกับสำหรับ SMERF
- ค่าความหนาแน่นเชิงปริมาตรของโมเดลครูที่ฝึกไว้ล่วงหน้าถูกนำมาใช้เพื่อลดความแตกต่างของค่าน้ำหนักการเรนเดอร์เชิงปริมาตรระหว่างครูกับนักเรียนให้น้อยที่สุด
ผลลัพธ์ด้านประสิทธิภาพและสื่อที่เผยแพร่
- SMERF ทำผลงานเหนือกว่าวิธีเดิมที่ดีที่สุดในการสังเคราะห์มุมมองใหม่แบบเรียลไทม์
- ดีขึ้น 0.78dB บนเบนช์มาร์กมาตรฐาน
- ดีขึ้น 1.78dB บนฉากขนาดใหญ่
- เรนเดอร์เฟรมได้เร็วกว่าโมเดลเรเดียนซ์ฟิลด์รุ่นล่าสุด หลายร้อยเท่า
- เดโมวิวเวอร์แบบอินเทอร์แอ็กทีฟเรียลไทม์ประกอบด้วยฉาก Berlin, NYC, Alameda, London, Gardenvase, Bicycle, Kitchen Lego, Stump, Office Bonsai, Full Living Room, Kitchen Counter, Treehill & Flower
- มีสื่อเผยแพร่เป็น Paper, Video, Code
- โมเดล SMERF ถูกกลั่นความรู้จากเช็กพอยต์ Zip-NeRF ที่ฝึกบนฉาก Mip-NeRF 360 และ Zip-NeRF
- ทั้งสองชุดข้อมูลและเช็กพอยต์เผยแพร่ภายใต้สัญญาอนุญาต CC-BY 4.0
- เช็กพอยต์ Mip-NeRF 360 ใช้สำหรับผลลัพธ์เชิงปริมาณและเชิงคุณภาพ ส่วนเช็กพอยต์ Zip-NeRF ผ่านการฝึก 50,000 steps
- ชุดข้อมูล Zip-NeRF fisheye ครอบคลุม Alameda, Berlin, London, NYC ใช้สำหรับผลลัพธ์เชิงคุณภาพ และผ่านการฝึก 100,000 steps
- ชุดข้อมูล Zip-NeRF undistorted ใช้สำหรับผลลัพธ์เชิงปริมาณ และผ่านการฝึก 100,000 steps
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
กระจกบนผนังห้องน้ำในเดโม Berlin ดูเหมือนเป็นทางเชื่อมไปยังห้องครัวข้างๆ
ดูเหมือนว่าอัลกอริทึมประเมินความลึกจะใช้ พารัลแลกซ์ จึงเข้าใจกระจกผิดว่าเป็นหน้าต่าง
ฝั่งห้องครัวมีก้อนเบลอๆ คล้ายด้านหลังของกระจกยื่นลึกเข้าไปในครัว แต่ทะลุความเบลอนั้นไปกลับยังมองเห็นทั้งสองห้องได้
หลอนพอสมควร ให้ความรู้สึกเหมือนเป็นผีที่เดินทะลุกำแพงได้
มันเลียนแบบเอฟเฟกต์แสงจากหน้าต่างสะท้อนบนโลหะได้อย่างแม่นยำ และจากในตู้เย็นก็ยังมอง “ออกมา” เห็นทั้งห้องได้
กระจกเต็มตัวในห้องนอนของฉากเดียวกันก็เป็นแบบเดียวกัน โดยมี ห้องกระจก เสมือนอยู่ด้านหลังกระจก ทำให้เกิดมิติความลึกเวลาเพ่งดู
เป็นผลลัพธ์ที่เจ๋งและแปลกใหม่มากจากเทคโนโลยีนี้
โอ้โห น่าทึ่งจริงๆ
Matterport น่าจะเอาสิ่งนี้ไปต่อยอดอย่างจริงจัง หรือไม่ก็อาจมีสตาร์ทอัพที่ออกมาปั่นป่วนตลาดอสังหาริมทรัพย์ได้เลย
ไม่น่าเชื่อว่ามันจะทำงานได้ลื่นขนาดนี้บนสมาร์ตโฟน
ถ้าจะให้ฟีดแบ็ก ผมว่าถ้ามีโหมดเคลื่อนที่ด้วยเข็มทิศและไจโรของโทรศัพท์น่าจะเป็นธรรมชาติกว่า
การบังคับด้วยนิ้วแล้วต้องทำความเข้าใจว่าจะเคลื่อนที่ในแกน xyz อย่างไรค่อนข้างแปลกๆ
อย่างที่หลายคนบอก ถ้ามี โหมด VR น่าจะสุดยอดมาก
เหตุผลที่ใช้ภาพที่จัดฉากและคัดมาอย่างดี ก็เพื่อทำให้คนอยากมาดูทรัพย์สินจริง
ผมไม่คิดว่าการดูผ่านโลกเสมือนจะทำให้คนตกหลุมรักบ้านได้ง่ายนัก
ผมก็คิดว่าประสบการณ์ผู้ใช้ตอนเคลื่อนที่ยังปรับปรุงได้อีก
เป็นงานที่ไว้แก้กันวันหลัง
มันทำงานได้ดีจนน่าประทับใจแม้บน S21 FE ที่อายุ 2 ปีแล้ว
วิธีที่มันสตรีมข้อมูลเข้ามาเพิ่มเรื่อยๆ ขณะสำรวจพื้นที่นั้นน่าประทับใจมาก และเงาสะท้อนบนทีวีในเดโม Berlin ก็ยอดเยี่ยมมาก
แต่กว่าจะโหลดข้อมูลทั้งหมดได้ใช้เวลาค่อนข้างนาน และฉากจะยังไม่เรนเดอร์จนกว่าภาพเริ่มต้นราว 40 ภาพจะโหลดเสร็จหมด
เลยสงสัยว่าสามารถเริ่มเรนเดอร์บางส่วนได้ทันทีที่ข้อมูลมาถึงหรือไม่ หรือจำเป็นต้องรอทั้งหมดก่อนการเรนเดอร์ก้อนใหญ่ครั้งแรก
MERF ซึ่งเป็นเวอร์ชันก่อนหน้าของแนวทางนี้ เก็บเวกเตอร์คุณลักษณะไว้ในภาพ PNG แต่ที่นี่เปลี่ยนมาใช้เป็นอาร์เรย์ไบนารีแทน
น่าเสียดายว่าการเรนเดอร์เฟรมแรกจำเป็นต้องโหลดอาร์เรย์เหล่านั้นทั้งหมดก่อน
แต่ก็จริงอย่างที่ชี้ไว้ว่า ขนาดเพย์โหลดที่ใหญ่ของ SMERF เป็นจุดอ่อน
ถ้าหาวิธีบีบอัดได้ 10 เท่า ประสบการณ์ก็คงเปลี่ยนไปอย่างสิ้นเชิง
น่าทึ่งจริงๆ มีคำถามจากเดโม fulllivingroom
โดยส่วนตัวผมชอบ โหมด FPS มากกว่า
ฉากนี้เป็นส่วนหนึ่งของเบนช์มาร์ก mip-NeRF 360 และดาวน์โหลดได้จากหน้าโครงการนี้: https://jonbarron.info/mipnerf360/
สำหรับการเทรนใช้ 8x V100 หรือ 16x A100
ไม่มีการแยกรายละเอียด แต่คร่าวๆ น่าจะประมาณ 50/50
ถ้าเป็นแฮ็กเกอร์ที่มีไฟก็น่าจะแก้โค้ด JavaScript แล้วลองเองได้
เปิด DevTools ของเบราว์เซอร์ดูก็จะเห็นโค้ดทั้งหมดอยู่
เป็นช่วงเวลาที่น่าตื่นเต้น
https://twitter.com/gracia_vr/status/1731731549886787634
https://www.gracia.ai
“Researchers create open-source platform for Neural Radiance Field development” (2023)
https://news.ycombinator.com/item?id=36966076
Included Methods และ Third-party Methods ของ NeRF Studio:
https://docs.nerf.studio/#supported-methods
Neural Radiance Field:
https://en.wikipedia.org/wiki/Neural_radiance_field
ผมติดตามเทคโนโลยีนี้ผ่าน Two Minute Papers และรอวันที่จะได้ลองใช้ด้วยตัวเอง
คุณปู่ของผมเสียไปเมื่อ 2 ปีก่อน พอมองย้อนกลับไปก็เหมือนผมได้ถ่ายรูปเก็บไว้เพื่อใช้แบบเดโมนี้พอดี
เป็นงานที่ยอดเยี่ยมมาก
สักวันหนึ่งมันจะเป็นไปได้
เป็นงานที่น่าทึ่งจริง ๆ และการที่กำลังดูสิ่งนี้อยู่บนเว็บเบราว์เซอร์มือถือก็น่าทึ่งมาก
พอดูฉาก NYC บนเดสก์ท็อปด้วยคุณภาพสูงสุด ก็แปลกใจที่คุณภาพของเคาน์เตอร์กับของบนชั้นวางค่อนข้างต่ำ
เลยเปิดดูโมเดล Lego แล้วฝั่งนั้น ละเอียดมาก จึงดูไม่น่าใช่ข้อจำกัดของวิธีการเอง
เลยสงสัยว่าเป็นเพราะคุณภาพของภาพอินพุต หรือมีเหตุผลอื่น
ยิ่งพื้นที่ใหญ่ขึ้น ก็ยิ่งต้องใช้ voxel มากขึ้นเพื่อคงความละเอียดคงที่ เช่น 1 mm^3
พอถึงจุดหนึ่ง ก็จำเป็นต้องยอมลดความละเอียดเชิงพื้นที่เพื่อแทนฉากที่ใหญ่ขึ้น
ข้อจำกัดอย่างที่สองคือโมเดลครูที่ใช้สำหรับการกลั่น
Zip-NeRF(https://jonbarron.info/zipnerf/) นั้นดี แต่ไม่สมบูรณ์แบบ
ขีดบนของคุณภาพการสร้างใหม่ของ SMERF ถูกกำหนดโดย Zip-NeRF ซึ่งเป็นครู
ดูเหมือนว่าจะมีตลาดสำหรับนายหน้าอสังหาริมทรัพย์ที่อัปโหลดรูปเพื่อสร้าง วอล์กทรู ของบ้านที่ลงประกาศขาย
สงสัยว่ามี โอเพนซอร์ซทูลเชน สำหรับจับภาพ ประมวลผล และโฮสต์วอล์กทรู 3D ที่สำรวจได้แบบนี้หรือไม่
เช่น Matterport แบบโอเพนซอร์ซ
เวิร์กโฟลว์ปัจจุบันคือถ่ายด้วย DSLR ประมาณค่าพารามิเตอร์กล้องด้วย COLMAP จากนั้นฝึกโมเดลครูด้วยโค้ดเบสหนึ่ง ฝึก SMERF ด้วยโค้ดเบสของเรา แล้วเรนเดอร์โมเดลด้วยเว็บวิวเวอร์
ฟังดูเหมือนเป็นโอกาส
เก็บข้อมูลไว้ตอนนี้ แล้วค่อยประมวลผลเมื่อมีเครื่องมือที่ดีกว่าออกมาได้
แนวทางการถ่ายภาพสำหรับ photogrammetry และ NeRF โดยทั่วไปใช้กับงานที่ต้องทำได้ตรง ๆ
สิ่งที่เห็นจากของพวกนี้คือมันใกล้เคียงกับ ภาพ 3D ที่สำรวจได้เพียงภาพเดียวและแม่นยำมาก
สิ่งที่ยังไม่เห็นคือฟีเจอร์และการตรวจจับวัตถุ การบล็อก และการสกัด
ถ้าจำเป็นต้องมีโค้ดกที่มีประสิทธิภาพและสตรีมได้มากขึ้น ก็หวังว่าโครงสร้างที่วิเคราะห์ได้ง่ายจะถูกเรียกร้องตามมาโดยธรรมชาติ
มีงานวิจัยดี ๆ ในด้านนี้อยู่ แต่ยังต้องไปอีกไกล
SMERF ว่าด้วย “การสังเคราะห์มุมมอง” เพื่อเรนเดอร์ภาพที่สมจริง และไม่ได้พยายามทำความเข้าใจเชิงความหมายหรือการแบ่งส่วน
หาเจอโดยพิมพ์ “nerf sam segment 3d” ใน DuckDuckGo
SMERF จัดการคนละปัญหา แต่ก็มีวิธีผสานข้อมูลเชิงความหมายและการตรวจจับเข้าด้วยกันได้แน่นอน