Live data from Hacker News

Satellites auto detect buildings in OpenStreetMap

medium.com

21–30 of 35 posts

Re: Satellites auto detect buildings in OpenStreetMap

#21
post #13
post #2

Nice! OSM data unfortunately wasn't comprehensive enough for a project of mine, but I still love what they do. It's great seeing these kinds of improvements!

What was your project, and what did you end up using?

unstructured blob:

I'm working with data from a FOIA request for ~5yrs worth of parking tickets in Chicago. About 18m rows in total. The end goal is to be able to say whether a parking ticket was valid or not. It's been ongoing for about two years now, but when I have chunks of time I find myself getting back into the old code or just rewriting chunks. Part of the reason it's taking so long is that a personal requirement of mine is to treat every ticket on the same footing, so throwing rows out during cleanups etc isn't something I'm necessarily comfortable with. It's kinda frustrating but it's a hopeful goal.

Since ticketers don't record lat/long and only [badly typo'd] addresses, I'm stuck doing the address to lat/long translation myself. It's not easy by any means since there are many, many many edge cases. The rate limits on common street address resolution tends to be pretty low (~10k/day) and the paid APIs are ungodly expensive.

SM has been a great tool to help things go a bit forward, but when an address is missing, so is its lat/long which in many cases means rows get thrown out - which I'm not comfortable with. Interpolation using shapefile data would work, but the number of edge cases makes that difficult. I believe the data I have right now uses a combination of census data, OSM data and shapefiles from data.cityofchicago.org. Someone in the local data civics group put together a cleaned up copy of that where I was originally using the sources separately. I can pull it if you're curious.

To complicate things, having missing data adds noise and false positives when correcting typos. There don't really seem to be many address sources that are consistent with address types - eg, "pl" vs "plaza" vs "place". I threw together some pretty decent python code with recursive difflib to clean typos using other typo'd addresses as a path to the correct address and it does pretty well to correct much of that. For example, in a few steps 'nrragansitt' becomes 'narragansett'.

Re: Satellites auto detect buildings in OpenStreetMap

#22
post #20
post #14

> The green buildings are existing structures captured in OpenStreetMap. The red buildings are the ones we detected as missing from the map. And which color is existing structures not identified by the software? Because that would be a very quick and easy way to spot how well it's actually performing.

or which red buildings aren't buildings. It'd be nice to verify on a city such as Philadelphia that has an open parcel layer, but then again cities with parcel layers are probably well mapped out in OSM

Yeah, usually there are scripts that can update and import building outlines from open government data. Usually this is done with human guidance and by request. So if a mapper in a certain area notices missing or outdated building, he or she might request that someone in the community familiar with those import tools import the outlines for that area. Ideally the local mapper can then verify and enrich this data.

In a lot of developed countries almost any building barring small garden sheds is meticulously described in government parcel databases with decimetre precision. In the past few years these outlines have been imported in the Netherlands in OpenStreetMap; it really looks a lot better than just a bunch of rectangles.

Re: Satellites auto detect buildings in OpenStreetMap

#23
post #10

Earlier quoted context omitted.

> "There is starting to be a debate in the OSM community about allowing robot edits into the map" What do you think about a hybrid: bot detects and recommends changes, which are then queued or tagged for human verification? I've been looking at scuba data in the OSM dataset, and there are a number of bot-added entries, with a tag "verified": "no, please check and del this tag" (e.g. Maaya Thila dive site [1]). [1] ht…

That's the status quo. I'm in favor of a regime where there is a benchmark for the recall and precision rates for the automated analysis, and anything that hits the benchmarks is acceptable. I don't regard this as a philosophical matter - let's accept any bot analysis that hits a certain threshold. 1) We can certainly set the threshold above the TIGER import in the US, which most people agree is positive, but very cr…

The TIGER import is about 10 years old and still not cleaned up.

> It's the developing parts of the world that need automated road creation the most. The opposition seems to emanate from rich, European nations.

I would guess that the majority of the OSM community is from rich, European nations. If people need open road data then why not let/make them create it themselves?

Using tools to suggest changes is great but without local knowledge we get bad edits like for example some contributions by Facebook or Mapbox who seem to think their US offices know better than the locals...

Re: Satellites auto detect buildings in OpenStreetMap

#24
post #10

Earlier quoted context omitted.

> "There is starting to be a debate in the OSM community about allowing robot edits into the map" What do you think about a hybrid: bot detects and recommends changes, which are then queued or tagged for human verification? I've been looking at scuba data in the OSM dataset, and there are a number of bot-added entries, with a tag "verified": "no, please check and del this tag" (e.g. Maaya Thila dive site [1]). [1] ht…

That's the status quo. I'm in favor of a regime where there is a benchmark for the recall and precision rates for the automated analysis, and anything that hits the benchmarks is acceptable. I don't regard this as a philosophical matter - let's accept any bot analysis that hits a certain threshold. 1) We can certainly set the threshold above the TIGER import in the US, which most people agree is positive, but very cr…

> I'm in favor of a regime where there is a benchmark for the recall and precision rates for the automated analysis, and anything that hits the benchmarks is acceptable.

I think the benchmark rate is "indistinguishable from a human", a sort of OSM Turing test, perhaps. This would build in a few important safety features:

1. Human quality, which generally (but not always) means no egregious breakage. Paying some attention to the linters, for example.

2. Human presence, which means it's possible to have a conversation about the mapper's or bot's activities with that entity, or at least people in control of it.

3. Human timescales, so that it's possible to have that conversation before it's all over.

> The opposition seems to emanate from rich, European nations.

Personally, I think the difference in approach may reflect the difference between those who want to build a map as fast as possible and those who want to build a sustainable community (which makes and maintains a map).

The push towards more bulk imports seems to emanate from the USA, with Facebook testing their import in Egypt. I wonder whether they had a discussion with the Egyptian community first, or just went ahead because they thought knew best what developing parts of the world need?

Re: Satellites auto detect buildings in OpenStreetMap

#25
The fallacy in the concept we're discussing here is assuming that OpenStreetMap is being held back by the speed with which we can add infrastructure geometry (I'm specifically excluding mass doodling of buildings as that is a topic on its own, and, hey, google does just fine without buildings nearly everywhere).

Given reasonable quality aerial imagery (on which automatic detection a la Facebook depends too) the limiting factor for years in OpenStreetMap has been meta data collection (names, road attributes, POIs, addresses and so on). Humans are quite fast and good at tracing roads and the couple of minutes it takes to add a few dozens of streets is just inconsequential compared to the time and effort it takes to go there and actually survey and add the meta data.

Now despite some bloggers, that themselves haven't noticed that OpenStreetMap is very different than in 2007 (but you know xkcd 386), claiming that OSM is standing still, the OpenstreetMap community is quite welcoming to new and better ways of surveying and obtaining data. Mapillary and now OSV have made lots of aspects of meta data collection easier and faster and have found wide spread adoption in OSM including automatic sign detection and so on.

But even with such advances, gathering and entering the meta data is still by the order of magnitudes the dominating time consuming process in OpenStreetMap (and for what it is worth in any mapping activity).

Re: Satellites auto detect buildings in OpenStreetMap

#26
post #21
post #13

Earlier quoted context omitted.

What was your project, and what did you end up using?

unstructured blob: I'm working with data from a FOIA request for ~5yrs worth of parking tickets in Chicago. About 18m rows in total. The end goal is to be able to say whether a parking ticket was valid or not. It's been ongoing for about two years now, but when I have chunks of time I find myself getting back into the old code or just rewriting chunks. Part of the reason it's taking so long is that a personal require…

Given that you have a fixed area the tickets can be in, and you know every possible address, it seems like you could investigate string distance measures. It would solve your pl vs plaza vs place problem.

Re: Satellites auto detect buildings in OpenStreetMap

#27
post #15

Earlier quoted context omitted.

Robot edits are great when they add data. When modifying or removing work that humans did, I'm much more hesitant. This is probably why there's opposition from "rich, European nations": the developing world has little data that anything could go wrong with. I'm not necessarily pro autonomous robots unless they either hit very high benchmarks, or it's purely for initial groundwork (or improving on previous bots' work)…

Again, I wouldn't be philosophical about "When modifying or removing work that humans did, I'm much more hesitant." If a robotic system can demonstrate some high bar of precision in modifying human updates, then let the edits happen. If a human mapped a road, then that road changed places or perhaps changed from being two-way to one-way and a robot can detect that reliably, let the robot edit. That said, I don't thin…

> "Most human edits will be good, unless the data later changes"

One concern is the date of the bot's data-source/satellite imagery.

- Bot reviews satellite data, creates building. - Human notices that the building's actually been demolished, so removes it from OSM. - Bot reviews satellite data, recreates building.

When I was in Georgia (the Eurasian country, not the USA state) in 2014, I was making changes to OSM and noticed that the satellite imagery was very different to what was on the ground. I couldn't find any way to work out how old the satellite data was, but my gut feel is that there will be some places where the pace of development is much faster than the rate of updates in satellite imagery.

Re: Satellites auto detect buildings in OpenStreetMap

#28
Doesn't this mean the OSM repository will be used as a cache of the output of someone's version of some ml algorithm?

Why not distribute the data as well as the tagger and let the users tag the data themselves? This will give more freedom to the user and arguably lead to a better quality data (e.g. some additional tuning could give better results than the general case for a given region, which can be best performed by a team more familiar with that particual area) as way more eyeballs are now on the tagger itself, not just its output.

Re: Satellites auto detect buildings in OpenStreetMap

#29
post #25

The fallacy in the concept we're discussing here is assuming that OpenStreetMap is being held back by the speed with which we can add infrastructure geometry (I'm specifically excluding mass doodling of buildings as that is a topic on its own, and, hey, google does just fine without buildings nearly everywhere). Given reasonable quality aerial imagery (on which automatic detection a la Facebook depends too) the limit…

Tracing buildings by hand is quite time-intensive even with stuff like the buildings plugin for JOSM. And it is a prerequisite for going out and mapping addresses. In cities metadata acquisition might be a much larger thing, but it isn't here on the countryside where I live. Tracing landuse form aerial imagery is probably 90% of what I do here.

Re: Satellites auto detect buildings in OpenStreetMap

#30
post #25

The fallacy in the concept we're discussing here is assuming that OpenStreetMap is being held back by the speed with which we can add infrastructure geometry (I'm specifically excluding mass doodling of buildings as that is a topic on its own, and, hey, google does just fine without buildings nearly everywhere). Given reasonable quality aerial imagery (on which automatic detection a la Facebook depends too) the limit…

Tracing buildings by hand is quite time-intensive even with stuff like the buildings plugin for JOSM. And it is a prerequisite for going out and mapping addresses. In cities metadata acquisition might be a much larger thing, but it isn't here on the countryside where I live. Tracing landuse form aerial imagery is probably 90% of what I do here.

Having buildings is definitely not a prerequisite for mapping addresses (when I go mapping I will typically and them before too, but again that is only a minor amount of time compared to actually gathering the data).

Mass mapping buildings is a rather recent phenomenon in OpenStreetMap and you can have a high quality, fully functional map with not a single building outline (as google shows too). Not to mention that we have had a country with full address coverage since ages that only has a small number of buildings mapped (DK).

Now there are certain high detail tasks for which having building outlines make sense: for example adding entrances with addresses, but that is fairly far along on the path of iteratively adding more detail to OSM.

Post reply on HN