Gaussian Splatting
استكشف Gaussian Splatting لإعادة بناء مشاهد ثلاثية الأبعاد واقعية. تعلم كيف يُمكّن العرض في الوقت الفعلي ويتكامل مع Ultralytics YOLO26 للرؤية.
يعد Gaussian Splatting تقنية تنقيط حديثة تُستخدم في رسومات الحاسوب والرؤية الحاسوبية لإعادة بناء مشاهد ثلاثية الأبعاد واقعية من مجموعة من الصور ثنائية الأبعاد. وخلافاً للنمذجة ثلاثية الأبعاد التقليدية التي تعتمد على شبكات المضلعات، أو التطورات الحديثة في الذكاء الاصطناعي مثل Neural Radiance Fields (NeRF) التي تستخدم الشبكات العصبية لتقريب المشهد، يمثل Gaussian Splatting المشهد كمجموعة من ملايين التوزيعات الغاوسية ثلاثية الأبعاد (مجسمات إهليلجية). تسمح هذه الطريقة بالرسم في الوقت الفعلي بمعدلات إطارات عالية (غالباً ما تتجاوز 100 FPS) مع الحفاظ على دقة بصرية استثنائية، مما يحل عنق زجاجة رئيسي في الأداء كان موجوداً في طرق تركيب المشاهد السابقة.
Link to this sectionكيف يعمل Gaussian Splatting#
تتمحور الفكرة الأساسية حول تمثيل الفضاء ثلاثي الأبعاد بشكل صريح بدلاً من الضمني. في سير العمل النموذجي، تبدأ العملية بسحابة نقاط point cloud مبعثرة يتم إنشاؤها من مجموعة من الصور باستخدام تقنية تسمى Structure from Motion (SfM). يتم بعد ذلك تهيئة كل نقطة في هذه السحابة كـ Gaussian ثلاثي الأبعاد.
خلال عملية التدريب، يقوم النظام بتحسين عدة معلمات لكل Gaussian:
- الموضع: الإحداثيات ثلاثية الأبعاد (X, Y, Z) في المشهد.
- التباين: يحدد هذا شكل ودوران المجسم الإهليلجي (على سبيل المثال، مدى تمدد أو ميل "اللطخة" splat).
- العتامة: مدى شفافية أو صلبة الـ Gaussian (قيمة ألفا).
- اللون: يتم تمثيله باستخدام Spherical Harmonics، مما يسمح بتغير اللون اعتماداً على زاوية الرؤية، لالتقاط الانعكاسات وتأثيرات الإضاءة الواقعية.
يشير مصطلح "splatting" إلى عملية التنقيط حيث يتم عرض هذه الـ Gaussians ثلاثية الأبعاد—أو "لطخها"—على مستوى الكاميرا ثنائي الأبعاد لتكوين صورة. هذا الإسقاط قابل للاشتقاق بالكامل، مما يعني إمكانية استخدام خوارزميات الانحدار الاشتقاقي القياسية لتقليل الفرق بين الصورة المعروضة وصورة الحقيقة الأرضية الأصلية.
Link to this sectionمقارنة بين Gaussian Splatting و NeRF#
بينما تهدف كلتا التقنيتين إلى توليد مشاهد جديدة، إلا أنهما تختلفان جوهرياً في البنية والأداء. يقوم NeRF (Neural Radiance Fields) بترميز المشهد ضمن أوزان شبكة عصبية. يتطلب عرض NeRF استعلام هذه الشبكة ملايين المرات لكل إطار (تتبع الأشعة)، وهو أمر مكلف حاسوبياً وبطيء.
على النقيض من ذلك، يستخدم Gaussian Splatting تمثيلاً صريحاً (قائمة الـ Gaussians). هذا يسمح له باستخدام تنقيط فعال قائم على البلاطات (tile-based) يشبه طريقة عرض ألعاب الفيديو للرسومات. ونتيجة لذلك، يعد Gaussian Splatting أسرع بشكل ملحوظ في التدريب والعرض من NeRFs، مما يجعله أكثر قابلية للتطبيق في تطبيقات المستهلك والاستدلال في الوقت الفعلي.
Link to this sectionتطبيقات العالم الحقيقي#
لقد فتحت سرعة وجودة Gaussian Splatting أبواباً جديدة في مختلف الصناعات:
- السياحة الافتراضية والعقارات: يمكن للمبدعين التقاط متحف، أو موقع تاريخي، أو منزل للبيع باستخدام طائرة بدون طيار أو هاتف ذكي. يتيح Gaussian Splatting للمستخدمين عن بُعد استكشاف هذه المساحات في الواقع الافتراضي (VR) بـ 6 درجات من الحرية (6DoF)، ورؤية تفاصيل دقيقة مثل الانعكاسات على الأرضيات الخشبية التي قد تفوتها القياسات التصويرية التقليدية.
- محاكاة السيارات: تحتاج الشركات التي تطور مركبات ذاتية القيادة إلى كميات هائلة من البيانات لاختبار خوارزميات الإدراك الخاصة بها. يمكن لـ Gaussian Splatting إعادة بناء كتل المدينة الحقيقية من بيانات المستشعرات، مما يخلق بيئة محاكاة واقعية. وضمن هذه البيئات، يمكن اختبار نماذج الرؤية مثل Ultralytics YOLO26 للتأكد من أنها تحدد المخاطر بشكل صحيح في سيناريوهات ثلاثية الأبعاد معقدة.
Link to this sectionالمعالجة المسبقة لـ Splatting باستخدام الرؤية الحاسوبية#
لكي يعمل Gaussian Splatting بفعالية، عادة ما تحتاج صور التدريب إلى أن تكون ثابتة. يمكن أن تتسبب الأجسام المتحركة (مثل المشاة أو السيارات) في الصور المصدر في حدوث تشوهات تسمى "floaters". تستخدم خطوط المعالجة المتقدمة التجزئة المثيلية لإخفاء هذه العناصر الديناميكية تلقائياً قبل تدريب نموذج الـ 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")Link to this sectionالأهمية في الذكاء الاصطناعي والتوجهات المستقبلية#
يمثل Gaussian Splatting تحولاً في الرؤية الحاسوبية نحو الأساليب الهجينة التي تجمع بين قابلية التعلم في التعلم العميق وكفاءة رسومات الحاسوب الكلاسيكية. تتطور هذه التقنية بسرعة، حيث يستكشف الباحثون طرقاً لضغط أحجام الملفات (التي قد تكون كبيرة) ودمجها مع الذكاء الاصطناعي التوليدي لإنشاء أصول ثلاثية الأبعاد من مطالبات نصية. ومع استمرار تحسن مسرعات الأجهزة مثل GPUs، من المرجح أن يصبح Gaussian Splatting المعيار لالتقاط وعرض العالم الحقيقي في شكل رقمي.






