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

Understanding of homography adaptation #76

Open
jj12138 opened this issue Feb 4, 2023 · 3 comments
Open

Understanding of homography adaptation #76

jj12138 opened this issue Feb 4, 2023 · 3 comments

Comments

@jj12138
Copy link

jj12138 commented Feb 4, 2023

Hello, thank you for your wonderful ideas!
I wonder to know why the homography adaptation algorithm works. Personally, I think the reason may be that the types of point-line features contained in the synthetic shapes dataset are mainly T-shaped, L-shaped and other links, while the corners of rooms and furniture in the real image are mostly of this shape, so the features contained in the synthetic shapes are a subset of the real world, and the models trained on it can also detect some features of the real world.
But how to explain it be more specific? Or are there any papers about it? Thanks again.

@rpautrat
Copy link
Member

rpautrat commented Feb 4, 2023

Hi, yes, what you explained is the basic concept of the synthetic training and generalization to real data. Even though the network trained on synthetic data learns to detect simple shapes, the model can already generalize fairly well to real data. But since there is always a domain gap (synthetic != real images), we use the homography adaptation to improve the quality of the ground truth. By warping the original image under different homographies, we can see the junctions under a different perspective and increase the chance that the network trained on synthetic data detect them correctly.
This process was originally introduced in SuperPoint, in case you want to read more about it.

@jj12138
Copy link
Author

jj12138 commented Feb 4, 2023

Thanks for your quick reply!
But I also want to know why we can use the results predicted by the network itself as a label for training again? I think that homography transformation can't increase the information in the image, and the model can't learn new knowledge from the warped image. Why it works?

@rpautrat
Copy link
Member

rpautrat commented Feb 4, 2023

The model does not learn new knowledge after warping the image, but it "sees" it under a different perspective. Maybe in the original image a corner is distorted and cannot be detected by the network, while after warping, the corner will look differently (for example it will appear similar to the corners that were present in the synthetic dataset), and the network will be able to detect it.

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