Dis-PU icon indicating copy to clipboard operation
Dis-PU copied to clipboard

Question about Local refinement unit

Open Bear-kai opened this issue 3 years ago • 2 comments

The paper says " ... to account for the relative importance among the K neighbors, we further regress a spatial weight W ... Then, we modify F_L via a convolution with W, followed by a summation along the K-dimension to obtain the weighted rN × C feature map."

I have not run this repo yet, just looking through the local refinement code to understand what the above statement means.

In the implement, the convolution is actually the tf.matmul operation between F_L and W, and the summation is replaced by the conv2d and squeeze operations. My questions are:

  1. the conv2d + squeeze is not the same as summation (should be a weighted version of the latter);
  2. F_L is of shape [B,N,C,K] after matmul, then it is sent to conv2d without reshaping into [B,N,K,C] first. With the kernel_size=[1, get_shape()[2]]=[1,C], the resulted shape should be [B,N,1,K] rather than [B,N,1,C].

Bear-kai avatar Aug 19 '21 04:08 Bear-kai

The author feeds grouped_feat into conv2d, since the parameter out_put_channels is mpl[-1], the shape of result is [B, N, 1, C] maybe right.

cnjanus avatar Dec 04 '21 13:12 cnjanus

The paper says " ... to account for the relative importance among the K neighbors, we further regress a spatial weight W ... Then, we modify F_L via a convolution with W, followed by a summation along the K-dimension to obtain the weighted rN × C feature map."

I have not run this repo yet, just looking through the local refinement code to understand what the above statement means.

In the implement, the convolution is actually the tf.matmul operation between F_L and W, and the summation is replaced by the conv2d and squeeze operations. My questions are:

  1. the conv2d + squeeze is not the same as summation (should be a weighted version of the latter);
  2. F_L is of shape [B,N,C,K] after matmul, then it is sent to conv2d without reshaping into [B,N,K,C] first. With the kernel_size=[1, get_shape()[2]]=[1,C], the resulted shape should be [B,N,1,K] rather than [B,N,1,C].

请问方便留个联系方式吗?这个项目一直没跑通,请问一定要在ubuntu环境下才可以跑通吗?

anshen666 avatar Feb 27 '23 13:02 anshen666