Modern high technologiesrae.ru
Scientific journal

Modern high technologies

ISSN 1812-7320VAK ListRSCI IF = 1,279

Preparation of annotated data for recognition algorithm training

Pershina Z.S. 1, Kolker A.B. 12, Oschepkova S.A. 12
1Novosibirsk State Technical University
2FSBI SibNIGMI

Семантический анализ изображений – одна из важных задач компьютерного зрения. Быстрое развитие подходов по распознаванию образов, основанных на свёрточных нейронных сетях (англ. 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.


Библиографическая ссылка

Першина Ж.С., Колкер А.Б., Ощепкова С.А. ПОДГОТОВКА АННОТИРОВАННЫХ ДАННЫХ ДЛЯ ОБУЧЕНИЯ АЛГОРИТМА РАСПОЗНАВАНИЯ // Modern high technologies. 2020. № 12. С. 96-101;
URL: http://www.top-technologies.ru/article/view?id=38416 (дата обращения: 17.08.2026).
DOI: https://doi.org/10.17513/snt.38416