exponenta event banner

sharpencnmf

Резкость гиперспектральных данных с использованием метода факторизации связанной неотрицательной матрицы (CNMF)

    Описание

    пример

    outputData = sharpencnmf(lrData,hrData) точит гиперспектральные данные низкого разрешения, lrData сцены с использованием способа факторизации связанной неотрицательной матрицы (CNMF). Метод CNMF - итеративный подход, использующий мультиспектральные или панхроматические данные высокого разрешения, hrData одной и той же сцены для заточки гиперспектральных данных.

    Заточка гиперспектрального изображения увеличивает пространственное разрешение гиперспектральных данных путем слияния информации из мультиспектральных данных высокого разрешения или панхроматических данных. Процесс заточки также называется слиянием изображений (слияние мультиспектральных и гиперспектральных данных) или панорамированием (слияние панхроматических и гиперспектральных данных).

    Примечание

    • Пространственная размерность гиперспектральных данных должна быть меньше пространственной размерности мультиспектральных или панхроматических данных.

    • Число спектральных полос в гиперспектральных данных должно быть больше, чем число полос в мультиспектральных данных. Для панхроматических данных число спектральных полос всегда равно 1.

    пример

    outputData = sharpencnmf(lrData,hrData,Name,Value) также указывает параметры, использующие один или несколько аргументов пары «имя-значение». Этот синтаксис используется для установки значений параметров метода CNMF.

    Примечание

    Для выполнения этой функции требуется библиотека гиперспектральных изображений Toolbox™ обработки изображений. Можно установить библиотеку гиперспектральных изображений панели инструментов обработки изображений из проводника надстроек. Дополнительные сведения об установке надстроек см. в разделе Получение надстроек и управление ими.

    Примеры

    свернуть все

    Считывание гиперспектрального изображения сцены с низким пространственным разрешением в рабочее пространство.

    hcube = hypercube('EO1H0440342002212110PY_hsi.hdr');

    Считывайте многоспектральное изображение одной и той же сцены с высоким пространственным разрешением в рабочую область.

    pcube = hypercube('EO1H0440342002212110PY_msi.hdr');

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

    newhcube = sharpencnmf(hcube,pcube);

    Оцените изображение RGB входного гиперспектрального, входного мультиспектрального и заточенного гиперспектрального выходных данных.

    lrData = colorize(hcube,'method','rgb','ContrastStretching',true);
    hrData = colorize(pcube,'method','rgb','ContrastStretching',true);
    outputData = colorize(newhcube,'method','rgb','ContrastStretching',true);

    Отображение гиперспектрального (HS) изображения с низким пространственным разрешением, мультиспектрального (MS) изображения с высоким пространственным разрешением и выходного изображения HS с высоким разрешением.

    figure
    montage({lrData;hrData;outputData})
    title('Low Resolution HS Input | High Resolution MS Input | High Resolution HS Output')

    Считывание гиперспектрального изображения сцены с низким пространственным разрешением в рабочее пространство.

    hcube = hypercube('EO1H0440342002212110PY_hsi.hdr');

    Считывайте многоспектральное изображение одной и той же сцены с высоким пространственным разрешением в рабочую область.

    pcube = hypercube('EO1H0440342002212110PY_msi.hdr');

    Резкость гиперспектральных данных с низким пространственным разрешением с помощью метода CNMF. Установите пороговое значение сходимости 0,1.

    newhcube = sharpencnmf(hcube,pcube,'ConvergenceThreshold',0.1);

    Оцените изображение RGB входного гиперспектрального, входного мультиспектрального и заточенного гиперспектрального выходных данных.

    lrData = colorize(hcube,'method','rgb','ContrastStretching',true);
    hrData = colorize(pcube,'method','rgb','ContrastStretching',true);
    outputData = colorize(newhcube,'method','rgb','ContrastStretching',true);

    Отображение гиперспектрального (HS) изображения с низким пространственным разрешением, мультиспектрального (MS) изображения с высоким пространственным разрешением и выходного изображения HS с высоким разрешением.

    figure
    montage({lrData;hrData;outputData})
    title('Low Resolution HS Input | High Resolution MS Input | High Resolution HS Output')

    Входные аргументы

    свернуть все

    Гиперспектральные данные низкого разрешения, указанные как hypercube объект или 3-D числовой массив, содержащий куб данных. Если входным значением является hypercube , данные считываются из DataCube свойства объекта.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Вход с высоким разрешением, указанный как hypercube объект, 3-D числовой массив, содержащий куб данных или матрицу. Если входным значением является hypercube , данные считываются из DataCube свойства объекта.

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

    • Для многоспектральных данных входное значение должно быть hypercube объект или 3-D числовой массив, содержащий куб данных.

    • Для панхроматических данных входное значение может быть любым из следующих:

      • A hypercube объект или 3-D числовой массив, содержащий куб данных. Число спектральных полос в кубе данных должно быть равно 1.

      • Матрица.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Аргументы пары «имя-значение»

    Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

    Пример: cnmf(lrData,hrData,'MaxConvergenceIterations',40)

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

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Максимальное количество итераций, необходимых для оптимизации спектрального размешивания гиперспектральных и мультиспектральных данных, определяемых как разделенная запятыми пара, состоящая из 'MaxOptimizationIterations' и положительный целочисленный скаляр. Если вход с высоким разрешением hrData является панхроматическим изображением, спектральное размешивание выполняется только на гиперспектральных данных.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Порог сходимости, заданный как пара, разделенная запятыми, состоящая из 'ConvergenceThreshold' и положительный скаляр. При увеличении порога сходимости снижается точность спектрального размешивания.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Количество конечных элементов для спектрального размешивания, указанное как пара, разделенная запятыми, состоящая из 'NumEndmembers' и положительный целочисленный скаляр.

    Для значения по умолчанию sharpencnmf сначала подсчитывает общее количество конечных элементов (TotalEM) в гиперспектральных данных с помощью countEndmembersHFC функция. Затем вычисляет количество конечных элементов для размешивания значений пикселей как, мин (40, TotalEM).

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Выходные аргументы

    свернуть все

    Заточенные гиперспектральные данные, возвращенные в виде hypercube объект или 3-D числовой массив.

    Если гиперспектральный куб данных низкого разрешения, указанный lrData имеет размер P-за-Q-за-C и данные высокого разрешения hrData имеет размер M-by-N-by-K, затем заточенный выходной сигнал

    имеет размер M-by-N-by-C.

    Ссылки

    [1] Ёкоя, Наото, Такэхиса Яири и Акира Ивасаки. «Комбинированная неотрицательная факторизация матриц для объединения гиперспектральных и многоспектральных данных». Сделки IEEE по геологии и дистанционному зондированию 50, № 2 (февраль 2012 года): 528-37. https://doi.org/10.1109/TGRS.2011.2161320.

    См. также

    | | |

    Представлен в R2020b