โมเดลและแพลตฟอร์ม AI
วิธีการทำงานของ Text-to-3D AI Generation: Meta 3D Gen, OpenAI Shap-E และอื่นๆ

By
Aayush Mittal มิตตาล
ความสามารถในการสร้างสินทรัพย์ 3D ดิจิทัลจากข้อความสั่งงานเป็นตัวแทนของหนึ่งในความก้าวหน้าที่น่าตื่นเต้นที่สุดใน AI และกราฟิกคอมพิวเตอร์ ในขณะที่ตลาดสินทรัพย์ 3D ดิจิทัลคาดว่าจะเติบโตจาก 28.3 พันล้านดอลลาร์สหรัฐฯ ในปี 2024 เป็น 51.8 พันล้านดอลลาร์สหรัฐฯ ในปี 2029 โมเดล AI Text-to-3D เตรียมพร้อมที่จะเล่นบทบาทสำคัญในการปฏิวัติวิธีการสร้างเนื้อหาทั่วอุตสาหกรรมต่างๆ เช่น การเล่นเกม ภาพยนตร์ อีคอมเมิร์ซ และอื่นๆ แต่เกิดอะไรขึ้นอย่างแน่นอนว่าระบบ AI เหล่านี้ทำงาน?
ความท้าทายของการสร้าง 3D
การสร้างสินทรัพย์ 3D จากข้อความสั่งงานเป็นงานที่ซับซ้อนกว่าการสร้างภาพ 2D มาก เนื่องจากภาพ 2D เป็นเพียงตารางของพิกเซล สินทรัพย์ 3D ต้องการการแสดงเรขาคณิต เนื้อสัมผัส วัสดุ และบางครั้งการเคลื่อนไหวในพื้นที่สามมิติ ความซับซ้อนนี้ทำให้การสร้างสินทรัพย์ 3D มีความท้าทายมากขึ้น
ความท้าทายหลักๆ ในการสร้าง 3D จากข้อความสั่งงาน ได้แก่
- การแสดงเรขาคณิตและโครงสร้าง 3D
- การสร้างเนื้อสัมผัสและวัสดุที่สอดคล้องกันบนพื้นผิว 3D
- การรับรองความเป็นไปได้ทางกายภาพและความสอดคล้องจากหลายมุมมอง
- การบันทึกรายละเอียดและโครงสร้างทั่วไปพร้อมกัน
- การสร้างสินทรัพย์ที่สามารถแสดงหรือพิมพ์ 3D ได้ง่าย
เพื่อจัดการกับความท้าทายเหล่านี้ โมเดล Text-to-3D ใช้เทคโนโลยีและเทคนิคหลักๆ หลายอย่าง
ส่วนประกอบหลักของระบบ Text-to-3D
ระบบ Text-to-3D ส่วนใหญ่ที่มีอยู่ในปัจจุบันแบ่งออกเป็นส่วนประกอบหลักๆ ดังนี้
- การเข้ารหัสข้อความ: การแปลงข้อความสั่งงานเข้าไปในแบบจำลองตัวเลข
- การแสดง 3D: วิธีการแสดงเรขาคณิตและลักษณะของสินทรัพย์ 3D
- โมเดลสร้าง: โมเดล AI หลักที่สร้างสินทรัพย์ 3D
- การแสดงภาพ: การแปลงการแสดง 3D เป็นภาพ 2D เพื่อแสดงผล
มาทำความเข้าใจแต่ละส่วนเหล่านี้กัน
การเข้ารหัสข้อความ
ขั้นตอนแรกคือการแปลงข้อความสั่งงานเข้าไปในแบบจำลองตัวเลขที่โมเดล AI สามารถทำงานได้ ซึ่งโดยทั่วไปจะใช้โมเดลภาษาขนาดใหญ่ เช่น BERT หรือ GPT
การแสดง 3D
มีวิธีการแสดงเรขาคณิต 3D ที่ใช้กันอย่างแพร่หลายในโมเดล AI
- โครงข้อมูลวอกเซล: แถวคอลัมน์ของค่าซึ่งแสดงถึงการเข้าถึงหรือคุณลักษณะ
- เมฆจุด: ชุดของจุด 3 มิติ
- เมช: จุดยอดและหน้าผิวที่กำหนดพื้นผิว
- ฟังก์ชันโดยนัย: ฟังก์ชันต่อเนื่องที่กำหนดพื้นผิว (เช่น ฟังก์ชันระยะห่างที่ลงนาม)
- สนามรัศมีประสาท: โมเดลประสาทที่แสดงความหนาแน่นและสีในพื้นที่ 3 มิติ
แต่ละวิธีมีข้อดีและข้อเสียในด้านความละเอียด การใช้หน่วยความจำ และความง่ายในการสร้าง
ตัวอย่างเช่น เราสามารถแสดงวงกลมง่ายๆ เป็นฟังก์ชันระยะห่างที่ลงนามได้
import numpy as np
<p>def sphere_sdf(x, y, z, radius=1.0):
return np.sqrt(x**2 + y**2 + z**2) - radius</p>
<p># Evaluate SDF at a 3D point
point = [0.5, 0.5, 0.5]
distance = sphere_sdf(*point)
print(f"Distance to sphere surface: {distance}")
โมเดลสร้าง
แก่นกลางของระบบ Text-to-3D คือโมเดลสร้างที่ผลิตการแสดง 3D จากการเข้ารหัสข้อความ
โมเดลส่วนใหญ่ที่มีอยู่ในปัจจุบันใช้การเปลี่ยนแปลงแบบกระจาย ซึ่งคล้ายกับโมเดลที่ใช้ในการสร้างภาพ 2D
โมเดลการเปลี่ยนแปลงแบบกระจายทำงานโดยการเพิ่มสัญญาณรบกวนให้กับข้อมูล จากนั้นเรียนรู้ที่จะย้อนกลับกระบวนการนี้
การแสดงภาพ
เพื่อแสดงผลลัพธ์และคำนวณความสูญเสียระหว่างการฝึกอบรม เราต้องแสดงการแสดง 3D เป็นภาพ 2D
โดยทั่วไปจะใช้เทคนิคการแสดงภาพที่แตกต่างกันซึ่งอนุญาตให้กราดิเอ็นต์ไหลผ่านกระบวนการแสดงภาพ
การรวมทุกอย่าง: ระบบ Text-to-3D
ทีนี้ที่เราได้ครอบคลุมส่วนประกอบหลักแล้ว มาทำความเข้าใจว่าพวกมันมารวมกันอย่างไรในระบบ Text-to-3D ทั่วไป
- การเข้ารหัสข้อความ: ข้อความสั่งงานถูกเข้ารหัสเป็นแบบจำลองตัวเลขโดยใช้โมเดลภาษา
- การสร้างเริ่มต้น: โมเดลการเปลี่ยนแปลงแบบกระจายที่มีเงื่อนไขการเข้ารหัสข้อความสร้างการแสดง 3D เริ่มต้น
- ความสอดคล้องหลายมุมมอง: โมเดลแสดงมุมมองหลายมุมของสินทรัพย์ 3D ที่สร้างขึ้นและรับรองความสอดคล้องระหว่างมุมมอง
- การปรับปรุง: โมเดลเพิ่มเติมอาจปรับปรุงเรขาคณิต เพิ่มเนื้อสัมผัส หรือเพิ่มรายละเอียด
- ผลลัพธ์สุดท้าย: การแสดง 3D ถูกแปลงเป็นรูปแบบที่ต้องการสำหรับการใช้งานในแอปพลิเคชันต่อไป
ตัวอย่างเช่น นี่คือตัวอย่างที่เรียบง่ายของวิธีการทำงานนี้ในโค้ด
class TextTo3D(nn.Module): def __init__(self): super().__init__() self.text_encoder = BertModel.from_pretrained('bert-base-uncased') self.diffusion_model = DiffusionModel() self.refiner = RefinerNetwork() self.renderer = DifferentiableRenderer() <p>def forward(self, text_prompt): # Encode text text_embedding = self.text_encoder(text_prompt).last_hidden_state.mean(dim=1)</p> <p># Generate initial 3D representation initial_3d = self.diffusion_model(text_embedding)</p> <p># Render multiple views views = self.renderer(initial_3d, num_views=4)</p> <p># Refine based on multi-view consistency refined_3d = self.refiner(initial_3d, views)</p> return refined_3d <p># Usage model = TextTo3D() text_prompt = "A red sports car" generated_3d = model(text_prompt)
โมเดล Text to 3D ที่ดีที่สุด
3DGen – Meta
3DGen ได้รับการออกแบบมาเพื่อแก้ไขปัญหาการสร้างเนื้อหาสามมิติ เช่น ตัวละคร ของ และฉาก จากคำอธิบายข้อความ

Large Language and Text-to-3D Models – 3d-gen
3DGen รองรับการแสดงภาพแบบ PBR ซึ่งจำเป็นสำหรับการสร้างแสง 3D ที่สมจริงในแอปพลิเคชันในโลกแห่งความเป็นจริง นอกจากนี้ยังช่วยให้สามารถสร้างเนื้อสัมผัสใหม่สำหรับตัวละครหรือรูปทรง 3D ที่สร้างขึ้นหรือสร้างโดยศิลปินโดยใช้ข้อความสั่งงานใหม่
Meta 3D AssetGen
Meta 3D AssetGen (Siddiqui et al., 2024) เป็นส่วนประกอบที่รับผิดชอบในการสร้างสินทรัพย์ 3D เริ่มต้นจากข้อความสั่งงาน
Meta 3D TextureGen
Meta 3D TextureGen (Bensadoun et al., 2024) ปรับปรุงเนื้อสัมผัสที่สร้างโดย AssetGen
Point-E (OpenAI)
Point-E, developed by OpenAI, เป็นอีกหนึ่งโมเดล Text-to-3D ที่น่าสนใจ
Shap-E (OpenAI):
Shap-E, developed by OpenAI, เป็นอีกหนึ่งโมเดล Text-to-3D ที่น่าสนใจ
GET3D (NVIDIA):
GET3D, developed by NVIDIA (NVDA ) researchers, เป็นอีกหนึ่งโมเดล Text-to-3D ที่น่าสนใจ
สรุป
การสร้าง 3D จากข้อความสั่งงานเป็นตัวแทนของการเปลี่ยนแปลงพื้นฐานในการสร้างและโต้ตอบกับเนื้อหาสามมิติ โดยใช้เทคนิคการเรียนรู้ลึกที่ทันสมัย โมเดลเหล่านี้สามารถสร้างสินทรัพย์ 3D ที่ซับซ้อนและคุณภาพสูงจากข้อความสั่งงานง่ายๆ
ฉันใช้เวลาที่ผ่านมา 5 ปีในการศึกษาสิ่งที่น่าสนใจเกี่ยวกับ Machine Learning และ Deep Learning ความเชี่ยวชาญและความหลงใหลของฉันทำให้ฉันเข้าร่วมในโครงการพัฒนาซอฟต์แวร์มากกว่า 50 โครงการที่มีความหลากหลาย โดยมุ่งเน้นไปที่ AI/ML ความอยากรู้อยากเห็นของฉันยังทำให้ฉันสนใจในด้าน Natural Language Processing ซึ่งเป็นสาขาที่ฉันต้องการสำรวจต่อไป
ค้นพบเพิ่มเติม


การติดตั้งแพ็คเกจ Python เป็นดัชนีของการนำ AI ไปใช้ในท้องถิ่น


โมเดลที่ดีที่สุดของ OpenAI เพิ่งวางจำหน่ายหลังประตูของรัฐบาล


การแข่งขัน AI ที่รุนแรงขึ้น: ความร่วมมือเชิงกลยุทธ์ของ AMD กับ OpenAI


OpenAI ได้ทำสัญญา 7 ปี มูลค่า 3.8 ล้านล้านดอลลาร์กับ AWS Cloud Partnership


การเพิ่มประสิทธิภาพ Neural Radiance Fields (NeRF) สำหรับการแสดงผล 3D ในเวลาจริงในแพลตฟอร์มอีคอมเมิร์ซ


โพรโทคอล Model Context ของ Claude: คู่มือสำหรับนักพัฒนา
