Zerg-Overmind / diff-gaussian-rasterization

Other
71 stars 2 forks source link

Dimension check of the 2D cov and invese #1

Closed XLY43 closed 8 months ago

XLY43 commented 8 months ago

Hi thanks for the great work! I just have a question about the dimensions of the output 2D covariance and its inverse. In the pseudo-code, the dimension of the covariance was Nx2x2 but here the output was Nx3. Did I miss anything? Or are there some other operations not added?

Thanks!

Zerg-Overmind commented 8 months ago

Hi, there is no mistake. The 2D covariance matrix is symmetric, so there are only three elements to be stored. You will need to build a 2D covariance matrix on your own in python.

XLY43 commented 8 months ago

Thanks that clarifies things! In terms of the stored order, would it be [𝜎^2(𝑥), 𝜎^2(𝑦), 𝜌𝜎(𝑥)𝜎(𝑦)]?

Zerg-Overmind commented 8 months ago

Hi, we refered to the original cuda implementation of 3DGS, which also stores 2D covariance matrix as 3 elements. And the order should be [𝜎^2(𝑥), 𝜌𝜎(𝑥)𝜎(𝑦), 𝜎^2(𝑦)] if I am correctly following your expression.

Also, I'd live to help with the implementation details via WeChat: GQK1235 or email if you want to deploy our flow supervision at this time.

XLY43 commented 8 months ago

Thanks a lot for the clarification! Sure, let's chat offline as well.