อัปเดต: พื้นที่เก็บข้อมูลนี้เลิกใช้แล้ว โปรดใช้ Meshfinity หรือ TripoSR repo อย่างเป็นทางการ หากคุณต้องการสร้าง Textured Meshes เนื้อหาของ repo นี้จะยังคงออนไลน์อยู่ ในกรณีที่คุณจำเป็นต้องแก้ไขเรขาคณิตของตาข่ายที่สร้างขึ้นโดยเฉพาะก่อนที่จะอบพื้นผิว - แต่ผู้ใช้จำนวนมากจะไม่ต้องการฟังก์ชันนี้
TripoSR เป็นโมเดลโอเพ่นซอร์สที่ยอดเยี่ยมสำหรับการอนุมานข้อมูลรูปร่างและพื้นผิว 3 มิติจากเมช 2 มิติ เช่นเดียวกับโมเดลการเรียนรู้ของเครื่องล่าสุดหลายๆ รุ่นสำหรับกราฟิก 3D เชิงสร้างสรรค์ TripoSR ใช้การแสดงปริมาตร NeRF (neural radiance field) สำหรับข้อมูล 3 มิติ เมื่อเทียบกับตาข่ายรูปหลายเหลี่ยมแบบดั้งเดิม พื้นที่เก็บข้อมูล TripoSR มีโค้ดสำหรับการแปลง NeRF ที่สร้างขึ้นเป็น mesh โดยใช้อัลกอริธึม Marching Cubes แต่จัดเก็บข้อมูลสีเป็นสีจุดยอดแทนที่จะเป็นพื้นผิว ซึ่งจำกัดความละเอียดอย่างมาก และป้องกันการดัดแปลงเรขาคณิตเพิ่มเติม (เช่น การลดความซับซ้อนของ mesh) โดยไม่ทำลายข้อมูลสี
TripoSR Bake แบ่งกระบวนการส่งออก mesh ออกเป็นสองส่วน ใน 01-mesh.py
การประมาณของ mesh จะถูกแยกออกมาโดยใช้ Marching Cubes และเขียนเป็น .obj
(เช่นเดียวกับใน TripoSR repo ดั้งเดิม) อย่างไรก็ตาม ยังบันทึกไฟล์ .pkl
ที่มีการทำนาย NeRF จากการอนุมานโมเดล TripoSR อีกด้วย จากนั้นไฟล์ .obj
สามารถแก้ไขได้ด้วยตนเอง (เช่น ทำให้เรียบหรือทำให้ง่ายขึ้น) ตราบใดที่ขอบเขตของเมชยังคงอยู่ (เช่น อย่าปรับขนาด/หมุน/แปลเมชโดยรวม) หลังจากแก้ไข mesh แล้ว สคริปต์ 02-texture.py
จะถูกใช้เพื่อสร้างแผนที่ UV สำหรับ mesh และอบข้อมูล NeRF ลงบนแผนที่ UV นี้ เมื่อใช้วิธีการนี้ แม้แต่ low-poly mesh ก็อาจมีรายละเอียดสีที่มีความละเอียดสูงของเอาต์พุต NeRF ดั้งเดิม โปรดทราบว่าคุณภาพของพื้นผิวจะลดลงเนื่องจากจุดยอดของตาข่ายบิดเบี้ยวไปจากปริมาตรเดิมของตาข่าย ตามปกติ ผลลัพธ์จะแตกต่างกันไปขึ้นอยู่กับรูปภาพอินพุต คุณภาพของเมชที่สร้างขึ้น ตัวกรอง/การแก้ไขที่ใช้ก่อนสร้างพื้นผิวเมช และประสิทธิภาพของแผนที่ UV ที่อัดแน่น
git clone https://github.com/iffyloop/TripoSR-Bake.git
cd TripoSR-Bake
# TripoSR requires a real virtualenv environment,
# not the built-in venv that comes with Python
pip install virtualenv
python -m virtualenv venv
# Now we install dependencies for this repo
source venv/bin/activate # venvScriptsactivate.bat on Windows
pip install torch # For CUDA support, follow the instructions at https://pytorch.org/get-started/locally/
pip install -r requirements.txt
สำหรับคำอธิบายแบบเต็มของตัวเลือกที่มี โปรดเรียกใช้ python 01-mesh.py --help
และ python 02-texture.py --help
# Generate Marching Cubes mesh
python 01-mesh.py --input input/chair.png --output-mesh output/chair.obj --output-scene-codes output/chair.pkl --no-remove-background --density-threshold 15.0 --marching-resolution 512 --marching-oversampling 1 --tsr-chunk-size 8192 --device cpu
# Bake texture
# Before this stage, you probably want to smooth and remesh the generated chair.obj mesh in MeshLab,
# then use that as the --input-mesh below instead of the raw Marching Cubes mesh.
# Editing the mesh is merely a suggestion, not a requirement. The original mesh can also be textured.
python 02-texture.py --input-mesh output/chair.obj --input-scene-codes output/chair.pkl --output-mesh output/chair-textured.obj --output-texture output/chair-textured.png --texture-resolution 1024 --texture-padding 2 --tsr-chunk-size 8192 --device cpu