استكشف تقنية Gaussian Splatting لإعادة بناء مشاهد ثلاثية الأبعاد واقعية. تعرف على كيفية تمكينها للعرض في الوقت الفعلي وتكاملها مع Ultralytics للرؤية.
Gaussian Splatting هي تقنية تحويل إلى نقطية حديثة تستخدم في رسومات الكمبيوتر والرؤية الحاسوبية لإعادة بناء مشاهد ثلاثية الأبعاد واقعية من مجموعة من الصور ثنائية الأبعاد. على عكس النمذجة ثلاثية الأبعاد التقليدية التي تعتمد على شبكات المضلعات، أو التطورات الحديثة في مجال الذكاء الاصطناعي مثل Neural Radiance Fields (NeRF) التي تستخدم الشبكات العصبية لتقريب المشهد، يمثل Gaussian Splatting المشهد كمجموعة من ملايين التوزيعات الغاوسية ثلاثية الأبعاد (البيضاوية). تسمح هذه الطريقة بالعرض في الوقت الفعلي بمعدلات إطارات عالية (غالبًا ما تتجاوز 100 إطار في الثانية) مع الحفاظ على دقة بصرية استثنائية، مما يحل مشكلة اختناق الأداء الرئيسية الموجودة في طرق تركيب العرض السابقة.
تدور الفكرة الأساسية حول تمثيل الفضاء ثلاثي الأبعاد بشكل صريح وليس ضمني. في سير العمل النموذجي، تبدأ العملية بسحابة نقطية متفرقة يتم إنشاؤها من مجموعة من الصور باستخدام تقنية تسمى Structure from Motion (SfM). ثم يتم تهيئة كل نقطة في هذه السحابة كغاوس ثلاثي الأبعاد.
أثناء عملية التدريب، يقوم النظام بتحسين عدة معلمات لكل غاوسي:
يشير مصطلح "splatting" إلى عملية التحويل إلىنقطية حيث يتم إسقاط هذه التوزيعات الغوسية ثلاثية الأبعاد — أو "splatted" — على مستوى الكاميرا ثنائي الأبعاد لتشكيل صورة. هذا الإسقاط قابل للتفاضل تمامًا، مما يعني أنه يمكن استخدام خوارزميات التدرج الهابط القياسية لتقليل الفرق بين الصورة المعروضة والصورة الأصلية.
بينما تهدف كلتا التقنيتين إلى توليد مناظر جديدة لمشهد ما، إلا أنهما تختلفان اختلافًا جوهريًا في البنية والأداء. يقوم NeRF (Neural Radiance Fields) بترميز مشهد ما ضمن أوزان شبكة عصبية. يتطلب عرض NeRF الاستعلام عن هذه الشبكة ملايين المرات لكل إطار (ray marching)، وهو أمر مكلف من الناحية الحسابية وبطيء.
في المقابل، يستخدم Gaussian Splatting تمثيلاً صريحاً (قائمة Gaussians). وهذا يسمح له باستخدام تحويل إلى نقطية فعال قائم على المربعات، على غرار الطريقة التي تعرض بها ألعاب الفيديو الرسومات. وبالتالي، فإن Gaussian Splatting أسرع بكثير في التدريب والعرض من NeRFs، مما يجعله أكثر قابلية للتطبيق في التطبيقات الاستهلاكية و الاستدلال في الوقت الفعلي.
سرعة وجودة تقنية Gaussian Splatting فتحت أبواباً جديدة في مختلف الصناعات:
لكي يعمل Gaussian Splatting بفعالية، يجب أن تكون الصور التدريبية ثابتة في العادة. قد تتسبب الأجسام المتحركة (مثل المشاة أو السيارات) في الصور المصدرية في ظهور عيوب تسمى "العوامات". تستخدم خطوط الإنتاج المتقدمة تقسيم الحالات لإخفاء هذه العناصر الديناميكية تلقائيًا قبل تدريب نموذج splat.
تتيح Ultralytics للفرق إدارة مجموعات البيانات وتدريب النماذج التي يمكن أن تساعد في مرحلة المعالجة المسبقة هذه. فيما يلي كيفية استخدام نموذج التجزئة لإنشاء أقنعة لمجموعة بيانات مخصصة لإعادة البناء ثلاثي الأبعاد:
from ultralytics import YOLO
# Load the YOLO26 segmentation model
model = YOLO("yolo26n-seg.pt")
# Run inference on an image from the scan dataset
# Class 0 is 'person' in COCO - we mask them out to keep the scene static
results = model.predict("scan_frame_001.jpg", classes=[0])
# Save the generated mask to exclude the person from the 3D reconstruction
for result in results:
result.save_masks("scan_frame_001_mask.png")
يمثل Gaussian Splatting تحولًا في رؤية الكمبيوتر نحو الأساليب الهجينة التي تجمع بين قابلية التعلم في التعلم العميق و كفاءة رسومات الكمبيوتر الكلاسيكية. تتطور هذه التقنية بسرعة، حيث يبحث الباحثون عن طرق لضغط أحجام الملفات (التي يمكن أن تكون كبيرة) ودمجها مع الذكاء الاصطناعي التوليدي لإنشاء أصول ثلاثية الأبعاد من مطالبات النص. مع استمرار تحسن مسرعات الأجهزة مثل وحدات معالجة الرسومات (GPU) ، من المرجح أن يصبح التشتت الغاوسي المعيار لالتقاط وعرض العالم الحقيقي في شكل رقمي.