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

Человеческое узкое место

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

Неудивительно, что одной из ключевых технологий, которые мы используем для обнаружения объектов, является глубокое обучение. Но с каждым приложением глубокого обучения идет… набор данных. У вас может быть лучшая команда, которую вы хотите, специалист по данным будет настолько хорош, насколько хороши данные, к которым он имеет доступ.

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

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

Благодаря новым созвездиям, таким как Planet или DigitalGlobe, и новым удобным инструментам ГИС, интерпретация изображений с помощью дистанционного зондирования стала более доступной, чем когда-либо, и теперь стартап может создавать соответствующие наборы данных в нужном масштабе. Однако процесс маркировки по-прежнему болезненный, дорогостоящий и ограничен человеческими усилиями, которые вы можете вложить. А когда вы создаете крупномасштабную службу на основе ИИ, вы определенно не хотите иметь узкое место из-за человека!

Передача знаний

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

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

Для любого специалиста по данным, работающего с дистанционным зондированием, вопрос передачи данных является критическим. Действительно, некоторые провайдеры, такие как Planet или DigitalGlobe, открывают партнерские отношения, чтобы предоставить доступ к архивам для целей НИОКР или разработки продуктов. Также доступны несколько больших общедоступных наборов данных, таких как SpaceNet, Fmow и скоро xView. Однако иногда эти архивы и наборы данных могут не соответствовать разрешению, наблюдаемым или местоположениям, необходимым для рассматриваемых бизнес-кейсов, а на некоторых изображениях все еще могут отсутствовать метки или они могут быть помечены для другого типа задачи. Как компания, стремящаяся к как можно более быстрому масштабированию, мы должны иметь возможность использовать все доступные данные для повышения производительности и ускорения разработки продукта.

Сила очень высокого разрешения

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

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

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

Использование предварительного обучения не только позволяет сети сходиться намного быстрее (более чем в 10 раз меньше эпох), но также дает гораздо лучшие результаты с точки зрения потерь и точности! Однако, если мы попытаемся обучить сеть сегментации на 30-сантиметровых изображениях, используя переносное обучение с более низким разрешением, результаты будут менее убедительными. Мы не увеличиваем глобальные показатели и сокращаем время конвергенции «всего» в 3 раза.

Если этот процесс очень полезен для ускорения обучения и повышения производительности, мы также обнаружили, что тот же вывод верен и в отношении базы обучения: по сравнению с обучением «с нуля» использование изображений VHR для предварительного обучения сети уменьшает объем тренировочная база, необходимая для достижения тех же показателей на порядок, даже на изображениях с более низким разрешением. И снова обратное, похоже, не так эффективно. Наше предположение, похоже, подтверждается: передача с более высоким разрешением может быть более эффективной.

Глядя на генерацию изображений

В Earthcube нам нравится использовать генераторы изображений, такие как автокодеры или GAN, для анализа характеристик и измерения сходства изображений, которые полезны для отслеживания изменений, активности или сравнения изображений. Это также прекрасные способы получить интуитивно понятные результаты о том, как сетевая архитектура может «понимать» изображение. Мы обучили два автоэнкодера, один на изображениях Digital Globe 30 см, один на изображениях голубя на Планете 4 м с одинаковым количеством «усилий» (аналогичный размер базы обучения и время обучения), чтобы получить сопоставимые результаты и сравнить другой тип процесса обучения с переносом. База обучения была специально выбрана очень другой (гавань или аэропорт). Процесс обучения был довольно простым, с ограниченным количеством эпох и тонкой настройкой.

Если вы не знакомы с машинным обучением, автокодеры - это просто алгоритмы сжатия-декомпрессии на основе нейронных сетей, которые изучают ограниченный набор скрытых переменных, определяющих изображение (процесс автокодирования), а затем учатся использовать эти переменные для восстановления исходного ввода (декодирование процесс). Они очень часто используют сверточные слои и создают наборы карт функций, чтобы найти «лучшее» (или более заметное) описание изображения с учетом ограничений. Пользователь ограничивает количество скрытых переменных, чтобы заставить алгоритм сжимать данные и, таким образом, не дать ему изучить базовую функцию идентичности.

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

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

Но конечный результат оказался неожиданным. Обученный Digital Globe автокодировщик был на самом деле более эффективным для повторного создания изображений Dove, чем автокодировщик, обученный Dove!

Это казалось таким странным, что мы трижды переобучили автоэнкодер Dove, чтобы обеспечить согласованность результатов. Конечно, это не означало, что мы не смогли бы добиться очень хороших результатов с изображениями Dove, если бы приложили больше усилий, особенно с точки зрения времени обучения и точной настройки. Наше предположение подтвердилось. Использование очень высокого разрешения позволило изучить необходимую карту характерных признаков и позволило сгенерировать удовлетворительный алгоритм сжатия-декомпрессии практически для любого типа спутниковых изображений с высоким разрешением. Более того, обученная нейронная сеть с более высоким разрешением, казалось, имела больше возможностей для обобщения, чем обученная сеть с более низким разрешением, и, казалось, могла гораздо быстрее сходиться с лучшими характеристиками. Все это можно объяснить мощью пространственной иерархии глубоких нейронных сетей.

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

Для случая коммерческого использования можно было бы использовать разрешение, которое лучше всего подходит для его применения, используя более частые повторные посещения или даже более низкие затраты, если вам не нужны изображения VHR. Однако, если вы хотите создать автоматический конвейер, добавление изображений с высоким разрешением к этой обучающей базе (например, смешивание изображений Dove и Skysat) может значительно сократить количество необходимых этикеток, позволяя при этом выпускать продукт более высокого качества.

Рено Аллиу, технический директор и соучредитель Earthcube.