OpenStreetMap logo OpenStreetMap

Post When Comment
RoboSat ❤️ Tanzania

I used 256x256 tiles and the Lovasz loss. I trained the model for 50 epochs. The maximum that I got is at epoch 34: validation mIoU: 0.731, building IoU: 0.493. prediction example is below. "Commercial Photography"

RoboSat ❤️ Tanzania

Also one question: I obtained a big difference between mIou (=0.723) and building Iou (=0.476). Is this normal ? In my final training set I used “9765” building tiles and “26751” non-building tiles. That is non-building tiles are ~ 2,5 order of magnitude of building tiles. The distribution of weights I got: Weights : [1.463278, 17.328699] The final result looks like: "Commercial Photography"

RoboSat ❤️ Tanzania

Hi again, I solved the problem. I had mistakenly used a wrong “.geojson” file argument of “./rs rasterize”. After I used the correct file, I used the .toml file correctly also (with two classes: background and building). Now the results are very good.

RoboSat ❤️ Tanzania

I upload a result of my prediction : "Commercial Photography"

You can see a big area of background predicted as building

Data preparation for feature detection with Robosat

Thanks for sharing!

I have a problem in producing an all-background mask for my negative samples. How can I obtain it ?

Best regards, Tony

RoboSat ❤️ Tanzania

Hi Daniel, I have a problem in producing an all-background mask for the hard negative mining step. What I did is to use rs like this: ./rs rasterize –dataset config/dataset-neg-building.toml (etc)…………….. and the file dataset-neg-building.toml:

Human representation for classes.

classes = [‘background’, ‘background’]

# Color map for visualization and representing classes in masks. # Note: available colors can be found in robosat/colors.py colors = [‘denim’, ‘denim’]

But the problem is that the model still produces many false positives. I think that my solution to produce all-background mask is false. Do you have some clues to solve this issue ?

Thanks in advance, Tony

RoboSat ❤️ Tanzania

Hi Daniel, I am trying to reproduce your excellent tutorial. I arrived to the step where I have to tile the GeoTiffs. I decided to use your tiler.py in the following way: I collected the GeoTIFF URLs in a file called ‘raw_geotif.txt’ (83 lines like this): https://oin-hotosm.s3.amazonaws.com/5ac7745591b5310010e0d49a/0/5ac7745591b5310010e0d49b.tif

Then I invoked this script: #!/bin/sh for i in cat raw_geotif.txt; do python3 tiler.py –zoom 20 $i slippyMap_dir/; done

In the directory ‘slippyMap_dir’ I obtained tiles.

After that I obtained the masks using the command: rs rasterize –dataset dataset-building.toml –zoom 20 –size 256 buildings.geojson buildings.tiles masks

Here is my question:

Isn’t strange to have big differences in terms of tiles between ‘slippyMap_dir’ and ‘masks’ ? Indeed, the number of tiles in ‘slippyMap_dir’ is too small compared to ‘masks’. The latter contains exactly the number of tiles in the file buildings.tiles ( which is in my case 430011 tiles). While ‘slippyMap_dir’ contains 127448 tiles.

What could be the problem ? It seems that tiler.py does not download all the tiles in file buildings.tiles.

I appreciate any help.

Thanks in advance