Current thoughts:
- Focus on gaussian splatting and talk a little bit on marching cubes
Some things that came to my mind:
- Understanding deeply is the reason for …
Script
Slide 1: In this presentation I’ll introduce you to my graduation project Gausslab GaussLab is an engine that does reconstruction for ct scans using a SOTA approach called Gaussian splatting
Slide 2: So first, about me: I am Abdelrahman
I graduated this year from Ain shams university with a bachelors of science in computer engineering.
I like working on complex projects, maybe because they make me think a lot
And i am a true believer that before any innovation happens, we should understand first
Slide 3 - Outline -
Slide 4: So how was graphics in the 90s Graphics was really simple back then, every thing was made of triangles, 3D models were really simple and everything was so blocky and non-smooth
Slide 5: What if we want smoother polygons or realistic models ? What should we do ?
Slide 6: Well, then answer is simple ? just add more triangels, a lof of triangles (maybe millions)
*Dont switch instantly*
Slide 7: But there is a problem, adding triangles is not free, it costs us computing power to render
You either render low poly meshes extremely fast and give up on the details, or u render high poly meshes with really high details but u pay with performance
Slide 8: So let’s change everything, why are we even using triangles
Slide 9: Introducing Gaussian Splatting. Here we are getting rid of triangles, everything is made up from Gaussian Blobs
Stack many of them and colors will add and create complex structures
Slide 10: In this slide we can see complex scene constructed from Gaussian blobs, this is not a video, this is actaully a scene that you can move inside
Slide 11: How are Gaussian scenes constructed ? The most important part is having a point cloud. The mean of the gaussians is initialized from the x,y,z coordinates of these points
If it is a complex scene, people use well known algorithms like structure from motion, if it is a simple scene starting with random points is actually enough. The scene training part will make the Gaussians adapt
Lastly of course we optimize the Gaussian parameters
Slide 12: How can I obtain a point cloud for ct scans
for CT scans we dont need complext algorithms, sampling from the DICOM volume by iterating over it voxel by voxel is enough
Slite 13: These are results of our reconstruction algorithm, we can see that we can achieve very high quality with real time rendering and very low reconstruction time
Note this can be sped up even more if implemented on the GPU
Slide 14: How do we rasterize these gaussians ? the classical triangle rasterization algorithms don’t work anymore
Slide 15: The rasterization pipeline consists of 3 main steps
- First we have to calculate z-coordinate of our gaussian realtive to the camera, not the world
- Then we do a parallel sort on the GPU, where we sort by the z coordinate
- Finally, the fragment shader is ran to calculate the color of pixel with respect to exponential falloff of the Gaussian
Slide 16: Here isa comparison betwen a classical approach of reconstruction with millions of triangles on the left
and gaussian reconstruction on the right
Slide 17 - 19: This the final result of our application, we also added an LLM that can generate reports for the scan, this one is the classical reconstruction
18: this is the result from gaussian splatting 19: we also support slicing, and multi viewport viewing
20: thank you for your attention. I’ll be happy to take any question