1.coco数据集instance的标注格式是什么?
有一个巨大的json文件,里面关于标注的类目是coco_json['annotations']=[], 每个item是一个segmentation:
"annotations": [{"id": 1, "image_id": 1, "category_id": 95324.0, "iscrowd": 0, "area": 1, "bbox": [0.
其正式定义为:
annotation{
"id": int,
"image_id": int,
"category_id": int,
"segmentation": RLE or [polygon],
"area": float,
"bbox": [x,y,width,height],
"iscrowd": 0 or 1,
}
例如:
{"id": 1, "image_id": 199998, "category_id": 1598.0,
"iscrowd": 0, "area": 1, "bbox": [352.0, 516.0, 96.0, 31.0],
"segmentation": [[438.0, 539.0], [362.0, 540.0],
[360.0, 519.0], [436.0, 518.0]], "width": 720,
"height": 1160}
1.1这个json里面的annotaions怎么和图片文件关联的呢?
json_coco['images']=[], 每个item是一个:
{
"license":3,
"file_name":"COCO_val2014_000000391895.jpg",
"coco_url":"http:\/\/mscoco.org\/images\/391895",
"height":360,"width":640,"date_captured":"2013-11-14 11:18:45",
"flickr_url":"http:\/\/farm9.staticflickr.com\/8186\/8119368305_4e622c8349_z.jpg",
"id":391895
},
这里id和file_name做了关联,而每个annotation字段有id,间接关联了file_name
1.2 那么json文件和图片文件夹该怎么放置
是没有要求的,因为detectron2里面,加载coco数据集使用:
from detectron2.data.datasets import register_coco_instances
register_coco_instances("fruits_nuts", {}, "./data/trainval.json", "./data/images")
2.detectron2如何训练maskrcnn?
参见:https://www.dlology.com/blog/how-to-train-detectron2-with-custom-coco-datasets/
3.对于maskrcnn生成的mask,如何生成多边形拟合mask?
Python:
cv2.
approxPolyDP
(curve, epsilon, closed[, approxCurve]) → approxCurve
curve,输入的二维点对, epsilon 生成的多边形和mask contour最大的距离, closed 是否封闭