Классификация объектов на спутниковых снимках с помощью глубокого обучения (проект)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Ментор Antonio Rodriges
Учебный семестр Осень 2018
Учебный курс 2-й курс
Проект можно развивать на летней практике
Максимальное количество студентов, выбравших проект: 8



Что это за проект?

Спутниковые данные (данные дистанционного зондирования Земли, ДЗЗ) используются при планировании городской инфраструктуры, мониторинге чрезвычайных ситуаций, точном земледелии и решении многих других задач. Amazon предоставляет петабайты данных ДЗЗ, Planet строит «Космический Google» для планеты, а Роскосмос запускает масштабный проект «Цифровая Земля». Недавно прошли несколько международных конкурсов и хакатонов (в т.ч. в России), которые посвящены этой тематике: статья 1, статья 2, хакатон Croc.

ПользаГеоданныеРоскосмос.PNG
ПользаГеоданныеPlanet.PNG

Цель проекта — разработать облачный сервис классификации объектов на бесплатных данных Sentinel (ESA, European Space Agency), которые на сегодня имеют самое высокое разрешение (порядка 10 метров на пиксель) среди всех бесплатных данных ДЗЗ.

Также можно будет использовать вспомогательные данные других космических аппаратов, а также векторные цифровые карты для повышения точности классификации. Мы будем стремиться к тому, чтобы наш сервис автоматически загружал новые спутниковые данные по мере их поступления для заданных ROI (Region of Interest) и выполнял их классификацию (сегментацию) с сохранением результатов в базу данных и интерактивной визуализацией по требованию.

Чему вы научитесь?

  • технологиям глубокого обучения
  • соответствующим front-end и back-end технологиям, которые необходимы для сервиса (напр., сетевым протоколам передачи геопространственных данных, расширениям для хранения геоданных в СУБД, карты отображения данных в браузере)
  • основам работы со спутниковыми данными
  • библиотекам работы с геопространственными данными
  • применению машинного обучения к реальным, практически полезным задачам

Какие начальные требования?

  • технический английский (для чтения статей)
  • язык программирования — любой
  • желание разбираться с геопространственными данными

Какие будут использоваться технологии?

Технологии очевидны из следующего описания сервиса. Задачи или компоненты сервиса можно упрощать/усложнять/исключать исходя из количества студентов, которые выберут проект. Также back-end и/или front-end могут разрабатываться разным числом студенов в зависимости от сложности и объемности задач.

Сервер (back-end):

  • Периодически загружает из облака Amazon новые данные Sentinel для заданных регионов
  • Выполняет подготовку данных: напр., используя векторную карту, вырезает из снимков полигоны, соответствующие зданиям, дорогам, паркам, т.п. с помощью специальных библиотек, напр. Python
  • Умеет по специальному протоколу (напр., WCS - Web Coverage Service) передавать данные на клиент
  • Запускает классификацию/сегментацию снимков на одном сервере либо на кластере в "облаке"
  • Сохраняет результаты классификации в базу данных, напр. PostgreSQL/PostGIS
  • Умеет принимать от клиента запросы

Клиент (front-end):

  • Отображает карту, входные данные и результаты работы в браузере, напр. с помощью Leaflet
  • Умеет принимать от пользователя регионы интереса, пометки к данным
  • Умеет передавать на сервер геоданные (напр., по протоколу WFS - Web Feature Service)

Темы вводных занятий

Мы возьмем некоторые темы из курса Разработка геоприложений

  • что такое геопространственные данные, какие они бывают и какие особенности работы с ними
  • как устроены спутниковые данные (данные дистанционного зондирования Земли)
  • библиотеки для работы с геопространственными данными
  • особенности и паттерны применения нейронных сетей к спутниковым данным

Направления развития

  • использование дополнительных спутниковых данных, напр. гиперспектральных, радарных, DEM (Digital Elevation Model)
  • наличие нескольких альтернативных моделей для классификации данных

Критерии оценки

Адаптируются в зависимости от размера команды.

4-5:

  • выполнить подготовку данных (автоматическая загрузка + вырезка объектов по векторной карте для обучения)
  • реализовать классификацию данных ДЗЗ (можно без автоматизации)
  • реализованное приложение должно выполнять сегментацию

6-7:

  • все пункты 4-5
  • визуальный интерфейс (любой - web либо desktop)

8-10:

  • все пункты 6-7
  • визуальный интерфейс (любой - web либо desktop, но желательно web)
  • сервер, cм. описание в разделе "Какие будут использоваться технологии?"

Дополнительные баллы можно также получить при выполнении пунктов из раздела "Направления развития".

Ориентировочное расписание занятий

По договоренности. Ориентировочно ВТ 16.40-18.10 (по четной неделе)