3D Scanner vs Photogrammetry สแกนเก็บ 3D ต่างกันยังไง?

3D Scanner vs Photogrammetry สแกนเก็บ 3D ต่างกันยังไง?

กระแสการมาของ Metaverse, ความนิยมในการเล่นเกมส์มากขึ้น, ความสมจริงของภาพยนต์ SFX Animation เป็นปรากฏการณ์ที่เกิดขึ้นในช่วงปีนี้ ทุกอย่างเกี่ยวข้องกับ 3D Modelling หรือ การสร้างไฟล์ 3มิติ การจะได้มาซึ่งไฟล์ 3มิติ สามารถทำได้ 2วิธีหลักๆด้วยกัน คือ เขียน 3Dขึ้นมาใหม่ และ การสแกน 3มิติ

เทคโนโลยี 3D Scanning มีการพัฒนาขึ้นมากจากสมัยก่อน ช่วยลดเวลาในการสร้างโลกเสมือน ตัวอย่างเกมส์ AAA สมัยนี้สิ่งแวดล้อมทั้งหมดในเกมส์เป็นการสแกนจากของจริงเกือบทั้งหมด รถยนต์, หน้าตารูปร่างตัวละคร, บ้าน, ก้อนหิน รวมถีงต้นไม้ การ 3D Model Capture ใช้เวลาน้อยกว่าสร้างขึ้นใหม่ และสมจริงมาก (นึกภาพการถ่ายภาพคน กับการวาดภาพเหมือนโดยศิลปิน การถ่ายภาพย่อมสมจริงกว่า) นอกจากนี้เครื่องมือที่ใช้สมัยนี้ ฉลาดด้วย AI และ ราคาถูกลง ใช้กันกว้างขวางมากขึ้น จริงอยู่การสร้างหรือเขียนโมเดล 3มิติขี้นมายังมีความสำคัญ และไม่ได้หายไปซะทีเดียว เนื่องจากยังต้องสร้างสรรค์บางสิ่งจากจินตนาการ สิ่งที่ไม่เคยมีอยู่จริง แต่มีแนวโน้มสูงว่า ศิลปิน นักสร้างสรรค์จะใช้ 3D Scanning มาต่อยอดกับจินตนาการที่ตนต้องการสร้าง  เช่น สแกนรูปร่างผิวงู + คน  มาสร้างเป็นสัตว์ประหลาดครึ่งคนครึ่งงู  เอา 3D Scanning ไปต่อยอดอีกที

ในบทความนี้จะกล่าววิธี 3D Scanning ที่ได้รับความนิยม 2แบบ คือ ใช้ 3D Scanner และ ใช้ Photogrammetry ซึ่งมีข้อดี ข้อเสีย แตกต่างกันออกไป เหมาะกับงานที่ต่างกันออกไป

ก่อนที่จะอธิบายถึงเรื่องนี้อาจจะมี คำศัพท์ที่ควรรู้ก่อนคือ Point Cloud, Mesh, Wireframe และ Texture เป็นคำศัพท์ที่คนใช้ 3D Scanning / Model Capture ต้องรู้

  • Point Cloud ประกอบจากจุด 3มิติจำนวนมาก (หลายหมื่น-หลายล้านจุด) โดยแต่ละจุดมีตำแหน่งของตัวเองในมิติ x,y,z จุดเหล่านี้เองที่สร้างให้เกิดรูปร่าง 3มิติ Point Cloud อาจจะมี Format เป็น .PTX หรือ .E57 เป็นต้น มีหน่วยเป็น Points
  • Mesh เกิดจากการลากต่อจุด Point Cloud เข้าด้วยกันเป็นรูปร่าง สามเหลี่ยม โดยมีขอบ edge, มีหน้าปิด face เจ้าหน้าสามเหลี่ยมนี้เองที่แสดงผลให้เราเห็นเป็นรูปร่าง 3มิติ Mesh มีหลาย Format มากๆ แต่ที่เป็นที่นิยมคือ .STL, .OBJ เป็นต้น มีหน่วยรับเป็น Vertices หรือ Triangles
  • Wireframe เหมือน Mesh ทุกประการเพียงแสดงผลแค่ edge, ปิดการมองเห็น face จะมองเห็นไฟล์สามมิติเป็นร่างแห ใช้เป็นการดู Outline ของโมเดลเรานั้นเอง
  • Texture เป็นส่วนประกอบสีของโฟล์ 3มิติ โดยปกติ Mesh ไม่ได้มีสีเป็นของมันเอง การใส่สีให้โมเดลเราจะใช้ไฟล์รูปภาพ .JPG, .PNG, .BMP มาแมพคู่กับไฟล์สามมิติ ออกมาเป็นโมเดลที่มีสีนั้นเอง
Point Cloud เป็นจุดจำนวนมากอยู่ใน Space x,y,z | Mesh กับ Wireframe จริงๆคืออันเดียวกัน เป็นการลากต่อจุด Point Cloud ให้เกิดสามเหลี่ยมจำนวนมากประกบกันเป็นรูปร่าง 3มิติขึ้นมา โดย Mesh มีทั้งขอบและหน้า ส่วน Wireframe เป็นการแสดงแค่ขอบโครงไม่แสดงหน้า | Textured Mesh เป็นการ Mapping รูปภาพเข้ากับ Mesh
โมเดล 3มิติ Mesh ธรรมดาไม่มีสี เมื่อมารวมกับไฟล์รูป จะออกมาเป็นโมเดลสามมิติที่ดูสมจริง

3D Scanner เครื่องสแกน 3มิติ

ข้อมูลโดยย่อ : เครื่องมือที่สร้างขึ้น เพื่อเก็บชิ้นงานจริง ไปในรูปแบบ Digital โดยมีความกว้าง x ยาว x สูง เริ่มต้นเดิมทีระบบนี้จะใช้เชิงเครื่องมือวัดขนาดในทาง Reverse Engineer, Control Engineer และทางการแพทย์ มีราคาสูง แต่ 5ปีมานี้ราคาลดลงอย่างมาก ตัวดีๆหลักแสนก็ซื้อได้แล้ว เหมาะกับการนำเอาไปใช้กับงานที่ต้องการความแม่นยำสูง Point Cloud มีถูกต้องแม่นยำ (ต้องมีการ Calibrate อยู่เรื่อยๆเพื่อความแม่นยำ) เหมาะกับการนำไปใช้วัดขนาด ปริมาตร และ วิเคราะห์  ปัจจุบันเอาไปใช้กับงานศิลปะ กับบันเทิงเยอะมาก

หลักการสแกน : เครื่องประกอบด้วยส่วนสำคัญคือ แหล่งกำเนิดแสง และ กล้องรับภาพ เครื่องสแกนจะยิงสัญญาณแสงไปที่ชิ้นงาน สิ่งที่ต้องการสแกน แสงจะตกกระทบกับพื้นผิวสะท้อนกลับมาที่กล้องกล้องรับแสง รูปร่างที่ต่างกัน ก็จะได้สัญญาณแสงที่แตกต่าง Software จะใช้ AI ประมวลผลเป็นจุด 3มิติจำนวนมาก (Point Cloud) แบบ Realtime แหล่งกำเนิดแสงสามารถเป็นได้หลายแบบ เช่น Pattern ลักษณะคล้ายๆบาร์โค๊ด เรียก LED 3D scanner, หากแหล่งกำเนิดแสงเป็นแสงเลเซอร์ เรียก Laser 3D Scanner/ Lidar, แหล่งกำเนิดแสงอาจจะเป็นอย่างอื่น เช่น Infrared, X-ray

ประกอบด้วย 2ส่วนหลัก คือแหล่งกำเนิดแสงยิงไปยังชิ้นงาน รูปร่างที่แตกต่างให้สะท้อนที่แตกต่าง กล้องรับภาพไปประมวลผลออกมาเป็น 3D Realtime

ข้อดี : ถูกสร้างมาเป็นเครื่องมือวัด 3มิติ มาตั้งแต่ต้น ดังนั้นมีความแม่นยำสูง อีกทั้งใช้งานง่ายๆ เพื่อให้ผู้ใช้สามารถสแกนได้เร็ว และ ทีละมากๆ Software ถูก Optimize ให้สแกนได้ดีในช่วงหนึ่งๆ ตามที่เครื่องออกแบบไว้

  • แม่นยำสูง เพราะมีการ Calibrate เครื่องอยู่เรื่อยๆ
  • เร็ว และ ได้ไฟล์3มิติ แบบ Realtime
  • ใช้งานค่อนข้างง่าย

ข้อเสีย :  เครื่องสแกนไม่สามารถสแกนได้ครอบคลุม เครื่องถูกออกแบบมาให้สแกนได้ดีในช่วงๆหนึ่งๆเท่านั้น หากต้องการสแกนของเล็กๆก็ต้องใช้รุ่นหนึ่ง, หากต้องการสแกนรถยนต์ก็ต้องใช้อีกรุ่น, หากงานเน้นไปทางโลหะจะต้องใช้ Laser Scan หรือ หากต้องการสแกน Outdoor ต้องใช้เครื่อง Lidar แบบกระจกหมุน เป็นต้น หากจะต้องแสดงในหลายช่วง ก็ต้องซื้อเครื่องสแกนหลายเครื่อง ใช้เงินเยอะนั้นเอง

  • ออกแบบมาให้ใช้กับงานเฉพาะ เช่น เฉพาะช่วง 10-50cm, ช่วง 20-200cm หากสิ่งที่ต้องการสแกนมีหลายช่วง ก็ต้องซื้อหลายเครื่อง
  • เฉพาะเรื่องสี (Texture) สู้ระบบ Photogrammetry ไม่ได้เพื่อมันมีพื้นฐานจากรูปจำนวนมาก

เหมาะกับงาน : เน้นจากเด่นเรื่อง ความแม่นยำของ Point Cloud และ 3D Scanner แรกเริ่มเดิมที ถูกสร้างเป็นเครื่องมือวัด การวิเคราะอยู่แล้ว เหมาะกับ การใช้เชิงวิศวกรรม ที่เน้นเรื่องรูปร่างที่ถูกต้อง ขนาดที่แม่นยำ เช่น Reverse Engineer, งานที่เอาทำต่อกับกับเครื่อง CNC Milling, 3D Printer ทำงานประติมากรรม ที่ต้องขยายขนาด เครื่องนี้ยังใช้ในการสร้างภาพยนต์, เกมส์ ที่ต้องการรายละเอียดของ 3D สูงๆ

3D Scanner เก่งเรื่องรูปร่าง ขนาด ความแม่นยำ เพราะมันคำนวนและวัดจาก Pattern แสง  

เพิ่มเติม : ส่วนใครอยากอ่านเพิ่มเติม เรื่อง 3D Scanner มีกี่แบบอะไรบ้างให้ลองดู บทความนี้ครับ  รู้จัก 3D Scanner คืออะไร? มีกี่ประเภท?    หรือดูเพิ่มเติมใน Video ด้านล่าง

 

Photogrammetry สร้าง 3D จากรูป 2D (จำนวนมาก)

ข้อมูลโดยย่อ : Photogrammetry หรือ การสร้าง 3D จากรูปถ่าย จริงๆมีมาก่อน 3D Scanner นานหลายสิบปีแล้ว ตย. การนำรูป 2รูปที่ถ่ายเหลื่อมกัน แล้วให้ใส่แว่นตาแดง น้ำเงิน ทำให้เกิดรูป 3มิติ เลียนแบบการมองเห็นภาพ 3มิติของตาสองข้าง เป็นตัวอย่างที่ดีของการใช้หลักการ Photogrammetry ในช่วงเริ่มต้นของเทคนิคนี้นิยมใช้กับงานนูนต่ำ และใช้ในวงจำกัด ระยะ 10ปีมานี้ระบบนี้ได้พัฒนาไปอย่างมาก AI เก่งขึ้น คอมพิวเตอร์ประมวลผลแรงขึ้น กล้องภาพสวยราคาถูก หรือ แม้กระทั่งกล้องมือถือเดียวนี้สวยขึ้นมาก อย่างไรก็นี้ระบบนี้ใช้ความรูปและเทคนิคมากพอควร

หลักการสแกน : เกิดจากเอากลุ่มภาพ อาจจะถ่ายด้วยมือถือ, กล้อง Mirrorless, Drone ถ่ายภาพจากมุมสูง ที่ต้องถ่ายให้เหลื่อมกันอย่างน้อย 30% Software จะประมวลผลภาพเหลานั้น โดยหาจุดใดที่เหลื่อมจุดเดียวกันมา Plot ใน Space X,Y,Z ออกมาเป็น Point Cloud การประมวลผลใช้เวลาพอควร และกิน CPU, SSD, RAM พอตัวคุณภาพของ Point Cloud จะดีไม่ดีนั้นขึ้นกับ Software ที่นิยมใช้กันมี Metashape (Workflow ง่ายซื้อขาด ใช้ฟรี30วัน), Reality Capture (จ่ายทุกครั้งที่ Export, Plugin ตรงกับ Unreal Engine)

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

เมื่อได้ Point Cloud สามารถไปสร้างต่อเป็น Mesh 3มิติ และสุดท้ายที่เป็นพระเอกของระบบนี้คือการสร้าง Texture สีพื้นผิวของโมเดลที่เหมือนที่สุดในทุกการระบบการสแกน (เพราะมันสร้างจากรูปถ่ายหลายสิบ หลายร้อยรูป)

ถ่ายรูปจำนวนมาก วัตถุดิบในการสร้าง 3D ในระบบนี้คือ “รูป” เอาภาพจำนวนมากมาประมวลผล หากจุดที่เชื่อมกันในแต่ละภาพมาเป็น Point Cloud ไม่สามารถได้ไฟล์ 3มิติ แบบ Realtime ใช้เวลาในการประมวลผลของข้างนานเป็น ชม.

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

  • Flexible ขอให้ถ่ายได้เป็นรูป ใช้ได้หมดที่ช่วง ตั้งแต่มด, คน, บ้าน หรือ แม้กระทั่งทั้งภูเขา
  • เก่งมากเรื่องสี ความสมจริง เพราะมันเกิดจากรูปจำนวนมาก

ข้อเสีย : ระบบนี้ต้องใช้ความรู้ ความเข้าใจสูง เทคนิคดีสแกนสวย เร็ว, เทคนิคไม่ได้อาจจะไม่ได้ 3D เลย อาจจะไม่เหมาะกับทุกคน แต่เป็นเรื่องที่ฝีกกันได้ หากต้องการใช้เครื่องมือสำเร็จให้ใช้ 3D Scanner แทน เรื่องต่อมาคือ เครื่องคอมที่ใช้ต้อง Spec ดี-ดีมาก เน้นที่ CPU, RAM, SSD ในการคำนวนหาจุดที่เหมือนกัน มาสร้างเป็น Point Cloud  ถึงแม้ว่าสีสวย เหมือนจริง แต่หากปิดสีไป มองแค่ 3D Model อย่างเดียวอย่างไงก็สูง 3D Scanner ไม่ได้

  • ต้องใช้ความรู้ความเข้าใจมาก ใช้เวลาในการ Process นาน แก้ได้โดยมีกล้องหลายๆตัว หรือ คอมที่แรงมากๆ
  • ไม่เก่งเรื่องขนาด Point Cloud แม่นยำ สู้ 3D Scanner ไม่ได้ เพราะมาจากภาพ ไม่ใช่เครื่องมือวัดอย่าง 3D Scann

เหมาะกับงาน : เนื่องจากเด่นเรื่อง Texture สีสันที่ดูเหมือนจริง งานโชว์, VR, AR, MR, Metaverse งานเกมส์, VFX และ งานโฆษณา งานที่มีขนาดใหญ่มากๆ ภูเขาทั้งลูก เป็นต้น คุณภาพงาน 3D จะสูงขึ้นเมื่อมีรูปถ่ายมากขึ้น สามารถไปประยุกต์ใช้งานกับงานวิศวกรรม และ การแพทย์ได้เหมือนกัน

Photogrammetry เก่งเรื่อง สี Virtual ดูสมจริง ดูแล้วสวยมาก เพราะมันสร้างมาจากรูปถ่ายจำนวนมาก 

Photogrammetry ในรูปใช้กล้องจำนวน 150ตัว ถ่ายรูปพร้อมกันไปที่คน กล้องถูกว่าตำแหน่งมุมที่แตกต่าง โดยครอบคลุมทุกส่วนของร่างกาย เพื่อได้ภาพถ่ายทั้งหมดเราไป Generate ใน Software ออกมาเป็นไฟล์ 3มิติ
งานที่ได้จาก Photogrammetry หากมีกล้องจำนวนมากพอ ก็จะสามารถสร้าง 3D โมเดลคุณภาพสูงมากๆได้ ในรูปใช้กล้อง DSLR 200ตัว ถ่ายภาพพร้อมกัน จะเห็นว่าคนกระโดดถือ remote กล้องอยู่

สรุป

ระบบทั้งสอง สามารถทดแทนกันได้ เพราะได้ไฟล์ 3มิติ ออกมาเหมือนกัน เก็บชิ้นงานจริงออกมาเป็น 3มิติเหมือนกัน

  • 3D Scanner จัดได้เป็นเครื่องมือวัดประเภทหนึ่ง เก่งเรื่องความแม่นยำ ของ Point Cloud และ ขนาดที่สมจริง
  • Photogrammetry เกิดจากการใช้ภาพถ่ายจำนวนมาก อย่างไงก็ได้สีสัน สวยงาม และ สมจริงกว่า แต่ความแม่นยำสูง 3D Scanner ไม่ได้
  • ถ้าคำนึงเรื่องความถูกต้องแม่นยำ ของขนาด รูปร่าง เป็นหลักให้ไปทาง 3D Scanner
  • ถ้าคำนึงออกมาสวย สีสวย สมจริง เอาไปใช้ VR, AR, Animation เป็นหลัก ให้ไปทาง Photogrammetry
  • ถ้าใช้ง่าย เพราะสร้างให้ สแกนอย่างเดียว เสร็จเร็วกว่า ให้ไปทาง 3D Scanner
  • ถ้ากะจะใช้ สแกนทุกอย่าง Model, Indoor, Outdoor และ Landscape ให้ไปทาง Photogrammetry (เพราะถ่ายรูปกี่รูปก็ได้ไม่จำกัด ถ่ายไปเลยครับ ติดอยู่ที่ความแรงของคอมพิวเตอร์ในการประมวลผล)

ปล. ไฟล์ .MTL(Material Template Library) เป็นเหมือนสารบัญบอกตำแหน่งว่าจะวางภาพห่อไฟล์ 3มิติที่ตำแหน่งใด ดังนั้นในไฟล์ 3มิติที่มี Texture จริงจะมีอยู่ 3ไฟล์อยู่ด้วยกัน .OBJ เป็นไฟล์3มิติ / .MTL สารบัญบอกตำแหน่งว่ารูปว่างบน3มิติอย่างไร / .JPG หรือไฟล์รูปอื่นๆ 

Photogrammetry

3D Scanner