yuxumin / PoinTr

[ICCV 2021 Oral] PoinTr: Diverse Point Cloud Completion with Geometry-Aware Transformers
MIT License
579 stars 109 forks source link

Confuse about the shapenet dataloader #71

Open Nathanyaowu opened 2 years ago

Nathanyaowu commented 2 years ago

Hi @yuxumin, Thanks for your contributions to build new benchmarks ShapeNet55/34. I have a question about the shapenet dataloader part. In the dataloader, the pc_norm function will normalize the point cloud data to [-1,1],and when training / tesing will do the operation of seprate_point_cloud. So the question is , in the real scenario ,i got no idea to get the full point cloud of that object. And when i use part of the point cloud of an object to normalize and inference ,the result is mess up. so , i 'm looking forward to your reply.

yuxumin commented 2 years ago

Hi, @Nathansong. Thanks for your interest in our work. I think this is a good question, which i am confused about it, too.

In fact, this issue exists not only in ShapeNet-55/34. In PCN, the model of object is normalized before we use back-projection method to produce partial point cloud; In KITTI, the partial point clouds of car are normalized based on the predicted bbox. So when there comes a partial point cloud in real-world application, we find most completion methods struggle due to the undetermined scale.

In this issue https://github.com/yuxumin/PoinTr/issues/53, we have a discuss about the role of scale prior in point completion. I think it is very interesting and meaningful for the deep learning network to both predict the scale of the input point cloud (help us to normalize it or make the model scale-independent) and then complete it. I think the scale of an partial point cloud, in my mind, can be predicted based on its category, like you can generally image how big is a table/car/chair.

In PoinTr, this issue remains open. But i think it should be considered in the future work.

Best wishes