-
Notifications
You must be signed in to change notification settings - Fork 45
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
Potential label leakage issue due to tile stitching in SD map #48
Comments
Wow very clear and detailed investigation, thank you! This is indeed a serious and tricky problem. I think that I never encountered it in any of my experiments because I always performed the tiling on a much larger area defined by multiple images, such that the seams of the tile never coincide with GT locations. The tile manager was not really designed to be defined per image.
|
Thank you for the perfect minimal reproduction! Another OpenCV bug then... We could switch all drawing functions to cc @AlanSavio25 |
Thank you for your friendly response! I am very interested in making contributions if possible! |
Hello! I'm truly thankful for the insights presented in your paper.
While studying this outstanding work, I noticed that you implemented a tiling process in lines 108 to 125. However, when reassembling the tiled rasters back into a single image, there may be discrepancies at the seams compared to the original image. This could be due to the fact that, when a straight line is divided into segments, the end of the line might be prematurely rounded to the next pixel, resulting in a 1-pixel difference in the reassembled image.
The example image below illustrates the difference between the original 256x256 SD map and the reassembled image from four 128x128 sub-images that were initially split and then stitched back together.
Of course, such discrepancies are usually negligible; however, there is an exception in the following scenario:
When I obtain the WGS84 ground truth for a 2D query image, I use this ground truth as the center to extract our SD map, setting the dimensions to 256x256, while keeping the tile_size at the default value of 128.
So the tile_manager splits the tile into four parts right along the coordinates of the ground truth. Later, when we randomly select a 128x128 bounding box on this 256x256 SD map and call this function to obtain the
canvas.raster
for training, the model, interestingly, accurately recognizes that the seams on these maps may reveal the true position of the GT.Consequently, our model experiences significant label leakage🤣!
Below is the visualization. Observe the cross lines at the GT location on the neural map.
Therefore, my conclusion is:
The process of segmenting and then reassembling the SD map leaves scars on the map that are difficult to heal, and although they are minor, they still exhibit certain features that can be learned.
If these scars happen to coincide with the ground truth or original GPS coordinates when creating the dataset, it might enable the model to directly identify the leaked labels on the raster or interfere with the sensitivity to the GPS priors.
The text was updated successfully, but these errors were encountered: