สร้าง 3D Model จากรูปภาพ

Опубликовано: 09 Февраль 2024
на канале: Techcast
292,670
11k

➤ Grainey
ขนมเพื่อสุขภาพที่กินได้ ทุกครั้งที่หิว แต่ไม่อยากเพิ่มน้ำหนัก
สามารถหาซื้อได้ที่ 7-11 ทุกสาขา
#ใช้ชีวิตPlusPlus #Grainey #กลาโนล่าบาร์

➤ คำอธิบายเพิ่มเติมแบบรวบรัด
ในคลิปอธิบายแบบ Abstract มากดังนั้นถ้าจะให้อธิบายเพิ่มเราจะมาเริ่มกันที่
Structure from motion ตอนเริ่มแรกที่หาจุดสำคัญจริงๆมันเรียกว่า Feature extraction เป็นเรื่องของ image processing เท่าที่ไปลองมาหลายๆที่ใช้
SIFT ในการหา Keypoint อยู่ และก็ Feature Matching ด้วย sift keypoint descriptors

ซึ่งส่วนนี้มันช้ามาก รูปห้องที่เราถ่ายมี 200 ใช้เวลา 1 วันเต็มๆ เพราะ มันหาทุกภาพเลย

พอหาครบเราจะได้ vector 2D (x, y) และ Pair ของ Vector แต่ละภาพ
มันก็จะมีสูตรหาว่า ถ้า x, y ขยับแล้วจะหามุมกล้องยังไง กล้องขยับยังไง (Camera Pose)

พอได้ Camera Pose คิดภาพว่า เรารู้ตำแหน่งกล้อง แล้วเราก็ยิงเส้นตรงไปที่จุดที่ตรงกัน จากทุกๆ ภาพ พอเส้นมันตัดกันเราก็จะได้ตำแหน่งของ vector 3D ของแต่ละจุด

ทำทุกจุด มันก็จะได้จุด 3D เต็มไปหมดเป็นก้อนๆ อันนี้เรียก point cloud
จากนั้นมันก็จะมีวิธี merge จุดเพื่อสร้าง 3D Mesh อีก อันนี้ลองไปอ่านต่อใน SFM paper ดู มันมีหลายอันให้ใช้

โดยวิธีนี้ มันเป็นท่าที่แม่นยำมากๆ เพราะ Math ล้วน แต่คำนวณนานมากเช่นกัน
นอกจากนี้ SIFT ก็ไม่สามารถหา Feature บนของมนๆ ใสๆ ได้ (Featureless object)

วิธีใหม่อย่าง NeRF เลยตอบโจทย์เพราะว่ามันทำได้
เราจะเห็นสูตรใน VDO ว่า NeRF มันใช้ Vector 5D เป็น input มันก็คือ x,y,z และ อีก 2 ตัวคือ direction ที่กล้องมันมองไป ส่วน output จะได้เป็น RGB (ภาพ) และ density (Depth)

แล้ว model เรามันต้อง Train ยังไง? หา xyz กล้องมาใส่ไง?
คำตอบก็คือ ใช้ Structure from motion นั้นแหล่ะหาตำแหน่งกล้องมาใส่
และ ภาพก็มาใส่ส่วน output แค่นั้นเลย

ทีนี้รู้วิธีสร้างแล้ว... ประโยชน์คือไรนะ?
มันก็คือ ทำ Featureless object ได้แล้ว 1 อย่าง 55555
นอกจากนี้ยังได้ภาพแสงเงาที่สมจริง ลองคิดภาพว่าถ้าเราสามารถใช้ google map
หรือ ทัวร์ สถานที่ได้ โดยไม่ได้เป็นแบบ google street view ที่ค่อยๆเดินไปตามจุด
แต่เป็นเหมือนโลก 3D เลย ลอยไปได้หมด จะเป็นไง

อีกประโยชน์เลยก็คือ พวก VR, AR พวกการแสดงภาพต่างๆ ในอนาคตอาจจะเปลี่ยนไปเลยก็ได้ ก็ขึ้นอยู่กับอนาคตแหล่ะ

➤ ช่องทางติดตาม
facebook :   / techcastneedsponsor  
discord:   / discord  

➤ support me
promptpay : https://bit.ly/3m3uH5p

➤ มาเป็น Member และ Sponsor ให้ Techcast ได้แล้ววันนี้
ด้วยการสมัครเป็นสมาชิกเพื่อเข้าถึงสิทธิพิเศษอีกมากมาย
   / @techcast  

➤ ติดต่องาน
email: [email protected]

➤ Ref.
Photogrammetry
https://en.wikipedia.org/wiki/Photogr...

COLMAP
https://colmap.github.io/

COLMAP paper (SFM)
https://demuc.de/colmap/

NeRF
https://github.com/bmild/nerf

โปรแกรมทำ NeRF ของ Nvidia
https://github.com/NVlabs/instant-ngp

Gaussian Splatting
https://github.com/graphdeco-inria/ga...

Lumalabs
https://lumalabs.ai/

คลิปสอน Structure from motion แบบเข้าใจง่าย
   • Structure from Motion Problem | Structure ...  
   • Observation Matrix | Structure from Motion  

Neuralangelo
https://github.com/NVlabs/neuralangelo

โปรแกรมที่ใช้ทำ Photoscanning
https://www.capturingreality.com/
https://alicevision.org/#meshroom