Коко Аннотация: Подготовьте ключевой момент данных для обучения - PullRequest
0 голосов
/ 29 октября 2019

Я пытаюсь преобразовать набор данных [2015 Smartdoc] в формат Coco, чтобы обучить его модели обнаружения ключевых точек.

Пример аннотированного изображения:

enter image description here

Мне удалось разделить видео на рамки изображений и преобразовать файлы 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 ключевых точек документа

...