Поиск и загрузка изображений вручную занимает много времени просто из-за объема работы человека. Так что же мы, программирующие компьютеры, делаем, когда задача требует большого количества ручной работы? … Программируем, конечно! Пишем код для автоматизации задачи!

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

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

В статье Polygon-RNN ++ показано, как можно создать модель, которая, учитывая примерный набор точек многоугольника вокруг объекта, может генерировать метки пикселей для сегментации. Глубокий крайний разрез также очень похож, за исключением того, что они используют только четыре крайние точки вокруг объекта. Это даст вам красивую ограничивающую рамку и метки сегментации! Их код на GitHub также очень прост в использовании.

Другой вариант - использовать существующие графические интерфейсы аннотаций изображений. LabelMe - очень популярный инструмент, в котором вы можете рисовать как ограничивающие рамки, так и устанавливать точки многоугольника для карт сегментации. Amazon Mechanical Turk (MTurk) также является дешевым вариантом, если вы не хотите делать это самостоятельно!

Третья сторона

Поскольку в эпоху глубокого обучения данные стали таким ценным товаром, многие стартапы начали предлагать свои собственные услуги аннотации изображений: они будут собирать и маркировать данные для вас! Все, что вам нужно сделать, это дать им описание того, какие данные и аннотации вам понадобятся.

Mighty AI - это тот, который занимался аннотацией изображений беспилотных автомобилей и стал довольно популярным в космосе; они тоже были на CVPR 2018. Playment AI менее специализирован, чем Mighty AI, предлагая аннотации изображений для любой области. Они также предлагают еще пару инструментов, таких как видео и аннотации достопримечательностей.

Предварительно обученные сети

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

Наборы данных, на которых были обучены эти предварительно обученные сети, огромны; просто ознакомьтесь с набором данных Open Images с более чем 15 миллионами изображений, помеченных ограничивающими рамками из 600 категорий! Сеть, обученная на этом наборе данных, уже будет чертовски хорошо обнаруживать объекты. Таким образом, мы можем использовать его для рисования ограничивающих рамок вокруг объектов на наших изображениях. Это вдвое сокращает нашу работу, так как все, что нам нужно сделать, это классифицировать объекты в ящиках! Кроме того, с 600 категориями, некоторые из объектов, которые вы хотите обнаружить и классифицировать, могут быть обнаружены с высокой точностью с помощью этой предварительно обученной сети. API обнаружения объектов TensorFlow на самом деле уже имеет сеть, предварительно обученную на открытых изображениях, если вы хотите попробовать!

Эффект снежного кома

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

Любите учиться?

Следуйте за мной в твиттере, где я публикую все о новейших и величайших достижениях искусственного интеллекта, технологий и науки! Присоединяйтесь и ко мне в LinkedIn!