Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

PREPARATION OF ANNOTATED DATA FOR RECOGNITION ALGORITHM TRAINING

Pershina Zh.S. 1 Kolker A.B. 1, 2 Oschepkova S.A. 1, 2
1 Novosibirsk State Technical University
2 FSBI SibNIGMI
The article presents annotated dataset designed for training, validation and testing of instance semantic objects’ segmentation algorithms using convolutional neural networks. A feature of the presented dataset is the fact that it consists of real objects images and the images of objects which were synthetically obtained. The data was collected and generated in the different conditions of lighting, camera angle relative to scene objects, position and orientation of objects in the scene, with taking into account overlaps. Annotation or real objects images in the scene are carried out using the developed tool of automatic data annotation. The synthetic data annotation were obtained during the process of generating objects’ images based on the POV-Ray ray tracing technology. Both methods make it possible to create your own qualitatively marked datasets as soon as possible. The paper presents the training and testing results of instance semantic segmentation algorithm, which was implemented on the basis of Mask R-CNN, are presented with using created dataset by model. The dataset is publicly available and can be used for your own research.
dataset
convolutional neural networks
semantic segmentation
ray tracing technology

Семантический анализ изображений – одна из важных задач компьютерного зрения. Быстрое развитие подходов по распознаванию образов, основанных на свёрточных нейронных сетях (англ. convolutional neural networks, CNN) в совокупности с появлением крупномасштабных публичных наборов данных изображений, таких как PASCAL VOC [1], Cityscapes Dataset [2], CamVid [3], KITTY [4] и COCO [5], сделали возможным реализацию алгоритмов семантической сегментации объектов в сцене [6–8]. Однако для решения практических задач, в которых требуется высокая точность семантической сегментации, требования к качеству разметки возрастают и публичные наборы данных зачастую не удовлетворяют этому требованию. Другой причиной невозможности использования публичных данных может являться отсутствие в них необходимых для распознавания классов объектов. По этим причинам возникает задача создания собственного набора данных под специфику задачи. Создание собственного набора данных предполагает сбор данных и их аннотирование. Сбор данных может выполняться как путем синтетической генерации изображений объектов при наличии их CAD-моделей, моделируя различные условия съемки (расположение источника освещения относительно камеры, расстояние от камеры до деталей в сцене, вращение и смещение камеры относительно сцены), так и посредством съемки реальных объектов. При этом аннотация синтетических данных формируется в процессе генерации изображений, а аннотирование изображений реальных объектов может быть выполнено ручным способом с использованием одного из следующих инструментов: Computer Vision Annotation Tool (CVAT) [9], LabelMe [10], Prodigy [11], VGG Image Annotation [12], RectLabel [13], Fluid Annotation [14, 15]. Использование данных инструментов предполагает разметку изображения путем выделения полигонов, содержащих объект, вручную и присвоение класса и/или уникального номера экземпляру объекта также вручную. При этом полигоны не позволяют учесть сквозные отверстия в объекте, что является источником шума при обучении и, как следствие, ухудшает точность распознавания. Также стоит отметить, что качество ручной разметки всецело зависит от качества работы аннотатора данных и требует значительных временных затрат. В связи с этим нами разработаны инструментальные средства, позволяющие выполнять разметку полуавтоматически, при этом не ухудшая качество разметки, а даже улучшая ее.

Цель исследования: исследование возможности использования синтетических данных, полученных в процессе генерации изображений объектов на основе технологии трассировки лучей POV-Ray, и её влияние на потерю точности сегментации объектов на реальных кадрах.

Набор данных

В качестве объектов использованы детали DIN стандарта: DIN1480 талреп крюк-кольцо (рис. 1, а), DIN82101 скоба такелажная (рис. 1, б), DIN580 рым-болт (рис. 1, в). CAD-модели этих объектов имеются в открытом доступе, а приобретение самих деталей не вызовет сложности (детали DIN стандарта могут быть приобретены в любом магазине крепежа и использованы для экспериментов с реальными объектами).

Набор данных состоит из 650 аннотированных изображений (204 искусственно сгенерированных изображений и 446 реальных изображений объектов), которые получены двумя способами:

1) генерация синтетических изображений объектов, которая выполнена при помощи технологии трассировки лучей POV-Ray;

2) сбор изображений реальных объектов с использованием камеры Intel RealSense D415.

Синтетические данные

Метод, использованный при генерации синтетических данных, описан в [16] и основан на технологии трассировки лучей POV-Ray [17]. Трассировка лучей – это процесс моделирования реального физического процесса поглощения и отражения света. Такой подход позволяет создавать реалистичные изображения объектов при различных условиях освещения. Каждый кадр имеет размеры 704×704 пикселя. Данный размер изображения обусловлен требованиями используемой нейросетевой модели Mask R-CNN [18]. Для обеспечения плавного масштабирования каждого элемента пиксельная кратность линейных размеров изображения должна составлять 64. Кратность 64 отображает верхний и нижний уровни 6 уровневой пирамиды FPN (2 * * 6 = 64) (англ. Feature Pyramid Network). Во избежание переобучения и повышения качества распознавания объектов в качестве фона использованы случайные изображения, полученные из кадров произвольного видеопотока, приведенного к размеру с необходимой кратностью. Пример полученных изображений представлен на рис. 2.

Per1a.tif Per1b.tif Per1c.tif

а) б) в)

Рис. 1. Объекты: а) талреп крюк-кольцо DIN1480; б) скоба такелажная DIN82101; в) рым-болт DIN580

Per2a.tif Per2b.tif Per2c.tif

Рис. 2. Синтетические изображения с рандомизированным фоном

Реальные данные

Изображения реальных объектов получены с использованием Intel RealSense D415, и их размер составляет 640×480 пикселей. На рис. 3 представлен пример реальных объектов в наблюдаемой сцене.

Per3.tif

Рис. 3. Пример изображений реальных объектов

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

Per4a.tif Per4b.tif Per4c.tif

а) б) в)

Рис. 4. Усложненные реальные кадры: а) без перекрытий; б) с частичными перекрытиями; в) с «шумом» в виде дополнительных объектов, не участвующих в обучении

Per5a.tif Per5b.tif

Per5c.tif Per5d.tif

Рис. 5. Примеры размеченных изображений реальных объектов с использованием инструмента полуавтоматического аннотирования: зеленый: класс – талреп крюк-кольцо, id – 1; розовый: класс – талреп крюк-кольцо, id – 2; голубой: класс – скоба такелажная, id – 1; синий: класс – рым-болт, id – 1

Аннотирование изображений реальных объектов выполнено как ручным способом с использованием Computer Vision Annotation Tool (CVAT) [19], так и с использованием разработанного инструмента полуавтоматического аннотирования данных. Полуавтоматическое аннотирование данных реализовано путем проекции на последовательность кадров трехмерных CAD-моделей объектов сцены, положение и ориентация которых соответствуют положению и ориентации некоторой предварительно определенной плоской поверхности сцены, содержащей уникальные по своей структуре маркеры (ArUco, QR и пр.), которые позволят оценить смещение и поворот сцены и объектов в сцене относительно опорного кадра. Последующая проекция 3D точек с учетом полученного смещения и поворота CAD-моделей на текущий кадр позволяет получить пиксельные координаты масок и присвоить класс объекта и уникальный номер экземпляру класса на изображении (рис. 5), после этого выполнить сохранение этих данных в файл аннотации.

Структура файла аннотации

Для описания аннотации выбран формат аннотирования COCO, упакованный в контейнер json.

Файл аннотации кадров содержит следующие записи:

{

"categories": [{"id": int, "name": str, "color": str}],

"images": [{"id": int, "width": int, "height": int, "file_name": str, "path": str}],

"annotations": [{"id": int, "image_id": int, "category_id": int, "width": int, "height": int, "area": int,

"segmentation": [], "bbox": [], "color": str, "iscrowd": int}]

}

Разделы файла аннотации должны содержать следующие поля:

1. Раздел “categories” содержит:

"Id" – номер класса для каждого объекта;

"Name" – название класса объекта;

"color" – цвет для данного класса объектов.

2. Раздел "images" содержит список параметров для каждого кадра:

"Id" – номер кадра;

“Width” – ширина кадра;

"Height" – высота кадра;

"file_name" – название файла (снимка), аннотация которого приводится;

"Path" – путь к аннотируемому изображению.

3. Раздел "annotations" содержит список параметров для каждого объекта в кадре:

"id" – номер экземпляра класса в кадре;

"image_id" – номер изображения;

"category_id" – номер класса аннотированного объекта;

“Width” – ширина кадра;

"Height" – высота кадра;

“Area” – территория кадра, занимаемая объектом;

"Segmentation" – полигон, содержащий объект в кадре;

"Bbox" – значения, определяющие углы ограничительной рамки;

"color" – цвет детали;

“Iscrowd” – значение 0 или 1 в зависимости от того, является ли маска объекта в кадре полигоном (многоугольником) или несжатым RLE (множеством).

Экспериментальное исследование

Для определения положения объекта в кадре используется модель Mask R-CNN [1], которая позволяет получить семантическую сегментацию объектов в кадре, а также сегментацию отдельных экземпляров одного класса на изображении. В качестве метрики для оценки точности работы алгоритма использована IoU (англ. Interception Over a Union) (*). Количество пикселей в пересечении целевой и полученной в результате семантической сегментации масок, деленное на общее количество пикселей, присутствующих в обеих масках.

perhin01.wmf (*)

где TP (англ. True Positive) – верно принятое, FP (англ. False Positive) – неверно принятое (ошибка первого рода), FN (англ. False Negative) – неверно отвергнутое (ошибка второго рода). Алгоритм обучался на представленных данных, а затем проводилась оценка точности семантической сегментации объектов на тестовой выборке, результаты представлены в таблице.

Результаты тестирования

Точность, посчитанная с использованием весов, обученных на:

Синтетические данные

Реальные кадры

синтетических данных

IoU: 0.8953

IoU: 0.5460

реальных кадрах

IoU: 0.6921

IoU: 0.6054

смешанных данных

IoU: 0.8929

IoU: 0.6761

 

При сегментации объектов на реальных снимках были получены значения метрик IoU = 0,6054 при обучении модели на реальных снимках, и IoU = 0,6761 при обучении алгоритма на смешанном наборе данных, содержащем 10 % реальных снимков от общего числа кадров. То есть расширение обучающей выборки из реальных снимков, путем добавления в неё синтетических кадров, позволило получить сегментацию объектов на реальных кадрах без потери точности, но с уменьшением трудозатрат по подготовке данных.

Результаты

Набор данных размещен в публичный доступ по ссылке [20]. Приведенные материалы могут быть использованы в качестве эталонного с целью проведения собственных исследований.

Заключение

В статье приводится описание набора аннотированных данных, состоящего из изображений, сгенерированных синтетически, и снимков реальных объектов, полученных с использованием камеры Intel RealSense D415 в различных условиях. Полученный набор данных применим для обучения алгоритмов семантической сегментации, реализованных на основе свёрточных нейронных сетей. Проведено обучение и тестирование модели Mask R-CNN с использованием представленных данных. По результатам экспериментов видно, что использование синтетических данных, полученных в процессе генерации изображений объектов на основе технологии трассировки лучей POV-Ray, позволило получить сегментацию объектов на реальных кадрах без потери точности, но с уменьшением трудозатрат по подготовке данных.

Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 18-58-76003.