3D Gaussian Splatting! - Computerphile

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 212

  • @jones1618
    @jones1618 8 місяців тому +261

    "Posh Point Cloud" is the best best short description of Gaussian Splatting I've heard.

    • @MichaelOfRohan
      @MichaelOfRohan 8 місяців тому +1

      Posh, pish... whats a few percent in taxes between friends?

  • @yyanri
    @yyanri 8 місяців тому +390

    I love this two person interview format. It’s so dynamic.

    • @crack64
      @crack64 8 місяців тому +14

      Flows much better than the cameraman - guest format. Having the cameraman intervene here every now and again also worked very well!

    • @teekanne15
      @teekanne15 8 місяців тому +4

      Also gives credit to the young scientific staff, that is often the power house in academia.

  • @Cl0udWolf
    @Cl0udWolf 8 місяців тому +225

    What I like most about Gaussian splattering is that it is basically a non neural network approach that is competitive if not better than neural network approaches.

    • @a_soulspark
      @a_soulspark 8 місяців тому +5

      CloudWolf! you should try making a gaussian splat rendering datapack for Minecraft

    • @DanieleCapellini
      @DanieleCapellini 8 місяців тому +15

      I mean, it still uses gradient descent for optimization, which makes it pretty close to neural networks

    • @Cl0udWolf
      @Cl0udWolf 8 місяців тому +65

      @@DanieleCapellini gradient descent does not feature back propagation or connected layers and it doesn’t learn it just is a method for solving a problem that is not solvable analytically.

    • @andrepascoa6687
      @andrepascoa6687 8 місяців тому

      But it does do backpropagation with the differentiable rasterizer@@Cl0udWolf

    • @DanieleCapellini
      @DanieleCapellini 8 місяців тому +3

      @@Cl0udWolf I wonder what method neural networks use to "learn" optimal changes of parameters based on the gradients they've calculated during backpropagation.

  • @enijar
    @enijar 8 місяців тому +138

    Loved the Pound particles haha

  • @HereticB
    @HereticB 8 місяців тому +211

    I love how in traditional computer science nerd fashion whenever either of them speaks the other one just looks extremely awkward, like they don't know what to do with themselves.
    love the new format btw
    seriously, do more of these
    please

    • @luicecifer
      @luicecifer 8 місяців тому +6

      Ah, great. Now I have "I don't know what to do with myself" of the White Stripes playing on loop in my head.

    • @codycast
      @codycast 8 місяців тому +1

      lol. Settle down man.

    • @Eagle3302PL
      @Eagle3302PL 8 місяців тому +26

      It's not just awkward nerd waiting, when smart people like this talk shop they are constantly thinking through what's being said, so it's also a display of intent listening and conceiving follow up statements or questions. E.g. in your typical talk show with charismatic people, no one actually listens to what the other person says, they just pretend to pay attention while waiting for their turn to say something pre baked or to latch on to a fragment of a sentence said by the other party. But here we see both of them mulling over what the other says and then trying to fill in any gaps they think need filling. It's a much deeper level of engagement in conversation, that's why they focus their gaze on e.g. their hands or the table, to keep themselves free from distraction and focus on the words.

    • @NimbusAbi
      @NimbusAbi 8 місяців тому

      Loool

    • @sirfer6969
      @sirfer6969 6 місяців тому

      @@luicecifer The Hardest Button to Button...you're welcome

  • @wallyhall
    @wallyhall 8 місяців тому +37

    Eye contact makes a lot greater difference to the video than I would have guessed.
    Really great content.

  • @OldShatterham
    @OldShatterham 8 місяців тому +19

    love how enthusiastic Lewis and Mike are about these techniques!

  • @vesk4000
    @vesk4000 8 місяців тому +19

    This is so cool! I've been looking for a neat explanation on what actually Gaussian Splatting is for a long while now. And who better to explain it. Perfect!

  • @cazino4
    @cazino4 8 місяців тому +3

    I'm always pleasantly surprised when I see a computerfile video with Mike popup on my recommendations.

  • @maxmusterman3371
    @maxmusterman3371 8 місяців тому +7

    Yes ❤ please more videos about techniques like this. Also reeeaally enjoyed the 'old' computer vision and neural net videos. They inspired me to pursue a carreer in this direction! thank you

  • @zzzaphod8507
    @zzzaphod8507 8 місяців тому +36

    0:23 and later, Humble Pi in the background of a video released on Pi Day, well done

  • @makebreakrepeat
    @makebreakrepeat 8 місяців тому +9

    I've been trying to understand this for so long 😅 Thank you for the clear explanation!

  • @Tony-Omega
    @Tony-Omega 7 місяців тому +3

    Gotta love that MGS clip at 6:24.

  • @davar_d
    @davar_d Місяць тому +1

    Small correction 5:58
    The 3D Gaussian's mean is indeed placed at the location of the corresponding SfM point as it represents the closely estimated position during initialization. The size of the initial isotropic Gaussian is determined by the average distance to the three closest neighboring points.

  • @MarcAyouni
    @MarcAyouni 6 місяців тому +1

    I was always a bit put out with NERFs, since a scene is a NN and all the problems that this entails. GS has such incredible potential.

  • @nicholaslck
    @nicholaslck 4 місяці тому

    The energy and the passion here, wonderful!

  • @lpbaybee4942
    @lpbaybee4942 8 місяців тому +5

    This is such a cool topic, and such a great explanation. Thank you!

  • @danzmachinz2269
    @danzmachinz2269 8 місяців тому +9

    Nice! SMERFs next! Or maybe how to generate a 3dgs point cloud from only 2 or 3 cameras?

  • @syjwg
    @syjwg 8 місяців тому +6

    What a nice explanation! We've come a long way from the ray tracing in the early, but at that time, mind-boggeling 'Wolfenstein' or 'Doom' engines.

  • @TheJacklikesvideos
    @TheJacklikesvideos 8 місяців тому +4

    you two drawing pictures of pine tree renders reminds me of the brothers drawing the trees in Myst by smearing big green cones.

  • @rich1051414
    @rich1051414 8 місяців тому +14

    There is a certain fuzziness and artifacting that is unique to splatting which begins to be a bit of an eyesore the more you work with them. Almost like you are wearing googles with vasoline smeared in random spots. I hope we discover some way to overcome that. Maybe combining traditional and splatting and doing boolean operations to cull the splatting errors?

    • @drdca8263
      @drdca8263 8 місяців тому +4

      Maybe applying something like a de-noising model as a post-processing layer?

    • @Pixelarter
      @Pixelarter 8 місяців тому +6

      I think most of the artifacts are due to insufficient camera angles for training. It ends up positioning some splats in mid air, in a way that work for the training angles, but no when you move around.
      Also, the more splats you use (and the smaller their minimal size), the more detail you can capture, and sharper the details can become. However at the expense of performance.
      An alternative would be to use asymmetric splats, with adjustable degrees of blur on each side of the ellipse (like angled spotlight projections). That could represent sharper edges with fewer splats. But depending how costly more complex splats are to render, it may not be worth it and be slower than rendering a larger number of symmetric gaussians.

    • @rich1051414
      @rich1051414 8 місяців тому

      @@Pixelarter If the splat positioning were restrained in 3d space for each object being represented, I think it would automatically reign in the artifacting. Like a low poly textureless version of what is being rendered used as a guide to restrain the splatting being placed to within those bounds.

    • @vibaj16
      @vibaj16 8 місяців тому +1

      That's just due to the splats being large, which is due to not enough camera angles. The more of the scene you give the algorithm (especially giving close up shots of things) the more detail (i.e. smaller splats) it can produce, but that means more effort for both you and the computer. It's probable best to use this technique for relatively small objects, and removing large splats in the sky to be replaced with a more traditional skybox technique.

    • @trickster721
      @trickster721 8 місяців тому

      It's just the opposite drawback of triangles. With triangles, a lack of detail appears as overly sharp points and edges, while in gaussians low detail creates blur instead.

  • @AlexTuduran
    @AlexTuduran 8 місяців тому +3

    Great, but the rendering of splats does not use a depth buffer. All the splats are gaussian - it means that even at 100% opacity, the edges will be transparent, eventually fading to 0 opacity. What's usually done, is that you sort all the splats and render them from back to front. That's the current pinnacle of the technique. Some opt in for sorting once every Nth frame, which greatly improves performance, but other than that, there's a high degree of overdraw. And they're not like circles - their projection may look like a fluffy cloud, but they're volumetric by all accounta. Aside the color, opacity and spherical harmonics, they have a position, a rotation and a scale - all in 3D, so they look differently depending on the angle you're looking at them.

    • @nicolas.predella
      @nicolas.predella 8 місяців тому +1

      Maybe a set of depth buffers (where each iteration traverses one transparent object)? Let's say that after traversing the first object the accumulated alpha in an area is equivalent to 1, everything behind could then be skipped

    • @patrickreece7323
      @patrickreece7323 7 місяців тому

      That requires sorting!@@nicolas.predella

  • @sirfer6969
    @sirfer6969 6 місяців тому

    Creating a universe of mini Mike Pounds...how unintentionally sweet

  • @bnolsen
    @bnolsen 6 місяців тому

    We used this splatting to do Ortho rectification for line sensors 20 years ago.

  • @petergerdes1094
    @petergerdes1094 8 місяців тому +9

    Is there a reason for using gaussians rather than, say, some kind of wavelets to allow automatic compression by rounding high frequency information?

    • @tripplefives1402
      @tripplefives1402 8 місяців тому +12

      The gaussians are rendered in real time as textured polygons by retail graphics hardware.

    • @asandax6
      @asandax6 Місяць тому +1

      It's all because of hardware. It's the same reason video games aren't using NURBS for meshes even though they'd look awesome.

  • @Plasticshavings
    @Plasticshavings 3 місяці тому

    Can't wait to see how this is used in video games

  • @stare4539
    @stare4539 7 місяців тому +1

    The first game with gaussian splatting will be revolutionary.

    • @ADarnSmore
      @ADarnSmore 4 місяці тому

      there's a game called unrecord that uses unreal engines photogrammetry assets that's been getting a lot of attention. for the purposes of a game, photogrammetry is the same as gaussian splatting, if not better.

  • @skf957
    @skf957 8 місяців тому +6

    Superb stuff, as always.
    Not going to pretend I understand everything, but that's down to my neural network not being all that I'd like it to be.

  • @Rudxain
    @Rudxain Місяць тому

    I think it's worth clarifying the distinction between building a Gaussian Splat scene and actually rendering the scene on screen, as some people might be confused about these 2 steps being named after the same thing.
    Another thing to mention, is that it's much faster and less error-prone to automatically generate the scene by providing location and angular data to the Gaussian builder. Most phones have accelerometers and gyroscopes, which helps a lot with auto-generating splats, otherwise you'd have to remember the exact location and angle of the camera to place each picture into the scene manually.
    BTW, do the pixels get turned into voxels before being converted to Gaussians?

  • @MikeTwohey
    @MikeTwohey 8 місяців тому +6

    I want to see this as a video with sports events. I imagine flying through a sports scene in 3D while the action is in motion. How many camera angles would be needed? Would the speed be quick? I guess each frame would need to be trained and stored (weeks of training). I think each frame is tens of megabytes, so it might be too much to actually be executed. Your thoughts?

    • @trickster721
      @trickster721 8 місяців тому

      A research team has already made some short 3D videos using animated gaussians, recorded inside a dome covered in video cameras. Google "Dynamic 3D Gaussians".

  • @Armadail_
    @Armadail_ 21 день тому

    Wow! This reminds me of a bob ross painting where the whole scene is is constructed by "smears" of colour

  • @Ceelvain
    @Ceelvain 8 місяців тому +6

    I've got two questions: When we split a gaussian, how do we avoid having them both converging to the same place and size? Is there a repulsion term in the loss function? Like, electrons repelling each other?
    And how do we avoid gaussians just fully transparent?
    Also, I don't think it would handle specular reflections or anything that depend on the position of the camera.

    • @stefanoscolapasta
      @stefanoscolapasta 8 місяців тому +1

      In GS they optimize and adaptively densifiy/control the Gaussians in order to tackle over-reconstructed area and under-reconstructed ones.
      In the case of under-reconstruction, meaning that space needs to be filled, a new Gaussian is created as a clone of one in the under-reconstructed area and placed along the direction of the positional gradient.
      In over-recontructed areas instead, the target Gaussian is simply split and divided by a factor of 1.6 (determined experimentally). To determine the position of the obtained Gaussians from the splitting process, they perform a normal sampling based on the scaling values of the gaussian (mean centered at the Gaussian mean and Standard Dev based on the Gaussian's scaling parameters). They do matrix multiplication on these samples with the original rotation matrix of the GS on which splitting is been performed, in order to align them with the current spatial orientation of the initial one. Subsequently, they use these sampled values as an offset from the original mean to determine the 2 new means for each couple of newly generated Gaussian obtained from the splitting process on the initial Gaussians it was applied to.

    • @stefanoscolapasta
      @stefanoscolapasta 8 місяців тому +1

      Fully transparent Gaussians are simply pruned as they do not contribute to the final rasterized image (more recent papers adopt smarter pruning techniques).
      Regarding specular reflections, in this video they did not go into detail, but the 3D Gaussians are basically 3D ellipses, and on the surface of and Ellipse you can define Sferical Harmonic functions, these are used to represent color on the surface of the Gaussians as a function of the viewing direction.

    • @deltamico
      @deltamico 8 місяців тому

      ​​@@stefanoscolapastathat's neat, so the 3d gaussians fill out the same-collored borders of the objects and then each gaussian is given a view dependant function of color?

    • @vibaj16
      @vibaj16 8 місяців тому

      @@stefanoscolapasta they look like 2D ellipses (as they have to be for traditional rasterization)

    • @GameDevGeeks
      @GameDevGeeks 8 місяців тому

      I don't understand this, but from examples I've seen GS can handle reflections pretty well

  • @Exaskryz
    @Exaskryz 8 місяців тому +5

    I have to give this a rewatch, but I feel a segment is missing. How are the gaussians generated? I acknowledge the parts of the video discussing what they are, the benefits they confer to render time, flexibility and application. But I missed how to actually produce my own gaussian burst as recommend to do of my house at the end of the video

    • @trickster721
      @trickster721 8 місяців тому

      There's still a pre-rendering step where the gaussians are generated, like in conventional photogrammetry. You feed the images into a simple neural network that builds the gaussians. It's just adding a second layer of data to the point cloud.

    • @stefanoscolapasta
      @stefanoscolapasta 7 місяців тому +1

      Initially the images are passed through a classical Structure From Motion algorithm in COLMAP which estimates a coarse point cloud of the scene. Those points are used as initial 3D positions to place the first 3D gaussians.

  • @vermeul1
    @vermeul1 8 місяців тому +4

    First time I laughed out loud on computerphile 😂

  • @paszTube
    @paszTube 8 місяців тому +10

    Haha, there’s a NERF gun on the desk 😂

  • @xarisfil58
    @xarisfil58 8 місяців тому +2

    There are algorithms that can extract the 3D scene from the NERF to a ply or other 3D format. Marching Cubes for example.Also Gaussian Splatting doesn't capture Phong Illumination or difficult illumination in general except you overfit the model and make really small gaussians. So photorealism with gaussian splatting is something debatable. Last but not least there are new models like F2-Nerf that are way faster that the NeRF you are using implementing 3D Multiresolution Hashencoding that helps the model converge faster. After seeing the video I tend to believe that gaussian splatting is like patching 3D shape with small bell shaped Plasticine objects to create a 3D scene that looks like the one in the image. This even defies bias that is made from camera i.e. different illumination from different angles due to light captured from camera

    • @trickster721
      @trickster721 8 місяців тому +2

      This is like complaining about jpeg or mp4. The point isn't photorealism, it's that it's a viable realtime technique that performs like conventional rendering on cheap hardware. Realtime optimization is all about doing things "worse".

  • @Rhinocerons
    @Rhinocerons 4 місяці тому

    Gaussian Splating - If it's dynamic, take a 360 degree shot of a dancer and use the camera layout scheme of the dome

  • @0xe86
    @0xe86 4 місяці тому

    this episode is so good!

  • @antivanti
    @antivanti 8 місяців тому +1

    So basically they're like 3D brushstrokes or fluffy voxels...
    Kind of reminds me of how the graphics in "Dreams" for Playstation 4 are rendered

  • @wouldntyaliktono
    @wouldntyaliktono 7 місяців тому

    For those of you wondering how people end up at companies like Meta or Spotify, it's oftentimes dudes like this. The handful of people out of a PhD program in computer science who just LOVE writing splatting APIs in Rust or Go.

  • @mytelevisionisdead
    @mytelevisionisdead 8 місяців тому +4

    Dying of laughter here with the millions of Mike Pounds :') :')

  • @meu22422
    @meu22422 8 місяців тому +1

    Not rendering something that isn't there, makes it more useful / reliable in some applications.

    • @gokusaiyan1128
      @gokusaiyan1128 7 місяців тому

      like medical ? but where can it be useful

  • @DonckIT
    @DonckIT 8 місяців тому +1

    Impressionism in 3d 😱

  • @MaverickJeyKidding
    @MaverickJeyKidding 4 місяці тому

    Next step - apply jpeg compression for 10x performance and/or quality

  • @romajimamulo
    @romajimamulo 8 місяців тому +1

    How well does it do with perspective correct drawings and recreating their look? How many are needed?

  • @naturallyinterested7569
    @naturallyinterested7569 8 місяців тому

    The Multiverse of Mikeness

  • @ThereIsNoRoot
    @ThereIsNoRoot 7 місяців тому

    I read the original paper and am familiar with the technique. Was excited to see y'all do a video on it but this video could definitely have used better production to explain Gaussians. For example, t was 13 minutes before you showed an image of a gaussian blob.

  • @wdyahnke
    @wdyahnke 7 місяців тому

    If you want to play with Gaussian Splatting the iOS app Scaniverse will scan rooms and objects using this technique

  • @GuagoFruit
    @GuagoFruit 8 місяців тому +4

    Is there potential for animated/moving scenes with Gaussian splatting?

    • @hannah42069
      @hannah42069 8 місяців тому +7

      yes, but as of now it's only for pre-recorded movement. there's a video on youtube somewhere, i think "4d gaussian splatting"

    • @GuagoFruit
      @GuagoFruit 8 місяців тому +2

      @@hannah42069 oh yeah I've seen that one. It appears that it can only be recorded in a fixed space using multiple cameras, so it's not too useful in the way Gaussian splatting was intended to capture arbitrary still scenes. Not quite what I had in mind.

    • @SyntheticFuture
      @SyntheticFuture 8 місяців тому +2

      With static object and stiff objects it shouldn't be too hard as the gaussians can keep their shape and size. But I image it becomes really complicated once every gaussian itself has to animate as well.

    • @deltamico
      @deltamico 8 місяців тому +1

      One could try and find a transformation of connected subset of gaussians that when aplied and rendered minimizes the difference to an image where the transformation is applied. You have now found a joint in the object and its corresponding transformation

  • @grggrgrgg
    @grggrgrgg 8 місяців тому +2

    0:40 running of a web server and sending the images? The data is loaded from a server yes, but it's being rendered completely locally, in the browser, no? This would not at all affect the performance

  • @petergerdes1094
    @petergerdes1094 8 місяців тому +1

    Just saying it's doing gradient descent doesn't tell us its particularly cheap. I mean backpropogation in a nueral net is just a form of gradient descent.

  • @reishibeatz
    @reishibeatz 5 місяців тому

    METAL GEAR MENTIONEDDD

  • @oldspammer
    @oldspammer 7 місяців тому

    In the mid 1990s, I was part of a project to create the instrumentation for an autonomous mining vehicle. It used a distance measuring instrument. This comment was made not publically visible by the "algorithm" until I made it exclude the technicalities involved. Curious that?

    • @oldspammer
      @oldspammer 7 місяців тому

      Referenced things must have negative connotations?

    • @oldspammer
      @oldspammer 7 місяців тому

      My user name likely has me on some blacklist?

    • @oldspammer
      @oldspammer 7 місяців тому

      Maybe if I translate the original comment into Greek?

    • @oldspammer
      @oldspammer 7 місяців тому

      Στα μέσα της δεκαετίας του 1990, ήμουν μέρος ενός έργου για τη δημιουργία των οργάνων για ένα αυτόνομο όχημα εξόρυξης που πήγαινε από σταθμό GPS σε σταθμό με το φορτίο ορυκτών για να τα απορρίψει. Χρησιμοποίησε ένα ορατό κόκκινο σύστημα μέτρησης απόστασης λέιζερ μέσης ισχύος που παρήγαγε χιλιάδες μετρήσεις απόστασης ανά δευτερόλεπτο ενώ τις σάρωνε χρησιμοποιώντας έναν κινητήρα άξονα με ελεγχόμενη ταχύτητα βρόχου κλειδώματος φάσης που είχε έναν καθρέφτη τοποθετημένο στον κινητήρα για να παράγει σταθερή ταχύτητα μέτρησης απόστασης λέιζερ που θα σάρωνε η σκηνή πάνω από το όχημα και σε κάθε σταθμό που επισκέπτεστε θα υπάρχει ένας γραμμικός κώδικας μέτριου μεγέθους σε μια ορισμένη απόσταση πάνω από το όχημα. Η ταχύτητα των υπολογιστών τότε δεν ήταν υπερβολικά γρήγορη, αλλά τώρα οι υπολογιστές είναι πολύ πιο γρήγοροι, ώστε όλα τα δείγματα απόστασης να μπορούν να καταγραφούν όμορφα σε μια συσκευή αποθήκευσης υπολογιστή. Το θέμα θα ήταν ότι όλα αυτά τα δεδομένα σύντομα θα γέμιζαν τις περισσότερες συσκευές αποθήκευσης, εκτός εάν χρησιμοποιήθηκε μια καλή μέθοδος συμπίεσης για την εξοικονόμηση χώρου μέσα σε τέτοιες συσκευές αποθήκευσης.
      Αυτός θα ήταν ένας πολύ γρήγορος τρόπος για να δημιουργήσετε έναν τρισδιάστατο χάρτη επιπέδου παιχνιδιού για χρήση σε παιχνίδια. Εάν μια περιοχή αποφευχθεί η σάρωση, θα φαινόταν στο παιχνίδι σας να έχει μια τρύπα στον χάρτη του παιχνιδιού σας σε ορισμένα σημεία. Πιθανότατα, ορισμένοι παίκτες παιχνιδιών χάκερ θα έβρισκαν έναν τρόπο να βγουν έξω από τον χάρτη σας και να πυροβολήσουν παίκτες που ήταν ακόμα μέσα στον χάρτη, ανίκανοι να ανταποκριθούν στους αντιπάλους τους που εξαπατούν. Η πρώτη μου μέθοδος ήταν να χρησιμοποιήσω έναν ψηφιακό βρόχο κλειδώματος φάσης που ήταν ελεγχόμενος από κρυστάλλους, αλλά το όχημα εξόρυξης θα υπόκειται σε πάρα πολλές προσκρούσεις στην επιφάνεια του δρόμου υψηλής ταχύτητας που τα επίπεδα κραδασμών για το κύκλωμα θα προκαλούσαν ζημιά στην κρυσταλλική αναφορά συχνότητας που είναι τοποθετημένη στην πλακέτα κυκλώματος. ο μηχανικός βρήκε μια άλλη ακριβή μέθοδο αναφοράς που βασίζεται σε αναλογικές μεθόδους που δεν έχουν ευάλωτα εξαρτήματα κυκλώματος που δεν θα καταστραφούν από το όχημα που κινείται σε ανομοιόμορφες συνθήκες οδοστρώματος σε σχετικά υψηλές ταχύτητες.
      Ο κινητήρας του άξονα ήταν ένας τριφασικός κινητήρας συνεχούς ρεύματος χωρίς ψήκτρες που κινούνταν από μια γέφυρα H MOSFET σε κάθε μία από τις τρεις φάσεις του. Ο κινητήρας θα παράγει τους δικούς του παλμούς μέσω των αισθητήρων φαινομένου του χωλ εντός του κινητήρα που θα μπορούσαν να χρησιμοποιηθούν ως ανάδραση στο κύκλωμα ρυθμιστή ταχύτητας κινητήρα βρόχου κλειδώματος φάσης που έλεγχε την αλληλουχία φάσης της γέφυρας H. Το μόνο που θα ήταν απαραίτητο για τη χρήση ενός τέτοιου οργάνου λέιζερ μέτρησης απόστασης θα ήταν να γείρετε το κουτί σάρωσης με λέιζερ μια μικρή σταθερή γωνία αφού λήφθηκαν αρκετά δείγματα από το παράθυρο που είχαν τοποθετήσει κύκλωμα μετριασμού της ομίχλης στο τζάμι επειδή αυτό το πράγμα επρόκειτο να λειτουργούν σε διάφορες καιρικές συνθήκες. Ο ηλικιωμένος που εργαζόταν μαζί μου ήταν ήδη 45 έως 55 ετών εκείνη την εποχή, επομένως μπορεί κάλλιστα να πέθανε στο ενδιάμεσο διάστημα, και εγώ ήμουν μια ή δύο δεκαετίες νεότερος από αυτόν. Ο χρόνος, οι πόλεμοι και οι διάφορες ασθένειες συνεχίζουν να είναι όλοι εχθροί μας.
      Αναφορά
      Wikipedia 256χρονος Κινέζος βοτανολόγος πεθαίνει το 1933
      Ένα βίντεο σχετικά με την ιατρική δικαίως ισχυριζόταν ότι ΔΕΝ ήταν δουλειά του να αυξήσει σε μεγάλο βαθμό τη διάρκεια της ζωής μας, αλλά το αντίθετο και να προεδρεύει σε ένα πρόγραμμα για να διασφαλίσει ότι ο καθένας μας πεθάνει αφού περάσουν τα χρήσιμα χρόνια μας. Προφανώς αυτός ο τύπος ήταν άνθρωπος, αλλά αν διαβάσετε την περιγραφή του, ήταν περίπου 7 πόδια ύψος. Κατέληξε να έχει 20 ή περισσότερες συζύγους και πολλά παιδιά με την καθεμία, τα οποία τα έζησε όλα πολύ εύκολα. Μέχρι σήμερα, πιθανότατα έχει πολλούς απογόνους.

    • @oldspammer
      @oldspammer 7 місяців тому

      The technical details were able to be translated into the target Greek language by Google translation tools. There is nothing in there of an offensive nature. Why do they do this?

  • @TESRG35
    @TESRG35 6 місяців тому +2

    So it's basically a 3D gaussian mixture model where the number of gaussians is learned?

    • @hahhahahahha
      @hahhahahahha 4 місяці тому

      Exactly right, no magic really ;)

  • @arcadealchemist
    @arcadealchemist 3 місяці тому

    i would like to see MORE reimagining tech
    Like i want to do Syth world behavior to allow for Plant growth simulation using UV and element exposure with a Magnetic loop extrude method.
    basically what direction is based on the moon so how it is extruded and the sun to what direction it fasces to bake.

  • @ElTrolldego
    @ElTrolldego 8 місяців тому +2

    How does Gaussian Splatting handle specular surfaces?

    • @Joseph843
      @Joseph843 8 місяців тому

      It renders what is in the reflection with another set of gaussians. It's cool because it actually creates a mirror world. I saw someone zoom in through the reflection in a pool of water which was pretty trippy.

    • @trickster721
      @trickster721 8 місяців тому

      The lighting is just whatever was captured by the camera. In a sense there are no "surfaces", the only conventional 3D simulation used is the original point cloud. Adding simulated lighting will require additional developments. (Maybe photographing the subject in multiple lighting conditions, for a start. Could be as simple as abusing the camera's flash, or waving a light around as you record video.)

    • @ElTrolldego
      @ElTrolldego 8 місяців тому

      @@trickster721advantage NeRF then, if I understood that correctly, since they can handle view dependent reflection and refraction.

    • @trickster721
      @trickster721 8 місяців тому +1

      ​@@ElTrolldego I looked into it, and NeRF works the same way, it's just capturing existing highlights and reflections as an artifact. Versions of NeRF with dynamic lighting are either using a specialized photography setup, like I figured, or generating a conventional 3D model and lighting that. Neither technique can get correct physical material information from arbitrary photos, that data has to come from somewhere.
      I think the original NeRF presenters were slightly hyping up its ability to "handle" specular and reflections, it's not deliberate like that implies, it's just a side-effect. Both techniques just reproduce whatever is shown in the source images, they don't actually know the difference between a window, a mirror, and a swimming pool.

  • @erickmarin6147
    @erickmarin6147 8 місяців тому

    This will easily get to the limit if perceivable graphics once you have hardware made for representing gaussians in a screen

  • @euunul
    @euunul 8 місяців тому +1

    Noob question, how is this functionality different from fotogrametry meshing?

    • @trickster721
      @trickster721 8 місяців тому

      Using fuzzy colored blobs instead of triangles lets you create images using less information, in the same way that a painting can look more "correct" to our perception than a photograph. They're underselling how performant this is, the tree scene they show here probably runs about as fast as something like Minecraft on a cheap modern GPU. I'm guessing the office PC they use in the demo has integrated graphics.

  • @robertlambert5636
    @robertlambert5636 5 місяців тому

    Can I just leave this here ,an idea came to me and put the question to a llm
    Improving 3D Gaussian splatting by incorporating soap bubble dynamics to capture image information is a fascinating idea. This proposition involves melding two seemingly different concepts: Gaussian splatting, primarily used in volume rendering and graphics, and the physics of soap bubble dynamics, a study in fluid mechanics and minimal surfaces. Here's a concept on how to approach this problem:
    ### 1. Understanding the Basics
    **Gaussian Splatting:** In graphics, Gaussian splatting is a technique used in volume rendering where each data point contributes to its surrounding pixels in a manner that resembles a Gaussian distribution. This results in smooth transitions and blending between the points.
    **Soap Bubble Dynamics:** Soap bubbles form minimal surface areas for a given volume because of surface tension. The dynamics of soap bubbles, including how they merge and form shapes, are governed by principles that minimize surface area while maintaining volume.
    ### 2. Concept Integration Proposal
    The goal of incorporating soap bubble dynamics into 3D Gaussian splatting is to achieve a more natural and minimalistic representation of the data, possibly leading to improvements in the visualization's accuracy and aesthetic. Here’s a step by step approach:
    **Step 1: Data Preparation and Initial Splatting**
    - Start with standard 3D Gaussian splatting to create an initial rendering of your volume data.
    - Ensure your data is normalized and correctly scaled for the visualization process.
    **Step 2: Incorporating Soap Bubble Dynamics**
    - **Surface Tension as a Guiding Principle:** Modify the Gaussian distribution parameters dynamically based on an algorithm inspired by surface tension. This could involve adjusting the spread of the Gaussian function to more closely resemble the way soap bubbles naturally adjust their surfaces to minimize the area for a given volume.
    - **Minimal Surface Calculation:** Introduce calculations to adapt the attributes of each "splat" such that it contributes to forming a minimal surface, analogous to the way soap films span frames. This can mean adjusting the splat sizes based on their relative positions and data densities to more accurately reflect an equilibrium state you’d find in a soap bubble structure.
    **Step 3: Optimization and Rendering Adjustments**
    - **Adaptive Resolution:** Utilize soap bubble mechanics to adjust the rendering resolution and detail dynamically, focusing computational resources on areas of higher complexity or data density.
    - **Simulation of Light and Transparency:** Model the interaction of light with the "bubble-like" structures in your volume rendering to simulate the iridescence and translucency seen in soap bubbles.
    ### 3. Computational Challenges and Solutions
    Implementing these concepts computationally will require advanced algorithms for:
    - Dynamically adjusting Gaussian parameters based on soap bubble dynamics principles.
    - Efficiently computing minimal surfaces across the data points in real-time or near-real-time for interactive visualization.
    - Optimizing the computational performance to handle the additional complexity introduced by these calculations.
    ### 4. Potential Application Areas
    Such an approach could significantly impact fields requiring high-detail volume rendering, like medical imaging, scientific visualization, and CGI, by providing a more intuitive and visually appealing representation of complex 3D data.
    ### 5. Conclusion
    While the idea is complex and would require substantial research and development effort to fully realize, incorporating soap bubble dynamics into 3D Gaussian splatting presents a promising avenue for enhancing visualizations by leveraging the inherent beauty and efficiency of natural structures. The fusion of these concepts could lead to breakthroughs in how we represent and interact with 3D volumetric data.

  • @sinom
    @sinom 8 місяців тому +4

    I learned about gaussuan splatting at uni last year so I thought it was an older technique. Didn't know the paper on it was published basically only a few months before that.
    It definitely seems way too simple to be something only developed last year.

    • @stefanoscolapasta
      @stefanoscolapasta 7 місяців тому

      It actually takes a lot of inspiration from EWA Volume Splatting from 2001.

  • @John-pn4rt
    @John-pn4rt 8 місяців тому +2

    Has Matt Parker paid up for the product placement?

  • @vodiak
    @vodiak 7 місяців тому

    I'd love to see the particle explosion but with the original gaussians instead of replacing them with a sprite.

  • @Marco-xz7rf
    @Marco-xz7rf 8 місяців тому

    Could you please try and do this with pictures / videos of any of the moon landings? that would be so awesome. I already tried with A11 but it never worked, but there weren't that many pictures.

    • @vibaj16
      @vibaj16 8 місяців тому

      probably not enough pictures for a decent reconstruction

    • @Marco-xz7rf
      @Marco-xz7rf 8 місяців тому

      @@vibaj16 yeah ap11 hasn't but maybe others.
      Or do you know if there is a possibility to give some kind of positional and angle information with the pictures? wouldn't be easy to extract those but it should be possible to estimate some.

  • @charlieangkor8649
    @charlieangkor8649 8 місяців тому +1

    I don't think overfitting means that.

  • @RPG_ash
    @RPG_ash 8 місяців тому

    Oh the excitement 😅

  • @nickbensema3045
    @nickbensema3045 8 місяців тому

    so my main question is, is this going to give us a higher quality version of the 8800 Blue Lick Road house in VR?

  • @synapse349
    @synapse349 5 місяців тому

    Im still not sure, do both rendering techniques use the same sample data?

  • @sirMishka828
    @sirMishka828 8 місяців тому

    I was interested in photogrammetry while ago, amazing how neural networks are doing it

  • @Aaronnoraator
    @Aaronnoraator Місяць тому

    It's like fiberglass insulation lidar

  • @robertoguerra5375
    @robertoguerra5375 3 місяці тому

    It is like a blanket of voxels (or pixels in a non-plane surface)
    What NPU do I need to render this with 2MP photos?

  • @Satscape
    @Satscape 8 місяців тому

    Posts into suggestion box: "Meshtastic".
    Geek level 11.
    It's becoming quite popular in the UK, but quite quiet (English is awesome!) in Nottingham. It's geeky, it involves ESP32 computers and Chirp modulation and witchcraft?. I still don't understand it, so need an aduilt to explain it to me.
    Thank you.

  • @Chewychaca
    @Chewychaca 6 місяців тому

    So basically objects become collections of colored fuzz balls instead of meshes. I feel like this solves problems in rendering foliage. I wonder if it's possible to render both kinds at the same time.

  • @GordonWrigley
    @GordonWrigley 4 місяці тому

    So what about 4D Gaussian splatting as a VR video format?

  • @francoismorin6806
    @francoismorin6806 6 місяців тому

    Is there a link where we can download a sample scene to navigate inside ?

  • @isi1044
    @isi1044 8 місяців тому +9

    Whats the previous video?

    • @sidd065
      @sidd065 8 місяців тому +7

      NERFs (No, not that kind) - Computerphile
      Can't post a link but you can look it up.

    • @Computerphile
      @Computerphile  8 місяців тому +10

      ua-cam.com/video/wKsoGiENBHU/v-deo.html - now in description as well -Sean

  • @ZarahTaylor08
    @ZarahTaylor08 8 місяців тому +3

    coooorrr that lewis guy is sexy

  • @MudakTheMultiplier
    @MudakTheMultiplier 4 місяці тому

    Hypothetically could this rendering system be used for doing a 3d render like for a video game?
    As in, generating the actual gaussians to be the render instead of trying to take pictures for your initial data.

    • @1234macro
      @1234macro 11 днів тому

      We're already using rasterization in video games, just on triangles instead of gaussians.

  • @NotSlaya49
    @NotSlaya49 8 місяців тому

    Even if the tech tech behind them is really, REALLY cool, this ultimately boils down to just the 3D equivalent of pre-rendered backgrounds like the old Resident Evils and point & click games used-- Almost completely static and unreactive to change. Even worse, you're limited to what you can get pictures or video of, which would be pretty artistically limiting.
    So, I wouldn't really count on Gaussian Splats making their way into games in any significant way.

    • @trickster721
      @trickster721 8 місяців тому +1

      That's just a limitation of the way the gaussians are currently generated, there's no reason they can't have more lighting information. But yeah, it's for rendering 3D photos, not simulated worlds. Maybe someday.

    • @NotSlaya49
      @NotSlaya49 8 місяців тому

      Yeah, you could always include more information to support dynamic lighting, but I meant static in the sense that nothing moves or can be meaningfully interacted with. Granted, that's kind of just a problem with *a lot* of fancy graphics innovations (tech demos of unmoving environments always looking 100x better than anything that actually gets shipped), but still. The 3D photos are cool either way.

    • @stefanoscolapasta
      @stefanoscolapasta 7 місяців тому +3

      @@NotSlaya49 Research on 3DGS is booming right now, recent papers bind 3D Gaussians to the surface of a mesh which is used as a reference for dynamic scenes.
      I see the future as being a hybrid classic triangle meshes + 3D gaussians together.

  • @el_es
    @el_es 8 місяців тому

    Oooh what if this could be coupled with the Apollonian Gasket algorithm ? Let the gaussians be circles always, and let them fill the shape?... and then in 3d...?

  • @maxmusterman3371
    @maxmusterman3371 8 місяців тому

    Like a gaussian mixture model?

  • @anonymous5405
    @anonymous5405 Місяць тому +1

    Idk this wasn’t the best explanation. Should’ve used bigger drawings and maybe planned it out more. You’re videos are usually so helpful, this kinda missed it for me

  • @jannik323
    @jannik323 8 місяців тому

    so these are basically little particles instead of vertices that form faces

    • @tripplefives1402
      @tripplefives1402 8 місяців тому +1

      Still verticies. Just a bunch of 2 triangle squares sent to the GPU where the shader draws a transparent circle on them.

  • @mcmormus
    @mcmormus 8 місяців тому +1

    Men I don’t understand much but by the excitement of them I got very excited too 🤣

  • @iamavataraang
    @iamavataraang 8 місяців тому

    Is gaussian splatting what polycam uses?

  • @AlexXPandian
    @AlexXPandian 3 місяці тому

    When gaussians in a piece of code become physical ;-), you realize how much traditional cv folks hate neural networks :P.

  • @__meo__
    @__meo__ 7 місяців тому

    Matt Parkers book in a research office... Sure... :)

  • @erickmarin6147
    @erickmarin6147 8 місяців тому

    A grandient can be descended in any way but backpropagation is what makes ai

    • @erickmarin6147
      @erickmarin6147 8 місяців тому

      It doesn't learn because it's not deep

  • @jondo7680
    @jondo7680 8 місяців тому

    100fps? Well wait until consumers demand 1024 times the density of blobs.

  • @Bluelightzero
    @Bluelightzero 8 місяців тому +10

    I feel like you glossed over the details a bit too much.

  • @wizard7314
    @wizard7314 8 місяців тому

    Is it neural network based or not? Mentioned "training" multiple times in reference to Gaussian splatting.

    • @drdca8263
      @drdca8263 8 місяців тому +2

      It isn’t neural network based. The training is gradient descent based.

    • @halfsourlizard9319
      @halfsourlizard9319 8 місяців тому +1

      ... it's almost like ANNs aren't the only way to create machine-learnt models! ;P

  • @EmeraldOtringal
    @EmeraldOtringal 19 днів тому

    Again I don't understand the explanations here, you basically detail the second part of the algorithm which is the part about how to render the scene once the gaussians are "there", and yes, it's pretty much rasterizing some blobs with a pretty fade-out gradient towards their edges. But the main issue here is HOW did the gaussians get there in the first place from your set of pictures or video clip? Cause that's the main headache of the whole approach, how to populate an empty 3D volume with a point cloud that's *somehow* being deduced out of 2D input sets.

  • @nutzeeer
    @nutzeeer 8 місяців тому

    Arent there negative gaussians? Could cut out the crescent of a crescent moon.

  • @georgesos
    @georgesos 8 місяців тому +1

    That was an introduction, but i d like to see some rendered examples.

  • @busterdafydd3096
    @busterdafydd3096 8 місяців тому

    8:22 Lewis should of drawn bigger, and used more pages.

  • @barefootfred1479
    @barefootfred1479 6 місяців тому

    Have computer scientists reinvented the atom?

  • @jounalansman1769
    @jounalansman1769 7 місяців тому

    Ending is gold haa

  • @BrutalStrike2
    @BrutalStrike2 8 місяців тому

    Put Mike to the background to get more views 😂

  • @krz9000
    @krz9000 8 місяців тому

    I prefer meshes

  • @xizar0rg
    @xizar0rg 8 місяців тому

    This seems like fuzzy voxels.

  • @Ceelvain
    @Ceelvain 8 місяців тому

    It's so simple! I could probably code it in an afternoon.