Мне удалось отфильтровать изображения с помощью приведенного ниже кода с помощью COCO API, я выполнил этот код несколько раз для всех нужных мне классов, это пример для категории person
, я сделал это для car
и et c.
Теперь я хочу отфильтровать аннотации набора данных (instances_train2017.json)
и сохранить его в json instances_train2017.json
.
# Load categories with the specified ids, in this case all
cats = coco.loadCats(coco.getCatIds())
nms = [cat['name'] for cat in cats]
print('COCO categories: \n{}\n'.format(' '.join(nms)))
# Get all images containing given categories
catIds = coco.getCatIds(catNms=['person'])
imgIds = coco.getImgIds(catIds=catIds)
images = coco.loadImgs(imgIds)
print("imgIds: ", len(imgIds))
#print("images: ", images)
# download images for specific category
for im in images:
print("im: ", im)
img_data = requests.get(im['coco_url']).content
with open('customCoco/images/train2017/' + im['file_name'], 'wb') as handler:
handler.write(img_data)
I пытался использовать COCO API, но я, который не дает мне формат COCO, я хочу, как intances_train2017. json)
# download annotation for specific category
for im in images:
annIds = coco.getAnnIds(imgIds=im['id'], catIds=catIds, iscrowd=None)
anns = coco.loadAnns(annIds)
print("anns: ", anns)
Я нашел этот пост: https://github.com/cocodataset/cocoapi/issues/271 но он был сохранен в формате CSV, который я не хочу, я хочу тот же файл, но только что отфильтрованный.