Городское картирование: 54+ миллиона зданий по всей России

GeoAlert
GeoAlert
Dec 10, 2019 · 4 min read

Мы реализовали 0.0.1 версию нашего пока что самого амбициозного проекта по применению нейросетей для обработки спутниковых снимков. 54 364 789 контуров зданий по всей России, вся база доступна через API платформы ГеоАлерт. Создавая демо приложение для просмотра данных, мы перевели контуры в точки (центроиды) и добавили слой с данными Openstreetmap для сравнения. Оба слоя показываются с помощью заранее подготовленных векторных тайлов.

https://geoalert.github.io/urban-mapping/ Find project description on Github.

Для тех, кому интересно, краткий рассказ о том что было сделано в этом проекте.

Как посчитать людей из Космоса?

Если вы задумывались о том, как делаются глобальные оценки численности населения, например в репортажах ООН (7.7+млрд людей на планете… еще +2 млрд к 2050 году и т.д.), вы возможно задавались вопросом — откуда берутся исходные данные, насколько они точны и как часто обновляются?

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

Но и спутниковые снимки имеют свои ограничения — исследователи указывают на проблему использования Landsat 30м для сельских территорий. Недостаточность разрешения приводит к отрицательному результату там, где объекты жилой инфраструктуры не сосредоточены в одном месте, а разбросаны по обширной области. Несколько лет назад в глобальных моделях стали применять данные ночной съемки Земли для выделения границ поселений (например, Global Rural Urban Mapping Project), но это в свою очередь приводит к ошибкам.
На хорошо известном примере Корейского полуострова (съемка 2012 года) можно сделать вывод что там никто не живет, в отличие от Российской Сибири и Ханты-Мансийского округа.

The nightlights: left — Korean Peninsula; right — Russian Siberia, Tyumen region

Новые глобальные проекты

Около года назад команда Facebook AI презентовали свой алгоритм генерации высокодетальных карт населения на основе спутниковых снимков с разрешением 0.5м. К нынешнему моменту были опубликованы карты населения около 30 стран, в основном по африканскому континенту.
(https://ai.facebook.com/blog/mapping-the-world-to-help-aid-workers-with-weakly-semi-supervised-learning)

Еще один большой проект по автоматическому дешифрированию объектов на снимков — MS buildings. (https://github.com/microsoft/USBuildingFootprints)
Буквально на днях в последнюю версию Facebook’s RapID (https://github.com/facebookincubator/RapiD), разработанную на основе популярного редактора Openstreetmap, была добавлена поддержка датасетов от Майкрософт. Слой автоматических зданий показывается без наложения на Openstreetmap, как разница между двумя слоями. Доступность датасетов Facebook и Microsoft по странам отображена на этой карте — https://github.com/facebookmicrosites/Open-Mapping-At-Facebook/blob/master/data/rapid_releases.geojson

Автоматическое картирование с точностью до здания

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

  • Значительный размер территории, что ставило амбициозную задачу перед нашей программной платформой по обработке.
  • Надежда, что в будущем данные пригодятся для инвентаризации жилого фонда и других больших инфраструктурных задач:
    “Оценки размера самого фонда также существенно разнятся. По данным Росстата, всего в России 2 125 211 многоквартирных домов, на портале «Реформа ЖКХ» — 1 009 696 домов, а на ГИС ЖКХ — 1 586 048 домов…”

Разумеется, необходимо было оптимизировать обработку на низком разрешении (~ 14 zoom в терминах “пирамид тайлов”), поэтому сперва проводилась бинарная классификация тайлов на “населенные” и “ненаселенные” территории по снимкам низкого разрешения. Это примерно в 30 раз сократило объем тайлов 256x256 для “высокодетальной” сетки. Оптимизированная выборка все равно составила значительную цифру около 130 млн тайлов. Существенной инженерной задачей стало масштабирование потоков обработки. Для этих целей был использован GPU кластер на основе высокопроизводительных вычислительных ресурсов Сколковского института науки и технологий. (https://www.skoltech.ru/en/2019/01/zhores-supercomputer-presented-at-skoltech/)

Маска зданий на фоне мозаики ночных снимков Black Marble

Основные наши направления работы с первичными полученными данными:

  • Валидация данных. Это тема, которая заслуживает отдельного изложения. Основными источниками автоматической валидации для нас являются Росреестр, Openstreetmap и Реформа ЖКХ. Будем признательны за компетентные отзывы о том какие ресурсы стоит также использовать. Для задач, связанных с профессиональной картографией и кадастром, мы переобрабатываем контуры зданий со сдвигом к основанию. Высот зданий также возможно вычислять на основе разнонаправленной спутниковой съемки и восстановление по теням. (Подробнее — https://medium.com/geoalert-platform-urban-monitoring/buildings-height-estimation-7babe6420893)
  • Остается много вопросов связанных с пост-обработкой для получения правильных геометрических форм объектов, чего мы пока не добились в полной мере.

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

Мы будем рады комментариям и новым идеям. Чтобы быть в курсе новостей проекта — подпишитесь на Github или на рассылку наших новостей:

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade