Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I can't find appearance matrix B in code #51

Open
jhq1234 opened this issue Feb 9, 2023 · 2 comments
Open

I can't find appearance matrix B in code #51

jhq1234 opened this issue Feb 9, 2023 · 2 comments

Comments

@jhq1234
Copy link

jhq1234 commented Feb 9, 2023

Hi, thanks to make this great code and paper! I really enjoy this.

In Tensorf paper,
Selection_523
appearance values(A_c(x)) are concatenated and then multiplied by appearance matrix B.
And then, sent this into the decoding function S for RGB color regression.

But in this code ,

def compute_appfeature(self, xyz_sampled):

I can't find the appearance matrix B.
I understand that plane_coef_point is matrix M and line_coef_point is vector v.

From this line,

return self.basis_mat((plane_coef_point * line_coef_point).T)

M and V are multiplied and then go into basis_mat which is nn.Linear(144,27).
And then this 27-dimension outcomes go into positional encoding block and Feature decoding function S.

During this process, I can't find any appearance matrix B mentioned in the paper.
Is the self.basis_mat is matrix B?
If it is not, where is matrix B and what is the self.basis_mat?

@LiuTielong
Copy link

I print the tensorf below. It shows that self.basis_mat is the matrix B. It has 144*27 weights. The author uses them to express the matrix B.
TensorVMSplit( (density_plane): ParameterList( (0): Parameter containing: [torch.cuda.FloatTensor of size 1x16x128x128 (GPU 0)] (1): Parameter containing: [torch.cuda.FloatTensor of size 1x16x128x128 (GPU 0)] (2): Parameter containing: [torch.cuda.FloatTensor of size 1x16x128x128 (GPU 0)] ) (density_line): ParameterList( (0): Parameter containing: [torch.cuda.FloatTensor of size 1x16x128x1 (GPU 0)] (1): Parameter containing: [torch.cuda.FloatTensor of size 1x16x128x1 (GPU 0)] (2): Parameter containing: [torch.cuda.FloatTensor of size 1x16x128x1 (GPU 0)] ) (app_plane): ParameterList( (0): Parameter containing: [torch.cuda.FloatTensor of size 1x48x128x128 (GPU 0)] (1): Parameter containing: [torch.cuda.FloatTensor of size 1x48x128x128 (GPU 0)] (2): Parameter containing: [torch.cuda.FloatTensor of size 1x48x128x128 (GPU 0)] ) (app_line): ParameterList( (0): Parameter containing: [torch.cuda.FloatTensor of size 1x48x128x1 (GPU 0)] (1): Parameter containing: [torch.cuda.FloatTensor of size 1x48x128x1 (GPU 0)] (2): Parameter containing: [torch.cuda.FloatTensor of size 1x48x128x1 (GPU 0)] ) (basis_mat): Linear(in_features=144, out_features=27, bias=False) (renderModule): MLPRender_Fea( (mlp): Sequential( (0): Linear(in_features=150, out_features=128, bias=True) (1): ReLU(inplace=True) (2): Linear(in_features=128, out_features=128, bias=True) (3): ReLU(inplace=True) (4): Linear(in_features=128, out_features=3, bias=True) ) ) )

@jhq1234
Copy link
Author

jhq1234 commented Feb 23, 2023

@LiuTielong Oh! Now I can understand this part! Thx for your kind comments!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants