Я пытаюсь преобразовать набор данных [2015 Smartdoc] в формат Coco, чтобы обучить его модели обнаружения ключевых точек.
Пример аннотированного изображения:
Мне удалось разделить видео на рамки изображений и преобразовать файлы XML в читаемый фрейм данных (заголовок ниже):
filenames BLx BLy TLx TLy BRx \
107 bg02-datasheet004-f108.jpg 747.202 747.246 798.768 282.74 1166.49
81 bg01-tax005-f82.jpg 943.688 780.389 866.687 199.336 1419.3
98 bg02-tax005-f99.jpg 793.905 805.597 700.141 352.626 1193.37
110 bg03-letter004-f111.jpg 847.724 833.246 704.323 265.949 1282.38
8 bg04-paper003-f9.jpg 1272.54 914.539 602.085 708.123 1291.64
BRy TRx TRy
107 769.731 1152.38 302.87
81 733.315 1276.65 175.882
98 725.98 1044.48 302.232
110 722.944 1097.62 193.975
8 543.293 733.169 348.998
Единственные ярлыки, которые у меня есть, это x, yкоординаты 4 ключевых точек для каждого документа
Я думаю о создании с нуля формата аннотации json
Вот образец json, который я хочу использовать для построения набора данных (путем перебора каждого изображения):
{
"images": [
{
"file_name": filename,
"height": height,
"width": width,
"id": IMG_ID
}
],
"categories": [
{
"supercategory": "paper",
"id": 1,
"name": "paper",
"keypoints": [
"bl","br","tl","tr"
],
"skeleton": [
[1,2],[1,3],[2,4],[3,4]
]
}
],
"annotations": [
{
"segmentation": [[]],
"num_keypoints": 4,
"area": AREA,
"iscrowd": 0,
"keypoints": [BLX,BLY,2,BRX,BRY,2,TLX,TLY,2,TRX,TRY,2],
"image_id": IMG_ID,
"bbox": [xmin, ymin, xmax-xmin, ymax-ymin],
"category_id": 1,
"id": ID
}
]
}
Есть ли какой-нибудь эффективный способ создания аннотации Coco вместо создания json с нуля?
Являются ли области и сегментацией необходимо в наборе данных для обучения? Это хорошая идея, чтобы рассчитать их, используя 4 координаты?
Моя цель состоит в том, чтобы создать модель, которая определяет углы 4 ключевых точек документа