My attempt to extract building footprints from Sentinel-2 images using machine learning algorithm trained on Sentinel-2 images produced a lot of false positives and there is no sign that the algorithm actually learnt anything. When I tried the same architecture on another kind of dataset (MNIST, CIFAR-10), it worked perfectly.

My question is: Does it really make sense to use Sentinel-2 imagery with resolutions 10m for building extraction application?

Red = False Positives; Blue = Labels; Green = True Positives

  • can you post your code im curious what it looks like – ziggy Jul 10 '17 at 18:37

10m resolution for building footprints is optimistic at best. Most buildings aren't that all that big (20m by 20m is a fairly big house), and they are also very inconsistently shaped and coloured. All in all, you chose a fairly difficult target and a dataset not entirely suited for the application.

The whole problem that you are looking at is much better suited for higher resolution imagery, and even then, it is not very easy - see for example the attempt that DigitalGlobe did with their very-high resolution data and the cloud platform that they have designed: https://platform.digitalglobe.com/gbdx/gbdx-solutions/
If you look at the results in their example, you'll notice that even a large company, with a fair bit of resources and a much more suitable dataset doesn't really perform that well either in the same task as the one you undertook. I'm not saying that it is impossible, but the real world is a much more difficult dataset than the audited and controlled training datasets that you have practiced on.

  • Thanks for your answer. Just to clarify; I actually practised on real satellite images. – collarkay Jul 10 '17 at 13:50
  • 1
    @essense - I was not trying to be judgemental or dismissive of you, but it is a really difficult topic that you chose to work with. If you are focused on learning about remote sensing and machine learning, then a more suitable subject would be to create a high quality cloud mask. – Mikkel Lydholm Rasmussen Jul 10 '17 at 14:04

Other than Mikkel's excellent answer (though DG is doing better now that we can throw CNNs at it) I would suggest using some IR bands in Sentinel2 and try to get an index for roof tile material. With pixels at 10m you are not going to be able to get the outlines of roofs but you may be able to get presence/absence of a roof.

Here is the work Ecopia did for building footprints with DG data.

Caveat - I work for DigitalGlobe

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.