Многообещающая практика глубокого обучения

В моем последнем блоге я рассказывал о сегментации изображения контура здания с помощью изображений сверхвысокого разрешения EagleView с использованием моделей Mask R-CNN и deepLabV3 +. Хотя результаты обеих моделей глубокого обучения в целом многообещающие, им все еще не хватает определенного порога точности. Это почему? Поскольку данные ГИС для наземных меток истинности никем не проверены, многие наземные метки либо неточны, либо пропускают фактическое истинное очертание объекта, что потенциально может сбить с толку классификатор модели. Мое любопытство: что, если я проверю каждую основную метку и обозначу каждую функцию как можно точнее, будет ли результат лучше и более многообещающим? Какой была бы статистика вывода, такая как точность и отзыв предсказания обученной модели? Будет ли предсказание модели применяться в практической работе, чтобы сэкономить потенциально трудоемкую работу человеческого дигитайзера?

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

Чтобы протестировать эксперимент и лучше понять выходные данные модели, я лично идентифицировал 178 водозаборных отверстий (на основе предыдущих оцифрованных функций поставщика) на верхней части одного фрагмента аэрофотоснимка EagleView (пиктометрия) размером 1 миля (пиктометрия) с разрешением 3 дюйма (рис. и рис.2) и оцифровывать каждый как полигональный объект с помощью программного обеспечения ArcGIS от ESRI для наземных меток. После обучения глубокой нейронной сети для определения характеристик водозабора на мозаичном изображении с помощью Mask R-CNN, другое другое местоположение мозаичного изображения размером 1 x 1 миля было загружено в обученную модель, чтобы увидеть, может ли модель определить особенности водозабора на изображении. тот дигитайзер пропустил. Этот процесс дает гораздо лучший результат, поскольку модель обнаружила больше особенностей водозабора, которые человеческий дигитайзер либо не заметил, либо пропустил.

Обучение с использованием модели Mask-RCNN:

Mask R-CNN - это современная глубокая нейронная сеть для решения проблем сегментации экземпляров в машинном обучении. Mask-RCNN эффективно обнаруживает объекты на изображении, одновременно создавая высококачественную маску сегментации для каждого экземпляра. Этот метод расширяет Faster R-CNN, добавляя ветвь для прогнозирования маски объекта параллельно с существующей ветвью для распознавания ограничивающей рамки. Вы можете прочитать исследовательскую работу, чтобы лучше понять модель (рис. 3).

Экспорт обучающих данных для глубокого обучения в ArcGIS Pro использовался для экспорта мозаичных изображений и полигональных объектов водозабора, например, наборов данных сегментации (рис. 4). Размер выходных изображений составляет 512x512x3, а угол поворота установлен на 90 градусов, чтобы генерировать больше изображений, чтобы предотвратить переоснащение и помочь модели лучше обобщить. Существуют традиционные методы увеличения изображения, которые можно применять для создания большего количества смоделированных изображений, которые можно найти здесь, в библиотеке Python i mgaug. В этом эксперименте я пропускаю методы увеличения, поскольку вращение обрезанных изображений действительно генерировало некоторый набор данных для обучения дополнению.

Полученные наборы обучающих данных содержат более 1800 изображений и меток. После дальнейшей обработки данных для удаления изображений без меток в окончательных наборах данных было более 1764 обучающих изображений и меток. Для обучения модели я использовал ноутбук Dell с процессором 32 ГБ. Это довольно небольшой набор данных для обучения глубокой нейронной сети извлечению городских объектов из аэрофотоснимков. Применительно к прикладному трансферному обучению я начинаю с файла весов, который обучен на наборе данных ImageNet. Хотя набор данных ImageNet не включает класс водозабора, он включает в себя множество других видов изображений, поэтому обученные веса уже изучили множество функций, общих для естественных изображений, что помогает обучать модель.

Я использовал впечатляющую реализацию с открытым исходным кодом Mask-RCNN library, которую MatterPort построил на Github здесь для обучения модели.

В классе (Utils.dataset) необходимо изменить три основные функции для загрузки ваших собственных наборов данных в структуру. См. Ниже реализацию загрузки данных (рис. 5). Передаточное отношение якоря установлено (16,32,64,128,256) для прогнозирования меньшего размера элементов водозабора. IMAGES_PER_GPU установлен в = 1, чтобы ЦП можно было использовать для обучения модели. Пример изображения и маски (рис. 6).

Методика трансферного обучения была применена с модельной магистралью ResNet-101. Я обучил последние полностью связанные слои сначала с 8 эпохами, чтобы адаптировать класс пространственных объектов впуска воды, затем обучил всю сеть для 100 эпох (рис.7).

На процессоре 32 ГБ на завершение процесса обучения ушло более 5 дней (рис.8). Графики показывают, что потеря набора данных для проверки выходит на плато после определенных эпох. Обычно это происходит как переобучение, когда у вас небольшой набор обучающих данных.

Вот тестовое изображение, которого не было в обучающей выборке, и в оцифрованных полигонах не было обнаружено одно водозаборное сооружение (рис.10).

Вывод функции входа воды из приведенного выше изображения для сравнения. Интересно отметить, что отсутствие водозаборного отверстия было обнаружено с помощью логического вывода (рис.11).

Другой пример из тестового изображения с логическим выводом (рис.12 и рис.13).

Затем я запускаю скрипты вывода на Python с одним полным изображением плитки 2019 года размером 20000 x 20000 x 3, которое находится на расстоянии 3 миль от изображения плитки, которое использовалось в обучении (рис. 14). Сценарии обрезают и обрабатывают 1600 (512x512x3 тусклых) изображений для вывода. Для завершения процесса потребовалось около часа, используя 32 ГБ ОЗУ ноутбука. Отсутствуют очертания водозаборов в основном из-за использования очень небольшого набора обучающих данных и покрытия деревьев поверх объектов водозаборов. Выбор нескольких репрезентативных плиток в качестве наборов обучающих данных из разных мест округа может повысить точность результата.

Я хотел бы использовать статистику «Точность и отзыв» для измерения выходной производительности. Для тех из вас, кто не знаком с терминами, вот основные:

Точность: доля истинно положительных примеров среди всех положительных примеров, классифицированных моделью.

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

С порогом достоверности бинарной кросс-энтропии, установленным на ≥0,9, модель выбрала 271 кандидата в пределах диапазона мозаичного вывода в 1 квадратную милю. Затем вручную просмотрел кандидатов, выбрал наиболее перспективного и подтвердил 194 на аэрофотоснимках. Точность 71,58%. Отзыв составляет 70,78%. Когда порог достоверности установлен на ≥0,75, точность снижается до 53,98%. но напоминание составляет до 78,11%, что означает, что больше входных отверстий для воды правильно идентифицировано, а также много неверно обнаруженных входных отверстий для воды. В зависимости от проекта мы с большей вероятностью увеличим отзыв, чтобы получить больше характеристик входного отверстия для воды, а затем быстро обработать, чтобы вручную исключить ложные срабатывания. Ниже показано увеличенное изображение предполагаемых характеристик водозабора, наложенных на аэрофотоснимки (рис. 15).

Заключение:

Несмотря на то, что это относительно очень небольшой набор данных, Mask-RCNN дает многообещающие результаты для сегментации изображений сверхвысокого разрешения с использованием методов обучения передачи. Результат производительности может быть дополнительно улучшен за счет увеличения высококачественных наборов обучающих данных из разных мест округа и применения методов увеличения вариации данных. Модель также можно использовать в многолетних изображениях, чтобы сделать вывод об обнаружении пространственных объектов для сравнения, или даже использовать для недорогого обозначения пространственных объектов с помощью инструментов ArcGIS ModelBuilder или любых открытых исходных кодов для автоматизации бизнес-задач. Что еще более важно, описанный выше процесс обучения глубокому обучению можно применить к другим типам экземпляров изображений или случаям сегментации. Подводя итог, я должен упомянуть интересный факт: когда я сравниваю результаты с уровнем достоверности ≥0,75 с полигональными функциями, которые поставщик оцифровал на плитке вывода. Модель выделяет на 67 элементов водозаборника больше, чем это сделал человеческий дигитайзер, но упускает 45 оцифрованных человеком входных элементов. Это убеждает меня в том, что если мы применим правильную модель глубокого обучения и сделаем это правильно, машинное обучение или глубокое обучение можно будет использовать в практических реальных проектах и ​​сэкономить пользователям огромное количество времени и создать совершенно новый опыт.

1. Kaiming He, Georgia Gkioxari, Piotr Dollár, Ross Girshick (2018). Маска-RCNN , https://arxiv.org/abs/1703.06870v3

2. Маска R-CNN https://github.com/matterport/Mask_RCNN

3. U-Net: сверточные сети для сегментации биомедицинских изображений : https // lmb.informatik.uni-freiburg.de / people / ronneber / u-net /

4. http://pro.arcgis.com/en/pro-app/tool-reference/image-analyst/export-training-data-for-deep-learning.htm