Узнайте о различных типах аннотаций, форматах аннотаций и инструментах аннотации

Маркировка данных - важный шаг в задаче контролируемого машинного обучения. Garbage In Garbage Out - это фраза, обычно используемая в сообществе машинного обучения. Это означает, что качество обучающих данных определяет качество модели. То же самое верно и для аннотаций, используемых для маркировки данных. Если вы покажете ребенку помидор и скажете, что это картофель, в следующий раз, когда ребенок увидит помидор, очень вероятно, что он классифицирует его как картофель. Поскольку модель машинного обучения обучается аналогичным образом, глядя на примеры, результат модели зависит от ярлыков, которые мы вводим на этапе обучения.

Маркировка данных - это задача, требующая большого количества ручной работы. Если вы можете найти хороший открытый набор данных для своего проекта, он помечен как УДАЧА НА ВАШЕЙ СТОРОНЕ! Но в основном это не так. Весьма вероятно, что вам придется самостоятельно пройти процесс аннотации данных.

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

Типы аннотаций к изображениям

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

Вот несколько разных типов аннотаций:

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

Ограничивающие прямоугольники обычно представлены либо двумя координатами (x1, y1) и (x2, y2), либо одной координатой (x1, y1) и шириной (w) и высотой (h) ограничивающего прямоугольника. (См. изображение ниже)

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

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

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

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

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

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

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

Форматы аннотаций к изображениям

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

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

Для обнаружения объектов COCO следует следующему формату:

annotation{
"id" : int,
"image_id": int,
"category_id": int,
"segmentation": RLE or [polygon],
"area": float,
"bbox": [x,y,width,height],
"iscrowd": 0 or 1,
}
categories[{
"id": int,
"name": str,
"supercategory": str,
}]

Pascal VOC: Pascal VOC хранит аннотацию в файле XML. Ниже приведен пример файла аннотации Pascal VOC для обнаружения объектов.

<annotation> 
  <folder>Train</folder> 
  <filename>01.png</filename>      
  <path>/path/Train/01.png</path> 
  <source>  
    <database>Unknown</database> 
  </source>
  <size>  
    <width>224</width>  
    <height>224</height>  
    <depth>3</depth>   
  </size> 
  <segmented>0</segmented> 
  <object>  
    <name>36</name>  
    <pose>Frontal</pose>  
    <truncated>0</truncated>  
    <difficult>0</difficult>  
    <occluded>0</occluded>  
    <bndbox>   
      <xmin>90</xmin>   
      <xmax>190</xmax>   
      <ymin>54</ymin>   
      <ymax>70</ymax>  
    </bndbox> 
  </object>
</annotation>

YOLO: в формате маркировки YOLO для каждого файла изображения в одном каталоге создается .txt файл с тем же именем. Каждый .txt файл содержит аннотации для соответствующего файла изображения, то есть класс объекта, координаты объекта, высоту и ширину.

<object-class> <x> <y> <width> <height>

Для каждого объекта создается новая строка.

Ниже приведен пример аннотации в формате YOLO, где изображение содержит два разных объекта.

0 45 55 29 67
1 99 83 28 44

Инструменты аннотации изображений

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

  1. MakeSense.AI
  2. LabelImg
  3. Аннотатор изображений VGG
  4. LabelMe
  5. Масштабируемость
  6. RectLabel

Резюме

В этом посте мы рассмотрели, что такое аннотация / маркировка данных и почему это важно для машинного обучения. Мы рассмотрели 6 различных типов аннотаций изображений: ограничивающие прямоугольники, полигональную сегментацию, семантическую сегментацию, трехмерные кубоиды, ключевые точки и ориентиры, линии и сплайны, а также 3 различных формата аннотаций: COCO, Pascal VOC и YOLO. Мы также перечислили несколько доступных инструментов для аннотации изображений.

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

Будьте на связи!

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

Первоначально опубликовано в www.xailient.com/blog.

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

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

Ссылки:







Об авторе

Сабина Похрел работает в Xailient, стартапе в области компьютерного зрения, который создал самый быстрый в мире детектор объектов, оптимизированный для Edge.