Описание проекта
Идея проекта
Проект представляет собой карту мира, на которой любой желающий аналитик может выбрать интересующую его область и объекты, которые он хочет на ней найти. Далее пред-обученные нейронные сети выдают предсказания на указанный регион в виде полигонов для каждого класса объектов, выбранных пользователем. Нейронные сети обучаются на Sentinel изображениях, за учителя берутся данные из OpenStreetMap - полигоны превращаются в размеченные растровые изображения.
Технологический стек
За основу приложения взят django + leaflet для отображения карты. Для работы с нейросетями используется keras на tensorflow.
Реализованная архитектура сети - U-net https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/.
Другие API:
* Sentinel hub api;
* OpenStreetMap overpass api;
Web-приложение
Приложение состоит из нескольких модулей.
1. Модуль загрузки данных и предсказания на пред-обученных нейросетях.
Необходим, если у пользователя уже есть данные в хорошем разрешении, и он просто хочет найти на них интересующие его объекты:
Результат:
Так же доступна статистика и можно скачать файлы в нужном формате:
2. Интерактивная карта
Сначала загрузим на карту sentinel изображения, добавим возможность приближать его по частям:
Для каждого tile предскажем необходимые объекты (например, дороги), добавим возможность сохранить область в wkt формате:
Что дальше?
Проект масштабируем, поэтому дальнейшим развитием я вижу добавление новых слоев sentinel, расширение распозноваемых объектов и повышение точности работы нейронных сетей при помощи дополнительных каналов sentinel (сейчас используются только rgb каналы).
Интересно добавить опцию изменения карты со стороны пользователей - если у них есть новые размеченные данные про какую-либо местность, их можно добавить, обучить нейросети и сделать доступными для всех желающих.
Состав команды:
- Никита Мелентьев, Разработчик, Аналитик
Комментарии
Никита, подскажите, пожалуйста, как запустить?
У меня не получилось запустить, после загрузки ~200мб того, что человек попросил, проект вывалился по ошибке ImportError: bad magic number in 'utils': b'\x03\xf3\r\n'
Иван!
Не встречал подобной ошибки. Свяжитесь со мной, пожалуйста, по телеграмму: @ndmelentev. Если получится решить вопрос, выложим сюда ответ.
Никита, подскажите, пожалуйста, как запустить?
У меня не получилось запустить, после загрузки ~200мб того, что человек попросил, проект вывалился по ошибке ImportError: bad magic number in 'utils': b'\x03\xf3\r\n'
Павел, спасибо за комментарий!
По точности - проверял на одном из соревнований: если данные в хорошем разрешении можно ожидать точности в +- 10 машин на картинке сверху, достаточно для примерной оценки трафика (еще для этой задачи можно "купить" данные по пробкам от Яндекса).
С данными сложнее, про спутники которые стримят видео точно не слышал. Семейство спутников sentinel обновляют данные постоянно - есть новые снимки практически для каждого дня, однако с ними очень тяжело работать в плане пред-обработки данных + часто снимки порченные / там есть облака.
Никита, подскажите примерно с какой точностью можно посчитать машины на фото со спутника? И есть ли такая возможность где-то брать фото в реальном времени? Есть такие спутники, которые стримят видео?
Присоединяюсь к последнему вопросу. Следить за перемещениями машин было бы весьма неплохо.