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

Уилл Эвоноски, научный сотрудник Descartes Labs

Введение

В этом блоге мы покажем, как перейти от нулевых данных к тысячам аннотированных спутниковых изображений с помощью инструмента Descartes Labs GeoVisual Search. Часто одним из самых сложных шагов при создании новой модели машинного обучения является поиск достоверных данных, которые имеют отношение к проблеме, которую вы пытаетесь решить, и представляют данные, с которыми вы столкнетесь в производственной среде. Во многих случаях эта проблема усложняется отсутствием доступа к данным, но на платформе Descartes Labs хранятся петабайты глобальных спутниковых изображений, снятых с десятков датчиков и охватывающих десятилетия. Даже имея доступ к такому объему изображений, интересующие нас объекты могут быть разбросаны по всему миру — как нам быстро создавать аннотированные изображения?

Обнаружение глобальных данных сложно и требует много времени

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

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

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

Descartes Labs Геовизуальный поиск

GVS — это, по сути, инструмент поиска сходства изображений. Инструмент содержит две разные базовые карты с разным разрешением и глобальным покрытием, которые были предварительно обработаны, чтобы быть безоблачными и содержать составные изображения из определенного сезона. Инструмент GVS разбивает поверхность земли на перекрывающиеся плитки, каждая из которых передается в разработанную Descartes Labs сверточную нейронную сеть, обученную генерировать вектор признаков, который компактно суммирует плитку изображения. Когда пользователь щелкает плитку, выполняется поиск ближайших соседей между вектором признаков этой плитки и всеми другими векторами плиток в базе данных, при этом пользователю возвращаются k наиболее похожих соседей. Более подробное объяснение реализации GVS см. в Keisler et al, 2019.

Когда GVS возвращает k наиболее похожих соседей, он не возвращает изображение для загрузки. Вместо этого GVS определяет места на Земле, где были обнаружены визуально похожие объекты. Эти местоположения однозначно определяются с помощью кода (описанного ниже), который затем можно использовать для создания изображений на платформе Descartes Labs. В дополнение к GVS на основе графического интерфейса, к сервису также можно получить программный доступ, что позволяет вашему рабочему процессу GVS напрямую интегрироваться с другими частями вашего проекта.

Типы функций, которые может использовать GVS, зависят от нескольких факторов. Одним из этих факторов является разрешение изображения, которое диктует, какие особенности будут разрешены. В настоящее время в GVS включены два источника изображений: изображения NAIP 1 м и изображения Landsat 8 15 м. Вторым важным фактором является размер предварительно обработанных тайлов. Для обоих источников изображений размер плитки в пикселях одинаков и составляет 128 пикселей, однако географическая область, охватываемая каждым источником, отличается почти на 200%. Таким образом, плитка размером 128x128 пикселей на снимке NAIP может включать в себя поле для гольфа и несколько песчаных ловушек, тогда как та же плитка на снимке Landsat будет охватывать все поле для гольфа. Эта комбинация разрешения и размера плитки определяет типы объектов, которые можно найти с помощью GVS. Обратите внимание, однако, что ничто не мешает добавить в инструмент GVS другие источники изображений и тайлы разных размеров.

Пример центральных поворотов

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

Во-первых, нам нужно выбрать количество начальных плиток, которые будут использоваться в качестве входных данных для инструмента GVS. Мы можем сделать это, просмотрев пользовательский интерфейс GVS. Важной частью этого шага является поиск и включение нескольких пограничных случаев. Если вы не включите пограничные случаи на этом этапе, ваш обучающий набор данных практически не будет их содержать. Когда вы щелкаете в инструменте GVS, URL-адрес веб-сайта изменяется и включает фрагмент с именем dlkey с уникальным идентификатором после знака равенства. Идентификатор выглядит так: 64_32_15.0_13_2_4571, где каждое число, разделенное подчеркиванием, соответствует tilesize_pad_resolution_utmzone_utmx_utmy. Этот код однозначно идентифицирует это место на Земле и может использоваться на платформе Descartes Labs для создания геоконтекста именно этой области. Таким образом, на этом первом шаге мы должны определить ~30 начальных тайлов и записать код dlkey для каждого в текстовый документ.

На следующем шаге мы программно получаем доступ к GVS и запрашиваем инструмент для каждого шаблона, сохраняя первые 60 результатов каждого поиска. Результаты, возвращаемые инструментом, представляют собой дополнительные ключи плитки, которые мы будем хранить в списке. Последний шаг — использование этих ключей плитки для создания изображений с помощью платформы Descartes Labs. Поскольку инструмент GVS возвращает географическую область, а не изображение, мы можем генерировать изображения, используя любой продукт Каталога, который нам нужен, тем самым, например, изменяя, насколько хорошо разрешены объекты, и сэмплируя объект на изображениях, сделанных в разное время.

При использовании на практике мы смогли превратить ~35 шаблонов в ~10 000 примеров разворота по центру на ~2000 изображений. Весь этот процесс занимает менее часа и позволил нам очень быстро перейти к аннотации данных.

Аннотация данных

Теперь, когда у нас есть тысячи изображений, потенциально содержащих центральные точки поворота, нам нужно быстро аннотировать эти данные, прежде чем мы сможем обучить модель. К счастью, есть много компаний, предоставляющих услуги аннотирования, которые могут аннотировать эти данные в течение нескольких недель. Descartes Labs использует CloudFactory + Dataloop для сервисов аннотирования, и их команды смогли аннотировать данные центрального поворота примерно за 3,5 недели.

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

Заключение

В этом блоге мы показали вам, как использовать инструмент Descartes Labs GVS для создания больших обучающих наборов данных для задач машинного обучения, а также как очень быстро аннотировать данные. Сочетание глобального поиска и платформы Descartes Labs является мощным инструментом, позволяющим нам делать еще более интересные вещи, например находить объекты на мультиспектральных изображениях с помощью GVS и использовать полученные геоконтексты для создания изображений из других модальностей в нашем каталоге, таких как радар с синтезированной апертурой ( САР). Если вам нужна дополнительная информация о GVS и/или платформе Descartes Labs, посетите наш веб-сайт, чтобы связаться с нами.

Рекомендации

Кейслер, Р., Скиллман, С.В., Гоннабатула, С., Пёнельт, Дж., Руделис, X., &; Уоррен, MS (2019). Визуальный поиск по миллиардам аэрофотоснимков и спутниковых изображений. Компьютерное зрение и понимание изображений, 187, 102790. https://doi.org/10.1016/j.cviu.2019.07.010