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

Question about overlap ratio in 3DMatch.pkl #70

Open
Shi-Qi-Li opened this issue Jun 1, 2023 · 0 comments
Open

Question about overlap ratio in 3DMatch.pkl #70

Shi-Qi-Li opened this issue Jun 1, 2023 · 0 comments

Comments

@Shi-Qi-Li
Copy link

Hi authors,
Thank you for the amazing work!

I have a question about the overlap ratio in 3DMatch dataset. I load the .pkl files in configs/indoor, the overlap ratio of train_info/val_info/3DLoMatch dataset looks normal but the overlap ratio of 3DMatch is a little strange. I think the overlap ratio in 3DMatch should greater than 0.3, but I found half pairs have a overlap less than 0.3 and some pairs even less than 0.1. I'm really confused about it.

Here is my code to load pkl and print the overlap ratio.

import pickle
import numpy as np

def load_obj(path):
    """
    read a dictionary from a pickle file
    """
    with open(path, 'rb') as f:
        return pickle.load(f)
        

if __name__ == "__main__":
    base_path = "aa/bb/"
    
    train = load_obj(base_path + "OverlapPredator/configs/indoor/train_info.pkl")
    print("num in train", len(train["rot"]))
    print("overlap range in train", np.min(np.array(train["overlap"])), np.max(np.array(train["overlap"])))

    val = load_obj(base_path + "OverlapPredator/configs/indoor/val_info.pkl")
    print("num in val", len(val["rot"]))
    print("overlap range in val", np.min(np.array(val["overlap"])), np.max(np.array(val["overlap"])))

    match = load_obj(base_path + "OverlapPredator/configs/indoor/3DMatch.pkl")
    print("num in 3dmatch test", len(match["rot"]))
    print("overlap range in 3dmatch test", np.min(np.array(match["overlap"])), np.max(np.array(match["overlap"])))
    print("num overlap<0.1", np.sum(np.array(match["overlap"]) < 0.1), "num overlap<0.3", np.sum(np.array(match["overlap"]) < 0.3))

    lomatch = load_obj(base_path + "OverlapPredator/configs/indoor/3DLoMatch.pkl")
    print("num in 3dlomatch test", len(lomatch["rot"]))
    print("overlap range in 3dlomatch test", np.min(np.array(lomatch["overlap"])), np.max(np.array(lomatch["overlap"])))

Here is the output.
image

Thank you and look forward to your reply!

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

1 participant