Результаты нашего двухмесячного AI-челленджа с 36 инженерами со всего мира по выявлению аномалий на Марсе.

Выше вы видите две полутоновые фотографии поверхности Марса, сделанные в непосредственной близости от места приземления «Духа», робота-вездехода, построенного НАСА и работавшего с 2004 по 2010 год. Если вы присмотритесь, вы увидите обнаружите, что изображение справа от стрелки точно такое же, как и изображение слева, за исключением того, что кратеры были выделены белым нейронной сетью.

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

Я разбил все это двухмесячное «космическое путешествие» на 6 этапов и рискну дать краткий обзор каждого этапа.

История происхождения

Все начинается с Марса, конечно же, - второй по величине планеты Солнечной системы, состоящей из тонкой Атмосфера, имеющая особенности поверхности, напоминающие как ударные кратеры Луны, так и долины, пустыни и полярные ледяные шапки Земли.

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

Встречайте Omdena - глобальную платформу для сотрудничества, которая объединила 36 землян из 18 стран за 2 месяца для выявления аномалий на поверхности Марса, что поможет в обнаружении техносигнатур и мест посадки. Я случайно наткнулся на этот драгоценный камень, когда просматривал ленту новостей Medium и наткнулся на следующую статью, которая изменила мою жизнь:



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

Сотрудничество в течение следующих 2 месяцев было бы невозможным, если бы не существовало чудесных онлайн-инструментов для совместной работы, таких как:

  • Slack, который мы использовали для общения и мозгового штурма друг с другом с помощью метко названных #channels.
  • Zoom, который мы использовали для наших еженедельных синхронизируемых видеоконференций, где все участники каждую неделю делились своими успехами и знаниями.
  • GitHub, который мы использовали для публикации всего кода разработки.
  • Google Colaboratory, который предоставляет бесплатный доступ к ноутбукам Jupyter с графическим процессором для экспериментов с различными моделями.
  • Google Диск, Google Документы и Google Презентации, которые помогли нам отслеживать все наши данные и знания в удобном для чтения формате и представлять их другим.

Доступ

На анализ требований ушло 2 недели, прежде чем появился наш собственный пакет Python - mars-ode-data-access. Это значительно упрощает жизнь тем, кто пытается получить доступ к изображениям поверхности Марса и загрузить их. Всю информацию о его использовании можно найти здесь - https://github.com/samiriff/mars-ode-data-access.

Как данные передаются с Марса обратно в наши ноутбуки Jupyter? Короче говоря, орбитальный аппарат Mars Reconaissance Orbiter (MRO), созданный НАСА, делает фотографии марсианской поверхности с высоким разрешением с помощью научного эксперимента по визуализации высокого разрешения (HiRISE) камеры и ретранслирует их обратно на Землю через сеть дальнего космоса (DSN). Обычные пользователи, такие как мы, получают доступ ко всем этим данным, открывая веб-сайт Mars Orbital Data Explorer (ODE) в наших браузерах, или, что еще лучше, посредством программного доступа к нему с помощью нашего собственного пакета python.

Если вы хотите глубже погрузиться в детали этого путешествия, прочтите следующую статью, чтобы узнать больше:



Данные

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

Кроме того, мы также идентифицировали техносигнатуры с различных мест посадки марсианских миссий, таких как парашют марсохода НАСА Curiosity.

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

Вы можете найти более подробную информацию об этих инструментах в следующей статье, написанной Себастьяном Лаверде:



Этикетки

Имея все данные, нам пришлось вручную пометить все изображения. Прошли времена простой классификации изображений. Теперь мы живем в мире обнаружения объектов и семантической сегментации с разнообразными инструментами аннотации и форматами маркировки! Жаль, что нет единого стандарта, поэтому у нас было несколько участников, которые использовали разные инструменты аннотации для маркировки разных изображений. Маркировка - довольно трудоемкая задача, и именно тогда мы доказали свою силу в цифрах, выполнив эту, казалось бы, титаническую задачу, разметив в среднем 300–400 изображений за чуть более недели.

Мы начали с использования LabelImg - инструмента аннотации с открытым исходным кодом для рисования прямоугольных рамок вокруг интересующих аномалий, а также создали утилиту для автоматического преобразования между форматами PASCAL VOC и YOLO.

Затем мы использовали инструмент VGG Image Annotator (VIA) для рисования полигонов вокруг интересующих аномалий.

И последнее, но не менее важное: мы создали инструмент - https://github.com/samiriff/image-annotation-converter - способный автоматически преобразовывать многоугольные аннотации из инструмента VIA в маски сегментации с помощью инструмента LabelMe.

Модели

Наконец, после столь тщательной подготовки мы подошли к тому этапу, которого все ждали - выбор модели и обучение!

Мы экспериментировали с контролируемыми и неконтролируемыми моделями, но для краткости этой истории я представлю 3 контролируемые модели (SSD, Mask R-CNN и U-Net) и 1 неконтролируемую модель (Ano -GAN). Все эксперименты проводились в Google Colaboratory.

Детектор Single Shot Multibox (SSD)

С помощью набора данных с аннотациями LabelImg из 1674 обучающих выборок, 350 проверочных образцов и нескольких типов преобразований изображений, детектор Single Shot Multibox, поддерживаемый предварительно обученной моделью Resnet34, был обучен в течение 30 эпох с 1- планировщик скорости цикла обучения. Focal Loss была выбрана в качестве функции Loss и была минимизирована оптимизатором Adam за 6,5 минут, в результате чего на изображении ниже были показаны прогнозы с ограничивающими рамками, окружающими аномалии.

Маска R-CNN

С набором данных с аннотациями VIA и более высоким входным разрешением 1024 x 1024 пикселей, модель Mask R-CNN, поддерживаемая предварительно обученной магистралью Resnet101, была обучена в течение 30 эпох. Функция потерь, состоящая из комбинации ограничивающего прямоугольника и потерь маски, была минимизирована оптимизатором SGD с импульсом примерно за 3 часа, в результате чего на изображении ниже были показаны прогнозы с аномалиями, выделенными разными цветами.

U-Net

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

Ано-ГАН

И последнее, но не менее важное: с полностью немаркированным набором данных из 10000 изображений, Генеративная состязательная сеть была обучена в течение 200 эпох. Потери L1 Reconstruction были минимизированы оптимизатором Adam примерно за 6 часов, в результате чего прогнозы отображались справа. Были обнаружены такие техносигнатуры, как тепловые экраны, парашюты, места крушения и марсоход Curiosity.

Подробнее об архитектуре этой модели и о том, как ее обучили, читайте в статье Мурли Сивашанмугам:



Прежде чем двигаться дальше, я хотел бы воспользоваться моментом, чтобы поблагодарить Джереми Ховарда и людей, стоящих за fast.ai, за создание такой фантастической библиотеки и потрясающих видеолекций, благодаря которым Нам намного проще понять внутреннюю работу моделей SSD, U-Net и GAN. Если вы раньше не видели этот курс, я настоятельно рекомендую вам немедленно посетить https://course.fast.ai.

Полученные результаты

Было обнаружено, что модель U-Net дала наилучшие результаты. Показатели точности для всех аномалий превышают 90%, но есть еще возможности для улучшения в отношении показателей отзыва для техносигнатур, полос уклона и пауков.

Матрица путаницы, основанная на оценках Intersection-over-Union (IOU), показана ниже:

Ждать! Эта история еще не закончена. Прежде чем я закончу, позвольте мне представить вам удобное для пользователя приложение, которое было создано путем связывания всех этих 6 частей вместе, чтобы создать сквозной конвейер, способный загружать изображения непосредственно из Mars Orbital Data Explorer и анализировать их с помощью нашего обученная модель U-Net (убедитесь, что вы запускаете этот блокнот в среде с поддержкой графического процессора):



Если вы хотите просмотреть все наши эксперименты или внести свой вклад, посетите https://github.com/cienciaydatos/ai-challenge-mars.

Заключение

Итак, вот оно - наше путешествие за последние 2 месяца. Надеюсь, вам понравилось читать о нашем проекте так же, как нам понравилось работать над ним.

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

Мы очень признательны Рудрадебу Митре за то, что собрали всех нас вместе и наставляли нас; Даниэля Ангерхаузена и Патрисио Бесерра за помощь в формулировке проблемы; Майклу Буркхардту за публикацию наших статей в Medium и за то, что он держит нас в курсе всего, что происходит в Omdena.

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

Если вы хотите принять участие в одном из их испытаний, подайте заявку здесь.

Наземный контроль майору Тому. Снова и снова…

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

Мы также находимся в LinkedIn, Instagram, Facebook и Twitter.

Ссылки

[1] http://course18.fast.ai
[2] https://zenodo.org/record/2538136#.XTHh3OgzbIV
[3] https: // medium .com / omdena / a-travel-from-martian-orbiters to-terrestrial-neural-networks-93541169f665
[4] https://github.com/cienciaydatos/ai-challenge-mars < br /> [5] https://medium.com/omdena/pushing-the-limits-of-open-source-data-enhancing-s satellite-imagery-through-deep-learning-9d8a3bbc0e0a
[ 6] https://medium.com/omdena/anomaly-detection-in-martian-surface-searching-for-needles-in-a-haystack-169fb0246da7
[7] https: // www .jeremyjordan.me / оценка-изображение-сегментация-модели /
[8] https://arxiv.org/pdf/1905.05055.pdf
[9] https: // к науке о данных. com / an-end-to-end-Introduction-to-gans-bf253f1fa52f
[10] https://github.com/rohitgeo/singleshotdetector
[11] https: // todatascience.com/review-retinanet-focal-loss-object-detection-38fba6afabe4
[12] https://gilberttanner.com/blog/fastai-image-segmentation