happinesslz / EPNet

EPNet: Enhancing Point Features with Image Semantics for 3D Object Detection(ECCV 2020)
MIT License
230 stars 37 forks source link

cannot find your "w" code #27

Open daxiongpro opened 3 years ago

daxiongpro commented 3 years ago

Hello, I find your code "class Fusion_Conv" concact point_features and img_features directly. Where is your "w" part in your code?

russellyq commented 2 years ago

@happinesslz

Hi thanks for your work. I have similar questions on the code of 'fusion' module.

How did you make the 'correspondence' and the 'Point-wise Image Feature'. Could u explain some codes of this part.

Thanks

Biblbrox commented 1 month ago

Hi @happinesslz ! Thanks for the great work.

I join the question about the fusion part. As I understood, the main correspondence happens with grid_sample call where point cloud coordinates represented in normalized form [-1; 1]. But I have doubts if these coordinates can be directly mapped to image feature maps except the original image with projection matrix. How this mapping works?

Speaking about this code:

def Feature_Gather(feature_map, xy):
    """
    :param xy:(B,N,2)  normalize to [-1,1]
    :param feature_map:(B,C,H,W)
    :return:
    """

    # use grid_sample for this.
    # xy(B,N,2)->(B,1,N,2)
    xy = xy.unsqueeze(1)

    interpolate_feature = grid_sample(feature_map, xy)  # (B,C,1,N)

    return interpolate_feature.squeeze(2) # (B,C,N)

How can we be sure that coordinates xy mapped to feature_map correctly? I have these question because CNN layers have produce images with different sizes