Контролирует помощь компаниям, исследователям, инженерам, студентам и многим другим людям в создании и подготовке обучающих данных для различного количества задач компьютерного зрения, от обнаружения пешеходов до сегментации опухолей. Мы рады видеть, что более 2000 человек используют Supervisely. Большое спасибо всем, кто помогал в его улучшении!

Сегодня мы анонсируем Supervisely 2.0: теперь он общедоступен - и это большое событие! Мы рады представить вам ряд новых интересных функций, которые, как мы надеемся, понравятся всем.

Цель этой публикации - объявить о новых функциях и рассказать больше о том, как Supervisely меняет способ создания обучающих данных для Deep Learning с использованием Deep Leaning.

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

Что такое Supervisely?

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

Прежде чем анонсировать новые функции, я хотел бы показать вам несколько возможных сценариев использования Supervisely.

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

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

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

Supervisely v2.0: нейронные сети

Теперь можно использовать современные нейронные сети внутри Supervisely без какого-либо программирования.

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

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

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

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

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

Мы представляем модуль NN. Мы добавили способность:

  • для работы с готовыми НС из модельного зоопарка
  • обучить их работе с вашими данными прямо в системе
  • применять их (вывод) к вашим изображениям распределенным образом и предварительно просматривать прогнозы
  • развернуть их как службы API с помощью нескольких щелчков мышью

Supervisely v2.0: язык преобразования данных (DTL)

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

У нас есть модуль языка преобразования данных (DTL), который позволяет определять вычислительные графы в простом формате json. Эти файлы конфигурации используются, чтобы сообщить Supervisely, какие образы процессов и их аннотации.

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

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

Supervisely v2.0: загрузка данных

Мы увеличили количество поддерживаемых общедоступных наборов данных для загрузки: Pascal, COCO, Mapillary, Cityscapes, CamVid, Davis и другие.

Теперь вы можете импортировать все свои данные в систему и хранить их в одном формате. Ускоряем процесс загрузки, добавляя хеширование. Если изображение уже есть в нашей системе, мы не будем хранить его дубликаты в облачном хранилище. Таким образом, для всех общедоступных наборов данных загрузка выполняется быстро. Просто перетащите каталог с изображениями и аннотациями, а все остальное сделает Supervisely.

Supervisely v2.0: Сотрудничество

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

Supervisely v2.0: готов к корпоративной работе как никогда

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

Мы переместили все данные с наших веб-серверов в Google Cloud, чтобы повысить безопасность и доступность. Те, кто ищет автономное решение, теперь имеют возможность хранить свои изображения в уже выходящем из S3-совместимого облака (или просто хранить данные на голом железе), доступном в Supervisely Enterprise Edition (EE).

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

Docker - удобное решение, когда дело доходит до развертывания программного обеспечения на серверах, но также отличный инструмент для стандартизации десятков моделей из нашего Model Zoo: и у нас есть архитектуры, построенные на Caffe, PyTorch, Tensorflow (конечно!). Чтобы поддерживать этот зоопарк в порядке, мы реализуем очень простой API, чтобы Supervisely мог связываться с моделью и упаковывать все необходимые библиотеки в образ докера. Теперь мы можем подключить наш частный реестр и работать с именами изображений - вот и все! И, кстати, вы тоже можете - в корпоративной версии вы можете подключить свою собственную регистрацию докеров, а затем обучать и запускать модели прямо из интерфейса Supervisely.

Заключение

Глубокое обучение - важная технология для всех отраслей. Supervisely разработан для удовлетворения потребностей бизнеса. Он охватывает сквозной рабочий процесс глубокого обучения в масштабе: управление данными, аннотации на основе искусственного интеллекта, обучение, оценка и развертывание настраиваемых нейронных сетей.

PS. В связи с большим спросом на новую версию мы вынуждены ограничить бесплатный доступ к нашим экземплярам GPU. Так что, если вы хотите опробовать новые функции Supervisel.ly, вы можете запросить доступ. Если у вас возникнут какие-либо технические или общие вопросы, не стесняйтесь задавать их в нашем Slack.

Если вам эта статья показалась интересной, давайте поможем и другим. Больше людей увидят это, если вы дадите ему немного 👏.