PartBloom: โมเดล 3D ที่สร้างขึ้นเป็นส่วนๆ
PartBloom เป็นเฟรมเวิร์กโอเพนซอร์สที่แปลงภาพเดียวให้เป็นโมเดล 3D แบบโมดูลาร์ซึ่งมีชิ้นส่วนที่สามารถส่งออกแยกกันได้ โดยใช้ LLM เพื่อจัดโครงสร้างและ TRELLIS เพื่อเพิ่มรายละเอียด

ไฮไลต์และผลลัพธ์: จากภาพเดียวสู่ชิ้นส่วนแยกกัน
PartBloom เป็นเฟรมเวิร์กโอเพนซอร์สที่เปลี่ยนภาพเดียวให้เป็นโมเดล 3 มิติที่มีชิ้นส่วนแยกกัน แนวคิดหลักเรียบง่าย: LLM สร้างโครงสร้าง จากนั้น TRELLIS เติมรายละเอียด ชิ้นส่วนต่าง ๆ ได้รับการวางแผนตามฟังก์ชันและการเคลื่อนไหวสัมพัทธ์ ทำให้สามารถส่งออกองค์ประกอบต่าง ๆ เช่น ตัวรถและล้อแยกกันได้ โมเดลแบบหยาบมุ่งรักษาช่องเปิดและจุดเชื่อมต่อไว้ ทำให้ผลลัพธ์แก้ไข เปลี่ยนชิ้นส่วน และประกอบได้ง่ายขึ้น
โครงการนี้นำเสนอตัวอย่างจากภาพเดียว 14 ตัวอย่าง การเปรียบเทียบการสร้างและการแยกชิ้นส่วน รวมถึงการสาธิตแอนิเมชันที่มีการทำริก รูปสองรูปด้านล่างแสดงรายละเอียดโดยรวมและขอบเขตของชิ้นส่วน ตัวอย่างเชิงคุณภาพเหล่านี้ชี้ให้เห็นถึงศักยภาพ แต่ไม่ได้ยืนยันความเหนือกว่าอย่างสม่ำเสมอเมื่อเทียบกับวิธีอื่น บทความนี้อ้างอิงจาก README และซอร์สโค้ด เราไม่ได้ทดสอบการสร้างด้วยตนเอง
วิธีการทำงาน: การวางแผน การปรับแต่ง และการถอดรหัสชิ้นส่วน

ขั้นตอนแรกประสานงานบทบาทของ LLM สามบทบาท Planner สร้างกราฟชิ้นส่วนที่อธิบายฟังก์ชัน กล่องขอบเขต ความสัมพันธ์ระหว่างแม่กับลูก ตำแหน่งจุดเชื่อมต่อ และการเคลื่อนไหวที่คาดไว้ จากนั้น Builder จะแก้ไขมาสก์ว็อกเซลแบบไบนารีสำหรับแต่ละชิ้นส่วนในกริดร่วมขนาด 64³ โดยใช้เครื่องมือรูปหลายเหลี่ยม แปรง ย้าย และล้าง เช่นเดียวกับการต่อบล็อก การดำเนินการเหล่านี้สร้างเรขาคณิตแบบหยาบขึ้นมาจริง ๆ Reviewer เปรียบเทียบภาพอ้างอิงกับพร็อกซีจากสี่มุมมอง เพื่อตรวจสอบสัดส่วน ชิ้นส่วนที่ขาดหาย จุดเชื่อมต่อ และช่องเปิด โดยสามารถเรียกใช้การซ่อมแซมได้สูงสุดสองรอบ
ขั้นตอนที่สองนำค่าน้ำหนัก TRELLIS ที่ผ่านการฝึกไว้แล้วกลับมาใช้ พิกัดการรองรับพื้นผิวรวมของโมเดลแบบหยาบจะถูกขยายออกหนึ่งเซลล์ตามทิศทางเพื่อนบ้านทั้งหกด้าน จากนั้นเข้ารหัสเป็น latent ของโครงสร้างด้วย VAE สำหรับโครงสร้างแบบ sparse หลังจากผสมการเข้ารหัสนี้เข้ากับ Gaussian noise แล้ว โมเดลโฟลว์จะสุ่มตัวอย่างจาก t=0.65 ถึง t=0 โดยใช้ค่าเริ่มต้น 12 ขั้น โดยมีภาพอ้างอิงเป็นตัวนำ ก่อนถอดรหัสโครงสร้างที่ผ่านการปรับแต่ง ดังนั้นพร็อกซีจึงทำหน้าที่เป็น spatial prior ที่แก้ไขได้ แม้ว่าการปรับแต่งยังอาจลบชิ้นส่วนขนาดเล็กออกได้
การกำหนดตามระยะทางและการขยายบริเวณที่เชื่อมต่อกันจะถ่ายโอนป้ายกำกับชิ้นส่วนไปยังโครงสร้างที่ผ่านการปรับแต่ง จากนั้นไปป์ไลน์จะสุ่มตัวอย่าง SLat ร่วมหนึ่งชุดสำหรับวัตถุทั้งหมด ซึ่งเป็นชุดฟีเจอร์ที่เชื่อมโยงกับพิกัดเชิงพื้นที่ การดำเนินการเหล่านี้แตกต่างกัน—latent ของโครงสร้างเริ่มต้นจากพร็อกซี ขณะที่ SLat แบบละเอียดถูกสร้างขึ้นใหม่ ในโหมด parts ซึ่งเป็นค่าเริ่มต้น ฟีเจอร์จะถูกเลือกตามป้ายกำกับชิ้นส่วนและถอดรหัสเป็นเมชแยกกัน ในโหมด joint ระบบจะถอดรหัส SLat ทั้งหมดเป็นฟีเจอร์ความละเอียดสูงขึ้นก่อนดึงเมชของแต่ละชิ้นส่วนออก บริบทการสร้างร่วมช่วยสนับสนุนความสอดคล้อง แต่ไม่ได้รับประกันรอยต่อที่ถูกต้อง
รูปลักษณ์มาจากส่วนของ SLat เดียวกันในแต่ละชิ้นส่วน ผ่านการถอดรหัสแบบ Gaussian การเรนเดอร์หลายมุมมอง และการอบพื้นผิว ผลลัพธ์ประกอบด้วยสีพื้นฐานที่อบไว้แล้ว และไม่ควรเข้าใจผิดว่าเป็นชุดวัสดุ PBR ที่สมบูรณ์ ไฟล์ส่งมอบประกอบด้วยข้อมูลการวางแผนและพร็อกซี เมชอิสระ GLB ที่มีพื้นผิวแยกตามชิ้นส่วน assembly_textured.glb ที่ประกอบแล้ว ภาพตัวอย่าง และบันทึกการทำงาน ทั้งหมดนี้ช่วยสนับสนุนการตรวจสอบ การแก้ไข และการแก้ไขปัญหา
การประยุกต์ใช้และแนวโน้ม: จากชิ้นส่วนแยกกันสู่แอสเซ็ตที่ใช้งานได้
การใช้งานที่เป็นไปได้ ได้แก่ การสร้างต้นแบบแอนิเมชัน มุมมองผลิตภัณฑ์แบบแยกชิ้นส่วน และการเรียนรู้การประกอบ เมชที่แยกกันยังคงต้องทำริกสำหรับแอนิเมชันโครงกระดูก การพิมพ์จริงยังต้องดำเนินการเพิ่มเติมเกี่ยวกับค่าความเผื่อ อินเทอร์เฟซ และความหนาของผนัง เนื่องจากเรขาคณิตที่มองไม่เห็นถูกอนุมานจากภาพเดียว จึงไม่ควรถือว่าผลลัพธ์เป็นวิศวกรรมย้อนกลับที่แม่นยำ
การติดตั้งใช้งานต้องมี LLM API สภาพแวดล้อม CUDA น้ำหนัก TRELLIS และ DINOv2 รวมถึง Blender 4.5 รีโพซิทอรี PartBloom ใช้สัญญาอนุญาต MIT แต่การพึ่งพา PhysX-Omni ใช้ S-Lab License 1.0 ซึ่งจำกัดการใช้งานเชิงพาณิชย์
แผนงานอย่างเป็นทางการประกอบด้วยการทำริกและการย้ายไปใช้ TRELLIS.2 การวิจัยเพิ่มเติมอาจสำรวจข้อจำกัดจากหลายมุมมอง การตรวจสอบจุดเชื่อมต่อ และการสร้างใหม่เฉพาะจุด การวัดการคงอยู่ของชิ้นส่วน คุณภาพรอยต่อ เวลาในการทำงาน และต้นทุน จะช่วยยืนยันว่าแนวทางนี้สามารถสนับสนุนเวิร์กโฟลว์การผลิตได้อย่างน่าเชื่อถือเพียงใด
แหล่งที่มา: รีโพซิทอรีและแผนงาน; พรอมต์ของเอเจนต์; ไปป์ไลน์การปรับแต่ง; การส่งออกพื้นผิว.
คำถามที่พบบ่อย
PartBloom สร้างอะไรจากภาพเดียว?
PartBloom แปลงภาพอ้างอิงหนึ่งภาพให้เป็นโมเดล 3 มิติที่มีชิ้นส่วนซึ่งแก้ไขแยกกันได้ ตัวอย่างเช่น สามารถส่งออกล้อของยานพาหนะเป็นเมชแยกชิ้นได้ คุณจึงหมุนหรือเปลี่ยนล้อได้โดยที่ตัวถังยังคงอยู่กับที่
PartBloom ตัดสินใจอย่างไรว่าส่วนหนึ่งสิ้นสุดลงและอีกส่วนหนึ่งเริ่มต้นขึ้นตรงไหน?
เริ่มต้นด้วยการถามว่าส่วนประกอบแต่ละชิ้นทำหน้าที่อะไรและเคลื่อนที่สัมพันธ์กับชิ้นส่วนข้างเคียงอย่างไร โมเดลภาษาจะใช้แผนนั้นสร้างรูปร่าง 3 มิติแบบคร่าว ๆ สำหรับแต่ละส่วน จากนั้น TRELLIS จะปรับปรุงเรขาคณิตโดยใช้ภาพอ้างอิงเป็นแนวทาง
PartBloom ส่งออกไฟล์ประเภทใดบ้าง
คุณจะได้รับไฟล์ GLB พร้อมเท็กซ์เจอร์สำหรับแต่ละชิ้นส่วน และไฟล์ assembly_textured.glb ที่แสดงวัตถุทั้งหมด เลือกไฟล์ของแต่ละชิ้นส่วนเพื่อแก้ไของค์ประกอบหนึ่งรายการ หรือเปิดไฟล์ assembly เพื่อตรวจสอบว่าชิ้นส่วนต่าง ๆ ประกอบเข้าด้วยกันอย่างไร เท็กซ์เจอร์จะมีเฉพาะสีพื้นฐานที่อบมาแล้วเท่านั้น
ส่วนต่างๆ ที่ซ่อนอยู่ในภาพมีความแม่นยำเพียงใด
PartBloom อนุมานพื้นผิวที่ซ่อนอยู่จากรูปร่างที่มองเห็นได้ ล้ออาจดูน่าเชื่อถือเมื่อมองจากด้านข้าง ขณะที่จุดเชื่อมต่อที่ซ่อนอยู่กับเพลายังต้องปรับแก้ ชิ้นส่วนขนาดเล็กอาจหายไประหว่างการปรับแต่งได้เช่นกัน ดังนั้นควรตรวจสอบโมเดลจากหลายมุมก่อนที่จะวางใจในความพอดี




