Система сегментации изображений зданий и сооружений
SYSTEM FOR SEGMENTING IMAGES OF BUILDINGS AND STRUCTURES

Предлагаемое изобретение относится к области средств и технологий дистанционного зондирования Земли, а именно к интеллектуальным космическим системам мониторинга строительных объектов.
Известен способ обработки спутниковых изображений [Blaschke T. et al., «Object-Oriented Image Processing in an Integrated GIS / Remote Sensing Environment and Perspectives for Environmental Applications», EnviroInfo 2000], предусматривающий сегментацию изображений с помощью различных алгоритмов и последующее объединение результатов с данными геоинформационной системы. Известна также система получения и обработки спутниковых изображений, основанная на использовании свёрточной нейронной сети, предложенная в заявке на изобретение CN 10 7 945 146, Univ. Nanjing Information Science & Tech., публикация 2018 г. Система представляет собой нейронную сеть глубокого обучения, получающую изображения от спутников Landsat с аппаратурой дистанционного зондирования Земли Modis и сегментацией изображений, принятых с космического аппарата.
В качестве ближайшего аналога выбрана система сегментации спутниковых изображений, являющаяся составной частью интеллектуальной космической системы мониторинга лесного фонда. Система, основанная на использовании свёрточной нейронной сети, была предложена в патенте на изобретение RU 2 703 349, Российские космические системы, публикация 2019 г. Нейронная сеть глубокого обучения обрабатывает фрагменты изображений, полученных с космических аппаратов дистанционного зондирования Земли типа Ресурс-П. Фрагменты изображений, формируются методом скользящего окна с заданным шагом. На этапе обучения, для расширения обучающей выборки генерируются новые фрагменты изображений.
В нашем изобретении предложено применить технические возможности и особенности алгоритмов глубокого машинного обучения для решения задачи сегментации зданий и сооружений. Система включает в себя свёрточную нейронную сеть, обеспечивающую обработку фрагментов изображений, полученных с космических аппаратов дистанционного зондирования Земли типа Ресурс-П и сформированных методом скользящего окна с заданным шагом. На этапе обучения, для расширения обучающей выборки генерируются новые фрагменты изображений. В отличие от аналога, свёрточная нейронная сеть обрабатывает фрагменты четырехканальных спутниковых снимков, дополнительно разделяя сегментированные «слипшиеся» объекты. При работе системы методом скользящего окна с фиксированным шагом из каждого спутникового изображения выделяется набор фрагментов для сегментации. На этапе обучения, для расширения обучающей выборки к каждому из фрагментов применяются операторы поворота и зеркального отображения, изменения масштаба в пределах [1; 1,2], сдвига в пределах 2% от размера фрагмента, поворота на небольшой угол в пределах [-π/12; π/12] и хроматического искажения. На этапе работы алгоритма фрагменты объединяются для получения изначального, «большого» спутникового снимка с выделенными на нем зданиями и сооружениями.
Предложенная система поясняется следующими изображениями:
фиг. 1 – схема обучения алгоритма сегментации зданий и сооружений;
фиг. 2 – схема работы алгоритма сегментации зданий и сооружений;
фиг. 3 – архитектура свёрточной нейронной сети для сегментации зданий и сооружений;
фиг. 4 – разбиение исходного спутникового снимка на фрагменты фиксированного размера методом скользящего окна;
фиг. 5 – архитектура свёрточной нейронной сети для дополнительного разделения «слипшихся» объектов.
Фрагменты спутниковых изображений зданий и сооружений, полученные с космических аппаратов Ресурс-П поступают на вход свёрточной нейронной сети (фиг. 1, 2). В настоящее время используются четырехканальные спутниковые снимки исследуемой территории. Свёрточная нейронная сеть позволяет быстрее выполнить обработку данных за счет меньшего количества требуемых вычислений. Применение космических аппаратов Ресурс-П позволяет задействовать при мониторинге строительных объектов данные дистанционного зондирования Земли высокого и сверхвысокого разрешения. Архитектуру предложенной свёрточной нейронной сети можно описать как совокупность последовательностей блоков кодировщика и декодировщика (фиг. 3). Кодировщик уменьшает пространственное разрешение фрагмента спутникового снимка, поступившего на вход алгоритму, в то время как декодировщик увеличивает пространственное разрешение, объединяя карту признаков с данными, поступившими из блоков кодировки путем проброса информации.
В конкретном неисключительном примере осуществления данного изобретения свёрточная нейронная сеть (фиг. 3) состоит из двух кодировщиков для трехканального изображения и изображения инфракрасного канала и трёх декодировщиков, предназначенных для сегментации изображений зданий и сооружений малого, среднего и большого размера. Размер каждого здания определялся при формировании обучающей выборки. Путем вычисления значения квадратного корня площади прямоугольника, огибающего здание или сооружение на спутниковом снимке, каждый объект относился к зданиям малого, среднего или большого размера. Таким образом, формировались маски спутниковых снимков, с которыми сравнивались результаты, полученные на выходе алгоритма глубокого машинного обучения. Каждый блок кодировки представляет собой набор из семи операций над картами признаков. Он включает в себя два слоя свёртки, два слоя пакетной нормализации, две функции активации ReLU и функцию понижения дискретизации. Свёрточные слои являются основными элементами нейронных сетей глубокого обучения. На этапе работы этих слоёв с помощью свёрточного фильтра и матричных операций преобразуются данные, поступившие на вход с предыдущего слоя нейронной сети. Результатом такой обработки является набор матриц меньшего размера – множество слоёв преобразованных признаков.
Применена пакетная нормализация – метод, который позволяет стабилизировать работу свёрточных нейронных сетей. Нормализация входного слоя нейронной сети выполняется путём масштабирования признаков таким образом, что перед выполнением следующих операций нейронной сети, данные будут иметь нулевое математическое ожидание и единичную дисперсию. Слой активации ReLU способствует уменьшению значения ошибки сети. Он позволяет избежать проблем затухающего и взрывного градиента. Слой активации ReLU позволяет применить к каждому элементу матрицы, поступившей на вход с предыдущего слоя, функцию вида max(0, x), где x – значение признака. Функция понижения дискретизации представляет собой нелинейное уплотнение карты признаков, поступившей на вход с предыдущего слоя нейронной сети. С помощью нелинейного преобразования, затрагивающего непересекающиеся участки матрицы, группа признаков заменяется одним числовым значением и тем самым пространственный объем признаков уменьшается. Декодировщик содержит такое же количество блоков, как и кодировщик. Блок декодировки представляет собой набор из одиннадцати операций над картами признаков. Каждый такой блок включает в себя функцию повышения дискретизации, операцию объединения данных с признаками соответствующих блоков декодера, три слоя свёртки, три слоя пакетной нормализации и три функции активации ReLU. Функция повышения дискретизации представляет собой расширение карты признаков, поступившей на вход с предыдущего слоя нейронной сети. С помощью нелинейного преобразования, затрагивающего непересекающиеся участки матрицы, каждый признак повторяется и тем самым пространственный объем данных увеличивается.
Для обработки принятых спутниковых снимков методом скользящего окна с заданным шагом формируются фрагменты изображений (фиг. 4), поступающие на вход свёрточной нейронной сети. Предложено использовать окно размером 512×512 пикселей для обеспечения попадания достаточно крупных строительных объектов в один фрагмент. При необходимости, спутниковый снимок по краям дополняется до такого размера, что каждая сторона снимка была кратна 512. Шаг окна в 256 пикселей обеспечивает наложение фрагментов друг на друга таким образом, что край одного фрагмента совпадает с центром смежного с ним. Это позволяет избежать искажений сегментации на краях при восстановлении всего снимка из отдельных фрагментов на этапе внедрения и использования алгоритма.
При обучении сети, из каждого фрагмента спутникового снимка генерируются несколько изображений путем поворота и зеркального отображения исходного фрагмента. Предложено сначала сгенерировать восемь фрагментов изображений с помощью всевозможных вариаций поворота исходного фрагмента на угол π/2, π, 3π/2 и зеркального отображения, а затем к каждому новому полученному фрагменту дополнительно применять операторы случайного поворота на небольшой угол в пределах [-π/12; π/12], изменения масштаба в пределах [1; 1,2], сдвига в пределах 2% от размера фрагмента и хроматического искажения. Это позволяет значительно увеличить обучающую выборку для повышения качества сегментации алгоритма глубокого обучения на этапе обучения. На фазе тестирования свёрточной сети, а также при ее последующем внедрении и использовании генерация новых фрагментов пропускается.
При обучении свёрточной нейронной сети использовалась функция потерь, вычисляемая по формуле L=0,7·BCE+0,3·LH, где BCE – функция кросс-энтропии, а LH – значение коэффициента Ловаса – Хинджа. В качестве алгоритма численной оптимизации при обучении свёрточной нейронной сети был выбран оптимизатор адаптивной оценки моментов Adam со скоростью обучения 1e-4. Эта функция объединяет лучшие подходы от градиентного спуска и импульсных оптимизаторов, показывая быструю сходимость для большинства задач машинного обучения, в частности для задачи сегментации зданий и сооружений. С помощью свёрточного слоя с фильтром 1×1 и последующим применением сигмоидной функции активации для фрагмента изображения получается карта вероятностей того, что каждый пиксель относится к строительным объектам.
Дополнительное разделение «слипшихся» объектов на фрагменте изображения осуществляется с помощью предобученной сети DWT, которая принимала на вход фрагмент спутникового снимка и бинаризованные маски сегментации, объединенные в единый тензор данных. Сеть DWT (фиг. 5) состоит из двух связанных свёрточных нейронных сетей: направляющей и разделяющей. Направляющая сеть представляет собой модифицированную версию известного алгоритма глубокого обучения VGG16. Однако в отличие от VGG16, в направляющей сети третий и четвертый слои понижения дискретизации были изменены: вместо выбора максимального значения в окне на этапе понижения дискретизации, учитывается среднее значение его элементов. Также в прямой сети был удален пятый слой понижения дискретизации, а для сохранения размеров карты признаков используется многоуровневая система агрегирования информации с помощью сверток слоя с фильтром 5×5 и двух свёрток слоёв с фильтром 1×1 после слоёв conv3 и conv4 сети VGG16. В конце направляющей сети, для выходов со слоёв conv3, conv4 и fcn5 выполняются операции повышения дискретизации (Upsample), объединения карты признаков (Concat.), три последовательные свёртки с фильтром 1×1 (слои fuse) и повторное повышение дискретизации. Направляющая сеть позволяет очень точно выделять границы объектов на уровне пикселей.
Разделяющая сеть имеет классическую архитектуру нейронной сети, учитывая при этом высокое пространственное разрешение карты признаков. Она состоит из двух блоков по два свёрточных слоя с фильтром 5×5, после каждого из которых выполняется операция понижения дискретизации, двух свёрточных слоев с фильтром 1×1 и операции повышения дискретизации. С помощью отсечения пикселей по определенному порогу, получается итоговая сегментация фрагмента спутникового изображения. При внедрении и использовании алгоритма фрагменты изображения с помощью нормированной суммы объединяются. В итоге получается спутниковое изображение изначального размера с выделенными на нём зданиями и сооружениями.