
Представляем мультимодальную библиотеку предварительной обработки Solaris
В последней версии Solaris, доступной сейчас, есть новый ресурс для геопространственного глубокого обучения: мультимодальная библиотека предварительной обработки Solaris. Эта библиотека упрощает работу по предварительной обработке изображений, то есть очистку данных и анализ изображений, чтобы привести данные в окончательную форму для глубокого обучения. Это достигается путем предоставления строительных блоков для построения мощных рабочих процессов обработки изображений.
Иногда создание набора данных так же просто, как мозаичное размещение готовых изображений и соответствующих им векторных меток - задача, для которой отлично подходит tile подпакет Solaris. Но иногда сами образы также должны быть изменены более существенным образом. Это особенно верно для мультимодальных наборов данных, где такие задачи, как применение масок из одной модальности в другую, являются нормой. Но это также верно в любое время, когда кто-то хочет обрабатывать изображения с помощью таких методов, как панорамирование, уменьшение шума и т. Д. Анализ радара с синтезированной апертурой (SAR), в частности, изобилует алгоритмами обработки изображений, которые необходимы для преобразования сложных данных SAR в более легкие. -интерпретируемые образы.
Для поддержки подобных рабочих процессов новый preproc подпакет Solaris содержит библиотеку из более чем 60 классов Python, каждый из которых выполняет отдельную задачу по манипулированию данными. Хотя эти классы могут быть полезны по отдельности, их реальная ценность состоит в том, что их можно легко объединить в определяемые пользователем классы для выполнения рабочих процессов обработки изображений произвольной сложности.
Предположим, что пользователь имеет в виду блок-схему, описывающую рабочий процесс предварительной обработки. Чтобы превратить эту идею в класс, первым делом нужно создать экземпляр объекта для каждой задачи в блок-схеме. Многие типичные задачи (например, загрузка изображения, применение маски, выполнение вычислений с полосами изображения) доступны среди более чем 60 опций, уже имеющихся в библиотеке. Второй шаг - указать, как входы и выходы всех этих задач связаны друг с другом. Это можно сделать в одной строке кода, используя краткую нотацию. (По сравнению с аналогичными программами, которые требуют, чтобы пользователь рисовал блок-схему в графическом интерфейсе или вводил заново имена задач каждый раз, когда используется их вывод, этот подход гораздо менее утомительный.)

Причина, по которой это работает, заключается в том, что все классы в библиотеке предварительной обработки наследуются от базового класса, называемого PipeSegment, который обрабатывает большую часть функций в фоновом режиме. Например, пользователю не нужно отслеживать пути к файлам на жестком диске для всех промежуточных результатов - промежуточные результаты вместо этого сохраняются в ОЗУ и удаляются, как только они больше не нужны. Пользователю даже не нужно выяснять порядок, в котором нужно производить вычисления; это также обрабатывается автоматически. При таком подходе функционального программирования единственная задача пользователя - уточнить, какая именно обработка данных должна выполняться. Выяснение деталей реализации - это работа для компьютера.
В дополнение к выпуску самого кода, на страницу руководств по Solaris добавлено учебное пособие из трех частей. Часть 1 учебного пособия показывает, как создать простой конвейер обработки изображений, используя реальный пример нормализованного разностного индекса растительности (NDVI). Часть 2 показывает, как обрабатывать более сложные рабочие процессы, в которых поток данных разветвляется и повторно объединяется. Это показано на примере алгоритма панорамирования. Наконец, Часть 3 показывает, как использовать библиотеку предварительной обработки для работы с SAR. Гибкость мультимодальной библиотеки предварительной обработки Solaris делает ее эффективным инструментом для таких и многих других случаев использования.