Open Urban Mapping

Ура! Мы наконец закончили автоматическое картирование зданий по всей России по спутниковым снимкам Mapbox Satellite и готовы их выкладывать для заполнения пробелов в открытых данных.

Что? Разве вы это еще не сделали?

Нет. В прошлом году мы стартовали проект “Urban Mapping”, запустили демо-приложение и нулевую версию базы данных так называемых “отпечатков зданий” (building footprints) по всей РФ. Мы продолжаем работать над коммерческой базы данных — валидацией и обогащением семантикой и адресами, а наш “искусственный интеллект” для автоматического картирования уже протягивают свои щупальца в другие страны. Так что мы будем рады если вас заинтересуют возможности нашей платформы.

Но этот пост о другом. Нам хотелось сделать что-то для проектов по открытым данными, а главным таким проектом для нас является Openstreetmap, потому что им используются все, кто работает с картами.

Открытые данные по территории России

В OSM стали контрибьютить крупные компании, и выбор подложек спутниковых снимков для рисования по ним стал просто шикарным. В OSM более 20 млн домиков и почти 10 млн км дорог по территории России (по состоянию на сентябрь 2020 года). Но, не смотря на обширный выбор спутниковых подложек, только компания Mapbox эксплицитно написала в своей лицензии разрешение на оцифровку снимков и создание производных данных с помощью “third-party software” в некоммерческих целях и для проекта Openstreetmap. Поэтому, чтобы избежать конфликта с собственным коммерческим продуктом, описанном выше, и снять все возможные вопросы к источникам обработки со стороны требовательного сообщества OSM, нам пришлось запускать обработку на всю Россию с нуля по снимкам Mapbox. С одной стороны, спасибо Mapbox за активную поддержку разработчиков нейросетей, с другой, надо понимать, что их спутниковая мозаика на Россию — это 😢 😢 😢, и имея желание и время рисовать здания и дороги вручную, вы можете получить доступ к гораздо более красивым, безоблачным и актуальным снимкам.

А почему другие компании обрабатывают данные на основе хороших снимков?

В случае с Microsoft — они являются правообладателями и используют свои Bing Maps. В случае с компанией Facebook, которая генерит дороги, а начинали с “population density maps”, они получили специальное разрешение от поставщиков спутниковых данных — трейсить снимки автоматическими алгоритмами для Openstreetmap. Другим компаниям, таким как мы, которые занимаются разработкой сервисов на основе данных, приходится встраивать стоимость таких или других лицензий в собственную коммерческую модель.

К счастью, нейросеть не испытывает эмоциональной боли при просмотре снимков худшего качества, умеет обходить облака и снег, и выделяет домики на перетемненных панхроматических изображениях, иногда не хуже чем на RGB, и даже лучше чем с этим бы справился опытный картограф.

Image for post
Image for post
Фрагмент автомат. карты зданий по снимкам Mapbox Satellite

Мы привыкли смотреть на изображения городов на Google Maps и считаем, что это обычное качество спутниковых мозаик, но нужно понимать, что еще больший объем съемки производится и поставляется в панхроме и с ним приходится работать, например, картографам государственных предприятий — большинство снимков выглядят не лучше, чем покрытие Mapbox.

Сегментация на таких изображениях работает сносно, а вот от классификации по типам зданий, которая является одной из важных составляющих нашего городского мониторинга, к сожалению, мало пользы.

Результаты и план публикации открытых данных

Для этого проекта мы создали репозиторий Github. Четкого плана публикации — вывалить все кучей, или делать отдельные выгрузки, или встраивать БД в редакторы через специальный API, пока нет. Решили начать с публикации по регионам России, по порядку — от максимальных значений отношения кол-ва объектов в нашей базе к кол-ву в OSM (Geoalert (Free) / OSM).

Image for post
Image for post
https://github.com/Geoalert/urban-mapping

Количественная статистика по регионам также опубликована по ссылке в репозитории.

Image for post
Image for post
Топ регионов по соотношению кол-ва объектов в базах данных Urban Mapping

Как видите, даже такой населенный и тщательно отработанный регион как Московская область оказался не третьем месте этого рейтинга, а количественный результат обработки по этому региону не так сильно отличается между коммерческими снимками и Mapbox Satellite.

Возможно, мы слишком прямолинейно выбираем по списку, а лучше ориентироваться на запросы тех, кто готов вкладывать свое время в валидацию данных. Тогда пишите запросы, на Github, на почту и т.д. — в каком порядке публиковать. Это могут быть выгрузки по целым регионам или отдельным населенным пунктам.

Первое место в рейтинге занимает Республика Чечня, где в Openstreetmap нарисован только Грозный, а остальные города содержат плюс минус административное деление и основные дороги. Кстати, если сравнивать с коммерческими Яндекс Картами — там все тоже не густо в частном секторе, который составляет основную часть населенной территории республики. Территория частного сектора активно застраивалась и менялась в течение последних лет, с коммерческой базой Urban Mapping различается еще более чем вдвое (490 тыс VS 220 тыс).

Несложно прикинуть как эти контуры зданий распределены в границах населенных пунктов Чечни (мы нашли 314 границ из 360, существующих согласно официальному количеству НП по Республике). Главным образом, эта информация говорит о том, что большинство НП можно брать — просматривать и заливать в OSM просто с нуля, не боясь конфликтов данных.
Статистика — в таблице, можно скопировать к себе и сделать какой-то более умный анализ. Пара графиков для наглядности:

Image for post
Image for post
Статистика соотношения кол-ва объектов по НП респ. Чечня
Image for post
Image for post
Распределение соотношения объектов по НП респ. Чечня

Валидация и импортирование данных

На этом этапе нам возможно потребуется помощь опытных участников Openstreetmap.

Из очевидных вопросов, возникающих при подготовке импорта контуров в Openstreetmap — как избежать конфликтов наложения данных?
Поскольку на этапе обработки в нашей платформе проводится автоматический мерджинг с актуальными данными OSM по порогу пересечения площади объектов (атрибут “is_OSM = True”), это отчасти решает проблему, и эти объекты можно исключить из слоя для импорта.

Image for post
Image for post
Фильтрация по атрибуту “is_OSM = True” (г. Каа-Хем, Республика Тыва)

Среди других источников открытых данных мы геокодировали и интегрировали Реформу ЖКХ, что позволяет добавить к зданиям официальные адреса и другую информацию по многоквартирным домам, такую как число квартир, жилая площадь или год постройки здания. Но, например, в Чечне таких объектов совсем немного (~1200).

В Opestreetmap написаны правила, являющиеся политикой сообщества по импортам данных, в соответствии с которыми следует заявлять и обсуждать планируемые действия. Относятся к этому в OSM серьезно.

Мы создали страничку в wiki с описанием проекта (англ) и пока что только начинаем оформлять проект в соответствии с политикой. Пока мы не планируем больших импортов, а рассчитываем на поддержку, по крайней мере со стороны русскоязычного комьюнити, с определением тех городов, областей или населенных пунктов, где было бы хорошим компромиссом использовать наши автоматические данные. Как мы уже видели, в РФ таких пунктов довольно много, но это относится и к полноте покрытий других стран.

Image for post
Image for post
Статистика https://disaster.ninja/ по полноте покрытия данными OSM в границах населенных зон

Другое направление — это апдейты данных, когда появляются открытые снимки на какую-либо территорию и могут быть использованы для обработки. Пока это на уровне идеи, но, возможно, что детектирование нового строительства и информация о нем также могут помочь сделать обновления карты еще точнее и оперативнее.

Ссылки

Written by

We apply Machine learning to automated analysis over Earth observation data

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store