Спутник ДЗЗ
4.76K subscribers
4.13K photos
212 videos
255 files
3.74K links
Человеческим языком о дистанционном зондировании Земли.

Обратная связь: @sputnikDZZ_bot
Download Telegram
"Найди мне все лесопилки…"

Сэмюель Барретт (Samuel Barrett) показывает здесь и здесь как использовать предварительно вычисленные эмбеддинги ДЗЗ из базовой модели Клэя (Clay) на снимках NAIP для быстрой идентификации лесопилок в штатах Вашингтон и Орегон.

🛢 NAIP data embedded with Clay v1.5 (rev2)
🖥 Репозиторий кода на GitHub

Эксперимент показывает как эмбеддинги позволяют быстро отвечать на вопросы вроде "Что где находится?" в больших географических масштабах.

#ИИ #python
👍12
geocompx — ресурсы по геовычислениям на R, Python и Julia

Проект geocompx (https://geocompx.org) — это онлайн-площадка для сбора информации о методах анализа пространственных данных, моделирования и визуализации, а также о преподавании геовычислений с помощью программного обеспечения с открытым исходным кодом на нескольких языках программирования — R, Python, Julia и других.

Проект начался с онлайн-публикации книги “Geocomputation with R”, которая помогла создать сообщество студентов и специалистов. По мере роста интереса к другим языкам и кроссплатформенным подходам стала очевидной необходимость в более широком, не зависящем от языка подходе. Так и появился geocompx.

Среди участников сообщества — Robin Lovelace, Jakub Nowosad и Jannes Muenchow — все авторы “Geocomputation with R”

Благодарим за наводку Евгения Матерова, ведущего тг-канал “Наука и данные”.

#R #python #julia
7👍2🔥1
GeoAI: Искусственный интеллект для пространственных данных

GeoAIпакет Python для применения методов искусственного интеллекта в анализе и визуализации пространственных данных.

🤖 GeoAI содержит инструменты для обработки, анализа и визуализации пространственных данных с помощью передовых методов машинного обучения. Как сказано в документации: “Независимо от того, работаете ли вы со спутниковыми снимками, облаками точек лидара или векторными данными, GeoAI предлагает интуитивно понятные интерфейс для применения передовых моделей ИИ.”

📖 Документация GeoAI

Среди возможностей GeoAI:

📊 Визуализация пространственных данных

● Интерактивная многослойная визуализация векторных, растровых и облачных данных
● Настраиваемые стили и символика
● Возможности визуализации временных рядов данных

🛠 Подготовка и обработка данных

● Упрощенный доступ к спутниковым и аэрофотоснимкам Sentinel, Landsat, NAIP и другим открытым данных
● Инструменты для загрузки, создания мозаик и предварительной обработки данных дистанционного зондирования
● Автоматизированная генерация обучающих датасетов с чипами изображений (image chips) и соответствующими метками
● Утилиты преобразования векторных данных в растровые и наоборот, оптимизированные для рабочих процессов ИИ
● Методы дополнения (augmentation) данных, специфичные для пространственных данных
● Поддержка интеграции данных Overture Maps и других открытых данных для обучения и проверки

🖼 Сегментация изображений

● Интеграция с моделью Segment Anything Model (SAM) компании Meta для автоматического извлечения признаков
● Специализированные алгоритмы сегментации, оптимизированные для спутниковых и аэрофотоснимков
● Оптимизированные рабочие процессы для сегментации зданий, дорог, растительности и водных объектов
● Возможность экспорта в стандартные форматы геоданных: GeoJSON, Shapefile, GeoPackage, GeoParquet

🔍 Классификация изображений

● Предварительно обученные модели для классификации земного покрова и землепользования (land cover & land use)
● Утилиты трансферного обучения (transfer learning) для тонкой настройки моделей на основе собственных данных
● Поддержка разновременной классификации для обнаружения изменений (change detection)
● Инструменты оценки точности и валидации

🌍 Дополнительные возможности

● Анализ рельефа с извлечением признаков при помощи ИИ
● Классификация и сегментация облаков точек
● Обнаружение объектов на авиационных и спутниковых снимках
● Утилиты геопривязки для результатов ИИ-моделей

Пакет разработан профессором Q. Wu. Для него мы завели на канале именной хештег: #wu

📹 Руководства по GeoAI на YouTube

#python #wu #софт #ИИ
👍963🔥3
SatCLIP — глобальный кодировщик географического местоположения общего назначения

🤖 SatCLIP (https://github.com/microsoft/satclip) обучает кодировщики местоположения и изображений методом контрастного обучения, сопоставляя спутниковые снимки с соответствующими им местоположениями. Это аналогично подходу CLIP, который сопоставляет изображения с соответствующим им текстом. Благодаря такому подходу, кодировщик местоположения узнает характеристики места, представленного на спутниковых снимках.

📖Более подробно об этом подходе можно узнать в статье.

#ИИ #python
👍3🔥1
Лекции OpenGeoHub Foundation

TIB AV-Portal — открытая платформа для хранения научных видео- и аудиозаписей. В частности, здесь хранятся записи лекций 📸 OpenGeoHub Foundation. Это некоммерческий исследовательский фонд, развивающий приложения искусственного интеллекта и машинного обучения к анализу пространственных данных. Среди руководителей фонда —известные в мире пространственных данных и языка R фигуры, такие как Edzer Pebesma, Tomislav Hengl и Roger Bivand.

👨🏻‍🏫 Лекции OpenGeoHub Foundation на TIB AV-Portal

Вот, к примеру, несколько лекций:

🌳 The case of forest monitoring using vegetation vigour evolution over phenological cycles
🌱 The Soil Data Revolution: How Earth Observation, Spectroscopy, and AI are Changing Soil Use Forever
🌱 Monitoring, reporting and verification of soil health - what can we learn from the soil carbon experience

#R #python #обучение #ИИ
👍6
WUR Geoscripting course — курс начального уровня по работе с пространственными данными в R и Python

WUR Geoscripting course (https://geoscripting-wur.github.io) — база по работе с векторными и растровыми данными, а также переходами между ними. В качестве примеров растровых данных используются спутниковые снимки.

Курс подготовлен специалистами из Вагенингенского университета в Нидерландах (WUR). Читается c 2016 года и постоянно обновляется. Сейчас R-часть курса основана на пакетах terra и sf, а когда я читал его (каких-то восемь лет назад) — там еще были sp и rgdal.

#R #python #обучение
👍84
Новости Zarr

Современные спутниковые данные представляют собой многомерные массивы, размерностями которых являются: время (даты съёмки), пространственные координаты (широта/долгота), спектральные каналы (зеленый, красный, ближний инфракрасный и т.п.), а иногда ещё и вертикальные уровни (например, высота или давление — в данных об атмосфере).

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

Возможность эту дает Zarr — формат хранения многомерных массивов данных, созданный для эффективной работы с большими объёмами информации, особенно в облачных средах и при параллельной обработке. Он позволяет быстро и эффективно читать только те фрагменты данных, которые нужны пользователю, даже если весь массив “весит” терабайты.

Особенности Zarr:

1️⃣ Хранится как папка с файлами, а не как один монолитный файл. Например, массив 1000×1000×365 (широта × долгота × время) может быть разбит на фрагменты (“чанки”, от chunk) по 100×100×30, и каждый чанк сохраняется как отдельный файл (часто в сжатом виде).
2️⃣ Поддерживает сжатие (например, zlib, Blosc), что экономит место и ускоряет передачу по сети.
3️⃣ Оптимизирован для облачных хранилищ (S3, GCS и т.п.), потому что чтение отдельных чанков не требует скачивания всего массива.
4️⃣ Легко масштабируется: можно читать/писать разные части массива параллельно с разных машин.
5️⃣ Поддерживает метаданные (например, CRS, единицы измерения, описания переменных) — почти как NetCDF, но более гибко.

Библиотеки xarray (Python) и stars (R) поддерживают Zarr “из коробки”.

В этой статье Тобиас Феррейра (Tobias Ferreira) рассматривает подходы к визуализации многомерных пространственных данных на основе Zarr в браузере с помощью titiler-multidim, carbonplan/maps и zarr-gl. Сравниваются их подходы к рендерингу, производительность и компромиссы между предварительной обработкой на сервере и интерактивностью на стороне клиента. Не забыты и традиционные методы, такие как преобразование в Cloud-Optimized GeoTIFF (COGs) и использование NetCDF с GeoServer.

В этом посте Макс Джонс (Max Jones) из Development Seed рассказывает о последних разработках компании в области Virtual Zarr, который позволяет работать с архивами, как с обычными кубами данных, и о переходе к Zarr v3.

#софт #python #R
👍8🔥41
Φ-Down Sentinel-1 Burst Search

Φ-Downбиблиотека Python, которая упрощает доступ к данным дистанционного зондирования Земли из Copernicus Data Space Ecosystem (CDSE). Она предоставляет интерфейс для поиска, фильтрации и загрузки спутниковых снимков различных миссий Sentinel и сопутствующих наборов данных.

В новой версии (v0.1.20) Φ-Down поддерживает поиск по “импульсам” (bursts) данных Sentinel-1 SLC, что помогает в создании временных рядов для радарной интерферометрии (InSAR) и во многих задачах регионального мониторинга, не требующих большого охвата.

Поиск по burst’ам активируется настройкой burst_mode=True в запросе. Реализована фильтрация по burst_id, swath, поляризации и относительной орбите (relative orbit).

🖥 Jupyter-блокнот с примером использования Sentinel-1 Burst Search

#sentinel #python #InSAR #SAR #софт
👍6🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Визуализация из командной строки 

1️⃣ viewtif
— инструмент для быстрой визуализации из командной строки. Позволяет быстро проверить то, с чем предстоит работать. Отображает однополосные GeoTIFF, RGB-композиты, HDF/HDF5, NetCDF и шейпфайлы.

● Увеличение и уменьшение с помощью + и - (можно использовать мышь или трекпад), панорамирование с помощью клавиш со стрелками, настройка контрастности с помощью C и V, а гаммы — с помощью G и H.
● Переключение цветовых карт с помощью M.
● Просмотр RGB-композитов (--rgbfiles) или шейпфайлов (--shapefile). Для поддержки шейпфайлов, установите geopandas и shapely.
● Для больших растров используйте --scale 20, чтобы уменьшить разрешение и сохранить “отзывчивость” программы.

🖥 Репозиторий viewtif

2️⃣ Профессор Wu 📹 показывает как можно просматривать растровые и векторные данных с помощью инструментов командной строки на базе Leafmap, MapLibre и LocalTileserver. Подробности:

🖥 Репозиторий Leafmap

#wu #софт #python
👍10
TerraTorch v1.1: Geospatial Foundation Models Toolkit

TerraTorch — это набор инструментов для тонкой настройки и тестирования пространственных базовых моделей (Geospatial Foundation Models), построенных на PyTorch Lightning и адаптированных для спутниковых, метеорологических и климатических данных.

🔗 Сайт
📖 Статья с описанием
🖥 Репозиторий

Новая версия TerraTorch поддерживает новые модели, более качественные параметры вывода и, как считают разработчики, удобнее в работе.

🔹 Новые модели: TerraMind.tiny / small и Prithvi.tiny / 100M — легкие модели, которые могут работать на спутниках и значительно ускоряют разработку. Более подробная информация — здесь. Среди других новых моделей: Galileo, DOFA и Clay v1.5.
🔹 Temporal Wrapper: новый подход средней степени слияния (mid-fusion), который преобразует любую основу, использующую изображения (image-based backbone), в разновременную модель, добавив одну строчку в конфигурацию.
🔹 Удобство использования: улучшенная документация, больше моделей, поддерживаемых быстрым выводом vLLM, full_model_registry для генеративных моделей, улучшенный вывод по частям и множество исправлений кода.

Источник

#FM #python #софт
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
SamGeo и geosam

🔹 SamGeo (https://samgeo.gishub.org) — питоновский пакет для сегментации пространственных данных при помощи семейства моделей Segment Anything Model (SAM).

Возможности пакета:

• загрузка тайлов карт с серверов Tile Map Service (TMS) и создание файлов GeoTIFF
• сегментация файлов GeoTIFF с помощью SAM (в т.ч. SAM3) и HQ-SAM
• cегментация снимков дистанционного зондирования с помощью текстовых промтов (prompt)
• интерактивное создание маркеров
• загрузка существующих маркеров из векторных наборов данных
• сохранение результатов сегментирования в векторных форматах (GeoPackage, Shapefile, GeoJSON)
• сохранение промтов в файлах GeoJSON
• отображение результатов сегментации на интерактивных картах
• сегментация объектов по временным рядам снимков дистанционного зондирования

SamGeo присутствует внутри универсального пакета GeoAI, а также реализован в виде QGIS-плагина.

Оба пакета и плагин созданы доктором Цюшэн Ву (Qiusheng Wu). Как всегда у него, разработки снабжены большим количеством примеров и видеоуроков.

В примерах работы с SamGeo чаще всего используются снимки сверхвысокого пространственного разрешения, но пакет работает и с общедоступными данными среднего разрешения:

Построение периметра карьера по снимкам Sentinel-2
Построение границ сельскохозяйственных полей по снимкам Landsat

❗️ Модели SAM требуют интенсивных вычислений, поэтому для обработки больших наборов данных рекомендуется использовать мощный графический процессор (с объемом памяти не менее 8 ГБ) или бесплатные ресурсы Google Colab.

🔹 geosam — это пакет R, который использует модель SAM3 для сегментации снимков дистанционного зондирования. Автор geosam Кайл Уолкер (Kyle Walker) вдохновлялся пакетом SamGeo и стремится предоставить пользователям R аналогичные возможности.

❗️ Для доступа к SAM3 необходимо завести аккаунт на HuggingFace. Для этого может понадобиться почта не из домена RU и VPN.

Благодарим за наводку на geosam Евгения Матерова, ведущего тг-канал Наука и данные!

#wu #софт #python #R #ИИ
9👍4
Курсы Spatial Thoughts и Geospatial Python Tutorials

Spatial Thoughts (https://spatialthoughts.com) — образовательная платформа, основанная Уджавалом Ганди (Ujaval Gandhi). Она предлагает курсы по анализу пространственных данных на Python:

🎓 Python Foundation for Spatial Analysis
🎓 Mapping and Data Visualization with Python

Материалы курсов бесплатны, за прохождение курса с инструктором придется заплатить.

🔗Дополняет учебные курсы сайт Geospatial Python Tutorials (https://www.geopythontutorials.com). Он содержит примеры применения пакетов GeoPandas, Xarray, Dask, SamGeo и мн. др. для решения практических задач. Вот, например, извлечение информации из нескольких новостей о конфликтах между людьми и слонами в Индии, и геокодирование мест конфликтов — все с помощью ChatGPT.

В качестве среды для работы рекомендуется Google Colab.

#python #ИИ
7👍6
HyperCoast (https://hypercoast.org) — Python-пакет для визуализации и анализа гиперспектральных данных. Он позволяет загружать и отображать данные миссий AVIRIS, NEON, PACE, EMIT, DESIS, ECOSTRESS и др. Пользователи могут исследовать данные в интерактивном режиме, извлекать спектральные профили, изменять комбинации каналов и цветовые схемы, отображать данные в трёхмерном виде, а также выполнять операции среза и пороговой фильтрации.

Пакет использует возможности популярных библиотек Leafmap и PyVista. С помощью пакета earthaccess обеспечивается интерактивный поиск гиперспектральных данных в архивах NASA.

HyperCoast разработан д-ром Q. Wu и реализован также в виде плагина QGIS. По работа с последним есть минутное видео и более полное руководство, скрин которого помещен в заголовок.

#wu #python #гиперспектр
👍7🔥42
Немного GDAL

1️⃣ Курс A Gentle Introduction to GDAL Роберта Симмона (Robert Simmon) продолжается. Всего опубликовано 10 частей:

- A Gentle Introduction to GDAL
- Map Projections & gdalwarp
- Geodesy & Local Map Projections
- Working with Satellite Data
- Shaded Relief
- Visualizing Data
- Transforming Data
- Reading Scientific Data Formats
- Automation with Bash
- Python & the Command Line

В разделе Tutorials на официальном сайте GDAL пока только 8 частей.

2️⃣ 📹 Введение в GDAL c новым интерфейсом командной строки от Ханса ван дер Кваста (Hans van der Kwast): Introduction to GDAL’s New Command Line Interface — из курса Programming for QGIS Users.

#софт #python
7👍3
Базовые модели для дистанционного зондирования: с чего начать

Проще всего познакомиться с работой модели на примерах. Готовые примеры, как правило, хранятся на GitHub. Поэтому выберем нужный репозиторий, в нём — файл примера, и запустим его.

Работать с базовыми (foundational) моделями предстоит в среде Jupyter (Jupyter Notebook/JupyterLab/Google Colab) на языке Python — так же, как и с другими моделями машинного обучения. Этот способ запуска не единственный, но он самый простой и универсальный: большинство примеров заточены под него.

Понадобится доступ к GPU. Это не обязательно, но без него всё работает значительно медленнее.

На наш взгляд, Colab проще для начинающих и к тому же предоставляет бесплатный GPU (Runtime > Change runtime type > Select T4 GPU).

Выбор модели и соответствующего примера зависит от задачи: сегментации, классификации, восстановления изображений​ и т. п. Поэтому начать лучше с коллекции Satellite-image-deep-learning, где приведен список моделей, разделённых по классам задач. Базовые модели находятся здесь.

Вот несколько примеров их использования:

TerraMind — выделение областей затопления и гарей, классификация сельскохозяйственных культур. Примеры находятся в папке notebooks.
Prithvi-EO и TerraMind — классификация сельскохозяйственных культур по разновременным данным (Prithvi-EO) и выделение областей затопления (TerraMind).
Clay Foundation Model — извлечение эмбеддингов (“экстрактов” из данных множества датчиков ДЗЗ), восстановление зашумленных изображений, поиск объектов на снимках. Примеры в папке docs/tutorials.
Presto — извлечение эмбеддингов для использования в более простых моделях машинного обучения.

#ИИ #FM #python
👍86🔥1
Фундаментальная модель TESSERA и ее эмбеддинги

TESSERA (Temporal Embeddings of Surface Spectra for Earth Representation and Analysis) — это открытая фундаментальная (базовая) модель, использующая самообучение (self-supervised learning) для создания глобальных 128-мерных эмбеддингов с пространственным разрешением 10 м. Эти эмбеддинги сжимают временные и спектральные характеристики спутниковых данных (Sentinel-1, -2) за полный год наблюдений в векторы, которые затем применяются для решения других задач геопространственного анализа. Например, для классификации земного покрова, создания карт высот растительного полога или обнаружения изменений окружающей среды.

📖 Основная статья: TESSERA: Temporal Embeddings of Surface Spectra for Earth Representation and Analysis

Модель разработана Cambridge Centre for Earth Observation — подразделением Кембриджского университета, занимающимся дистанционным зондированием Земли. Эта организация поддерживает несколько репозиториев, посвященных TESSERA:

💻 tessera — основной репозиторий модели
💻 geotesseraPython-библиотека для работы с эмбеддингами. Позволяет получать эмбеддинги для любой точки планеты, используя координаты или bounding box.
💻 tessera-interactive-map — интерактивная карта классификации земного покрова на основе эмбеддингов TESSERA

Покрытие эмбеддингами доступно за 2017–2024 годы, а в версии TESSERA v2 планируется добавить данные Landsat для расширения временного охвата вплоть до 1970-х годов.

TESSERA показала результаты на уровне (а иногда и выше) специализированных моделей в пяти типах задач: оценка высоты лесного полога (Борнео), картографирование сельскохозяйственных культур (Австрия), картографирование надземной биомассы леса (Финляндия), обнаружение следов пожаров (Калифорния) и картографирования индекса запаса для добровольных углеродных рынков (Бразилия).

❗️Проф. Ц. Ву уже интегрировал эмбеддинги TESSERA в свой пакет GeoAI.

📷 Пример визуализации эмбеддингов TESSERA с использованием первых трех слоев в качестве RGB.

#FM #ИИ #данные #wu #python
9👍6🔥1
TorchGeo 0.9.0

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

Разработчики утверждают, что TorchGeo предлагает пользователям больше предварительно обученных базовых геопространственных моделей (foundational models), чем все остальные библиотеки GeoML вместе взятые. Они подготовили обзор эмбеддингов — Earth Embeddings as Products: Taxonomy, Ecosystem, and Standardized Access — и добавили в библиотеку все указанные в обзоре эмбеддинги.

❗️В процессе подготовки к версии 1.0 ожидаются некоторые изменения, требующие обновления кода.

Источник

#ИИ #FM #python #обзор
4🔥4👍1
Примеры работы с openEO Copernicus Data Space Ecosystem

openEO — это открытый API, который позволяет подключать клиентские приложения на JavaScript, Python и R к облачным серверным системам данных дистанционного зондирования Земли (EO — Earth observing), в нашем случае — к данным Copernicus Data Space Ecosystem (CDSE). Важно что openEO используется не только для доступа, но и для обработки данных на вычислительных ресурсах CDSE.

Большая коллекция примеров работы с openEO CDSE находится здесь. Активно пополняются сейчас только примеры на python. Вот некоторые интересные, на наш взгляд, примеры, в основном направленные на решение тематических задач:

Anomaly Detection — проверка развития сельскохозяйственных культур на заданном поле и сравнение с аналогичными полями в регионе.
ParcelDelineation — разграничение земельных участков по данным Sentinel-2 с помощью моделей ONNX (Open Neural Network Exchange). Пример содержит загрузку и предобработку данных, выполнение вывода, постобработку и формирование итоговых векторных данных.
RVI — вычисление радарного индекса растительности (RVI).
BioPAR openEO Service — использование сервиса BioPAR в openEO для вычисления биофизических параметров (например, FAPAR) для заданной территории и временного периода.
BurntMapping — классический NBR с применением бэкенда VITO на полигональном фрагменте. Метод расчёта dNBR основан на рекомендациях UN SPIDER.
Forest Fire Mapping Using Random Forest — пример использования алгоритма случайного леса (Random Forest) в openEO для картографирования лесных пожаров.
FloodNDWI — сравнение изображений до и после наводнения в Кёльне в 2021 году с помощью индекса NDWI.
GlobalFloodMonitoring — изучение продукта Global Flood Monitoring (GFM) применительно к наводнениям в Пакистане в 2022 году.
OilSpill — картографирование нефтяных разливов по данным Sentinel-1.
Heatwave — картографирование волн тепла с использованием данных о температуре земной поверхности.
AirQuality — исследование продуктов качества воздуха Sentinel-5P.
StatisticalDataFill — использование регрессии Lowess для заполнения пробелов во временных рядах.
DimensionalityReduction — применение анализа главных компонент к кубу признаков с использованием моделей ONNX.
DynamicLandCoverMapping — использование алгоритма случайного леса в openEO.

Коллекция явно растет из Sentinel Hub custom scripts, так что заглядывайте и сюда за идеями.

❗️Для доступа и обработки данных нужен аккаунт на CDSE.

#python #софт
👍7🔥2