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

Этот проект представлен на конкурс Google Research Определите инверсионные следы для уменьшения глобального потепления, организованный Kaggle.

Ссылка на Гитхаб

Ссылка на живое приложение на HuggingFace

Майя Халеви, Саша Байч, Элиот Кан

Упомянутые выше авторы являются равноправными участниками этой статьи и описываемого проекта.

Мотивация

Наш проект фокусируется на знакомых линейных облаках, которые формируются самолетами, когда они пролетают через области с повышенной влажностью, также известные как инверсионные следы. Как оказалось, на инверсионные следы приходится примерно 1% всего глобального потепления, вызванного деятельностью человека. Проблема в том, что ночью, когда земля остывает, инверсионные следы имеют изолирующий эффект. Инверсионные следы так же вредны для окружающей среды, как и топливо, сжигаемое для полета. По мере того, как авиационная промышленность продолжает расти, растет и количество производимых инверсионных следов, что усиливает их воздействие на окружающую среду.

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

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

Данные

Набор данных состоит из обучающего и проверочного набора, всего около 22 000 образцов, предоставленных Kaggle. Каждый экземпляр представляет собой спутниковое изображение, полученное в 9 инфракрасных диапазонах ABI.

ABI расшифровывается как Advanced Baseline Imager, инструмент, используемый на метеорологических спутниках. ABI захватывает спутниковые изображения в девяти инфракрасных спектральных диапазонах, которые представляют собой определенные диапазоны длин волн за пределами видимого спектра, чувствительные к тепловому излучению. Каждая полоса ABI соответствует разным температурным диапазонам и атмосферным условиям. В нашем наборе данных мы заметили, что соседние каналы очень похожи друг на друга, поэтому вместо того, чтобы использовать все 9 в качестве входных данных для модели, мы использовали каналы 8, 12 и 16.

Набор данных также имеет временной аспект: каждая полоса содержит восемь изображений, сделанных с интервалом в десять минут. Однако только пятое изображение в каждой полосе соответствует метке наземной истины. Для наших моделей мы работали только с помеченными изображениями. Что касается масок наземной истины, поскольку мы работаем с сегментацией бинарного изображения, инверсионные следы имеют значение пикселя, равное единице (1), а остальная часть изображения имеет значение нуля (0).

Также важно отметить дисбаланс классов в нашем наборе данных. На изображениях, которые содержат инверсионные следы, только в среднем 1,2% пикселей изображения на самом деле являются инверсионными следами. Как видно ниже, на изображениях входных полос также присутствует значительный шум, из-за чего трудно отличить слабые инверсионные следы от фона.

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

Реализация модели: U-Net

Архитектура U-Net стала предпочтительным выбором для задач семантической сегментации изображений из-за ее способности решать сложные задачи сегментации, а также более эффективной в вычислительном отношении, чем другие архитектуры глубокого обучения.

U-Net — это сверточная нейронная сеть, характеризующаяся путями кодер-декодер, которые соединены пропускными соединениями, образуя U-образную форму. Кодер понижает дискретизацию изображений, позволяя модели идентифицировать детали высокого уровня, в то время как декодер повышает дискретизацию изображений, позволяя модели получить доступ к мелким деталям и выполнить попиксельную сегментацию.

U-Net включает пропущенные соединения между путями кодера и декодера для сохранения пространственной информации.

Измерение успеха: коэффициент кости

Чтобы сравнить производительность наших моделей, мы использовали коэффициент игры в кости в качестве метрики оценки. Коэффициент кости оценивает перекрытие между предсказанной маской модели и маской наземной истины. Оценка варьируется от 0 до 1, где 0 означает отсутствие перекрытия, а 1 — идеальное перекрытие (т. е. идентичные изображения). Более высокий коэффициент Дайса указывает на лучшую точность сегментации, поскольку он измеряет соответствие между предсказаниями модели и истинной реальностью. По этой причине мы также использовали коэффициент кости в качестве функции потерь, направляя модель на обучение на основе этой метрики.

Модели

Мы реализовали три различных варианта архитектуры U-Net. И VGG16, и MobileNetV2 были доступны из библиотеки segmentation_models как готовые магистрали. Остаточная UNet — это специально созданная модель, которую мы смогли точно настроить для нашей проблемы.

ВГГ16

Модель VGG16 — это глубокая сверточная нейронная сеть, изначально разработанная для классификации изображений. Он состоит из 16 слоев, в том числе 13 сверточных слоев и 3 полносвязных слоев. Это считается более тяжелой моделью со 138 миллионами параметров, и для обучения на нашем наборе данных требуется час в эпоху. Веса кодировщика модели VGG16 были инициализированы предварительно обученными весами из набора данных ImageNet.

МобильныйNetV2

MobileNetV2 — это легкая сверточная нейронная сеть, предназначенная для эффективных вычислений. По сравнению с моделью VGG16 она содержит всего 3,4 миллиона параметров и обучается почти в два раза быстрее. Мы использовали тот же оптимизатор и функцию потерь, что и с VGG16, чтобы сравнить их производительность.

Остаточный U-Net с вниманием

Эта модель включает в себя два ключевых компонента: остаточные связи и механизмы внимания. Остаточные соединения — это пропущенные соединения, которые позволяют информации напрямую передаваться от кодера к соответствующим слоям декодера, облегчая поток градиента во время обучения и предотвращая проблему исчезающего градиента. Механизм внимания помогает модели сосредоточиться на более релевантных регионах, обучаясь присваивать разные веса различным пространственным местоположениям на картах объектов. Это позволяет модели уделять внимание важным областям и подавлять ненужные, что приводит к повышению производительности сегментации. Кроме того, в отличие от готовых моделей VGG16 и MobileNetV2, эта модель была реализована вручную и обучена с нуля.

Сравнение моделей

На графике ниже мы видим, как наши модели работали на проверочном наборе после обучения в течение нескольких эпох.

Как видно выше, наша самая эффективная модель — это пользовательская остаточная U-Net. Он представлен как постоянный кубик, так как обучался гораздо больше эпох, чем его предварительно обученные конкуренты.

Наша базовая модель показана серым цветом, что дает очень низкий результат. Это магистраль VGG16 с весами ImagineNet. Производительность нашей базовой модели доказывает, что даже сложной готовой модели недостаточно для решения нашего бизнес-кейса. Однако за несколько часов тренировок эта модель смогла добиться впечатляющих результатов. Также интересно отметить сходство характеристик моделей VGG16 и MobileNetV2, учитывая их разные архитектуры.

На графике мы также включили самых эффективных конкурентов Kaggle, выделенных оранжевым цветом в качестве текущей метрики таблицы лидеров. Это подчеркивает сложность проблемы, поскольку большинство моделей не могут получить «идеальные» кости.

Сравнение предсказаний модели

Модели не идеальны, но то, что они смогли запечатлеть, впечатляет.

Предварительная обработка

Поскольку наши входные изображения были довольно маленькими (256x256), у нас не было возможности уменьшить их размер. Тем не менее, мы экспериментировали с другими методами предварительной обработки изображений, как показано ниже.

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

Постобработка

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

Удаление небольших инверсионных следов

Инверсионные следы должны содержать не менее 10 пикселей в соответствии с определениями, найденными на Kaggle. Таким образом, используя connectComponentsWithStats из CV2, мы переключились на нулевые группы пикселей меньше 10. Это оказало незначительное влияние на метрику игры в кости, поэтому мы не сохранили ее в окончательной реализации.

Сохранение инверсионных следов только на двух таймфреймах

Еще одно правило, определенное Kaggle, заключалось в том, что инверсионные следы должны появляться как минимум в двух таймфреймах. Поэтому мы использовали 6-е изображение каждой полосы поверх 5-го, чтобы создать 2 прогноза, а затем сохранили только те пиксели, которые были положительными для обоих прогнозов.

Этот метод фактически уменьшил количество кубиков на 50%, поэтому мы не сохранили его в окончательной реализации. Причина этого в том, что инверсионные следы перемещаются от одного кадра к другому, что делает сравнение попиксельно непродуктивным.

Усреднение прогнозов

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

Это улучшило общий результат в среднем на 1%, а на некоторых изображениях — на целых 7%.

Результаты и обсуждение

После реализации различных архитектур моделей мы видим, что специально созданная U-Net с ее остаточными соединениями и механизмами внимания превзошла другие «готовые» модели.

Мы представляем вам некоторые из прогнозов нашей модели в помеченном проверочном наборе. Зеленым цветом показаны правильные прогнозы моделей (истинно положительные), красным — неверные прогнозы (ложноположительные), и, наконец, синим — неопознанные экземпляры модели (ложноотрицательные).

Стоит отметить, что наша модель последовательно идентифицирует отсутствие инверсионных следов, выводя пустую маску. Это ключевой аспект для определения маршрутов полета без инверсионных следов.

Заключение

Проблемы

В ходе этого проекта мы столкнулись с рядом проблем. Одним из препятствий было длительное обучение необученных моделей, которое почти в четыре раза превышало время, необходимое для предварительно обученных моделей. Кроме того, нас ограничивали ограниченные вычислительные ресурсы, особенно при использовании больших магистралей, таких как VGG16. Чтобы решить эту проблему, мы использовали библиотеку segmentation_models для доступа к предварительно обученным магистралям. Однако за это пришлось заплатить снижением настраиваемости.

Будущие шаги

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

Заключительные примечания

Хотя специфичность предсказаний нашей модели по пикселям может быть ограничена, это не критично для нашего варианта использования. Для информирования пилотов о том, как избежать образования инверсионных следов, достигнутых нами результатов более чем достаточно. Учитывая масштабы авиационной отрасли, даже 50-процентное снижение образования инверсионных следов было бы значительным.

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