第一次在美國直播(講解Gaussian Splatting的cuda code)[English CC]

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
Hi, everyone. Good night. Wait a minute. What am I doing? Hello, hello. Let me say hello to everyone first. I'm using my laptop to live stream again. I'm not very familiar with it yet. Let me turn on the background first. OK. Hello, Lan Yue. Good night. Good night. Good night, everyone. Happy Mid-Autumn Festival. No, I'm saying good night. It's 9 o'clock in the evening here. It should be 12 o'clock in the afternoon over there. Hello, Kondo. Good night. Long time no see. Long time no see, everyone. Hi, Tony. OK. OK. First of all, let me share my recent situation. I've been busy with work lately. As you know, I work at Luma. They invited me to visit their headquarters. I used to work in Taiwan and Japan. I've never visited their headquarters. This time, I'm in a hurry. Because we have a lot of colleagues who work abroad. This time, I gathered some people to visit the headquarters together. Of course, there are also people from the United States who work here. So this time, there are suddenly a lot of people in the office. It's very lively. Hello, Kondo. Hello. Our company is located in this bay area. Let's take a look. I think I can tell you. It's not a secret. Anyway, we're here at Palo Alto. Let me narrow it down. This is the western part of the United States, California. I took a plane to San Francisco. After San Francisco, I took a train or a taxi. Our company is in the city of Palo Alto. It's close to Stanford University. It's near our company. When I first came here, my boss took us to visit. But because it's too big, we only went for a walk. Then I came out. Hello, CKTag. Hello, Yu Wang. I'm far-fetched now. I started working last December. I've been far-fetched since then. This time, I had a chance to visit the United States in September this year. OK. This time, I only came for two weeks. Because I still miss home. So I told them I'd only come for two weeks. Let's see if I'm really going to move here to work. Let's talk about it later. I think the weather here is really good. It's said that it's sunny all year round. It's sunny, but it's not very hot. In Taiwan, it's more than 30 degrees in summer. I sweat a lot when I go out. But here, even in summer, it's about 20 degrees. I came here in September. It's almost autumn and winter. But it's still very comfortable. It's more than 10 degrees. When I was in Europe, I might start wearing long sleeves at this time. But here, my colleagues still wear short sleeves. The temperature here is really comfortable. And it's said that it won't rain. Oh, you work in the United States. I'm curious if the tax in Taiwan is deducted from the United States or Taiwan. My current work style is more... Anyway, they are a company called Remote. I can't show you this. Anyway, it's a company called Remote. This company should be responsible for employees in the local area. It will open a company in the local area. Then it's responsible for paying you the salary. So the company I actually belong to is Remote. It's kind of like a package. So it's Taiwan's Remote who pays me. I work in Taiwan, so I pay the tax in Taiwan. SF has always been cold. It might be colder near the north. I feel comfortable here in Palo Alto. I think there's another advantage here. Because we live in Tokyo, Japan, and Taipei. I think it's very urbanized. You can see skyscrapers and malls everywhere you go. You can go shopping everywhere. But in the United States, it's a completely different feeling. The place I live in is very... There's a lot of nature. There are parks and forests all around. So you can... How do you say it? The air you breathe is fresher. And then it feels like the pace of life is slower. Because when you go out, there's no one around. You can just take your own pace. I like this kind of feeling, too. So I kind of like this place. What else is interesting? The boss is very nice to us. Last weekend, we went to the beach. Just for fun. Our company is here. Because the United States is big, you have to drive wherever you go. I still don't know how to drive. So the others drove me. Then we went to a very far place. Look here. Where is it? We went to this place called Santa Cruz. We drove from here to here. Then we went to the beach. Look at the sea and go boating. I think it's a pretty good experience. My colleagues also like outdoor activities. I don't know if it's because I live in the United States. They go hiking or camping on weekends. It's hard to imagine that people in Taiwan are interested in this kind of thing. Most of my friends in Taiwan are interested in shopping. Or watching cartoons at home. I rarely hear that people like to go hiking, swimming, and diving. These outdoor activities. In addition to outdoor activities in the United States, I just took a look. There are no malls nearby. If there is, it is also very small. It's the kind of store. There is no such big mall. Because in Taiwan, it's the kind of high-end department store. You can go from the first floor to the tenth floor. You can be in the mall all afternoon. I don't have this kind of thing in this place. On holidays, you have to go to the mountains and seaside. It will be more fun. This is also a huge difference. You can go to Westfield nearby. But I didn't come for a long time this time. So I can't go to too many places. And we still have to work from Monday to Friday. Because we have a very important thing to do now. So I can't go out from Monday to Friday. We just went out last weekend. How to zoom in? Let me see what you said. Hello, it's been a long time. Wait a minute, Westfield. Oh, it's not far from here. Wait a minute. Does anyone know how to look at the message on the phone? Because I'm live on the computer now. I have two windows now. One is to see the message. But I hope I can use my phone to see. Does anyone know how to look at the message on the phone? I put my phone aside now. But I can only see myself. The user said that Meta launched a series of services yesterday. It's urgent. Oh, I haven't seen what Meta has launched recently. What did they launch? You can share it with me. Hello, Cornu. Or I'll check it out here. Let me check my YouTube phone first. My phone I'm still not used to it. Watch the live message Watch the live broadcast on your phone Wait a minute, or I'll just turn it over. No. I still have to use the app. But I don't want to download it. Forget it. I'll just open it like this. As long as it's also with some image generation. With LL I don't want to download it. I don't want to download it. I don't want to download it. I don't want to download it. As long as it's also with some image generation. With LLM Then integrate with Messenger Lama 3 will be launched next year. My biggest impression of working here is that They are my colleagues. They will have lunch together. Then they will keep talking about Who did what? It's not all the topics. But a large part of it is Surrounded by their previous Classmates, colleagues Then they are all playing around now. Then in what company What kind of new creation have you opened? Then what are you doing? We discuss these during lunch break. Then I have rarely heard of the name. It's new to me. I can understand that everyone will talk about this. I'm just laughing next to me. But they are pretty good. They will all Try to get everyone into the topic. Because we are quite few people. This time Plus the people who came Only ten or so Because most of them are still far-fetched So ten people chat Everyone has a sense of participation. OK Then it's probably this time. The main impression of coming to the United States I think this place is pretty good. I came before. Because I have never been to the United States before. May be afraid Will it be dangerous? But this time I don't seem to have this feeling. Because there are no people around. You are walking on the road by yourself. There is no one next to you. Of course, someone may be afraid. But I think If there is no one It's more dangerous. Correct OK Berkeley should be much more dangerous. Correct Here above Stanford Where is it? Is it this place? I remember being very close. But I forgot where. Berkeley Here Berkeley University It's close to where we are. Hello Alto Stanford is here Our Alex and Matt are graduated from here. Hello, Eddie Correct Although we come to work with them this time But I feel that their work is also It's almost the same as normal. Although I don't know What is special Can do But it's all there. Then sometimes talk about the sky like this I feel like they are the same as everyone else. I won't say Wow, the feeling of genius It's just very calm. Will you feel that working in Japan for four years is a waste of time? Have to see it Because I didn't know anything at that time. If I just graduated It's only literary Then I learn by machine I am also different To be honest I only learned the knowledge of class No real experience So I think For me like this Working in Japan for four years I think I have learned a lot. Of course if You are For example, in the United States Graduated from a super good university Then you work here directly I think Will be better for you It depends on where you think your level is. Because I think my level Not so good at the time So I think Step by step Slowly like this For me Is also a good experience And I think I really learned a lot there. Maybe it's also because my boss is very good. So I don't think it's a waste of time. Anyway, I think there are four years. Now I can work here. This opportunity OK it is good Talk first Let's go here for a while. If you have any questions later Also welcome to ask I may see Time will be later because of me I can't see the message during the live broadcast. I am opening it now. Ok, what I want to talk about today is This Gaussian Splatting Everyone sees my picture Know That cover picture knows it is A latest Can't say it's NERF I think it's with NERF Is that definition is not the same But anyway Is a Is the technology of 3D reconstruction If you are here Open one first Is Uh Everyone thinks it's written pretty well Uh That viewer A real demonstration for everyone For example I open this This car in 1934 like this OK Let him first Read for a while OK, that's it. Everyone can see Is a Uh, a reconstructed scene That People who know NERF know You can move freely in this scene. Then after moving Is that you can look at this from any angle This car For example, you can look from above Look from the side That this effect is pretty good And this Uh One of the biggest advantages of this technology is that He Running very fast Yes In the original paper He used a very good GPU On a very good GPU Can run to more than 100 FPS The speed that people can't keep up Then Even on this kind of A little lower hardware For example, I am using an Apple computer now. That There is only one built-in GPU Of course not as good as NVIDIA But even on such hardware Can also run very fast This is the biggest advantage of this technology Of course, it's not just running fast The effect of his reconstruction Is in my feeling Also better than NERF Quite a lot Because everyone can see that These are more detailed This part of the texture It can be reconstructed very well For example, this tire The traces of this one by one Can also be reproduced very well In the case of NERF Usually what we will get is A more blurred reconstruction effect In this technology He put these Detailed texture Can be reconstructed very well OK What about us today? Mainly come to talk about this program His program code For the paper I don't know if there is a paper Posted for everyone to see Posted the link Post a link here Anyway, this is a This is INRIA I don't know how to read English Then Anyway, it's a French research institution Then the people inside A technology developed by That's gone Post it for everyone to see Then it's a lot of trouble To click in Hello hello Take a look now Take a look at that message Robin has not seen for a long time There is a problem This Gauss reconstruction indoor scene Why is it so bad? I think It's not that he Reconstruction must be very bad Just How to say I think this technology is just A technology that has just started So they just put One of the most primitive results Is the most intuitive result Provided to everyone Then I believe this technology Now everyone thinks he is very powerful After that, there will be a lot of researchers Start to study That might be like NERF At that time Everyone put forward a lot of different That improvement method Make this technology better and better If I answer your question now Reconstruction indoor scene This is what we did in Luma Is when I was studying Also encountered It's such a problem I think the indoor scene The biggest one The biggest one The problem is that You have a lot of walls Wall ceiling These are all white If you are all white If there is no texture like this First of all, that SFM is That unknown This calculation will be very easy to make mistakes Even if it succeeds For these no Where there is no texture It's hard for you to just look at the picture Can calculate how far it is That is its geometry You can't get it directly from the picture So the effect of its reconstruction will be Very How to say It's uneven Let me see if there are any There seems to be no examples in this place In fact, those places on the wall You will find that they are foggy That place You can't actually know How far is it So he rebuilt a group of fog there I think this is Gaussian Splitting Or NERF Relying on pictures to rebuild A problem with 3D scenes For example, this example Are you talking about this example? Are you talking about this one? I didn't see anything wrong with this one Or do you have any examples to post in this Post in this message area I'll take a look later Answer first Hello, I don't know how to read Chinese I don't know what you're talking about I rarely read papers now I can't finish my work This is our company Other people will share the latest papers they see Then I'm interested to take a look But I won't go too deep Because I think If there aren't too many breakthroughs If there are a lot of sudden progress I think it's just some small progress What is this? Learning to predict 3D objects I don't have much experience in this area It's like a picture Then predict the shape of 3D 3D shape, light, and texture These three things I don't have much research on single view Let's take a look at your question You mean this paper Reconstruct 3D from a picture I don't have much research on this Sorry What I study is multi-view You need to have a lot of pictures It's not full view It's really multi-view Maybe a dozen or so I don't have much research on the others Sorry, I don't believe this Let's take a look at what Robin said The scene of the room Oh, yeah I remember there was a big problem A big problem Is in this TV Yes Then here There is also a big problem with the wall I think this is the part I'm talking about Because the wall has no texture So you don't know where the actual depth is So you Reconstructed There will be a group of fog here This is my conclusion Because when I studied NERF before Also a lot of papers Just a lot of open source programs They are all like this when they are reconstructed When you look at it from the side You will feel very bad Of course, it's worse when you look at NERF Because NERF also has that View Dependency If you look here This wall is white Then when you look at it from this more vertical angle You will find that the wall turns black That's because of View Dependency He didn't learn The color of this wall at different angles So you look very bad Yes, and then besides that wall This kind of reflective surface There is still a big problem For example, this TV screen It is In fact, you look at it from different angles There will be different reflections Of course, the reconstruction of NERF is also Now it looks like the reconstruction of Gaussian is also In fact, he still uses a Hallucinated way The collection he reconstructed Not real He didn't reconstruct a surface here He put this place Reconstructed from a hollow place Then in the depth of this hollow Go and reconstruct a light for him So it looks like This light moves with your movement But in fact This light is Reconstructed in this TV Then if you look at it from the side You will find that there is a hole in this TV Yes, so this problem Still not solved yet OK Um Yes, there are many Robin said to have some depth information Now there are many Will use depth and normal The training method For example In SDF Studio We can see They have a lot of ways to provide This load should be very slow For example, their latest NeuroLangelo Or Mono SDF Mono NuS Mono NuS These should all use Depth Normal Otherwise, they don't look so good OK This is for everyone to explore I'm looking for a single shot Oh, thanks for answering Yeah I have no experience Sorry about that I have no experience Sorry about that I've always been working on Multi-view I found that Gaussian splatting If the input is Different Camera If there is a light variation Yeah There is no way This is because they Oh, Kotori, hello Live will be retained My live broadcast will be retained So It should be after an hour of live broadcast It will appear on my channel So if you have something to do Go ahead Bye bye OK To answer Tony's question That is Different light sources Variation Yeah This is his current A One method A limit Because he only has He can only model that view dependency Use that spherical harmonics That he didn't like Nerve in the wild Is that Appearance vector He doesn't have this thing now So If your For example, exposure Changed That is to say you look from one place Is very bright Then look from another place Is very dark If so The way he solves it now It's in front of your camera It's in that It looks darker In front of that photo Put a black Black Gaussian Make it look black Take a look here Is there an example here? It looks like there is that Exposure change I don't know Take a look at this I haven't seen it all So Just click one now Take a look Yeah Because there is no appearance So if you One of the places If you look very dark He will In front of that Just put a very dark Gaussian Let him look That photo looks darker There's a little bit of that effect here Maybe There's a little bit of that effect here So for example If you look here This The building is bright But if you're here When the building is dark He'll be like this When you move here You will suddenly appear in front of you It's a Semi-transparent black Gaussian Block it Make it look darker That's what it is now It's a reconstruction So if you're in There are a lot of those when you're shooting If you change the light You'll find a lot of floaters That's what we're talking about in there Those floaters But now this The reason for the appearance It should be different Here, it should be There's that Exposure change He's going to rebuild some Gaussian floaters To try to get those Light Light effects Reconstructed Or For example, there's that lens flare When you're taking pictures If you When you shoot against the sun Sometimes See your That There's a very strong light on the picture That thing He will also use A Gaussian Floater Reconstruct it That's it So I think These questions Can be There will be people Researched it Either just apply the Nerve The knowledge you got Or Develop some new methods I think it will be soon There is a new paper To solve these problems Yeah That's right Nerve W Nerve in the wild Appearance I think it should be The most intuitive way is to use this method I haven't tried it myself Robin said, have you ever used the Tai Chi API? I have seen their actual work, but I haven't tried it Because we don't use Tai Chi I don't know how many people use Tai Chi, but we don't use Tai Chi Does Gaussian splitting generate pooling clouds or mesh? At present His Internal performance is a pooling cloud He is you can Of course, Gaussian is not completely a pooling cloud But you can imagine it as Is that you take its center point, the center point of the Gaussian, which is a pooling cloud Then you can get a pooling cloud Of course, I don't know how accurate this is But if you want to do it, you should be able to do it Is to take the center point directly as a pooling cloud I don't know about mesh now Because most of the previous NERF was using the marching cube In the case of Gaussian, because we can't get its density for each point and so At present, the method of taking out the mesh is not so intuitive They seem to want to replace CUDA I don't know OK Everyone is quite interested in this technology Because I am also When this thing first came out, we saw it Of course, because at that time we also felt that it might just be a small paper Of course, we thought the effect was very good But we haven't I haven't cared too much about him But recently, I see everyone is doing all kinds of different attempts When this paper After this code came out, first of all, many people installed it on their computer and executed it Then show us Very beautiful reconstruction result Then there are all kinds of different people Is to apply this thing to all kinds of different hardware and software For example, we have this web viewer, which is that you can see the result of Gaussian Splatting directly in this browser You don't have to install anything from it Just open it and you can see Some people apply it to Unreal Engine Some people apply it to Unity Of course, I know that Unity has some trouble recently But there are many different applications I think Those people are very good Because of these people's efforts Then let this Technology is discovered by more people Our Twitter is basically a sprint Either these AI guys Those who share AI technology, they will Share I saw who did what recently About this Gaussian Splatting Or I saw some artists or photographers Say the photographer is more accurate They just share them The scene that was reproduced after the photo was taken I'm sprinting these on Twitter now Hello, CVBird, long time no see This is not done with NERF This is a method called Gaussian Splatting I think it's a bit different from the definition of NERF Because we know that NERF is this, Neural Radiance Fields So Definition is a field That is to say I don't want to go into too much detail But the definition of field is that every point can achieve its value Whether it's density or color But this Gaussian Splatting is not the same Of course you can, but you have to do evaluation for each Gaussian Gaussian Splatting is more like A separatism Is there any... Tony said it can generate depth Yes It's the same as Render Color They are now stacking each Gaussian and calculating the color Then you can also change the color calculation to Depth calculation This is not too difficult You can refer to my previous I've done it before Anyway, when I was in NGP How to render it How to render the color and render the depth The method is the same Alpha Composite Better Open Source Web Gaussian I don't have all of them I don't know which ones are open source and which ones are not But you have to You have to look at its code It should be very simple I don't know how to do it But because this is all written in WebGL So you can get its shader in some places You can know how it is drawn The EPF card doesn't work OK OK OK Today we are going to talk about this code I'm going to open the program first Not the program, the paper You may need to refer to the paper OK OK All right Let's talk about this first Before talking about the code Let's talk about its idea How does it combine Gaussian and rendering First of all, let's imagine there is a picture here Anyway, a camera Then it has a fixed focal length Then the length and width of these properties I don't have a hand-held version now So I'm using my index finger to draw So it's a little crooked Please forgive me And then in this scene This is a 2D picture But the Gaussian I'm drawing now Gaussian is 3D There will be some Gaussian distribution in 3D For the Gaussian distribution It may be imagined as something like this It's a little crooked Anyway, it's a distribution like this Then you imagine this thing It has three dimensions I'm drawing a dimension now Then you imagine it to have three dimensions Then in the three dimensions You will find that it looks like a ball The border of the ball I'm drawing now It's about three A radius of three standard X Like this OK, in space You will have a lot of this Gaussian distribution I'll make it thinner OK How do these things Turn it into a picture? The idea is very simple It's the 3D Gaussian distribution Projected into this picture After projecting into the picture Then use Alpha Composite Suppose there are two Gaussian distributions overlapped It's a method of averaging Get the final color here OK In the simplest way It's just like this You can imagine a lot of 3D balls Then you project it all onto this On a plane Then the overlapping part You add it all up Simply put, it's like this OK Then Let's talk about the real-world part I think the real-world part I learned a lot of KUDA A technique First of all, this thing is because The rules projected out It's quite irregular For example, there are three Gauss Maybe this pixel There is no Gauss Touch it There are two here There are two here There is one here So it's every pixel The number of Gauss projected onto that pixel Is different So you can't use PyTorch To parallelize this thing Because if you use Python's PyTorch Python PyTorch If you use PyTorch to do it You are a The premise of parallelization You have to make sure Every pixel The calculations are the same If it's not the same You can't do it very well Do it with Python So in this paper In the public program code It uses KUDA Today is With this opportunity Just show it to everyone Actually How does KUDA work in the paper Because I also did KUDA teaching before That's a very simple teaching Let's take a look today If it's a little more advanced What kind of techniques can we use Let our program More Run faster This is the Gaussian mixture model Um If you want to think like that It should be possible But there are still some differences Because it's all Projected to 2D Then do a mixture on 2D OK Let's take a look Its program I will show you the code directly Just Don't go through the paper The main idea is like this After projecting all those Gauss to 2D To do a Comparison Ok, let's see Inside this program Here is its First tell him how to get here This is his Open source program It puts KUDA In a submodule In the submodule Gaussian Rasterization Is its main program After clicking in You can click here Then we press this KUDA Rasterizer There are all of it KUDA programs That it is The naming method It's already very friendly to the developer It's a forward Then there is a backward If you have seen my KUDA teaching You know you The biggest difference is that you In addition to the forward, you have to do it You also have to do it yourself Calculate it Only with the program So we are going to do these two parts So today we are going to focus on Look at these two programs How are they Is it done Then what skills Can make this program faster OK, let's take a look at this first Forward propagation Forward propagation Of course it also has a lot of functions I'll show you now What are the functions We will talk about today I'll take a sip of water first Take a break Hello Hello Come back Today I use this live It's not a live software Capture my face And the body software Not the same as before I used VCFACE before It's open source Unity Open source Unity and free So I've been using it Because I'm using an Apple computer So VCFACE can't be used It only supports Windows So I went online to find Is there any other software that can be used on Mac Then I found one It's a web-based It has nothing to do with the OS Because it is executed on the server Browser This software is better Is that it can Except for the face In addition to capturing the head It can also capture the hand So you don't need any leaf motion It uses the camera directly Can detect the position of the hand Like this My own test The accuracy should be ok Although I don't have much requirement for this But A little more effect It looks more natural So I use this new software today Live It needs to be paid But it's pretty cheap Just two dollars a month OK Let's talk about this program Let's talk about this program OK First Let me talk about This step Although we just talked about It's very simple Many 3D high-definition Here Let's take a look These things are 3D This is quite important It's not 2D at the beginning It was 3D at the beginning It's ugly You have to use a ruler to write Write slowly I still don't want to write too many words OK, this is 3D high-definition Then Yes I said to project it He did two things in this step The first thing is Decide I still have to write See if you can type Type faster Decide Or calculate projection Out radius OK The first thing is to calculate the projected radius Because we know that 3D's ellipse It will be projected to 2D 2D ellipse Not ellipse, ellipse But ellipse You have to save this ellipse Attribute will be more difficult Because if you want to save A 2D ellipse attribute What will the 2D ellipse look like? Draw here If you project Normally it's a 2D ellipse If you want to save this 2D ellipse You have to save its center Then the radius of this long axis Then the radius of the short axis Then you have to save It's with this x-axis Or the angle of this y-axis So you have to save this The amount of storage will change a lot Then you have to save The amount of storage will change a lot The number of stored numbers will change a lot So it's here Calculation After this projection Calculation after projection to 2D Although the projection Normally it's an ellipse But it's simplified You just imagine it as a circle So it did a mirror action It is Not round It is a circle It is a circle It's simple You just have to record its center And its radius You just have to record three numbers It's x, y and its radius The number of storage will be much less The number of storage will be much less The number of storage will be much less In this step What are the bad consequences of this simplification? What are the bad consequences of this simplification? We can think about it In this step Just to know After the projection What will it cover What will it cover For example, if it is an ellipse It covers the inside It covers the inside It covers the inside If I use a circle to mirror It may There are more places to cover But in fact it may not cover those places But in fact it may not cover those places But relatively The number of storage will be less It is a compromise It is a compromise It is a trade-off It is a trade-off So the first step is to calculate this So the first step is to calculate this After the projection of the 3D ellipse to the 2D After the projection of the 3D ellipse to the 2D And the radius of the mirror circle And the radius of the mirror circle In addition to the radius, there are many other things I won't write it For example, the center of the circle For example, the center of the circle Ok, this is the first step Ok, this is the first step After the first step After the first step Then step 2 I wrote it all with this Can I click back I wrote it all with this Can I click back Let me erase the original Let me erase the original Quite complicated just an example now, the second step The second step is to calculate the number of pixels that the circle has covered. Calculate the number of pixels that the circle has covered. The second step is to calculate the number of pixels that the circle has covered. Zoom in The lower right corner will be blocked by me. I hope it won't block the screen. Let's see if there are any comments. No comment now. The second step is to calculate the number of pixels that the circle has covered. Here is another mirror image. I'll draw another picture. The original picture looks like this. Let's calculate the number of pixels that the circle has covered. Calculate the number of pixels that the circle has covered. The number of pixels that the circle has covered is the number of pixels that the color contributes. The method of calculation is not to compare pixels one by one to see if they are in the circle. This calculation is too slow. Of course, you can still calculate the distance between each pixel and the center of the circle, and see if it is smaller than the radius. But this calculation is too slow. So they proposed an accelerated method in this program. This is a more important technique. They divided the whole picture into many... I don't want to draw here. Draw here. They divided the whole picture into many small squares. I just draw a little bit on the side. Like this. For example, I won't draw below. They divided the whole picture into many small squares. The size of each square is 16x16. This 16x16 is what they decided. Maybe this is the best solution. I don't know. Anyway, it is set to 16x16 in the paper. So they divided the whole picture into many small squares. If it is not 16x16, it will be filled to the side. So the last square will cover this area. The technique of calculating which pixels this circle covers is to divide it into many small squares. Each of these small squares is 256 pixels. Then it calculates which squares this circle is connected to. For example, in this example, it is connected to these four squares. So it takes all the pixels here as if they are connected to this circle. Yes. It is a formula like this. Of course, we can know that this formula can make the calculation faster, but on the contrary, you will have a lot of unnecessary calculations. For example, the pixels here are not connected to this circle at all. But we still recognize it as connected. So we will pay more for the calculation in the future. But in this part of the calculation intersection, we can do it faster. Yes. So you can see that we have made two forms here. Although the speed of our intersection has become faster, it also makes us calculate where the actual useful pixels are. We have a lot of things that are not actually useful. OK. In short, this is what is mentioned in the paper. Calculate this circle. Let me write it as a circle. This may be more... Why can't I press it? The radius of this circle. Let me mark it. This is the radius. OK. The second step is to calculate which pixels this circle covers. OK. The third step is... For example, we have already calculated. Let's take this as an example. This circle covers so many pixels. This circle also covers so many pixels. The third step is... We haven't actually calculated the color yet. Before calculating the color, we need to know which pixels are in front of which pixels. For example, this intersection part. One is blue and the other is yellow. We need to know which one is in front of which one. Then we can know whether the intersection part should be blue or yellow. OK? In fact, there is alpha blending. But in short, we need to know which one is in front to know which one is in front of which one. So the third step is to calculate the order of each high silk. Right. We need to calculate which one is in front of which one to do the alpha composite. OK. In the third step, we haven't actually done this. I'll tell you how to calculate it later. OK. After the calculation, the last step is to calculate the color of each pixel. This is easier. Because we already know each pixel. For example, one of the pixels here. A grid. We already know, for example, the blue one is in front. Let me see. For example, the blue one is in front. I'll draw a 1 for it. The yellow one is behind. I'll write a 2 for it. We already know the blue one is in front. Then I know that when calculating the color, I need to calculate the contribution value of the blue high silk to this pixel. After I add it up, I need to calculate the contribution value of the yellow high silk to this pixel. Like this. Yes. OK. That's about it for the forward propagation. The forward propagation is that after we project the 3D high silk, we can know the color projected. The color of the whole picture. Hello. Is each pixel the forward propagation of the high silk? No, each pixel is each pixel. One pixel is just a dot. What we need to forward propagation is the result of the projection of the high silk. In fact, the high silk propagation is not forward propagation. What we forward propagation is the contribution of which pixels after it is projected. Like this. It's the picture projected on 2D. It was elliptical. We forward propagation it into a circle. Then we forward propagation that it covers all the pixels. OK. Another question from Tony. Let's take a look. Is the color of each high silk controlled by Spherical Harmonics? Yes. Each high silk now has the coefficient value of each high silk. So it calculates the color of the high silk through these coefficients. The color of the high silk will be different depending on the angle you look at it. You can simply imagine that each high silk has a color. This is the simplest way to understand. OK. Let's take a look at its program. After talking so much, let's take a look at its program. OK. Let's take a look at the first step. Calculate the projected circle. Let me see if I can move it to the side. I'm afraid the screen is too small to see clearly. Forget it. Let's remember in our mind. The first step is to calculate the radius of the projected circle. Let's see where the corresponding program is. OK. There are several functions in Forward. The first one is preprocessed CUDA. I'll tell you which part corresponds to which part. OK. I've been looking at this for a long time. These two things correspond to preprocessed CUDA. I'll tell you about the rest later. OK. Let's take a look at preprocessed CUDA. Oh, yeah. Did I mention it in the last live broadcast? Anyway, GitHub is very good now. When you click it, it will tell you where the function is quoted. OK. Let's take a look. OK. Let's take a look at it one by one. We still have time. I don't know what I can talk about today. Let's talk about it later. OK. Let's start with line 197. Let's see if we can zoom in on this. After zooming in, Oh, this can be turned off. This is better for my eyes. Oh, yeah. It's better for my eyes. Oh, yeah. Tell a little story. Anyway, I went to the company. Our company provides an Apple screen. It's a big one. A super big one. It's bigger than all the screens I've ever used. Anyway, it's big. And then it's buttoned up there. My font is about this big. Because my font is too small. My eyes look uncomfortable. When you see it at night, You'll feel like you want to sleep. But I'll take a look at other colleagues. Some people are super good. They open a lot of small screens. It's a big screen that can be divided into many small ones. Just like I did just now. For example, one on the left. And then one on the right. Like this. And then every word is super small. Every word is about this big. Like this. Something like this. It's this small. And then they look very, very relaxed. It's a small screen. It's not a small screen. Such a small font is working. I don't think I can do it. I think it's amazing. OK. A little story. I'll zoom in on this. Let me answer Eddie's question first. Imagine a series of scenes to be rendered. You have a lot of 3D balls like this. You can imagine it as a water ball. Then you sprinkle the water ball on top of your screen. With this sprinkle, Every place on your screen will have color. The color is determined by the distance of the water ball. For example, the blue water ball is in front. The blue water ball is in front. Then you will have more blue places. A feeling like this. Yeah. The title is Gaussian Splatting. Gauss is Gaussian. Splatting is a splash. This kind of action. So, yeah. You imagine it as a water ball. Splash it on the screen. I think it's pretty close to the actual operation. OK. Let's go back to the city. Let's start with line 197. Line 197 is for each Gauss. Each Gauss has its center point. Although I didn't draw it here. But because it's a 3D water ball. The water ball has a center point. Then he put this center point first. It's a projection. You can imagine it as a... Anyway, it's a projection. It's a 3D point. You project it to the screen. There will be a projection on the screen. He projected the 3D point to the projection first. And then he projected it to the projection. First of all, it has a computable variance. Computable variance is not important here. It's calculating the three axes of the water ball. We say this... The water ball has two axes. The water ball has three axes. In this Compute Covariance 3D, It's a process of calculating the length of these three axes. It's not important here. There's a formula in the paper. So let's skip this part. It's pretty simple. The second part is... It's calculating what the ellipse looks like after the water ball is projected to the 2D. Okay? It's an ellipse projected to the screen. In this Compute Covariance 2D... This is so annoying. It will come out as soon as you press it. In this Compute Covariance 2D function, It's calculating the projection process. It's calculating what the shape of the ellipse will look like. This function... I won't talk about it here. Because it's in a paper. You can calculate it by using the formula. So I won't talk about it here. You just... The abstract is... What will it look like after 3D is projected to 2D? The ellipse projected here... I'm going to use a... I'm going to use a matrix to record it. The ellipse projected here... It's a 2D... It's a 2x2 matrix. Although it's a ellipse, But we can also imagine it as a 2x2 matrix. This matrix contains the long axis, short axis, and... And the x-axis... The angle... Information. It's a 2D matrix like this. It's a symmetrical 2D matrix. So there will be three factors. They are ABC. This... I'll turn it off. This covariance... This variable... It contains... It contains the three numbers ABC. Like this. Okay. Next, we're going to calculate the radius. The way to calculate the radius is... If you've studied linear algebra, you would know that... We are going to define the characteristics of the matrix. That is, we have to know... The characteristic quantity and the characteristic value of the matrix. Then the characteristic quantity among the feature... Corresponding to the characteristic value having a smaller characteristic quantity, It will be this quantity. Then the characteristic comparison being a smaller characteristic quantity is... This quantity. Like this. Okay. It's too complicated. It has no sense. Then... We mainly need to find the characteristic value of the matrix. The calculation of the characteristic value is very simple, we just calculate After subtracting the x from the right angle line This one I didn't expect it to be so troublesome to write by hand I'll just use a straight line The characteristic value of the calculation is that after we subtract the x from the right angle line Do a linear calculation, then we have to calculate this thing How much is the solution of this x? This is us The simplest way to solve the characteristic value is to calculate a square like this So after we expand this thing, you can get You can get a one-dimensional two-dimensional square, then we will write it directly here You can get x² Subtract a plus c Subtract a plus cx Then add ac-b² I won't hang up I don't want to write it here After you write this thing, you can find that it is a one-dimensional two-dimensional square Then you have to solve this thing Solve this thing is also very simple, everyone is very good at it, 2a divided by b²-4ac, which formula So after solving it, I won't solve it for everyone here It is here Solve it here He used mid and lambda Then put this Solve the characteristic value After solving it, it has a bigger one and a smaller one I'll write it here for everyone Do you want to write I won't write it, because this should be easier to understand, you just solve this thing Solve the x Because it is 2a divided by Subtract a plus cx-b²-4ac 2a divided by a plus c Then Subtract a plus cx-b²-4ac So everyone can know that one is plus and one is minus, so the plus thing is The longer side is the longer radius The smaller value is the radius of the short axis Because we are going to make a circle, so we are going to take the radius of the long axis The radius of the long axis is bigger than the radius of the short axis But in fact, you don't have to use max, because you know that max must be the first This lambda1 is the radius of the long axis Solve it with the 1-divided-by-2 equation Then we want to get its radius You can see that there is a multiplied by 3 in front of the radius Why is it multiplied by 3? Multiplied by 3 is because we want to cover the Gauss distribution as much as possible The fuller the coverage, the better Everyone knows that the Gauss distribution is one-dimensional We can know that if it is plus or minus a standard difference, it is probably How much is it 68% or so If it is plus or minus two standard differences, it is about 95% If it is positive and negative Plus or minus three standard differences, it can cover 99% of the Gauss distribution So the reason why it is multiplied by 3 here is The value of the Gauss distribution plus or minus three standard differences is all included After it calculates this thing, it becomes the radius of this Gauss So the radius here is the part I wrote R here Then Oh, yes, the part of calculating the color is not the most common You can imagine it as every Gauss has its own color That's it Calculate the sh here Nothing to say OK, then the last step is to save all the values ​​that will be used later Oh, wait a minute, and this tile's touch hasn't been mentioned yet Oh, yes, the tile's touch hasn't been mentioned yet This is our second part We just talked about projection Come over and calculate its radius Then next we have to calculate What pixels are covered by each circle What pixels are covered by each circle It's in this getRect function Because when we have The center of this circle After the center and the radius, we can easily calculate this circle What are the small boxes covered Then it is in this program It's a 16x16 grid like this It's called a tile It's a piece of tile Like this Then it's in this getRect function Calculate which tiles are covered by this circle We can take a simple look at this function Let's take a look at what it's doing Oh, no, it's here Oh, it's in another program Go back to the previous page There's a place that I don't like It just divides this program too finely There are a lot of small files that make you keep running For example, getRect is written here It's very simple here You just calculate the radius minus radius Radius minus radius and radius plus radius In which range only So you can get this What are the tiles covered like this Ok The tiles covered in this getRect function are calculated And then it finally saves And what it saves is What this tilesTouch saves is that it covers a total of a few So if it's this example It covers a total of four tiles It's stored in this tilesTouch Ok The first and second parts of the explanation For the time being, here's a paragraph It's the radius of the calculator and which pixels are covered Then take a look Take a look at the message 12cdt Oh, ok Oh, sorry It's the best approach If your goal is to extract an object's volumetric information I mean, if you only have one single view And you think you need some priors You cannot just infer the shape by a single image Then I need to generate point cloud But either it's point cloud or you can directly obtain a mesh You need some information You cannot just generate from an image You need, for example, depth to achieve that Or normals That is to say, a picture A picture can't get 3D Unless you use Depth Prediction first Single Image Depth Prediction Get, for example, point cloud Then you convert it into Convert to Mesh This should be Can be done But I don't think the effect will be too good If you want a good effect, you must have a prior For example, if you want to know your thing If it's a If it's a car Then you know that Oh, if I know what the left side of this car looks like Then I know its right side You need to have a prior like this To be able to reconstruct well I don't know what's good about this I just told you my previous experience I'm not familiar with the task here Sorry Hello Abby, long time no see Hello Happy Mid-Autumn Festival Today is September 29th I'm still September 28th But volume change over time Absolute volume I don't quite understand the last question What is volume change over time Will it move? That's great And visit Oh, yeah I just hope Because he actually hopes that we Is still in person Or maybe it's better for everyone to work together Because you can discuss at any time Then if you have any questions, you can think about it together Then I came by myself and I think so Indeed But if it's in terms of work efficiency It's still better than working alone at the far end Single view is ambiguous Like growing plants Growing plants Suddenly there is a very difficult problem You have to rebuild a 3D 3D plant Then it's a growing plant Then you only have one picture It's a picture viewed from one angle It feels more difficult Then you may really have to have a single image to depth Then you really have to be very accurate I think Then answer first Eddie said which company I am from I am Luma AI I am from this company We are doing NERF research We have provided an app Then you can go outside Like this You can shoot it in multiple angles of 3D Then after shooting, you can rebuild a 3D scene Then you can do whatever you want to this 3D scene It's Novel View Or you can export it as Mesh Or import it into the Unreal Engine We are doing this kind of service Then I joined in December last year I changed my job When did you get your information? I changed it in December last year I used to work in Japan The accuracy of the depth rendered in Tile should be very poor Accuracy of depth I don't know Because Although you are calculating When you cover the pixels You do a lot of unnecessary calculations But because what you actually save is still a high division So if I draw it here These yellow and red Tile calculations Are all close to 40 But what you actually save is still this ellipsoid You actually still have information about this ellipsoid So when you are calculating For example, the contribution value of this pixel For example, the contribution value of this high division What you are still calculating is this point How much is the probability of the high division of this two-dimensional So although you cover more unnecessary areas But these unnecessary areas When you calculate the probability It will still be very small So the final rendered result may not be much different This is my understanding But in fact How accurate is it May still need to experiment to make a comparison NERV is also in this company Yes, we have Matt He is our Can be said to be a public official Is there any Talk We will invite him to give a speech Because he is a writer So his fame is relatively high Then everyone will It's easier to notice us He also paid a lot of effort in research He is not just a mascot He will still make a great contribution to the original work Thank you, Ziyi Sorry, I can't fully answer all your questions Thank you for visiting See you next time The author of NERV Studio How did he do it at the same time in Luma Yes, that's Matt TenCic We call him Matt He likes to record Many of his NERV captures are taken when recording This is a little story How did he do it in Luma and maintain NERV Studio When he first joined It takes a lot of time In maintenance But as far as I know Should be handed over to new students Or a junior or two years younger than him I don't think he is doing it in the company No more NERV Studio Are doing things in our company I don't know if he is doing it in private So cool Cool I was saying about NERV Studio Now I was saying that So we have Matt, right? Matt is at Luma So he worked on NERV Studio quite a lot When he first joined us But now I don't think he spent that much time on it He kind of like lay over to the other students at the moment That's all I know about NERV Studio I don't know too much actually Thank you, thank you for joining Where was I? The first step is to calculate the projection The radius of the circle And where to cover Then we have to calculate the order of each Gauss So that we can draw it on this picture This step is in this Let's keep going This is not in this file The actual city At most it's still in this Rasterizer.img file It takes some small parts To the forward and backward But the main part is still in this file Let's take a look This file Has two main functions One is the forward part 198 lines This is to calculate the projection This function will be called later The function we just talked about But in addition to the function we just talked about There are some other things to do The first step The second step is To call the pre-processed CUDA function Let's talk about the second step The second step is to calculate the forward and backward order of each Gauss When we calculate the forward and backward order of each Gauss We need to know Let me think about how to explain this When calculating the forward and backward order It also has a technique It takes every Every tile to make a Every tile to make a Calculation of the forward and backward order Can you understand? That is to say, I now divide it into so many small tiles Then I take out each tile independently For example, my first tile After I take it out Take it out It looks like this It's a square What about this square? There may be many Gauss To cover it For example, there may be so many Anyway, there are many Gauss to cover it Then we put Every Gauss that covers this tile This Gauss of this tile To do a sequence of forward and backward order For example, this yellow is No. 1 This red is No. 2 This blue is No. 3 And so on We do a sequence like this Then the second piece is the same We take this second piece out Take out the second piece For example, this No. 3 Also covers this tile But there are other For example Look at the new color For example, there are purple And there are And there are green All of them cover it But this time we don't care about the previous ones We don't care about For example, this red and yellow And so on We don't care about these Other Gauss that don't cover this tile We just cover this Gauss We do the same for this We do a classification For example, this time This one may be No. 1 Then this one is No. 2 Then this one is No. 3 In this way, we take out each tile separately Then do a sequence The advantage of doing this Is that when we are rendering Because when rendering We also do a rendering for each tile In this way, we can speed up The rendering speed OK In the actual work Although I took it out independently when I explained it But the actual work is not Not using a for Then do a classification for each tile Do a sequence Not like this Because it will be slower The technique he used in the paper is This one Put each Each one like this A porcelain A porcelain Add one A porcelain plus a Gauss He imagined it as a combination OK For example, this place For example, this is No. 0 porcelain Then this is I give him a mark for each In order to avoid confusion For example, this is No. 200 Then I just write numbers For example, this is No. 12 Then each Gauss has its number For example, this is For example, this is No. 44 This is the number I just marked Because this is the same The same Gauss So I also marked No. 44 here Then for example This is No. 23 Then this is For example, No. 10 We just put a porcelain And a Gauss that covers his porcelain Make a Take it as a group OK Then put this group To make a sequence When the sequence We are When the sequence We are For the number to do the sequence How did this number get it? This number is a 64-digit 64-digit number What about the 32-digit number in front? Oh no The front is not necessarily 32-digit But the back is 32-digit The smallest 32-digit number Is the depth of this Gauss OK The front You can imagine 32-digit 64-digit So the front is 32-digit The 32-digit number in front is This tile The number of this porcelain It is like this All the numbers To make a sequence So what happens after the sequence? After the sequence Because the tile is in front So you can know The smallest The smallest tile will be in the front That is, the tile in the upper left corner It will be in the front In the same tile Behind Because the same tile The 32-digit number in front is the same So in the same tile Different Gauss Will use their depth To make a sequence OK So for example Now this six The result of the six things Will be The result of this sequence will be No. 0 tile This No. 200 Gauss of No. 200 Because Gauss of No. 200 In the first tile In the first tile It is the front So it is in all These six Six things The first among the six combinations First place Who will be the second place? The second place will be It's still important here I wrote it all down The second place will be In the 0th tile Gauss of No. 12 Because he is in the 0th tile In the ranking This depth is in the second place So it's here The third place It will be the 0th tile No. 44 of the 0th tile Gauss of No. 44 Because he is in the 0th tile Ranking The depth is in the third place OK After the 0th tile is ranked Then we will Go to the first tile The first tile This one The first place will be This No. 44 Everyone hold on Almost finished Two left OK The fifth place will be Gauss of No. 1 This No. 10 Gauss of No. 10 The last place will be The second The first tile The No. 23 OK The order is like this We are According to the number of tiles Arrange first Then for each tile If it is the same tile We will follow Every Gauss Arrange in order So after the arrangement It will look like this Is very Good A sequence that can be rendered why? Because we are No. 0 tile We just follow this sequence to render No. 1 tile We just follow this sequence to render You can get the correct result OK So this part of the sequence Is in There are quite a few functions Is this inclusiveSum All the way to This SwordPairs This place All the way to this place All of us Do a sequence Ok, let's talk about it Is there any problem? Wonder how long Do you take to read this paper? Read this paper I use Chinese English is not very good I talk to them It's pretty stuck Their colleagues are all very good at English Hey Let me see I read the paper It's not too long Because this paper It's a pretty intuitive paper Because it's just pouring the water ball Just on the screen It's easy to imagine Is elliptical Then Then draw it out It's like this A very simple idea But in In terms of programming It took a lot of time Because first of all It's written in CUDA And then he did a lot of this Forbidden part Then split it into many small tiles This is also I think it's a bit difficult to understand A part When I first saw it And then he In fact, his program is written It's not too easy to understand Ok, let's talk about it And then if you want to talk about time I think A week A week If you understand that Understand After that abstract idea You are actually looking at the button It won't be too slow Correct Just put these steps A few steps It's just one by one Because you know For example, if this is projected into an elliptical You are in When you look at the button Hey, where do you put it Project this 3D to 2D And then when you look at the button Oh, did you find out Hey, it's not elliptical It's a circle to mirror And then you slowly Step by step How does he put this problem Do it in his way Then you will slowly Know what steps he used Like this I spent about a week To put it simply OK Took me two weeks to understand the paper Yeah Yeah I think I didn't really take time to Like understand all the formulas Because it's just like Gaussians, you know Like the probability distribution function So I didn't really take time To read all the details Because I know How the function looks like I just need to use that The Gaussian splitting paper Does not include much new math Yeah, yeah It didn't like introduce any Like really new stuff It's just the implementation Yeah, I learned a lot from their implementation too And that's where I think This report is most useful about I really want to learn CUDA But I don't have time It's easy Look at my tutorial My tutorial is really easy This part This part is A more advanced part But I think After you read my tutorial And then look at this You will also feel It's just a little bit difficult Haha OK OK How long will you stay in the Bay Area? Oh, hello Are you also in the Bay Area? Hello I want to treat you to dinner Oh I'm going back soon I'll be back on Saturday This time may I don't have much time But I I may come back later Maybe here Haha Resettled Not necessarily I still want to be here Maybe work for a while For a while It's that kind of Time calculated by year So maybe I'll come back later Then you can contact me later I want to see your tutorial Yo Very good Thank you Thank you for your support Haha But I work now It takes a lot of time I can live stream now Well, it's It's rare Yeah Live stream It's not that I don't have time to live stream But if If you work Work until late Maybe my family is going to rest I'm more embarrassed to live stream Because when I was in Japan before Live alone Live alone More free It doesn't matter how late you want to open it at night But now go back If you live with your family Then I Morning and afternoon Work At night They want to rest I'm not too embarrassed to live stream So I can open it today because Just here It's less noisy Will the company work overtime often? Um I should say we Our that How to say Deadline is more It's very urgent That may For example, we want to release something That Maybe the boss or colleagues They just Hope to say Let's finish it as soon as possible Release as soon as possible So You will feel in your heart Oh, I have to I have to finish it as soon as possible But actually We Yeah, usually release will Uh Delayed One or two weeks or so So it's actually To work overtime Not necessarily to work overtime Just At first you might think I'll finish it as soon as possible But actually I found out later Oh, no matter what Anyway, no matter what If it's delayed Then I actually don't need to No need to be in a hurry So my mind right now That is to say Oh, even though they said I have to release this thing next week But we I might want to say Even though But I'll just take it slow No need to be in a hurry Or work overtime too much Usually when I work overtime I think Oh, today I haven't done it for so long I feel like I'm about to do it Then I want to put it When I do it today I will work overtime Otherwise I I don't really know Other people Oh, yeah, let's talk about other people That's what we're doing this time That I Yeah I am It's about nine o'clock in the morning Will arrive at the company And at that time Usually there are no people in the company They're all about ten Ten o'clock Ten o'clock to the company It doesn't necessarily depend on their mood Then When you get off work Maybe it's seven Yeah, it's about seven o'clock It's probably Everyone will put down their work Either go to dinner Or go home We Now because there are a lot of people here So Just maybe Sometimes everyone is Eat together in a restaurant near the company Or order that takeout I'll go home after I finish eating at the company So The end time is about seven o'clock After going home I'm not doing it anymore I don't know if anyone else has it I think we have a pretty good one here Pretty good Pretty good benefit You could say that It's me I will The company will Just order lunch together We use that DoorDash I haven't heard of this thing in Taiwan But in the United States We Our company has been using this We use this every noon Order lunch It's like Uber Anyway, it's a delivery service Then we order lunch together That is No need to pay The biggest benefit But I heard it was also delivered overseas in the United States Super expensive It may be 30% more Well, first of all, that food is already 30% more expensive I listened to them It's 30% more expensive And then add that Transport And then Transport may also be 30% And then add that Consumption But if we order together That transportation It will be cheaper per capita And then I didn't pay anyway Yeah, so I think it's good Benefit Benefit is good The final project It's up to me Are you still doing this? I feel like you can Start Turn Turn to Gaussian Splatting Because before Someone asked me in my channel message Ah, NERF is done What direction I can't find any new directions I feel like someone has done it I don't know where to start Because someone has this kind of trouble Now there is a Gaussian Splatting Everyone can Start heading in the new direction Make an effort Ok Ok Let's continue I've been talking for almost two hours Let's talk about forward today But I think backward is also important But forget it Let's talk about forward first Ok, the next step Is our last step We have just finished three steps Now the last step is to Calculate the color of each pixel Ok, when we have this thing We have every tile And every In the tile After its Gaussian forward and backward sequence We can do these tiles Render Ok, this render code The same is in this forward.cu Then we pull down Pull down No Pull up Ok It has a function called renderCuda Ok, let's drink some water Talk too much Ok Come here Ok, in this renderCuda We will need Some things we got before First of all, we will need Just this Arranged things Then the arranged This Every combination We will also need to say Every Gaussian Every Gaussian We just got the first step For example, this circle Then this Mirror We will have these things Then there is this Every Gaussian Its The actual ellipse What does it look like It's this Uh Covariance This Function We will have these things Every Gaussian will have These properties are here Ok Then we have these things After adding this sequence We can start For each element To render Ok, when rendering We are the same With tile As this independent Calculation Then let's go back here That It's here Made a Very good skill You can say that Because I saw it for the first time I think wow How can you be so smart Like this What is the skill he did We know in Cuda We put it Divide a huge calculation To Uh Many blocks That many blocks There are many threads in each block There are many workers Each worker is responsible for a very small calculation That means Many workers work at the same time So this work is done very quickly Such an effect That in this In this render It Uh Uh This block With What is this thread Let's take a look That Because we are already Every Uh A picture is divided into many tiles That So He used it here Uh A very smart skill He is Take each tile As a block Ok Then I will Write it here His In this Cuda The calculation inside is his block His block Is equal to One Uh Uh Is equal to a tile Then we know There are many threads in a block Then everyone You can think about what the thread inside is What is it The answer is actually very obvious Because our tile Is composed of many pixels So Each The thread inside the block It's actually A pixel in a tile A pixel Wow Handwriting is so ugly OK So I think this design Is when This Among the ten I think the smartest part Is that he put A picture Split into many tiles Then A tile Imagine it as a block Every pixel in it Is an independent thread So the actual operation is Each thread Responsible for one of the pixels Calculate its color Like this Ok What are the benefits of doing this? The benefits of doing this There is another benefit Is He is every block He has stored it In this block His order So you Every thread When calculating You don't have to Read these orders again Because in CUDA There is another How to say A very efficient method But this method is more advanced So I didn't talk about it in the tutorial Is this Shared memory You can see in this In the ten There is this The variable at the beginning of shared This Shared represents Shared memory Shared memory It is a A Memory block Then it is Current Block All threads inside Shared That is to say We If in a Shared memory Save If a variable Then in the same block All All threads Then in our example Is Inside a tile All 256 pixels Can be Very fast Save to The value of that variable Like this Why should there be such a design? Is if For example, every Pixel A thread You have to read a For example, if you want to read a high line Then read a global memory from the thread His speed is slower But if you save to this Shared memory Your storage speed will become very fast That So Because there is such a design So He is in this Read Uh, when this is high This speed will become very fast Like this I don't know if you understand Just because of everything Uh, in a block What we need to read It's exactly the same We just need to know In this block What are the high threads Then what is the order Then this thing is In the same block It's the same So we just need to read these things once After reading it once We can be used by all 256 workers At the same time That This speed will speed up a lot OK After talking about such an idea Uh In fact, it looks like it's very simple Like this We just allocate first Just put what we need to save First define it Then We define some Is Uh The variable that will be updated For example, this T is Transmittance This is the pass rate Ah What is Chinese Take a look Transmittance Transmittance Chinese Pass rate Hey, pass rate I am speaking in Japanese But Chinese is the same Anyway, this pass rate At first it is 1 Then as you go through more and more high threads Then it will decrease more and more This part is the same as NERF So I won't say much Then this contributor is How many high threads have you gone through in total Because after going through After a certain number of high threads Your pass rate will be getting smaller and smaller When it is small to a certain extent We have an early stopping That is also used in this NGP For example, when it is less than 10 to the negative 4th square Take this pixel as Already rendered completely Then we don't care about the high threads after that We don't do the calculation like this So this contributor is to calculate How many high threads have you gone through Okay, this C is to record the final What is the color rendered OK, let's take a look At first Some details are not much to consider For example, it first calculates Is a pixel in this picture Because we say Because a tile is 16x16 If the size of your picture is not 16 times You have to make up a bigger tile After making up a bigger tile There may be a situation The pixel here is actually not included in the picture So you don't need to calculate it It will be judged in this function Is this pixel in the picture If not, mark it as done Done is already over Either outside the picture or inside the picture But its transmittance is already very small Is already completely rendered OK, what is the use of calculating this thing It will be used here At first it looks at all 256 pixels Now we look at this thing with a block Look at 256 pixels in the same block If all 256 pixels are calculated Then end the calculation of this block If we haven't finished yet It is the pixel that has finished Responsible for taking the property of global memory Into shared memory At the beginning, we just said that there is a shared memory All the properties of Gauss in the same tile We have to get it one by one The step of this acquisition is Some already idle workers will be responsible for it After we get these properties We started to do a rendering A rendering is quite simple For a rendering, we first get this pixel We said that a thread is a pixel For example, I use this tile to calculate For example, one of the threads represents this pixel It is now responsible for the color calculation of this Gaussian The calculation of the contribution of this Gaussian to this pixel Let's first calculate the distance The distance is the distance between this pixel and the center of this Gaussian Then we will have two values Anyway, there is a distance of x and a distance of y It's two values Calculated in this d After we have d, we use the probability of Gaussian distribution Then we know the probability of Gaussian distribution In one-dimensional, it is this It will be compared with this equation It is 1-2sigma square times x-2 It will be compared with this equation Then it is the two-dimensional version of this You can imagine it as this sigma and mu are two-dimensional This thing is in the two-dimensional Equivalent The two-dimensional expression will be compared with this Then we will need to use this thing we just used This is the covariance of the two-dimensional What it actually does is to make the covariance of the two-dimensional To make an inverse So if you write it in ABC, it will be more troublesome But anyway, you subtract the center value of x- Then make a transpose Then multiply by the covariance Then multiply by x-mu Anyway, if it is a formula, it is not so complicated It's just a point in a Gaussian distribution This is a simple thing It will be 1-2 Anyway, this power is to calculate this kind of thing Then we need to calculate the actual opacity of this Gaussian It is its alpha The alpha here is made in a way that Its alpha will decrease with the reduction of this probability That is, the probability that it is equivalent to the point in the Gaussian distribution So it has an alpha value at the center The actual alpha will be based on If your point is further away from the center of the Gaussian In other words, if the probability is smaller It will decrease with the reduction of this probability It is the relationship of the covariance So it will need the actual alpha in the center Multiply by the exponential thing we just calculated Multiply by this thing to get the actual alpha The actual alpha is to avoid numerical instability For example, if it is too small or too large This calculation may be wrong So it needs to set the maximum value to 0.99 If the alpha is less than 1 in 255 It will be considered transparent There are some tips The rest of the calculation is the same as the NERF It is to calculate the transmittance If the transmittance is less than 10 to the power of 4 Then end this calculation The next step is to do this alpha composite Because you have each Gaussian You do a calculation like this Is that you put this pixel Do a distance calculation for the center of this Gaussian Then apply this distance Applied in the calculation of the probability of Gaussian distribution Get the alpha of this point Then according to the color of this Gaussian And the alpha of this point Slowly add this color one by one The rest is the same as the NERF Don't think too much Then finally write this color in the correct position That's the end of this forward transmission calculation The color of this Gaussian is in the Render Cuda Forward transmission is quite easy to understand I think he divided a picture into many tiles 16x16 tiles I think this technique is quite amazing I think that's the biggest way to speed up Share memory is closer to CPU I don't know this, I didn't study hardware I only know that it will read faster Ok, wow, I have been talking for two hours I was thinking if I should continue to talk about backward Because backward is more complicated Then I used some new techniques I'm not sure if I can finish The place we live now is AirBnb Near the company Although it is near Because in the United States All distances are calculated from the distance of driving No one is walking So the distance here is 10 minutes by car 10 minutes by car, 30 minutes by walk They think it's close I haven't driven until now The distance is really far To the extent that you have to take a long-distance bus to go to work So I think this is more troublesome for me now Although we are now Because it's only short-term here So we call Uber every day It's not too expensive to call Uber every day Because driving for 10 minutes Uber is about $10 $10 is not expensive But if you really want to live here If you want to go to some farther places on weekends It's better to drive yourself Let's take a look Do you want to talk about this Backward? What should I do? I think I might not be able to finish Wait a minute Ok, I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple I'll just make it simple Ok, I'm going to What would Backward What would Backward Well, we'll see Let's see Do we want to go into the details Ok, then we say Cool is you The difficult part is You do the front Let's see what we are going to calculate Here we have simplified the problem Because it has sh, so it has to do partial division for these sh Let's imagine that each of my tiles has only color, only RGB We don't care about other tiles, we only care about RGB RGB, position, 3 axis length, rotation, etc What is my output? In Gaussian splatting, there is only color calculation The final output is color, the color of each pixel So what is the gradient that we need to calculate? In this tutorial, we are going to think about loss In input forward path, we will get the color of each pixel The p represents pixel So what is our input? Let's write output and input This is our output So what is our input? Input is our point Point is the coordinate of every 3D point Let's see how to write code There is 3D position There is RGB This is our color Let's add a G in front It represents the property of each input What else? There is rotation It is a rotation in 3D It has the property of row-pitch-yield It is using quaternion in the program What else? There is scale The length of each axis If it is just a rotation, it can't show the shape Because the ball may be like this It may be close to a ball It may be a very thin ball How to show it? It is using the length of each axis What else? There is opacity Each height has its opacity That's all Let's write it as point There are so many things Each thing has different number For example, the 3D position has 3 numbers The color has 3 numbers For rotation, it is using quaternion in the program So it has 4 numbers The length of each axis has 3 numbers The opacity has 1 number There are so many things I want this one Let's type it Except 3, let's add another dimension For example, p represents the number of pixels How many pixels in a picture How many Gauss p doesn't have to be equal to g OK? The output is the color of each pixel The input is these We need to ask how to reverse the propagation Let's talk about When KUDA teaches We need to imagine PyTorch will pass something What will it pass? It will pass a loss for the output We will get something like this dldrgb This is what we have This is what we will get The size is the same as the output It is a tensor of px3 What do we want? What we want is dldrgb divided by all the things I just wrote For example, we want dldgp and dldrgb This is the end point I will use this d dldrgb We need all these things L is the division of all these things OK? Each size is gx3 How do we get this? We need to think step by step How do we get rgb from these things? Let's think of rgb as a parameter How does rgb relate to Gauss? How do we get the color of this parameter? Step by step The first step is alpha compositing This is the last step This is the last step The color of this pixel will be all the Gauss in this alpha compositing I will type it here It will send back all the Gauss in this alpha compositing It will send back all the Gauss in this alpha compositing What is the actual formula? We can use the formula of alpha compositing to explain This is the formula that everyone is familiar with For example, if the color here is c All the Gauss that are involved We put it from the front to the back row Suppose the first Gauss color is c0 Its transparency is alpha0 The second one is c1 alpha1 Because it has passed the first one So it has to multiply by 1-alpha0 And so on There are many more later It depends on how many Gauss There are a few I will write it here It will send back all the Gauss Its c will be related to these c0 and alpha0 So we can use the formula of alpha compositing to calculate For example, the DLDGP that we are going to calculate It is one of the Gauss colors No, I said it wrong It is DLDRGB It is one of the Gauss colors Then we can use the chain law We write the thing we need here For example, what we want is this DLDRGB Gauss RGB Then it will be equal to what we have Let's write it again The trick here is that we write what we want on the left Then we write what we have on the right Then use the chain law to find the rest What do we have? Let's take a look We have L for this RGB RGB here is our c This is our color The chain law tells us how to calculate this This thing will be dc Multiplied by dc divided by DGRGB Is it OK? This is where the chain law comes in How do we calculate this? It is very simple We use this formula to calculate DcDRGB This RGB depends on where the Gauss is For example, if it is in the 0th position Then we calculate dc divided by dc0 It is the division of c by c0 Everyone knows this So the answer is α0 So we can easily get this α0 is the first Gauss Its transparency Multiply it And so on We can get all the DLDRGBs that participate in the rendered Gaussian Is it OK? Each RGB is one of the ci I just write it in general This step is in the backward Anyway, it is calculated in the backward The applied technique is the same Divided into many tiles For each tile First take what you need into the shared memory Then use the method just now to calculate DLDC Multiply this thing Calculate it Because there are many things we want What we need to pay attention to is We need to calculate the contribution of each item For example, one of them is We need to calculate the division of transparency The division of opacity We use the same method just now DLDC Multiply this This is what we have Then DC Then this D Opacity I use OP to write The same as Opacity This GOpacity Is one of our Some α This thing is also the same Calculate the contribution of each tile Like this So we just need to calculate it for each item Let's look at the message first Eddie asked This loss function This loss function He is He first used L1 Each pixel and ground truth to do L1 loss calculation In addition to this Because of this render It is once All the pixels of a picture are calculated So he once The front image is transmitted and the whole image is obtained This is the biggest difference from NERV One feature of NERV is Because there is no way to render the whole picture once Too slow So he is Randomly take This training Randomly in the training level Calculate In contrast, this method He can't do it now Calculate randomly like NERV It must be a whole picture Because we just talked about Tile separation If you want to make it If you want to make a update It doesn't seem to be too obvious at the moment In short, he rendered a whole picture at a time So in addition to L1 He can also add some Is related to space In this training He added this SSIM He compares Picture The patch in the rendered picture With the actual picture SSIM Loss He also added The benefit of adding in is that the effect he rendered Will be better than only L1 or L2 Better Then you can also say For example, if Because I have a picture Maybe I can add For example, Lpips or Edge Edge regularization Everyone can try This is very simple Because he is a whole picture But relatively speaking Because he is a picture So his variety One picture may be The relevant degree is not so big Or because you are a whole picture A whole picture at a time So you may The first step of the training With the second step of the training The second ten steps The information you get is exactly the same That may be on this gradient Will be more of that Unstable state That Maybe you can also find a way to use it Oh, can you just Once the training is random That's because it's random in the whole training So my gradient will be more stable Or my training speed will be faster Maybe I think everyone can do this For this ten steps to modify Then experiment Anyway, I think now he The most western version is launched Of course, everything is the most western version But I feel this is the most western version He is really Only RGB He doesn't care about anything else No density Think about density yourself No mesh Think about mesh yourself Yes, so I think this The part that can be expanded is quite a lot Everyone can think about it This live broadcast is Everyone can learn how he wrote A best chance The part I just talked about is the simplest part Because these endpoints Only related to this formula All the endpoints can be taken out with this formula This is what I just said dldrgb and dldg opacity Only need this formula But when you look at others For example, I want this dldg point What will it be If I want to ask This loss for this Gauss's point This Gauss's center point I want to ask for its endpoint How do I ask for this thing Let's take a look at the formula Let's finish the formula for this endpoint We just said that we have Endpoint for color If we apply this endpoint You will think I just need to make up for this dcdgp Wait a minute, drink another sip of water This is the essence of the whole backward I feel like I'll finish this and end the broadcast I have to work tomorrow Everyone can finish this I think this is You understand this, you will see the code very quickly Let's talk about how to calculate this thing We just said that I only need to make up for this endpoint What I want for this one is Endpoint for color Let's take a look at the formula You will find this Why is the location not in the formula? Does that mean this item is zero? Of course not You have to think about what this position has to do with A position of Gauss Let's take a look Does it have anything to do with its color? No, it doesn't matter The position of Gauss has nothing to do with the color Let's take a look at this alpha Let's say The position of Gauss Does it have anything to do with the transparency of this element? It doesn't seem to matter But when you look at the formula carefully You will find that it is related Why is it related? Because the position of Gauss Do you remember? When calculating this opacity We are calculating this point In this distribution Its probability So This probability is related to this position Because for example If your position is here The probability may be 0.01 If your position is here If this Gauss is here Doesn't that make the position 0.01? So because this probability is different from the position And something is different So it is related to the position So it means This alpha is actually a function related to this position Yes, this thing is actually a function related to the position So we can continue to Solve this element Then we will remove this thing What do we change it to? Forget it, I don't want to write like this I will continue to write below OK, we say We will keep this one Because this is our one element But the second element Because this thing If you calculate it directly Not so obvious in this formula So we replace it What do we replace it with? Because we just said This Gp Uh, this Uh, no We just said that this alpha is related to G Is related to the position So let's change an angle We put this This one Also make it a partial division What will it become? It will become alpha dcd alpha multiplied by dalpha dGp OK? This is more complicated Everyone should pay attention OK This thing Because in the formula just now Not so obvious So we use the partial division method We put it Partial division method I invented the word OK, divide it into two We have this one This one We have calculated it just now Isn't it Isn't it this thing? This thing We can get it easily from this formula OK OK Then we will So now we have the first two Let's take a look at the last one Is there any way to get this one? Then we will Uh, let's take a look at how this alpha is obtained We say alpha is this This Gaussian opacity Hey, this is just above Very very coincident This is the formula we just calculated It is GOP This is the Gaussian opacity Multiplied by this Multiplied by this That's just our This position is in this Uh, if We still separate this one Just multiply it out What about the real multiplication? It will become 1 to the power of 1 to the power of 2 Multiplied by this Uh I will write the formula directly It is a For example C0 multiplied by dx That dx is The distance of this x-axis dx is this thing Uh, this is in this program Also use the same notation Then, this place is Plus 2 times c1 dx dy Then the c0 and c1 here are all in Uh, the first one preprocess cuda In that function Is in This place In this preprocess cuda The number you will get So it's all known Good The last one is c2 times dy squared OK Good So you have alpha Equal to this thing Multiplied by this thing Uh, let's take a look Uh Then In his program He put The one above is called power So we We also use the same way Uh, the same notation We call this thing above Power Power is this Minus one-half of this thing Good So alpha is equal to gop multiplied by this OK, then we can go down again Solved What is this thing? This thing Because we say this This opacity of Gauss It has nothing to do with his position So we can take this Divided into Is opacity Multiply D alpha Uh, minus this Minus this This exponential power of d Um Oh, no I changed alpha to this Uh Right It's not quite right Uh, alpha is equal to this So it should be, uh I just wrote it wrong It's this d exponential power Divided by d position OK That Anyway, you go through step by step Take it step by step Use this partial differential formula Substitute step by step Then you calculate this thing That would be equal to This thing is One of a square Divided by a certain That would be Is power Uh, power of one Multiply d power Divide by d position OK Here is also a differential formula The application of that theorem Is one of a certain square After the division Or will be One of a certain square Then the one on top Divided by the one below OK Then it Next, this power Divided by GP We can see Uh This d is equal to D is equal to D is equal to D is equal to This dx and dy are related to position. Why? Because position is the position projected in 2D. So it's related to position. Then you can use formula to get x and y. It's too complicated to write here, so I won't write it. In fact, you just need to push it out step by step, and you'll find that it's exactly the same as this one. You can apply the same technique to other rotations and scales. You write what you want on the left, and write what you have on the right. Then you use the chain law to find the related axes step by step. Then you expand the partial division step by step. For example, if you can't get the final result in this position, you slowly expand it step by step. For example, you divide this thing into these two boxes. Then you'll find that you can calculate this thing. It's easy to calculate. Then you slowly expand it step by step. Although the process takes a lot of time, because you have to write it on the book. I wrote the formula one by one on the notebook. This part really takes a lot of time. But after writing it down, you'll find that you have a lot of sense of accomplishment. There's nothing special about this part. If you don't understand, you can ask chatGPT. For example, what is the formula for a function's partial division? You can ask him. I also refer to some websites. Just ask him what the partial division of this function is. It's very fast and accurate. Hello, S. Good evening. Are you looking forward to the future development potential? It looks pretty good now. At least at first glance, it looks very fast. First of all, I think this is the biggest improvement compared to NERF. NERF is too slow. You can only run it quickly on a good GPU. But when you're on a phone or a computer that's slower, it's very slow. It's not as competitive as Mesh. In this Gaussian Splitting... I'll read it first. Thank you, H.C. See you next time. Take a look at the mailbox. If I come back next time, I'll have another live stream. You can contact me again. Thank you for your donation today. I'll take a look at the mailbox later. Let's go back to the question about the partial division. Will it be replaced? First of all, I just mentioned that it runs very fast. At this point, it's much better than NERF. It's like the previous website. It should be 30fps. On my laptop. Although it may still be slower than Mesh, But I think Maybe you can't see the difference in the human eye. Maybe it's getting faster and faster. You might think that this thing Maybe it can replace Mesh. Then it becomes a new generation. For example, games or modeling. A standard pipeline or something. It's also possible. The second point is its current reconstruction. The reconstruction effect is much better than NERF. This is the real difference in the technique. Because we know that NERF is the best instant NGP so far. It still uses a grid encoding. First of all, its capacity is limited. For example, the estimated hash grid is 2 to the power of 19. So no matter how many details you have, You can't reproduce them all. You can only reproduce a very vague thing. Then there's the space contraction. In order to reconstruct an infinite scene, We need to compress this scene. This compression will make some details Can't be reproduced well. In the splatting part, We use point cloud. You can think of it as point cloud. Although it is a height line. But because it's a lot of independent points. So in theory If you add the number of points to infinity, You can completely reproduce the whole scene. Reproducing to infinity I think it can be done. Although it may be slower. But I think it can be done. You just need to add more points. And maybe add some more calling techniques. Don't render those useless height lines. I think this thing After I saw this method I think it's easier to do. Because you have more details It will be better. So in this detail part I think there's more room for improvement than there. And it doesn't have contraction. But this is just a difference in technique design. I don't know if it's good or bad. Because I feel In this Gaussian splatting The far reconstruction doesn't look so good. That's how I feel right now. But because it doesn't have this contraction So you don't have to worry about the resolution. No matter how big the scene is Your reconstruction effect It won't change according to the size of your scene. If it's the object in front of you At present, the memory is bigger. When you say training At present At present I haven't used their program. Of course Just look at some of them on Twitter. Anyway It can be said that How to say Photographers They don't understand the program. They just use it. They will complain that My computer can't run. My computer memory is only a dozen GB. Halfway through Halfway through His memory is broken. The training is forced to terminate. What you see now is Say It seems that at least 24 GB can be trained. In fact, you need at least one 4090 Who has 4090 It's those photographers who specialize in this. Otherwise Ordinary people don't have such a good GPU. But it takes a dozen GB to save I haven't used it. I don't know I don't think I need that much. If you write well Before I think it will be replaced I am looking forward to it. I am looking forward to having more researchers. Development in this direction But I don't want to see All the work done on NERF Do it again here What do you see Gaussian Splitting in the Wild What Gaussian Splitting Studio I don't need this. I think As seen before Just after the Gaussian came out After a while Some people do that Dynamic Gaussian I just feel Very good It is a perfect use of the characteristic of this point cloud Because the point cloud can move freely Unlike if it is NERF You have to move that Move that field You have to move the whole field That is very It's almost impossible. If it's just a plane That's because the whole network The whole space is reproduced by the neural network. Then you have to For internal things Make changes You actually need Re-training this The value of the neural network at each point This kind of thing is more complicated If it is a point It's a lot easier You just have to move it I think that study is It looks very good I hope it will be more Except The technology of Gaussian splatting One step further I hope it won't be It's the kind of super cold flip Wait for us to do it in Luma No matter what What we do is Engineering A little Should be completely Engineering Because we are I haven't published it yet Paper is Doing us Is the internal The optimization of the city Or To correspond to some Customers need Customers have special needs Or repair our bugs There is nothing to do So we all hope That is What new research is there in the academic world If the effect is good Let's see if we want to add it to our This city It's up to you Reduce the number of points There won't be so much more memory Yeah, yeah, a lot of ways The simplest thing is Reduce the number of points This is for sure Reduce the number of points Then Reduce the number of points In addition to reducing memory Because there is a sequence We just talked about this To calculate the order of each Gaussian This is also It should be the slowest part I see a lot of people reply For example This Unity Gaussian Splatting It also says here When it is rewritten It helps to calculate the time In addition to rendering The slowest is this sorting Then other hardware Even this sorting Slower than rendering This is the part of the sequence It takes a lot of time Not like the mesh You just render This place The slowest should still be the sequence If you Reduce the number of sequences The speed should be faster Hello How are you? Good night Eh Isn't it just noon over there? Are you saying good night to me? I watched the cartoon until 1 o'clock yesterday There is nothing to do here Nothing to do Because actually at night In Europe and America There is almost nothing outside at night If you don't live in the city center It's just black outside Then There is no mall I'm fine here There is still 7-11 Then there is Sleeping Beauty I haven't seen it for a long time I haven't seen Sleeping Beauty for more than ten years We still have 7-11 here But that's the only one nearby There is still a light I think Then at night I don't dare to go out Because it's very dark Correct So I'm at home Either Watch YouTube Then I just Look at the phone before going to bed Watch that cartoon Then I just got one yesterday I think it's not bad But when I saw it later I feel like the middle part is slowly getting bad Then I don't want to watch it anymore Go to bed Eh You said to watch the light explosion What do you mean by the light explosion? What do you mean Don't you need to execute it? I usually I will rewrite it myself I will rewrite it myself and then execute it If you don't execute it, I think If you look It shouldn't be easy to just look Correct Maybe it's better to actually execute it But I think If it's just execution, it's not very interesting You still have to do it yourself My habit is usually Unless it's that kind of writing Irresistible program code But I haven't seen it yet Oh Restoration Correct I usually see a program code Will want Uh While looking from start to finish I think the bad part Write the bad part and rewrite it yourself Then in the process of rewriting I will learn Oh what is this thing doing Correct So to answer your question It's not just reading I will also have a step of rewriting Like this Also after writing found What parts are he using Good skills Then his How did the company in the end Fall out Hello Jiafeng I don't post papers at work now I am also Actually okay, I don't really want to post it myself But if If the company wants to post I think I am also quite supportive But the company's current policy should be No special Special to post I feel Everyone is amazing Posting a paper This matter itself is not a problem But it is our current The company's policy is not in that direction We still hope more Productized Of course this is what I am good at Part I have been I don't post a lot of papers Maybe this company is not For that But I just like it Just write it yourself Speaking of this I just thought I feel myself There may still be some shortcomings in this area Because we need now For example, you want to run something Want to run a comparison For example, you now think of a new method Then you have to compare it Which one is better than the previous method Then you have to run a lot That kind Large-scale Evaluation But in this regard I am not good at it My colleagues I am good at this part He can Know how to run efficiently I can say that How to run efficiently An experiment Then compare with the previous The result of the comparison Organize into a chart that everyone can understand I may not Because of my Style May be I want to make something first For example, an evaluation It may have dozens of scenes Then I may Pick one of them For example, it may be more difficult Then try a lot Try a lot May be a better way Then Until I feel This method seems to be OK It's really better than before Random is better It's really better every time Until I think there is such a result I will use this method Run the whole Evaluation But our colleagues The more powerful point is They can be faster Find one May not be the best solution But they have found Then run The whole For example, dozens of scenes Organize it into a chart After the chart We can say This direction is more useful Let's go in this direction More professional But I'm not I must find a really Very useful Then I will run the whole evaluation Then I don't know The time to find the right direction May be longer I don't know if everyone can understand I think it sounds quite complicated But I actually feel like this Because they The speed of the experiment is much faster than me Then is it listening to PL now? Should not Because Now may be Mainly based on the company After I joined Luma I have hardly touched the open source In addition to the teaching Of course a big part Because With work There are quite a lot of overlaps If I really want to open source Then What I wrote Is exactly the same as what I wrote in the company Of course So There is no way to do this Because when I was open source Those cities Have nothing to do with my work So I can open source them And also Written when idle So there is no problem But now Is the first problem The second problem is that there is not much time So There is no way Out Open source related to Nerf 12 o'clock 12 o'clock Open source Yes I can only transform Into open source teaching Open source teaching Should still be ok I am not secretly doing this live My boss knows I'm live He still said I want to watch But I use Chinese, he probably doesn't understand They know So there should be no problem Doing this live But if it is written It shouldn't work I can't understand my own research Thank you Thank you for participating in the live For Ph.D. Do you have any requirements? For Ph.D. Do you have any requirements? We don't have Yes We focus on engineering As long as the program is well written As long as the program is well written And already In some public Open source places or Twitter Prove that you have In addition to writing programs You have a certain understanding And good math I think At least in our company Your evaluation will be very high Good night Why is everyone saying good night Why is everyone saying good night Many people are also in the United States Many people are also in the United States I don't know Good night in the United States It's 12 o'clock The United States is already The slowest to get close to midnight If you are in Meidong It's 3 o'clock in the middle of the night Ok, that's it for today Ok, that's it for today Thank you everyone for participating in the live Then go back If you go back See if you have time to watch another live Then if If you come to the United States Contact everyone Will the chat room be retained Chat room It is not currently displayed on the screen But When the live broadcast is played, it will still be displayed It will be displayed on the right side of the screen So you can still see No problem I wonder if there is any evaluation on the generated point cloud I don't think there is now There should be no evaluation now There should be no evaluation now Good night William, good night Happy Mid-Autumn Festival There should be no evaluation now But I think Because it is actually not a real point cloud Because it is actually not a real point cloud It is a point Then it has a certain size It contains that area So if you insist If you insist on evaluating I think the result is not so good I remember the current Gaussian splitting If you train it It will It will output a It will output a PLY file So you can take that PLY file You can see its point cloud I have seen it But I think If the accuracy of the point cloud It's not too high Because there will be some Not some A lot of point clouds floating in the air That kind of It should pull the score quite low Hello William, good night Thank you Thanks for the stream Good night Happy Mid-Autumn Festival Happy Mid-Autumn Festival Ok I have completed The achievement of live streaming in the United States The achievement of live streaming in the United States Ok Ok, that's all for today Live streaming I'll keep it It will appear in the video after an hour It will appear in the video after an hour If you didn't follow You are welcome to watch the replay If you want to know more about CUDA If you want to know more about CUDA You can watch my previous video You can watch my previous video You can watch my previous video Tutorial video Tutorial video Ok, that's all for today Good night Bye bye Bye bye Bye bye Ok Turn it off Bye bye Bye bye
Info
Channel: AI葵
Views: 12,462
Rating: undefined out of 5
Keywords: 深度學習, deep learning, 教學, 圖像處理, python, 數學
Id: 1buFrKUaqwM
Channel Id: undefined
Length: 179min 31sec (10771 seconds)
Published: Fri Sep 29 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.