Hi Philip,

I think this looks really promising. I have seen a fair amount of
machine learning and automated feature extraction results from a
number of different sources, and your examples look as accurate as
anything I have seen.

AI/Machine Learning/Automated Feature Extraction are really important
and needed and will be a focus for me personally in 2017. Not that I
can do much besides support and encourage and help with grant writing.

Like you said, I do not think it will be able to replace people
putting their eyes on things and mapping, but what computers can
recognize and help us map, we should be taking advantage of so people
can focus their time on the things computers can not help us map.

For sure if you are interested in doing more of it, it is a very
worthwhile pursuit.

Thank you very much for doing this and sending it and please let me
know if you would like to do more and let us see how HOT or one of our
Missing Maps can help.

Cheers,
Blake

On Mon, Dec 19, 2016 at 3:17 PM, Philip Hunt <phunt...@icloud.com> wrote:
> Hi all,
>
> I attended my first Humanitarian OpenStreetMap Team (HOT) mapping event a few 
> months ago and was interested to see how successful machine learning would be 
> at detecting buildings in satellite images. The results look promising but I 
> wanted to know if it could be useful to the community and if it’s worth 
> pursuing further. I thought I would post a sample of the results and then 
> quickly explain the process and issues.
>
>
> Results
> ———
>
> These are the results of a test I ran on project 2101 (Rongo, Kenya - 
> PMI/USAID) on 1 November 2016. These images show the buildings detected by 
> the algorithm on the first six unstarted tasks from the project. Potential 
> buildings are marked with green rectangles:
>
> https://s3-eu-west-1.amazonaws.com/hot-osm-ml-test-data/2101_4.png
> https://s3-eu-west-1.amazonaws.com/hot-osm-ml-test-data/2101_5.png
> https://s3-eu-west-1.amazonaws.com/hot-osm-ml-test-data/2101_9.png
> https://s3-eu-west-1.amazonaws.com/hot-osm-ml-test-data/2101_12.png
> https://s3-eu-west-1.amazonaws.com/hot-osm-ml-test-data/2101_13.png
> https://s3-eu-west-1.amazonaws.com/hot-osm-ml-test-data/2101_14.png
>
> As you can see the initial results look promising - most of the buildings 
> have been detected and the false positive rate is pretty low.
>
>
> Process
> ————
>
> I’ve been using the Viola–Jones machine learning algorithm, which requires 
> training to know what is and isn’t a building. Once the algorithm is trained, 
> it can be used to detect buildings in new images in a few seconds.
>
> The whole process looks like this:
>
> - Get the HOT project and task data using the HOT API
> - Get the satellite imagery of the area from OSM
> - Get the nearby existing buildings from the OSM API
> - Find the existing buildings in the satellite imagery and use these to train 
> the algorithm
> - Run through each incomplete task in the HOT project and detect buildings
> - Output the results as OSM XML
> - Load the output into JOSM, validate and upload to OSM
>
>
> Issues
> ———
>
> I loaded the output of the algorithm into JOSM and completed tasks 1 and 2 of 
> project 2101. However it still took a bit of work to make sure the data is 
> good enough for OSM and I think an experienced mapper would have taken 
> roughly the same amount of time starting from scratch.
>
> The main issue is the algorithm can’t rotate the detected rectangle to fit 
> the building shape (as you can see from the example images above, none of the 
> rectangles are rotated). I’ve tried using methods such as line detection to 
> detect the building and rotate and crop the rectangle around the edges - this 
> worked well some of the time and other times went horribly wrong.
>
> The second issue is false positives. While the examples above we’re generally 
> clean, sometimes the algorithm would think a field was a building. Because 
> data uploaded to OSM needs to be accurate it can take some time checking each 
> potential building in JOSM.
>
> Another potential issue could be training samples. When testing I trained a 
> new algorithm for each project, using local existing building data from OSM 
> as training data. The assumption here is that nearby buildings will look like 
> buildings in the project area and that nearby building data is available and 
> accurate.
>
>
> Next Steps
> —————
>
> The Viola–Jones objection detection research paper was first published in 
> 2001 so the algorithm has been around for a while. Machine learning has 
> improved since then and neural networks are showing a lot of promise - using 
> these could increase the reliability and also allow the detected rectangle to 
> be fixed around the edge of the building - meaning a lot less editing in 
> JOSM. I’m also aware of similar projects, but I haven’t found anything that’s 
> able to detect buildings or ready for use yet:
>
> https://github.com/trailbehind/DeepOSM (find misconfigured roads in OSM)
> https://github.com/patrick-dd/landsat-landstats (predicts population size)
> https://github.com/larsroemheld/OSM-HOT-ConvNet
>
>
> I'm not suggesting this could replace volunteers (since algorithms will never 
> be completely accurate), but maybe this could help speed things up or be used 
> to quickly estimate building locations over large areas.
>
> Please let me know your thoughts. Could this could be a useful tool for HOT 
> or any other volunteer organisations and is it worth taking any further?
>
> Thanks,
>
> Philip Hunt
>
>
> _______________________________________________
> HOT mailing list
> HOT@openstreetmap.org
> https://lists.openstreetmap.org/listinfo/hot



-- 
----------------------------------------------------
Blake Girardot
OSM Wiki - https://wiki.openstreetmap.org/wiki/User:Bgirardot
HOTOSM Member - https://hotosm.org/users/blake_girardot
skype: jblakegirardot
Live OSM Mapper-Support channel - https://hotosm-slack.herokuapp.com/
Next best OSM support - https://help.openstreetmap.org/
BE A PART OF HOT'S MICRO GRANTS: https://donate.hotosm.org/

_______________________________________________
HOT mailing list
HOT@openstreetmap.org
https://lists.openstreetmap.org/listinfo/hot

Reply via email to