Компьютерное зрение

Понимание аннотаций Pascal VOC и COCO для обнаружения объектов

Вступление

В предыдущем блоге мы создали наборы данных COCO и Pascal VOC для обнаружения и сегментации объектов. Итак, мы собираемся глубоко погрузиться в эти наборы данных.

Паскаль VOC

PASCAL (Анализ шаблонов, статистическое моделирование и вычислительное обучение) - это сеть передового опыта ЕС. Они проводили Visual Object Challenge (VOC) с 2005 по 2012 год.

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

Этими четырьмя компонентами являются Annotations, ImageSets, JPEGImages, и pascal_label_map.pbxt..

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

Pascal_label_map.pbxt содержит идентификатор и имя обнаруживаемого объекта.

pascal_label_map.pbxt

item {
 id: 1
 name: ‘cricketers’
}

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

Аннотации хранятся в XML-файле, и давайте рассмотрим один образец XML-файла.

Выводу XML соответствуют различные компоненты или теги.

папка: содержит изображения.

filename: относительный путь к аннотируемому изображению.

путь: абсолютный путь к выходному файлу после аннотаций.

размер: высота, ширина в пикселях, глубина, указывающая количество каналов для изображения RGB, равна 3, для черно-белого - 1.

объект: содержит имя, позу, усеченный, сложный.

  • name: содержит имя аннотируемого объекта, в нашем случае это игроки в крикет.
  • поза: ориентация влево, вправо и т. д.
  • усеченный: если объекты выходят за пределы ограничивающей рамки, усеченное значение равно 1, иначе 0.
  • сложно: если не оценивается, сложно - 1, иначе 0.

bndbox: ограничивающая рамка состоит из верхнего левого и нижнего правого углов (xmin-top left, ymin-top left, xmax-bottom right, ymax-bottom right)

COCO

COCO - это обычный объект в контексте. Набор данных содержит 91 тип объектов из 2,5 миллионов помеченных экземпляров на 328 000 изображений.

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

  • Сегментация объекта
  • Признание в контексте
  • Сегментация суперпиксельного материала

COCO хранит аннотации в формате JSON, в отличие от формата XML в Pascal VOC.

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

Базовая структура данных аннотаций COCO одинакова для всех пяти типов. Для всех изображений существует единая аннотация, отличная от аннотаций Pascal VOC.

Давайте подробнее рассмотрим файл аннотации.

Четыре основных компонента: информация, изображения, аннотации и лицензия.

info: содержит стандартную информацию / описание изображений.

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

лицензия: состоит из лицензии, применимой к этому изображению.

Здесь мы сосредоточимся на аннотациях обнаружения объектов.

Аннотации, чтобы понять их, сначала нужно понять, что такое категории.

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

"categories": [
    {"supercategory": "cricketers","id": 1,"name": "Sachin"},
    {"supercategory": "cricketers","id": 2,"name": "Stokes"},
    {"supercategory": "umpire","id": 3,"name": "Bucknor"},
    {"supercategory": "cricketers","id": 4,"name": "Waugh"},
    {"supercategory": "umpire","id": 5,"name": "Taufel"},
    
]

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

Маска конвертируется в аннотацию COCO.

Аннотация состоит из segmentation, iscrowd, image_id, category_id, id, bbox, и area.

[{'segmentation': [[236.0,616.5,610.5,...,613.5,233.0,612.5,236.0,616.5]],
  'iscrowd': 0,
  'image_id': 1,
  'category_id': 1,
  'id': 1,
  'bbox': (199.5, 126.5, 474.0, 490.0),
  'area': 103944.0}]
  • сегментация: используется список вершин многоугольника для кластера с кодированием длин серий (RLE). RLE сохраняет повторяющиеся значения по количеству их повторений.
  • iscrowd: 0 для отдельного объекта и 1 для кластера объектов.
  • image_id: уникальный идентификатор, соответствующий изображению в наборе данных.
  • category_id: соответствует категории.
  • id: уникальный идентификатор для каждой аннотации.
  • площадь: площадь ограничивающей рамки в пикселях.
  • bbox: список, содержащий [верхнее левое положение по x, верхнее левое положение по оси Y, ширина, высота]

В следующем блоге мы читаем о различных методах обнаружения объектов и используем данные COCO и Pascal VOC.

😊