Рубрики
Без рубрики

Как управлять наборами компьютерами Vision в Python с REMO

Автор оригинала: Pier Paolo Ippolito.

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

  • Прогнозное обслуживание промышленной инфраструктуры, нефтегазовых трубопроводов и коммерческой недвижимости
  • Автоматизация гарантии качества
  • Руководство ландшафта инвентаризации и посылки на основе спутниковых изображений и кадров беспилотных

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

  • Классификация изображений
  • Обнаружение объекта
  • Сегментация экземпляра

В течение последнего десятилетия многие рамки, такие как Tensorflow, Keras и Pytorch, для облегчения разработки моделей на основе компьютерных зриний.

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

Как часть этой статьи, я собираюсь представить вас на РЕМО , бесплатная библиотека Python, предназначенная для того, чтобы помочь разработчикам работать над задачами компьютерного зрения. Ремо может помочь вам:

  • Организовать и визуализировать изображения и аннотации
  • Эффективно аннотировать
  • Работать и сотрудничать в качестве команды на данных

REMO можно использовать либо в ноутбуке Jupyter, либо в среде Google Colab. В этой статье весь код будет основан на настройке Google Colab, и полный ноутбук свободно доступен в эта ссылка.

Как REMO улучшает управление изображениями

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

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

Но управление наборами набора данных – это, где REMO очень инновационный. В настоящее время изображения в проектах компьютерных зрителей обычно хранятся в виде плоских файлов на локальном жестком диске или некоторое облачное хранилище, а аннотации сохраняются как RAW XML/JSON/CSV.

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

Вместо этого REMO дает вам полный контроль и видимость всех данных.

Демонстрация того, как РЕМО работает

Прежде всего, нам нужно установить все необходимые зависимости. Этого можно легко сделать в Google Colab, запустив следующие две строки кода:

!pip install remo
!python -m remo_app init --colab

После того, как мы установили REMO, мы можем создать набор данных, используя некоторые примерные изображения, свободно доступные на веб-сервисах Amazon.

import remo
import pandas

link = ['https://remo-scripts.s3-eu-west-1.amazonaws.com/open_images_sample_dataset.zip']

df = remo.create_dataset(name = 'Example Images Dataset',
                    urls = link, 
                    annotation_task = "Object Detection")
                    
# Output
# Acquiring data - completed                          
# Processing annotation files: 1 of 1 files                                  
# Processing data - completed       
# Data upload completed

Запустив REMO list_datasets () Команда мы можем затем легко проверить, какие наборы данных мы имеем доступные в настоящее время.

remo.list_datasets()

# Output
# [Dataset  1 - 'Example Images Dataset' - 10 images]

Теперь мы готовы использовать графический интерфейс REMO, чтобы осмотреть наш набор набора данных и увидеть различные доступные варианты.

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

df.view()

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

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

df.get_annotation_statistics()

# Output
# [{'AnnotationSet ID': 1,
#  'AnnotationSet name': 'Object detection',
#  'creation_date': None,
#  'last_modified_date': '2020-11-28T22:04:48.263767Z',
#  'n_classes': 18,
#  'n_images': 10,
#  'n_objects': 98,
#  'top_3_classes': [{'count': 27, 'name': 'Fruit'},
#   {'count': 12, 'name': 'Sports equipment'},
#   {'count': 10, 'name': 'Human arm'}]}]

Вы можете увидеть аналогичные результаты с помощью графического интерфейса REMO (рисунок 2).

df.view_annotation_stats()

Наконец, если вы использовали интерфейс REMO, чтобы добавить аннотации к различным изображениям вашего набора данных, их можно автоматически экспортировать в формате CSV. Это позволяет вам использовать их позже и использует преимущества REMO’s export_annotations_to_file () функция.

df.export_annotations_to_file('images_annotations.zip', annotation_format='csv', export_tags = False)

Заключение

Подводя итог, некоторые из ключевых функций, предоставленных REMO, являются:

  • Возможности управления наборами набора данных
  • Несколько форматов файлов поддерживаются вместе с задачами компьютерного видения
  • Удобный пользовательский интерфейс и расширенные инструменты аннотации
  • Простое сотрудничество в проекте
  • Поддержка использования виртуальной машины

Если вы заинтересованы в том, чтобы узнать больше о REMO (например, как интегрировать REMO с другими фреймами, такими как pytorch) или как настроить этот рабочий процесс в среде ноутбука Jupyter, Официальная документация REMO это отличное место для начала.

Я надеюсь, что вам понравилось эту статью, спасибо за чтение!

Свяжитесь со мной

Если вы хотите продолжать обновлять своими последними статьями и проектами Следуй за мной на среднем и подписаться на мой Список рассылки Отказ Это некоторые из моих контактов:

Обложка фото из Документация REMO.