В Planet наши данные являются геопространственными: изображения или метки с географической привязкой. Существует множество инструментов для управления геопространственными данными с возможностью запроса и масштабирования, в том числе Оптимизированные для облака GeoTIFF и GeoJSON, PostGIS и Каталоги STAC. В то же время мы хотим использовать лучшее, что может предложить мир машинного обучения, будь то Tensorflow, Keras, Pytorch или последний доклад с Международной конференции по машинному обучению (ICML). Однако очень немногие из этих фреймворков изначально понимают геопространственные данные, не говоря уже о масштабе.

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

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

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

Наш рабочий процесс

Мы можем сгруппировать все этапы нашего конвейера машинного обучения в пять этапов высокого уровня:

  1. Создание набора данных: мы начинаем с добавления геопространственных меток к изображениям и добавляем циклы обработки меток, чтобы обеспечить высококачественный набор данных. Мы храним эти данные в исходном геопространственном формате с помощью PostGIS, обслуживаемого через WFS3-совместимые API.
  2. Преобразование набора данных: мы определяем детерминированные преобразования для беспрепятственного и эффективного преобразования между географическим пространством и пространством пикселей. Промежуточные данные в пиксельном пространстве никогда не записываются на диск.
  3. Обучение модели: модели глубокого обучения обучаются масштабируемым образом с помощью Kubernetes. Эти модели глубокого обучения эффективно обрабатывают массивные массивы чисел, представляющих значения пикселей объектов на изображениях.
  4. Выполнение модели: мы запускаем обученные модели на некоторой части Земли (или на всей ее территории!) в течение интересующего периода времени, а затем сообщаем результаты в пространственно-временном выражении. Мы распараллеливаем выполнение модели на нашей внутренней вычислительной платформе, которая оптимизирована для обработки данных Planet.
  5. Суммирование результатов и показателей. Мы сообщаем результаты модели в геопространственных координатах, чтобы мы могли искать тенденции и аномалии более высокого уровня.

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

1. Всегда используйте хранилища данных с географической привязкой.

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

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

2. Рассмотрим каждый этап по отдельности.

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

Технические проблемы проявляются по-разному на каждом этапе. Например, мы обнаружили, что загрузка изображений на карту для просмотра людьми требует совершенно другого подхода, чем загрузка изображений в модели для обучения. Чтобы получить эффективные карты, мы обращаемся к геопространственному миру для WFS3-совместимых API и веб-файлов. Для эффективной загрузки пикселей в модели мы комбинируем оптимизированные для облака файлы GeoTIFF с оптимизированными для GPU API конвейера загрузки данных фреймворков глубокого обучения и горизонтальным масштабированием Kubernetes.

3. Оцените геопространственные модели в пространстве.

Метрики модели являются неотъемлемой частью любого конвейера машинного обучения. Обычные показатели для обнаружения объектов:

  • Напомним: каков процент истинных экземпляров, которые были правильно идентифицированы?
  • Точность: каков процент выявленных случаев, которые были правильными?
  • F1: среднее гармоническое значение точности и отзыва

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

Заключение: ценность геопространственная

Мы хотели бы вернуться к тому, о чем упоминали в начале:

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

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

Чтобы узнать больше об инструментах, которые мы создали, посетите встречу Maptime SF в этом месяце в нашем офисе в Сан-Франциско во вторник, 21 января 2020 г. Зарегистрируйтесь здесь.

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

Автором этой статьи является команда Planet Analytics Infrastructure, в которую входят инженеры Эш Гувер, Майя Мидзик и Агата Каргол, а также технический менеджер Бенджамин Голденберг.