التقنية اللي أعادت تشكيل الواقع الثلاثي الأبعاد
The Technique That Reshaped Real-Time 3D
كيف تحوّل الـ Gaussian Splatting طريقة تمثيل المشاهد الواقعية، وليش يعتبرها كثيرون أهم طفرة في رسومات الوقت الفعلي منذ سنوات.
How Gaussian Splatting changed the way photorealistic scenes are represented, and why many consider it the most significant leap in real-time graphics in years.
01 ما هو الـ Gaussian Splatting؟ What Is Gaussian Splatting?
الـ 3D Gaussian Splatting هي تقنية رسترة تعرض مشاهد واقعية بشكل فوري، وتتدرّب من مجموعة صغيرة من الصور. بدل ما تعتمد على المثلثات في الرسترة، تمثّل المشهد بالكامل باستخدام ملايين من الـ Gaussians.
3D Gaussian Splatting is a rasterization technique that renders photorealistic scenes in real time, trained from a small collection of images. Rather than relying on triangles for rasterization, it represents the scene using millions of Gaussians.
تبدأ العملية بتهيئة الـ 3D Gaussians من سحابة نقاط خفيفة تنتجها تقنية الـ Structure-from-Motion المعروفة بـ SfM. بعدين تنحسّن هالـ Gaussians عن طريق التحكم التكيّفي في الكثافة، اللي يضبط توزيعها ومحاذاتها عشان تمثّل المشهد بشكل أدق. بعدها يتولى رسّام قائم على البلاطات القابل للتمييز مرحلة العرض النهائية، مع أوقات تدريب منافسة لأحدث طرق الـ Radiance Field. لمّا ينتهي التدريب، تحصل على مشهد ثلاثي الأبعاد تفاعلي وفوري بتفاصيل بصرية عالية الجودة.
The pipeline starts by initializing 3D Gaussians from a sparse point cloud produced by Structure-from-Motion (SfM). Those Gaussians are then refined through adaptive density control, which adjusts their distribution and alignment for a more accurate scene representation. A differentiable tile-based rasterizer then handles the final rendering step, delivering training times that hold up against state-of-the-art radiance field methods. Once training is complete, the result is a fully interactive, real-time 3D scene with rich visual detail.
«بدل الشبكات والمثلثات، ملايين من الكرات الغازية الشفافة تعيد بناء العالم بأمانة مدهشة.»
"Instead of meshes and triangles, millions of transparent ellipsoidal blobs reconstruct the world with stunning fidelity."
02 كيف تدرّب الـ Gaussian Splats؟ How Do You Train Gaussian Splats?
في أكثر من خيار لتدريب الـ Gaussian Splats. أبرز الخيارات المتاحة حالياً:
There are several options for training Gaussian Splats. The most prominent choices currently available:
- المستودع الرسمي للـ Gaussian Splatting: نقطة البداية الأصلية، مثالي للفهم العميق للتقنية وللبحث الأكاديمي.
- Gaussian Splatting official repo: The original starting point, ideal for deep understanding of the technique and academic research.
- الـ gSplat من خلال الـ NeRF-Studio: الخيار الموصى به للمشاريع العملية، يوفّر استهلاكاً أقل للذاكرة وأداءً أسرع.
- gSplat via NeRF-Studio: The recommended choice for practical projects, offering lower memory consumption and faster performance.
لكلا الخيارين، تحتاج أولاً لمجموعة صور أو فيديو يغطّي موضوعك من كل الاتجاهات، ثم تشغيل COLMAP لاستخراج مواضع الكاميرات وسحابة النقاط الأولية.
For both options, you first need a set of images or video covering your subject from all angles, then run COLMAP to extract camera poses and the initial point cloud.
03 ما هو الـ gSplat؟ What Is gSplat?
الـ gSplat هي مكتبة الـ Gaussian Splatting المدمجة مباشرةً في الـ NeRF-Studio، وبُنيت بحيث تكون الكفاءة أولويتها الأساسية. مقارنةً بالتطبيق الرسمي، تقلّل استهلاك ذاكرة التدريب لحد أربع مرات، وتخفّض وقت التدريب بنسبة تصل لـ 15% على مشاهد الـ Mip-NeRF 360، مع إمكانية تحسينات أكبر على المشاهد الأوسع.
gSplat is the Gaussian Splatting library integrated directly into NeRF-Studio, built with efficiency as a core priority. Against the official implementation, it cuts training memory usage by up to 4x and reduces training time by up to 15% on Mip-NeRF 360 captures, with the potential for even larger gains on bigger scenes.
كذلك هي محسّنة لعرض المشاهد الكبيرة، وتتفوق على الـ CUDA backend الرسمي في الأداء. ومن أبرز مميزاتها: الـ batch rasterization، وعرض العمق، ودعم الـ multi-GPU، وقدرات متقدمة مثل الـ absgrad والـ anti-aliasing والـ 3DGS-MCMC.
It is also optimized for large-scale scene rendering, outpacing the official CUDA backend in performance. Its feature set includes batch rasterization, depth rendering, multi-GPU support, and advanced capabilities such as absgrad, anti-aliasing, and 3DGS-MCMC.
04 محدودية الـ Gaussian Splatting Limitations of Gaussian Splatting
الـ Gaussian Splatting يعطي نتائج ممتازة في الإعادة الثلاثية الأبعاد الفورية والواقعية، بس يجي مع بعض التنازلات:
Gaussian Splatting delivers impressive real-time, photorealistic 3D reconstruction, but it comes with a few trade-offs:
- حجم ملف كبير: المشهد يُشفَّر باستخدام ملايين من الـ Gaussians، وكل واحدة منها تحمل 5 معاملات مرتبطة فيها. وهذا يخلّي ملف الـ .ply الناتج يكبر جداً، وعادةً يتراوح بين 100 و200 ميغابايت.
- Large file size: A scene is encoded using millions of Gaussians, each carrying 5 associated parameters. This causes the resulting .ply file to grow very large, typically in the range of 100 to 200 MB.
- تغطية كاملة من كل الزوايا: لازم يكون جمع البيانات شامل ودقيق. يعني تصوّر المشهد من كل الاتجاهات، أمام وخلف ويمين وشمال وكل ما بينها، لأن أي زاوية ما تنصوّر راح تطلع الإعادة ضعيفة منها.
- Full angular coverage required: Data capture has to be thorough. Images must be taken from every angle, front, back, left, right, and everywhere in between, because any uncaptured angle will produce a noticeably weaker reconstruction from that viewpoint.
- ملف PLY يحتوي أكثر من نقاط: رغم إن الناتج النهائي يُحفظ كملف .ply، إلا إنه ما يحتوي على نقاط بس، بل الـ Gaussians نفسها مضمّنة فيه كذلك.
- PLY format carries more than points: Although the final output is stored as a .ply file, it does not contain only point data. The Gaussians themselves are embedded in it as well.