Паншарпенинг в QGIS с использованием Orfeo ToolBox

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Эта страница опубликована в основном списке статей сайта
по адресу http://gis-lab.info/qa/qgis-pansharp-otb.html


В данной статье рассказывается о том как произвести паншарпенинг в QGIS посредством инструментария Orfeo ToolBox. [via Misanthrope's Thoughts]

Введение

При работе с данными дистанционного зондирования Земли зачастую приходится решать задачу улучшения снимков с низким разрешением за счёт снимков с высоким. В QGIS нет встроенного инструмента паншарпенинга, но есть возможность подключения инструментов Orfeo ToolBox (OTB), где они есть.

Немного теории

На удивление сложно найти определение для слова "паншарпенинг". Попробуем сформулировать его своими словами, взяв за основу описание из книги Шовергердт Р.А. Дистанционное зондирование. Модели и методы обработки изображений - М.: Техносфера, 2010. (с. 416):

Паншарпенинг (от анг. Panchromatic sharpening) - это процесс объединения изображений в пространственной области основная задача которого заключается в передаче высокочастотного содержания изображения с высоким разрешением (обычно панхроматического) изображению с низким разрешением (обычно мультиспектральному).

Одним из наиболее простых алгоритмов паншарпенинга является модуляция высоких частот. В этом алгоритме для получения улучшенного изображения в канале PXS панхроматический снимок PAN попиксельно умножается на изображение с низким разрешением XS, после чего полученный результат нормируется на низкочастотную компоненту панхроматического снимка PANsmooth (панхроматический снимок, обработанный сглаживающим фильтром с окном, соответствующим размеру пикселя изображения с низким разрешением):

Formula OTB pansharpening.png

где i и j - индексы пикселей.

Паншарпенинг в OTB и QGIS

С программной точки зрения процесс паншарпенинга делится на две стадии: 1) подготовительную, во время которой разрешение и экстент мультиспектрального растра приводится в соответствие с экстентом и разрешением панхроматического растра (это необходимо для проведения операций растровой алгебры, вовлекающих оба растра); 2) непосредственно паншарпенинг.

Использование утилиты OTB

OTB по своей сути является набором консольных утилит и приложений. За паншарпенинг отвечает приложение otbcli_BundleToPerfectSensor. Оно совмещает в себе обе стадии, описанные выше, и запускается следующей консольной командой:

 otbcli_BundleToPerfectSensor -inp pan_image -inxs xs_image -out output_image

где pan_image, xs_image и output_image соответсвенно - пути к панхроматическому, мультиспектральному и результирующему растрам. О дополнительных опциях читайте в документации.

Запуск паншарпенинга из QGIS

В QGIS инструменты OTB подключаются через модуль Processing. После установки OTB на компьютер зайдите в QGIS в настройки модуля Processing (Processing -> Options -> Providers) и активируйте интеграцию с OTB (инструкция на английском):

Enable OTB.png

Теперь в Processing Toolbox у вас появится набор инструментов Orfeo Toolbox. К сожалению, в инструментарий входят только консольные утилиты, но не приложения (то есть модуль otbcli_BundleToPerfectSensor не доступен из QGIS). Поэтому не спешите сразу запускать утилиты паншарпенинга (Orfeo Toolbox -> Geomentry -> Pansharpening), так как здесь требуется, чтобы все входные растры имели идентичный экстент и разрешение, то есть выполняется только вторая стадия. Чтобы выполнить первую - необходимо воспользоваться модулем Superimpose sensor (Orfeo Toolbox -> Geometry -> Superimpose sensor).

Модуль Superimpose sensor имеет следующие параметры:

  • Reference input - базовое изображение, к параметрам которого будет приведено обрабатываемое изображение (здесь выбираем панхроматическое).
  • The image to reproject - изображение, чьи параметры будут приведены к параметрам базового изображения (здесь выбираем мультиспектральное).
  • Default elevation - средняя высота изображения над эллипсоидом.
  • Spacing of the deformation field - интервал расстояния поля деформации (coarser deformation field).
  • Interpolation - тип интерполяции.
  • Available RAM - ограничение использования оперативной памяти. (Если изменение дефолтного значения приводит к вылету модуля - обновите Processing.)
  • Output image - результирующий растр.
Интерфейс модуля Superimpose sensor

После трансформации мультиспектрального растра можно переходить непосредственно к паншарпенингу. Модуль Pansharpening(rsc) имеет следующие параметры:

  • Input PAN image - панхроматическое изображение высокого разрешения.
  • Input XS image - мультиспектральное изображение, приведённое к параметрам панхроматического.
  • Algorithm - алгоритм для паншарпенинга (не изменяется, для использования других алгоритмов (LMVM и Bayesian) используйте соответсвующие модули Pansharpening(bayes) и Pansharpening(lvmv))
  • Available RAM - ограничение использования оперативной памяти. (Если изменение дефолтного значения приводит к вылету модуля - обновите Processing.)
  • Output image - результирующий растр.
Интерфейс модуля Pansharpening(rsc)

Давайте посмотрим на результат паншарпенинга при помощи указанных модулей.

Пахроматический растр с пространственным разрешением 0,5 м
Мультиспектральный растр с пространственным разрешением 2,0 м
Мультиспектральный растр после паншарпенинга при помощи OTB

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

Создание модели

Согласитесь, гораздо удобнее было бы обойтись без промежуточных операций и растров. Этого можно добиться путём создания соответствующей модели для Processing Toolbox. В качестве входных параметров модели следует использовать панхроматический и мультиспектральный растры. Последний сначала подготавливается при помощи Superimpose sensor, а затем обрабатывается при помощи Pansharpening(rsc).

Модель паншарпенига

Интерфейс модели будет выглядеть следующим образом:

  • High resolution panchrome raster - панхроматическое изображение высокого разрешения.
  • Low resolution raster - мультиспектральное изображение низкого разрешения.
  • pansharpened OTB - результирующий растр.
Интерфейс модели паншарпенига

Файл модели

Вы можете скачать модель в виде текстового файла отсюда. Архив необходимо распаковать в папку ".../.qgis2/processing/models/". После этого она появится у вас в списке моделей Processing toolbox (необходим рестарт QGIS).

Заключение

В данной статье был рассмотрен процесс паншарпенинга изображений при помощи инструментов OTB, запускаемых при помощи модуля Processing в QGIS. OTB позволяет получить качественный и быстрый (благодаря многопоточной обработке) результат. Для паншарпенинга в QGIS удобнее всего создать соответствующую модель при помощи Model Builder, чтобы избежать проволочек, связанных с промежуточными файлами.

Ссылки по теме

Паншарпенинг при помощи R

Паншарпенинг в ERDAS

Обработка и интерпретация данных Landsat 8 (OLI) средствами GRASS GIS 7 [раздел Паншарпенинг в GRASS]

Геопроцессинг с SEXTANTE для QGIS