From 1dfaa075f3af47b253a5e25fe54cda2b6e43cacf Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Fri, 30 Jul 2021 22:09:16 +0530 Subject: [PATCH 01/33] mAP draft --- ignite/metrics/mAP.py | 208 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 208 insertions(+) create mode 100644 ignite/metrics/mAP.py diff --git a/ignite/metrics/mAP.py b/ignite/metrics/mAP.py new file mode 100644 index 000000000000..1e48f9766d8f --- /dev/null +++ b/ignite/metrics/mAP.py @@ -0,0 +1,208 @@ +from collections import defaultdict + +import torch + +from ignite.metrics.metric import Metric + + +def group_detections(gts, preds): + bbs = defaultdict(lambda: {"pred": [], "gt": []}) + + for gt in gts: + bbs[gt[1], gt[2]]["gt"].append(gt) + for pred in preds: + bbs[pred[1], pred[2]]["pred"].append(pred) + + return bbs + + +def intersection_over_union(a, b): + xa, ya, x2a, y2a = a[0], a[1], a[2], a[3] + xb, yb, x2b, y2b = b[0], b[1], b[2], b[3] + + # innermost left x + xi = max(xa, xb) + # innermost right x + x2i = min(x2a, x2b) + # same for y + yi = max(ya, yb) + y2i = min(y2a, y2b) + + # calculate areas + Aa = max(x2a - xa, 0) * max(y2a - ya, 0) + Ab = max(x2b - xb, 0) * max(y2b - yb, 0) + Ai = max(x2i - xi, 0) * max(y2i - yi, 0) + + return Ai / (Aa + Ab - Ai) + + +def compute_ious(preds, gts): + ious = torch.zeros((len(preds), len(gts))) + for g_idx, gt in enumerate(gts): + for pred_idx, pred in enumerate(preds): + ious[pred_idx, g_idx] = intersection_over_union(pred[3:7], gt[3:7]) + + return ious + + +def evaluate_img(preds, gts, ious, iou_threshold, max_dets=100, area_rng=[0, 500]): + print(ious) + arg_pred = torch.argsort(preds[:, 8]) + + preds = preds[arg_pred] + preds = preds[:max_dets] + ious = ious[arg_pred] + ious = ious[:max_dets] + + gt_ignore = torch.logical_not(torch.logical_and(area_rng[0] <= gts[:, 7], gts[:, 7] <= area_rng[1])) + arg_gts = torch.argsort(gt_ignore) + gts = gts[arg_gts] + gt_ignore = gt_ignore[arg_gts] + ious = ious[:, arg_gts] + + gtm = {} + predm = {} + + for pred_idx, pred in enumerate(preds): + iou = min(iou_threshold, 1 - 1e-10) + m = -1 + for g_idx, gt in enumerate(gts): + if g_idx in gtm: + continue + if m > -1 and gt_ignore[m] is False and gt_ignore[g_idx] is True: + break + if ious[pred_idx, g_idx] < iou: + continue + iou = ious[pred_idx, g_idx] + m = g_idx + if m == -1: + continue + predm[pred_idx] = m + gtm[m] = pred_idx + + pred_ignore = [ + gt_ignore[predm[pred_idx]] if pred_idx in predm else not (area_rng[0] <= pred[7] and pred[7] <= area_rng[1]) + for pred_idx, pred in enumerate(preds) + ] + + scores = torch.tensor([preds[pred_idx][8] for pred_idx in range(len(preds)) if not pred_ignore[pred_idx]]) + matched = torch.tensor([pred_idx in predm for pred_idx in range(len(preds)) if not pred_ignore[pred_idx]]) + + n_gts = len([g_idx for g_idx in range(len(gts)) if not gt_ignore[g_idx]]) + return {"scores": scores, "matched": matched, "NP": n_gts} + + +def accumulate_maximum(arr): + n = len(arr) + + max_arr = torch.zeros(n) + max_so_far = arr[0] + + for i in range(n): + if arr[i] > max_so_far: + max_so_far = arr[i] + + max_arr[i] = max_so_far + + return max_arr + + +def compute_ap_recall(scores, matched, NP, recall_thresholds=None): + + if NP == 0: + return { + "precision": None, + "recall": None, + "AP": None, + "interpolated precision": None, + "interpolated recall": None, + "total positives": None, + "TP": None, + "FP": None, + } + + if recall_thresholds is None: + recall_thresholds = torch.linspace(0.0, 1.00, int(round((1.00 - 0.0) / 0.01)) + 1, endpoint=True) + + inds = torch.argsort(-scores) + + scores = scores[inds] + matched = matched[inds] + + tp = torch.cumsum(matched) + fp = torch.cumsum(~matched) + + rc = tp / NP + pr = tp / (tp + fp) + + i_pr = accumulate_maximum(pr[::-1])[::-1] + + rec_idx = torch.searchsorted(rc, recall_thresholds, side="left") + n_recalls = len(recall_thresholds) + + i_pr = torch.tensor([i_pr[r] if r < len(i_pr) else 0 for r in rec_idx]) + + return { + "precision": pr, + "recall": rc, + "AP": torch.mean(i_pr), + "interpolated precision": i_pr, + "interpolated recall": recall_thresholds, + "total positives": NP, + "TP": tp[-1] if len(tp) != 0 else 0, + "FP": fp[-1] if len(fp) != 0 else 0, + } + + +class AP(Metric): + def __init__(self): + super(AP, self).__init__() + + self.gts = torch.zeros(0, 5) + self.preds = torch.zeros(0, 6) + + def update(self, gts, preds): + self.gts = torch.cat(self.gts, gts) + self.preds = torch.cat(self.preds, preds) + + def compute(self): + bbs = group_detections(self.gts, self.preds) + + ious = {k: compute_ious(v["pred"], v["gt"]) for k, v in bbs.items()} + + def evaluate(iou_threshold, max_dets, area_range): + evals = defaultdict(lambda: {"scores": [], "matched": [], "NP": []}) + for img_id, class_id in bbs: + ev = evaluate_img( + bbs[img_id, class_id]["dt"], + bbs[img_id, class_id]["gt"], + ious[img_id, class_id], + iou_threshold, + max_dets, + area_range, + ) + acc = evals[class_id] + acc["scores"].append(ev["scores"]) + acc["matched"].append(ev["matched"]) + acc["NP"].append(ev["NP"]) + + for class_id in evals: + acc = evals[class_id] + acc["scores"] = torch.cat(acc["scores"]) + acc["matched"] = torch.cat(acc["matched"]).astype(torch.bool) + acc["NP"] = torch.sum(acc["NP"]) + + res = [] + for class_id in evals: + ev = evals[class_id] + eval_results = { + "class": class_id, + } + for (k, v) in compute_ap_recall(ev["scores"], ev["matched"], ev["NP"]).items(): + eval_results[k] = v + res.append(eval_results) + return res + + iou_thresholds = torch.linspace(0.5, 0.95, int(round((0.95 - 0.5) / 0.05)) + 1) + + full = {i: evaluate(iou_threshold=i, max_dets=100, area_range=(0, float("inf"))) for i in iou_thresholds} From e029eeb4af6201e83b491d19bd44d65693fa1f42 Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Sun, 1 Aug 2021 22:41:51 +0530 Subject: [PATCH 02/33] mAP COCO Style Implementation --- ignite/metrics/mAP.py | 485 ++++++++++++++++++++++++++---------------- 1 file changed, 298 insertions(+), 187 deletions(-) diff --git a/ignite/metrics/mAP.py b/ignite/metrics/mAP.py index 1e48f9766d8f..1c1f65982ee8 100644 --- a/ignite/metrics/mAP.py +++ b/ignite/metrics/mAP.py @@ -5,204 +5,315 @@ from ignite.metrics.metric import Metric -def group_detections(gts, preds): - bbs = defaultdict(lambda: {"pred": [], "gt": []}) - - for gt in gts: - bbs[gt[1], gt[2]]["gt"].append(gt) - for pred in preds: - bbs[pred[1], pred[2]]["pred"].append(pred) - - return bbs - - -def intersection_over_union(a, b): - xa, ya, x2a, y2a = a[0], a[1], a[2], a[3] - xb, yb, x2b, y2b = b[0], b[1], b[2], b[3] - - # innermost left x - xi = max(xa, xb) - # innermost right x - x2i = min(x2a, x2b) - # same for y - yi = max(ya, yb) - y2i = min(y2a, y2b) - - # calculate areas - Aa = max(x2a - xa, 0) * max(y2a - ya, 0) - Ab = max(x2b - xb, 0) * max(y2b - yb, 0) - Ai = max(x2i - xi, 0) * max(y2i - yi, 0) - - return Ai / (Aa + Ab - Ai) - - -def compute_ious(preds, gts): - ious = torch.zeros((len(preds), len(gts))) - for g_idx, gt in enumerate(gts): - for pred_idx, pred in enumerate(preds): - ious[pred_idx, g_idx] = intersection_over_union(pred[3:7], gt[3:7]) - - return ious - - -def evaluate_img(preds, gts, ious, iou_threshold, max_dets=100, area_rng=[0, 500]): - print(ious) - arg_pred = torch.argsort(preds[:, 8]) - - preds = preds[arg_pred] - preds = preds[:max_dets] - ious = ious[arg_pred] - ious = ious[:max_dets] - - gt_ignore = torch.logical_not(torch.logical_and(area_rng[0] <= gts[:, 7], gts[:, 7] <= area_rng[1])) - arg_gts = torch.argsort(gt_ignore) - gts = gts[arg_gts] - gt_ignore = gt_ignore[arg_gts] - ious = ious[:, arg_gts] - - gtm = {} - predm = {} - - for pred_idx, pred in enumerate(preds): - iou = min(iou_threshold, 1 - 1e-10) - m = -1 - for g_idx, gt in enumerate(gts): - if g_idx in gtm: - continue - if m > -1 and gt_ignore[m] is False and gt_ignore[g_idx] is True: - break - if ious[pred_idx, g_idx] < iou: +def iou(gt, dt, crowd): + m = len(dt) + n = len(gt) + + ious = torch.zeros(m, n) + + for g in range(n): + G = gt[g] + ga = G[2] * G[3] + iscrowd = crowd[g] + for d in range(m): + D = dt[d] + da = D[2] * D[3] + ious[m - d - 1, g] = 0 + w = min(D[2] + D[0], G[2] + G[0]) - max(D[0], G[0]) + h = min(D[3] + D[1], G[3] + G[1]) - max(D[1], G[1]) + if w <= 0 or h <= 0: continue - iou = ious[pred_idx, g_idx] - m = g_idx - if m == -1: - continue - predm[pred_idx] = m - gtm[m] = pred_idx - - pred_ignore = [ - gt_ignore[predm[pred_idx]] if pred_idx in predm else not (area_rng[0] <= pred[7] and pred[7] <= area_rng[1]) - for pred_idx, pred in enumerate(preds) - ] - - scores = torch.tensor([preds[pred_idx][8] for pred_idx in range(len(preds)) if not pred_ignore[pred_idx]]) - matched = torch.tensor([pred_idx in predm for pred_idx in range(len(preds)) if not pred_ignore[pred_idx]]) + i = w * h + if iscrowd: + u = da + else: + u = da + ga - i + ious[m - d - 1, g] = i / u - n_gts = len([g_idx for g_idx in range(len(gts)) if not gt_ignore[g_idx]]) - return {"scores": scores, "matched": matched, "NP": n_gts} - - -def accumulate_maximum(arr): - n = len(arr) - - max_arr = torch.zeros(n) - max_so_far = arr[0] - - for i in range(n): - if arr[i] > max_so_far: - max_so_far = arr[i] - - max_arr[i] = max_so_far - - return max_arr + return ious -def compute_ap_recall(scores, matched, NP, recall_thresholds=None): +class AP(Metric): + def __init__(self, iou_thrs, rec_thrs, area_rngs, max_dets, device): + self._gts = defaultdict(lambda: torch.zeros(0, 11)) + self._dts = defaultdict(lambda: torch.zeros(0, 10)) + + self.area_rngs = area_rngs + self.max_dets = sorted(max_dets) + + self.iou_thrs = iou_thrs + self.rec_thrs = rec_thrs + self.device = device + + self.evalImgs = defaultdict(list) + self.eval = {} + + self.stats = [] + self.ious = {} + + self.class_ids = [] + self.img_ids = [] + + def update(self, dts, gts): + # Accumulate ground truths in gt dictionary + for gt in gts: + img_id = int(gt[1]) + class_id = int(gt[2]) + self._gts[img_id, class_id] = torch.vstack([self._gts[img_id, class_id], gt]) + if img_id not in self.img_ids: + self.img_ids.append(img_id) + if class_id not in self.class_ids: + self.class_ids.append(class_id) + + # Accumulate predictions in pred dictionary + for dt in dts: + img_id = int(dt[1]) + class_id = int(dt[2]) + self._dts[img_id, class_id] = torch.vstack([self._dts[img_id, class_id], dt]) + if img_id not in self.img_ids: + self.img_ids.append(img_id) + if class_id not in self.class_ids: + self.class_ids.append(class_id) + + def compute_iou(self, img_id, class_id): + gt = self._gts[img_id, class_id] + dt = self._dts[img_id, class_id] + + dt = dt[torch.argsort(dt[:, 9])] + + crowd = [g[8] for g in gt] + ious = iou(gt[:, 3:7], dt[:, 3:7], crowd) + + return ious + + def evaluate_image(self, img_id, class_id, area_rng, max_det): + # Get all ground truths and predictions for given image id and class is + gt = self._gts[img_id, class_id] + dt = self._dts[img_id, class_id] + + if len(gt) == 0 and len(dt) == 0: + return None + + # Set ignore flag for all ground truths with area range less than or greater than given area range + for g in gt: + if g[9] or (g[7] < area_rng[0] or g[7] > area_rng[1]): + g[10] = 1 + else: + g[10] = 0 + + # Sort ground truths so that not ignored ground truths are at front + gt_ind = torch.argsort(gt[:, 10]) + gt = gt[gt_ind] + + # Sort predictions based on confidence/score + dt = dt[torch.argsort(-dt[:, 9])] + # iscrowd flag to show multiple ground truths + iscrowd = gt[:, 8] + + ious = ( + self.ious[img_id, class_id][:, gt_ind] + if len(self.ious[img_id, class_id]) > 0 + else self.ious[img_id, class_id] + ) + + num_iou_thrs = len(self.iou_thrs) + num_gt = len(gt) + num_dt = len(dt) + gtm = torch.zeros(num_iou_thrs, num_gt) + dtm = torch.zeros(num_iou_thrs, num_dt) + gt_ignore = gt[:, 10] + dt_ignore = torch.zeros(num_iou_thrs, num_dt) + + if len(ious) != 0: + for tind, t in enumerate(self.iou_thrs): + for dind, d in enumerate(dt): + iou = min([t, 1 - 1e-10]) + m = -1 + for gind, g in enumerate(gt): + # If ground truth is already matched with another prediction and not crowd + if gtm[tind, gind] > 0 and not iscrowd[gind]: + continue + + # if prediction matched to reg ground truth, and on ignore ground truth, stop + if m > -1 and gt_ignore[m] == 0 and gt_ignore[gind] == 1: + break + + # continue to next ground truth unless better match made + if ious[dind, gind] < iou: + continue + + # if match successful and best so far, store appropriately + iou = ious[dind, gind] + m = gind + + # if match made store id of match for both prediction and ground truth + if m == -1: + continue + dt_ignore[tind, dind] = gt_ignore[m] + dtm[tind, dind] = gt[m][0] + gtm[tind, m] = d[0] + + # set unmatched predictions outside of area range to ignore + a = torch.tensor([d[7] < area_rng[0] or d[7] > area_rng[1] for d in dt]).reshape((1, len(dt))) + + dt_ignore = torch.logical_or( + dt_ignore, torch.logical_and(dtm == 0, torch.repeat_interleave(a, num_iou_thrs, 0)) + ) - if NP == 0: return { - "precision": None, - "recall": None, - "AP": None, - "interpolated precision": None, - "interpolated recall": None, - "total positives": None, - "TP": None, - "FP": None, + "image_id": img_id, + "category_id": class_id, + "aRng": area_rng, + "maxDet": max_det, + "dtIds": dt[:, 0], + "gtIds": gt[:, 0], + "dtMatches": dtm, + "gtMatches": gtm, + "dtScores": dt[:, 9], + "gtIgnore": gt_ignore, + "dtIgnore": dt_ignore, } - if recall_thresholds is None: - recall_thresholds = torch.linspace(0.0, 1.00, int(round((1.00 - 0.0) / 0.01)) + 1, endpoint=True) - - inds = torch.argsort(-scores) - - scores = scores[inds] - matched = matched[inds] - - tp = torch.cumsum(matched) - fp = torch.cumsum(~matched) - - rc = tp / NP - pr = tp / (tp + fp) - - i_pr = accumulate_maximum(pr[::-1])[::-1] - - rec_idx = torch.searchsorted(rc, recall_thresholds, side="left") - n_recalls = len(recall_thresholds) - - i_pr = torch.tensor([i_pr[r] if r < len(i_pr) else 0 for r in rec_idx]) + def accumulate(self): + num_iou_thr = len(self.iou_thrs) + num_rec_thr = len(self.rec_thrs) + num_classes = len(self.class_ids) + num_area = len(self.area_rngs) + num_dets = len(self.max_dets) + + precision = -torch.ones((num_iou_thr, num_rec_thr, num_classes, num_area, num_dets)) + recall = -torch.ones((num_iou_thr, num_classes, num_area, num_dets)) + scores = -torch.ones((num_iou_thr, num_rec_thr, num_classes, num_area, num_dets)) + + num_imgs = len(self.img_ids) + # retrieve eval_imgs at each category, area range, and max number of detections + for c, class_id in enumerate(self.class_ids): + num_class_c = c * num_area * num_imgs + for a, area_rng in enumerate(self.area_rngs): + num_area_a = a * num_imgs + for m, max_det in enumerate(self.max_dets): + # retrieve appropriate eval_imgs from stored results + eval_imgs = [self.eval_imgs[num_class_c + num_area_a + i] for i in range(num_imgs)] + eval_imgs = [img for img in eval_imgs if img is not None] + if len(eval_imgs) == 0: + continue + # Get prediction scores to greedily match + pred_scores = torch.cat([img["dtScores"][0:max_det] for img in eval_imgs], dim=-1) + # Sort prediction scores + inds = torch.argsort(-pred_scores) + sorted_pred_scores = pred_scores[inds] + # Retrieve and Sort prediction matches, + # ignore flags for ground truth and predictions based on prediction scores + predm = torch.cat([img["dtMatches"][:, 0:max_det] for img in eval_imgs], dim=-1)[:, inds] + pred_ignore = torch.cat([img["dtIgnore"][:, 0:max_det] for img in eval_imgs], dim=-1)[:, inds] + gt_ignore = torch.cat([img["gtIgnore"] for img in eval_imgs]) + non_ignored = torch.count_nonzero(gt_ignore == 0) + if non_ignored == 0: + continue + # Calculate true positive and false positive based on prediction matches and ignore flags + tps = torch.logical_and(predm, torch.logical_not(pred_ignore)) + fps = torch.logical_and(torch.logical_not(predm), torch.logical_not(pred_ignore)) + # Calculate precision and recall iteratively + tp_sum = torch.cumsum(tps, dim=1).to(device=self.device, dtype=torch.float64) + fp_sum = torch.cumsum(fps, dim=1).to(device=self.device, dtype=torch.float64) + + for t, (tp, fp) in enumerate(zip(tp_sum, fp_sum)): + tp = torch.tensor(tp) + fp = torch.tensor(fp) + nd = len(tp) + rc = tp / non_ignored + pr = tp / (fp + tp + torch.finfo(torch.float64).eps) + q = torch.zeros((num_rec_thr,)) + ss = torch.zeros((num_rec_thr,)) + + if nd: + recall[t, c, a, m] = rc[-1] + else: + recall[t, c, a, m] = 0 + + pr = pr.tolist() + q = q.tolist() + + for i in range(nd - 1, 0, -1): + if pr[i] > pr[i - 1]: + pr[i - 1] = pr[i] + + inds = torch.searchsorted(rc, self.rec_thrs, right=False) + try: + for ri, pi in enumerate(inds): + q[ri] = pr[pi] + ss[ri] = sorted_pred_scores[pi] + except: + pass + precision[t, :, c, a, m] = torch.tensor(q) + scores[t, :, c, a, m] = torch.tensor(ss) + # return precision, recall + self.eval = { + "precision": precision, + "recall": recall, + } - return { - "precision": pr, - "recall": rc, - "AP": torch.mean(i_pr), - "interpolated precision": i_pr, - "interpolated recall": recall_thresholds, - "total positives": NP, - "TP": tp[-1] if len(tp) != 0 else 0, - "FP": fp[-1] if len(fp) != 0 else 0, - } + def _summarize(self, ap=1, iou_thr=None, area_rng="all", max_det=100): + aind = [i for i, a_rng in enumerate(self.area_rngs) if a_rng[2] == area_rng] + mind = [i for i, m_det in enumerate(self.max_dets) if m_det == max_det] + # Calculate Average Precision + if ap == 1: + s = self.eval["precision"] + if iou_thr is not None: + t = (self.iou_thrs == iou_thr).int().nonzero(as_tuple=True)[0] + s = s[t] + s = s[:, :, :, aind, mind] + # Calculate Average Recall + else: + s = self.eval["recall"] + if iou_thr is not None: + t = (self.iou_thrs == iou_thr).nonzero(as_tuple=True)[0] + s = s[t] + s = s[:, :, aind, mind] + # Take mean to calculate mAP or mAR + if len(s[s > -1]) == 0: + mean_s = -1 + else: + mean_s = torch.mean(s[s > -1]) + + return mean_s + + def summarize_all(self): + stats = torch.zeros((12,)) + stats[0] = self._summarize(1) + stats[1] = self._summarize(1, iou_thr=0.5, max_det=self.max_dets[2]) + stats[2] = self._summarize(1, iou_thr=0.75, max_det=self.max_dets[2]) + stats[3] = self._summarize(1, area_rng="small", max_det=self.max_dets[2]) + stats[4] = self._summarize(1, area_rng="medium", max_det=self.max_dets[2]) + stats[5] = self._summarize(1, area_rng="large", max_det=self.max_dets[2]) + stats[6] = self._summarize(0, max_det=self.max_dets[0]) + stats[7] = self._summarize(0, max_det=self.max_dets[1]) + stats[8] = self._summarize(0, max_det=self.max_dets[2]) + stats[9] = self._summarize(0, area_rng="small", max_det=self.max_dets[2]) + stats[10] = self._summarize(0, area_rng="medium", max_det=self.max_dets[2]) + stats[11] = self._summarize(0, area_rng="large", max_det=self.max_dets[2]) + + return stats + def compute(self): + self.class_ids.sort() + self.img_ids.sort() + self.ious = { + (img_id, class_id): self.compute_iou(img_id, class_id) + for img_id in self.img_ids + for class_id in self.class_ids + } -class AP(Metric): - def __init__(self): - super(AP, self).__init__() + max_det = self.max_dets[-1] + self.eval_imgs = [ + self.evaluate_image(img_id, class_id, area_rng, max_det) + for class_id in self.class_ids + for area_rng in self.area_rngs + for img_id in self.img_ids + ] - self.gts = torch.zeros(0, 5) - self.preds = torch.zeros(0, 6) + self.accumulate() - def update(self, gts, preds): - self.gts = torch.cat(self.gts, gts) - self.preds = torch.cat(self.preds, preds) + results = self.summarize_all() - def compute(self): - bbs = group_detections(self.gts, self.preds) - - ious = {k: compute_ious(v["pred"], v["gt"]) for k, v in bbs.items()} - - def evaluate(iou_threshold, max_dets, area_range): - evals = defaultdict(lambda: {"scores": [], "matched": [], "NP": []}) - for img_id, class_id in bbs: - ev = evaluate_img( - bbs[img_id, class_id]["dt"], - bbs[img_id, class_id]["gt"], - ious[img_id, class_id], - iou_threshold, - max_dets, - area_range, - ) - acc = evals[class_id] - acc["scores"].append(ev["scores"]) - acc["matched"].append(ev["matched"]) - acc["NP"].append(ev["NP"]) - - for class_id in evals: - acc = evals[class_id] - acc["scores"] = torch.cat(acc["scores"]) - acc["matched"] = torch.cat(acc["matched"]).astype(torch.bool) - acc["NP"] = torch.sum(acc["NP"]) - - res = [] - for class_id in evals: - ev = evals[class_id] - eval_results = { - "class": class_id, - } - for (k, v) in compute_ap_recall(ev["scores"], ev["matched"], ev["NP"]).items(): - eval_results[k] = v - res.append(eval_results) - return res - - iou_thresholds = torch.linspace(0.5, 0.95, int(round((0.95 - 0.5) / 0.05)) + 1) - - full = {i: evaluate(iou_threshold=i, max_dets=100, area_range=(0, float("inf"))) for i in iou_thresholds} + return results From 9b9785ccb79fe524ff9bb5e753c1d8a328f1fa5e Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Sun, 8 Aug 2021 21:56:42 +0530 Subject: [PATCH 03/33] mAP simplified --- ignite/metrics/mAP.py | 397 ++++++++++++++++++++---------------------- 1 file changed, 186 insertions(+), 211 deletions(-) diff --git a/ignite/metrics/mAP.py b/ignite/metrics/mAP.py index 1c1f65982ee8..aa75c813c505 100644 --- a/ignite/metrics/mAP.py +++ b/ignite/metrics/mAP.py @@ -1,22 +1,32 @@ from collections import defaultdict +from typing import Any, Callable, Dict, List, Optional, Union import torch from ignite.metrics.metric import Metric +""" +gt: (1id, 4xmin, 5ymin, 6xmax, 7ymax, 8area, 9crowd, 10ignore) +dt: (1id, 4xmin, 5ymin, 6xmax, 7ymax, 8area, 9crowd, 10confidence) +gts: torch.tensor([gt,gt,gt...]) +dts: torch.tensor([dt,dt,dt...]) +gt_img : (1img_id, 2class_id, gts) +dt_img : (1img_id, 2class_id, dts) +""" -def iou(gt, dt, crowd): + +def iou(gt: torch.Tensor, dt: torch.Tensor, crowd: List) -> torch.Tensor: m = len(dt) n = len(gt) ious = torch.zeros(m, n) for g in range(n): - G = gt[g] + G = gt[g].tolist() ga = G[2] * G[3] iscrowd = crowd[g] for d in range(m): - D = dt[d] + D = dt[d].tolist() da = D[2] * D[3] ious[m - d - 1, g] = 0 w = min(D[2] + D[0], G[2] + G[0]) - max(D[0], G[0]) @@ -33,95 +43,105 @@ def iou(gt, dt, crowd): return ious +i_id = 0 +i_class_id = 1 +i_xmin = 2 +i_ymin = 3 +i_xmax = 4 +i_ymax = 5 +i_area = 6 +i_crowd = 7 +g_ignore = 8 +d_confidence = 8 + + class AP(Metric): - def __init__(self, iou_thrs, rec_thrs, area_rngs, max_dets, device): - self._gts = defaultdict(lambda: torch.zeros(0, 11)) - self._dts = defaultdict(lambda: torch.zeros(0, 10)) - - self.area_rngs = area_rngs - self.max_dets = sorted(max_dets) - - self.iou_thrs = iou_thrs - self.rec_thrs = rec_thrs - self.device = device - - self.evalImgs = defaultdict(list) - self.eval = {} - - self.stats = [] - self.ious = {} - - self.class_ids = [] - self.img_ids = [] - - def update(self, dts, gts): - # Accumulate ground truths in gt dictionary - for gt in gts: - img_id = int(gt[1]) - class_id = int(gt[2]) - self._gts[img_id, class_id] = torch.vstack([self._gts[img_id, class_id], gt]) - if img_id not in self.img_ids: - self.img_ids.append(img_id) - if class_id not in self.class_ids: - self.class_ids.append(class_id) - - # Accumulate predictions in pred dictionary - for dt in dts: - img_id = int(dt[1]) - class_id = int(dt[2]) - self._dts[img_id, class_id] = torch.vstack([self._dts[img_id, class_id], dt]) - if img_id not in self.img_ids: - self.img_ids.append(img_id) - if class_id not in self.class_ids: - self.class_ids.append(class_id) - - def compute_iou(self, img_id, class_id): - gt = self._gts[img_id, class_id] - dt = self._dts[img_id, class_id] - - dt = dt[torch.argsort(dt[:, 9])] - - crowd = [g[8] for g in gt] - ious = iou(gt[:, 3:7], dt[:, 3:7], crowd) + def __init__( + self, + area_rngs: Dict, + max_det: int, + iou_thrs: torch.Tensor, + rec_thrs: torch.Tensor, + output_transform: Callable = lambda x: x, + device: Union[str, torch.device] = torch.device("cpu"), + ) -> None: + self.area_rngs: Dict = area_rngs + self.max_det: int = max_det + + self.iou_thrs: torch.Tensor = iou_thrs + self.rec_thrs: torch.Tensor = rec_thrs + self.device: Union[str, torch.device] = device + + super(AP, self).__init__(output_transform=output_transform, device=device) + + def update(self, output: Any) -> None: + dt_img, gt_img = output + assert gt_img[0] == dt_img[0] + img_id = gt_img[0] + + classes = set() + classwise_gt: defaultdict = defaultdict(lambda: torch.zeros(0, 10)) + for gt in gt_img[1]: + class_id = int(gt[i_class_id]) + classes.add(class_id) + classwise_gt[class_id] = torch.vstack([classwise_gt[class_id], gt]) + + classwise_dt: defaultdict = defaultdict(lambda: torch.zeros(0, 9)) + for dt in dt_img[1]: + class_id = int(dt[i_class_id]) + classes.add(class_id) + classwise_dt[class_id] = torch.vstack([classwise_dt[class_id], dt]) + + self.img_ids.add(img_id) + self.class_ids.update(classes) + + for class_id in classes: + ious = self.compute_iou(classwise_gt[class_id], classwise_dt[class_id]) + for area_rng in self.area_rngs: + self.eval_imgs[class_id, area_rng].append( + self.evaluate_image(classwise_gt[class_id], classwise_dt[class_id], self.area_rngs[area_rng], ious) + ) + + def reset(self) -> None: + self.class_ids: set = set() + self.img_ids: set = set() + + self.eval_imgs: defaultdict = defaultdict(list) + + def compute_iou(self, gt: torch.Tensor, dt: torch.Tensor) -> torch.Tensor: + dt = dt[torch.argsort(dt[:, d_confidence])] + + crowd = [g[i_crowd] for g in gt] + ious = iou(gt[:, i_xmin:i_area], dt[:, i_xmin:i_area], crowd) return ious - def evaluate_image(self, img_id, class_id, area_rng, max_det): - # Get all ground truths and predictions for given image id and class is - gt = self._gts[img_id, class_id] - dt = self._dts[img_id, class_id] - + def evaluate_image( + self, gt: torch.Tensor, dt: torch.Tensor, area_rng: torch.Tensor, ious: torch.Tensor + ) -> Optional[Dict]: if len(gt) == 0 and len(dt) == 0: return None - # Set ignore flag for all ground truths with area range less than or greater than given area range - for g in gt: - if g[9] or (g[7] < area_rng[0] or g[7] > area_rng[1]): - g[10] = 1 + gt_ignore = torch.zeros(len(gt)) + for i, g in enumerate(gt): + if g[g_ignore] or (g[i_area] < area_rng[0] or g[i_area] > area_rng[1]): + gt_ignore[i] = 1 else: - g[10] = 0 + gt_ignore[i] = 0 - # Sort ground truths so that not ignored ground truths are at front - gt_ind = torch.argsort(gt[:, 10]) + gt_ind = torch.argsort(gt_ignore) + gt_ignore = gt_ignore[gt_ind] gt = gt[gt_ind] + dt = dt[torch.argsort(-dt[:, d_confidence])] + iscrowd = gt[:, i_crowd] - # Sort predictions based on confidence/score - dt = dt[torch.argsort(-dt[:, 9])] - # iscrowd flag to show multiple ground truths - iscrowd = gt[:, 8] - - ious = ( - self.ious[img_id, class_id][:, gt_ind] - if len(self.ious[img_id, class_id]) > 0 - else self.ious[img_id, class_id] - ) + ious = ious[:, gt_ind] if len(ious) > 0 else ious num_iou_thrs = len(self.iou_thrs) num_gt = len(gt) num_dt = len(dt) gtm = torch.zeros(num_iou_thrs, num_gt) dtm = torch.zeros(num_iou_thrs, num_dt) - gt_ignore = gt[:, 10] dt_ignore = torch.zeros(num_iou_thrs, num_dt) if len(ious) != 0: @@ -130,188 +150,143 @@ def evaluate_image(self, img_id, class_id, area_rng, max_det): iou = min([t, 1 - 1e-10]) m = -1 for gind, g in enumerate(gt): - # If ground truth is already matched with another prediction and not crowd if gtm[tind, gind] > 0 and not iscrowd[gind]: continue - # if prediction matched to reg ground truth, and on ignore ground truth, stop if m > -1 and gt_ignore[m] == 0 and gt_ignore[gind] == 1: break - # continue to next ground truth unless better match made if ious[dind, gind] < iou: continue - # if match successful and best so far, store appropriately iou = ious[dind, gind] m = gind - # if match made store id of match for both prediction and ground truth if m == -1: continue dt_ignore[tind, dind] = gt_ignore[m] - dtm[tind, dind] = gt[m][0] - gtm[tind, m] = d[0] + dtm[tind, dind] = gt[m][i_id] + gtm[tind, m] = d[i_id] - # set unmatched predictions outside of area range to ignore - a = torch.tensor([d[7] < area_rng[0] or d[7] > area_rng[1] for d in dt]).reshape((1, len(dt))) + a = torch.tensor([d[i_area] < area_rng[0] or d[i_area] > area_rng[1] for d in dt]).reshape((1, len(dt))) dt_ignore = torch.logical_or( dt_ignore, torch.logical_and(dtm == 0, torch.repeat_interleave(a, num_iou_thrs, 0)) ) return { - "image_id": img_id, - "category_id": class_id, - "aRng": area_rng, - "maxDet": max_det, - "dtIds": dt[:, 0], - "gtIds": gt[:, 0], "dtMatches": dtm, - "gtMatches": gtm, - "dtScores": dt[:, 9], + "dtScores": dt[:, d_confidence], "gtIgnore": gt_ignore, "dtIgnore": dt_ignore, } - def accumulate(self): + def accumulate(self) -> None: num_iou_thr = len(self.iou_thrs) num_rec_thr = len(self.rec_thrs) num_classes = len(self.class_ids) num_area = len(self.area_rngs) - num_dets = len(self.max_dets) - precision = -torch.ones((num_iou_thr, num_rec_thr, num_classes, num_area, num_dets)) - recall = -torch.ones((num_iou_thr, num_classes, num_area, num_dets)) - scores = -torch.ones((num_iou_thr, num_rec_thr, num_classes, num_area, num_dets)) + max_det = self.max_det + precision = -torch.ones((num_iou_thr, num_rec_thr, num_classes, num_area)) - num_imgs = len(self.img_ids) # retrieve eval_imgs at each category, area range, and max number of detections for c, class_id in enumerate(self.class_ids): - num_class_c = c * num_area * num_imgs for a, area_rng in enumerate(self.area_rngs): - num_area_a = a * num_imgs - for m, max_det in enumerate(self.max_dets): - # retrieve appropriate eval_imgs from stored results - eval_imgs = [self.eval_imgs[num_class_c + num_area_a + i] for i in range(num_imgs)] - eval_imgs = [img for img in eval_imgs if img is not None] - if len(eval_imgs) == 0: - continue - # Get prediction scores to greedily match - pred_scores = torch.cat([img["dtScores"][0:max_det] for img in eval_imgs], dim=-1) - # Sort prediction scores - inds = torch.argsort(-pred_scores) - sorted_pred_scores = pred_scores[inds] - # Retrieve and Sort prediction matches, - # ignore flags for ground truth and predictions based on prediction scores - predm = torch.cat([img["dtMatches"][:, 0:max_det] for img in eval_imgs], dim=-1)[:, inds] - pred_ignore = torch.cat([img["dtIgnore"][:, 0:max_det] for img in eval_imgs], dim=-1)[:, inds] - gt_ignore = torch.cat([img["gtIgnore"] for img in eval_imgs]) - non_ignored = torch.count_nonzero(gt_ignore == 0) - if non_ignored == 0: - continue - # Calculate true positive and false positive based on prediction matches and ignore flags - tps = torch.logical_and(predm, torch.logical_not(pred_ignore)) - fps = torch.logical_and(torch.logical_not(predm), torch.logical_not(pred_ignore)) - # Calculate precision and recall iteratively - tp_sum = torch.cumsum(tps, dim=1).to(device=self.device, dtype=torch.float64) - fp_sum = torch.cumsum(fps, dim=1).to(device=self.device, dtype=torch.float64) - - for t, (tp, fp) in enumerate(zip(tp_sum, fp_sum)): - tp = torch.tensor(tp) - fp = torch.tensor(fp) - nd = len(tp) - rc = tp / non_ignored - pr = tp / (fp + tp + torch.finfo(torch.float64).eps) - q = torch.zeros((num_rec_thr,)) - ss = torch.zeros((num_rec_thr,)) - - if nd: - recall[t, c, a, m] = rc[-1] - else: - recall[t, c, a, m] = 0 - - pr = pr.tolist() - q = q.tolist() - - for i in range(nd - 1, 0, -1): - if pr[i] > pr[i - 1]: - pr[i - 1] = pr[i] - - inds = torch.searchsorted(rc, self.rec_thrs, right=False) - try: - for ri, pi in enumerate(inds): - q[ri] = pr[pi] - ss[ri] = sorted_pred_scores[pi] - except: - pass - precision[t, :, c, a, m] = torch.tensor(q) - scores[t, :, c, a, m] = torch.tensor(ss) + # retrieve appropriate eval_imgs from stored results + eval_imgs = self.eval_imgs[class_id, area_rng] + eval_imgs = [img for img in eval_imgs if img is not None] + if len(eval_imgs) == 0: + continue + # Get prediction scores to greedily match + pred_scores = torch.cat([img["dtScores"][0:max_det] for img in eval_imgs], dim=-1) + # Sort prediction scores + inds = torch.argsort(-pred_scores) + # Retrieve and Sort prediction matches, + # ignore flags for ground truth and predictions based on prediction scores + predm = torch.cat([img["dtMatches"][:, 0:max_det] for img in eval_imgs], dim=-1)[:, inds] + pred_ignore = torch.cat([img["dtIgnore"][:, 0:max_det] for img in eval_imgs], dim=-1)[:, inds] + gt_ignore = torch.cat([img["gtIgnore"] for img in eval_imgs]) + non_ignored = torch.count_nonzero(gt_ignore == 0) + if non_ignored == 0: + continue + # Calculate true positive and false positive based on prediction matches and ignore flags + tps = torch.logical_and(predm, torch.logical_not(pred_ignore)) + fps = torch.logical_and(torch.logical_not(predm), torch.logical_not(pred_ignore)) + # Calculate precision and recall iteratively + tp_sum = torch.cumsum(tps, dim=1).to(device=self.device, dtype=torch.float64) + fp_sum = torch.cumsum(fps, dim=1).to(device=self.device, dtype=torch.float64) + + for t, (tp, fp) in enumerate(zip(tp_sum, fp_sum)): + tp = torch.tensor(tp) + fp = torch.tensor(fp) + nd = len(tp) + rc = tp / non_ignored + pr = tp / (fp + tp + torch.finfo(torch.float64).eps) + q: Any = torch.zeros((num_rec_thr,)) + + pr = pr.tolist() + q = q.tolist() + + for i in range(nd - 1, 0, -1): + if pr[i] > pr[i - 1]: + pr[i - 1] = pr[i] + + inds = torch.searchsorted(rc, self.rec_thrs, right=False) + try: + for ri, pi in enumerate(inds): + q[ri] = pr[pi] + except: + pass + precision[t, :, c, a] = torch.tensor(q) # return precision, recall - self.eval = { - "precision": precision, - "recall": recall, - } + self.precision = precision - def _summarize(self, ap=1, iou_thr=None, area_rng="all", max_det=100): - aind = [i for i, a_rng in enumerate(self.area_rngs) if a_rng[2] == area_rng] - mind = [i for i, m_det in enumerate(self.max_dets) if m_det == max_det] + def _summarize(self, iou_thr: Optional[float] = None, area_rng: str = "all") -> float: + aind = [i for i, a_rng in enumerate(self.area_rngs) if a_rng == area_rng] # Calculate Average Precision - if ap == 1: - s = self.eval["precision"] - if iou_thr is not None: - t = (self.iou_thrs == iou_thr).int().nonzero(as_tuple=True)[0] - s = s[t] - s = s[:, :, :, aind, mind] - # Calculate Average Recall - else: - s = self.eval["recall"] - if iou_thr is not None: - t = (self.iou_thrs == iou_thr).nonzero(as_tuple=True)[0] - s = s[t] - s = s[:, :, aind, mind] - # Take mean to calculate mAP or mAR + s = self.precision + if iou_thr is not None: + t = (self.iou_thrs == iou_thr).int().nonzero(as_tuple=True)[0] + s = s[t] + s = s[:, :, :, aind] + # Take mean to calculate mAP if len(s[s > -1]) == 0: - mean_s = -1 + mean_s = torch.tensor(-1) else: mean_s = torch.mean(s[s > -1]) - return mean_s - - def summarize_all(self): - stats = torch.zeros((12,)) - stats[0] = self._summarize(1) - stats[1] = self._summarize(1, iou_thr=0.5, max_det=self.max_dets[2]) - stats[2] = self._summarize(1, iou_thr=0.75, max_det=self.max_dets[2]) - stats[3] = self._summarize(1, area_rng="small", max_det=self.max_dets[2]) - stats[4] = self._summarize(1, area_rng="medium", max_det=self.max_dets[2]) - stats[5] = self._summarize(1, area_rng="large", max_det=self.max_dets[2]) - stats[6] = self._summarize(0, max_det=self.max_dets[0]) - stats[7] = self._summarize(0, max_det=self.max_dets[1]) - stats[8] = self._summarize(0, max_det=self.max_dets[2]) - stats[9] = self._summarize(0, area_rng="small", max_det=self.max_dets[2]) - stats[10] = self._summarize(0, area_rng="medium", max_det=self.max_dets[2]) - stats[11] = self._summarize(0, area_rng="large", max_det=self.max_dets[2]) + return mean_s.item() - return stats + def summarize_all(self) -> torch.Tensor: + stats = torch.zeros((6,)) + stats[0] = self._summarize() + stats[1] = self._summarize(iou_thr=0.5) + stats[2] = self._summarize(iou_thr=0.75) + stats[3] = self._summarize(area_rng="small") + stats[4] = self._summarize(area_rng="medium") + stats[5] = self._summarize(area_rng="large") - def compute(self): - self.class_ids.sort() - self.img_ids.sort() - self.ious = { - (img_id, class_id): self.compute_iou(img_id, class_id) - for img_id in self.img_ids - for class_id in self.class_ids - } - - max_det = self.max_dets[-1] - self.eval_imgs = [ - self.evaluate_image(img_id, class_id, area_rng, max_det) - for class_id in self.class_ids - for area_rng in self.area_rngs - for img_id in self.img_ids - ] + return stats + def gather_all(self) -> None: + import torch.distributed as dist + + gather_dicts: List[Dict] = [defaultdict(list)] * dist.get_world_size() + dist.gather_object(self.eval_imgs, gather_dicts if dist.get_rank() == 0 else None, dst=0) + if dist.get_rank() == 0: + keys = set() + for eval_imgs in gather_dicts: + for key in eval_imgs: + keys.add(key) + combined_eval_imgs: defaultdict = defaultdict(list) + for key in keys: + for eval_imgs in gather_dicts: + combined_eval_imgs[key] += eval_imgs[key] + self.eval_imgs = combined_eval_imgs + + def compute(self) -> torch.Tensor: + self.gather_all() self.accumulate() results = self.summarize_all() From 95d5f6a3109dc3cb259492e1f9620fbb12f74e12 Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Fri, 13 Aug 2021 19:14:28 +0530 Subject: [PATCH 04/33] Incomplete Tests --- ignite/metrics/__init__.py | 2 + ignite/metrics/mAP.py | 72 +- tests/ignite/metrics/dt.json | 3413 ++++++++++++++++++++++ tests/ignite/metrics/gt.json | 4508 ++++++++++++++++++++++++++++++ tests/ignite/metrics/test_mAP.py | 219 ++ 5 files changed, 8207 insertions(+), 7 deletions(-) create mode 100644 tests/ignite/metrics/dt.json create mode 100644 tests/ignite/metrics/gt.json create mode 100644 tests/ignite/metrics/test_mAP.py diff --git a/ignite/metrics/__init__.py b/ignite/metrics/__init__.py index d001436a3ade..39cf27fec878 100644 --- a/ignite/metrics/__init__.py +++ b/ignite/metrics/__init__.py @@ -8,6 +8,7 @@ from ignite.metrics.gan.fid import FID from ignite.metrics.gan.inception_score import InceptionScore from ignite.metrics.loss import Loss +from ignite.metrics.mAP import AP from ignite.metrics.mean_absolute_error import MeanAbsoluteError from ignite.metrics.mean_pairwise_distance import MeanPairwiseDistance from ignite.metrics.mean_squared_error import MeanSquaredError @@ -42,6 +43,7 @@ "FID", "GeometricAverage", "IoU", + "AP", "InceptionScore", "mIoU", "JaccardIndex", diff --git a/ignite/metrics/mAP.py b/ignite/metrics/mAP.py index aa75c813c505..a71ae91af76e 100644 --- a/ignite/metrics/mAP.py +++ b/ignite/metrics/mAP.py @@ -65,22 +65,72 @@ def __init__( output_transform: Callable = lambda x: x, device: Union[str, torch.device] = torch.device("cpu"), ) -> None: + self.check_area_rngs(area_rngs) self.area_rngs: Dict = area_rngs + self.max_det: int = max_det + if type(self.max_det) != int or self.max_det < 1: + raise ValueError(f"max_det should be a positive integer, got {self.max_det}") + + if not torch.is_floating_point(iou_thrs): + raise ValueError(f"iou_thrs should be a float tensor, got {iou_thrs.dtype}") + self.iou_thrs: torch.Tensor = iou_thrs.to(device) + + if not torch.is_floating_point(rec_thrs): + raise ValueError(f"rec_thrs should be a float tensor, got {rec_thrs.dtype}") + self.rec_thrs: torch.Tensor = rec_thrs.to(device) - self.iou_thrs: torch.Tensor = iou_thrs - self.rec_thrs: torch.Tensor = rec_thrs self.device: Union[str, torch.device] = device super(AP, self).__init__(output_transform=output_transform, device=device) + @staticmethod + def check_area_rngs(area_rngs): + for area in area_rngs: + area_rng = area_rngs[area] + if type(area) != str or len(area_rng) != 2 or area_rng[0] >= area_rng[1]: + raise ValueError( + """area_rngs should be a dictionary with key as area name and value as \ + a tuple of the form (lower limit, upper limit).""" + ) + + @staticmethod + def get_samples(data): + if len(data) != 2: + raise ValueError("Update Data must be of the format [dt_img, gt_img].") + + dt_img, gt_img = data + + if len(dt_img) != 2 or type(dt_img[0]) != int or type(dt_img[1]) != torch.Tensor: + raise ValueError("Detections should be of the form [image_id, detections_tensor].") + if len(dt_img[1].shape) != 2 or dt_img[1].shape[1] != 9: + raise ValueError(f"detections_tensor should be of size [num_detections, 9], got {dt_img[1].shape}") + + if len(gt_img) != 2 or type(gt_img[0]) != int or type(gt_img[1]) != torch.Tensor: + raise ValueError("Ground Truths should be of the form [image_id, ground_truths].") + if len(gt_img[1].shape) != 2 or gt_img[1].shape[1] != 9: + raise ValueError(f"ground_truths should be of size [num_detections, 9], got {gt_img[1].shape}") + + if gt_img[0] != dt_img[0]: + raise ValueError( + f""" + Ground Truth and Detections should be of the same image, got image id {gt_img[0]} \ + for Ground Truth and image id {dt_img[0]} for Detections. + """ + ) + + return dt_img, gt_img + def update(self, output: Any) -> None: - dt_img, gt_img = output - assert gt_img[0] == dt_img[0] + dt_img, gt_img = self.get_samples(output) + + dt_img[1] = dt_img[1].to(self.device) + gt_img[1] = gt_img[1].to(self.device) + img_id = gt_img[0] classes = set() - classwise_gt: defaultdict = defaultdict(lambda: torch.zeros(0, 10)) + classwise_gt: defaultdict = defaultdict(lambda: torch.zeros(0, 9)) for gt in gt_img[1]: class_id = int(gt[i_class_id]) classes.add(class_id) @@ -218,8 +268,6 @@ def accumulate(self) -> None: fp_sum = torch.cumsum(fps, dim=1).to(device=self.device, dtype=torch.float64) for t, (tp, fp) in enumerate(zip(tp_sum, fp_sum)): - tp = torch.tensor(tp) - fp = torch.tensor(fp) nd = len(tp) rc = tp / non_ignored pr = tp / (fp + tp + torch.finfo(torch.float64).eps) @@ -272,6 +320,16 @@ def summarize_all(self) -> torch.Tensor: def gather_all(self) -> None: import torch.distributed as dist + def is_dist_avail_and_initialized(): + if not dist.is_available(): + return False + if not dist.is_initialized(): + return False + return True + + if not is_dist_avail_and_initialized(): + return + gather_dicts: List[Dict] = [defaultdict(list)] * dist.get_world_size() dist.gather_object(self.eval_imgs, gather_dicts if dist.get_rank() == 0 else None, dst=0) if dist.get_rank() == 0: diff --git a/tests/ignite/metrics/dt.json b/tests/ignite/metrics/dt.json new file mode 100644 index 000000000000..0cb2c669213e --- /dev/null +++ b/tests/ignite/metrics/dt.json @@ -0,0 +1,3413 @@ +[ + { + "image_id": 42, + "category_id": 18, + "bbox": [258.15, 41.29, 348.26, 243.78], + "score": 0.236, + "area": 84898.8228, + "id": 1, + "iscrowd": 0 + }, + { + "image_id": 73, + "category_id": 11, + "bbox": [61, 22.75, 504, 609.67], + "score": 0.318, + "area": 307273.68, + "id": 2, + "iscrowd": 0 + }, + { + "image_id": 73, + "category_id": 4, + "bbox": [12.66, 3.32, 268.6, 271.91], + "score": 0.726, + "area": 73035.02600000001, + "id": 3, + "iscrowd": 0 + }, + { + "image_id": 74, + "category_id": 18, + "bbox": [87.87, 276.25, 296.42, 103.18], + "score": 0.546, + "area": 30584.615600000005, + "id": 4, + "iscrowd": 0 + }, + { + "image_id": 74, + "category_id": 2, + "bbox": [0, 3.66, 142.15, 312.4], + "score": 0.3, + "area": 44407.659999999996, + "id": 5, + "iscrowd": 0 + }, + { + "image_id": 74, + "category_id": 1, + "bbox": [296.55, 93.96, 18.42, 58.83], + "score": 0.407, + "area": 1083.6486, + "id": 6, + "iscrowd": 0 + }, + { + "image_id": 74, + "category_id": 1, + "bbox": [328.94, 97.05, 13.55, 25.93], + "score": 0.611, + "area": 351.3515, + "id": 7, + "iscrowd": 0 + }, + { + "image_id": 74, + "category_id": 1, + "bbox": [356.62, 95.47, 15.71, 52.08], + "score": 0.335, + "area": 818.1768000000001, + "id": 8, + "iscrowd": 0 + }, + { + "image_id": 74, + "category_id": 1, + "bbox": [464.08, 105.09, 31.66, 41.9], + "score": 0.805, + "area": 1326.5539999999999, + "id": 9, + "iscrowd": 0 + }, + { + "image_id": 74, + "category_id": 1, + "bbox": [276.11, 103.84, 15.33, 46.88], + "score": 0.953, + "area": 718.6704000000001, + "id": 10, + "iscrowd": 0 + }, + { + "image_id": 74, + "category_id": 1, + "bbox": [281.65, 103.41, 11.69, 24.25], + "score": 0.087, + "area": 283.4825, + "id": 11, + "iscrowd": 0 + }, + { + "image_id": 133, + "category_id": 65, + "bbox": [0, 2.87, 601, 418.65], + "score": 0.699, + "area": 251608.65, + "id": 12, + "iscrowd": 0 + }, + { + "image_id": 133, + "category_id": 88, + "bbox": [521.34, 20.93, 47.95, 28.72], + "score": 0.423, + "area": 1377.124, + "id": 13, + "iscrowd": 0 + }, + { + "image_id": 136, + "category_id": 16, + "bbox": [8.84, 114.71, 53.54, 257.7], + "score": 0.473, + "area": 13797.258, + "id": 14, + "iscrowd": 0 + }, + { + "image_id": 136, + "category_id": 1, + "bbox": [9, 61.35, 68.92, 312.65], + "score": 0.796, + "area": 21547.838, + "id": 15, + "iscrowd": 0 + }, + { + "image_id": 136, + "category_id": 38, + "bbox": [101, 116.38, 185.74, 252.68], + "score": 0.127, + "area": 46932.783200000005, + "id": 16, + "iscrowd": 0 + }, + { + "image_id": 136, + "category_id": 25, + "bbox": [315.72, 131.83, 128.04, 164.25], + "score": 0.326, + "area": 21030.57, + "id": 17, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 64, + "bbox": [236.98, 142.51, 24.7, 69.5], + "score": 0.221, + "area": 1716.6499999999999, + "id": 18, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 37, + "bbox": [20.03, 167.76, 149.32, 94.87], + "score": 0.849, + "area": 14165.9884, + "id": 19, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 72, + "bbox": [559.21, 209.19, 80.79, 78.73], + "score": 0.518, + "area": 6360.596700000001, + "id": 20, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 13, + "bbox": [352.98, 218.05, 56, 102.83], + "score": 0.477, + "area": 5758.48, + "id": 21, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 62, + "bbox": [292.69, 218, 61.83, 98.48], + "score": 0.38, + "area": 6089.0184, + "id": 22, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 62, + "bbox": [410.2, 223.01, 30.17, 81.36], + "score": 0.864, + "area": 2454.6312000000003, + "id": 23, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 62, + "bbox": [317.4, 219.24, 21.58, 11.59], + "score": 0.401, + "area": 250.11219999999997, + "id": 24, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 62, + "bbox": [413.25, 219.02, 9.63, 12.52], + "score": 0.375, + "area": 120.5676, + "id": 25, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 1, + "bbox": [413.8, 157.61, 53.05, 138.01], + "score": 0.157, + "area": 7321.4304999999995, + "id": 26, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 1, + "bbox": [386.43, 172.21, 15.12, 35.74], + "score": 0.71, + "area": 540.3888, + "id": 27, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 78, + "bbox": [513.22, 205.75, 14.74, 15.97], + "score": 0.075, + "area": 235.39780000000002, + "id": 28, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 82, + "bbox": [492.1, 174.34, 20.29, 108.31], + "score": 0.26, + "area": 2197.6099, + "id": 29, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 85, + "bbox": [446.77, 121.12, 13.97, 21.88], + "score": 0.164, + "area": 305.6636, + "id": 30, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 86, + "bbox": [539.06, 309.43, 36.68, 89.67], + "score": 0.806, + "area": 3289.0956, + "id": 31, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 86, + "bbox": [349.76, 208.84, 11.37, 22.55], + "score": 0.474, + "area": 256.3935, + "id": 32, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 11, + "bbox": [337.79, 199.5, 9.73, 16.73], + "score": 0.532, + "area": 162.7829, + "id": 33, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 61, + "bbox": [305.21, 231.22, 125.56, 88.93], + "score": 0.106, + "area": 11166.0508, + "id": 34, + "iscrowd": 0 + }, + { + "image_id": 143, + "category_id": 16, + "bbox": [441.88, 192.47, 131.18, 176.35], + "score": 0.829, + "area": 23133.593, + "id": 35, + "iscrowd": 0 + }, + { + "image_id": 143, + "category_id": 16, + "bbox": [275.59, 126.88, 100, 162.77], + "score": 0.755, + "area": 16277.000000000002, + "id": 36, + "iscrowd": 0 + }, + { + "image_id": 143, + "category_id": 16, + "bbox": [45.96, 20.22, 95.5, 133.71], + "score": 0.144, + "area": 12769.305, + "id": 37, + "iscrowd": 0 + }, + { + "image_id": 143, + "category_id": 16, + "bbox": [123.18, 237.43, 114.24, 134.32], + "score": 0.878, + "area": 15344.716799999998, + "id": 38, + "iscrowd": 0 + }, + { + "image_id": 143, + "category_id": 16, + "bbox": [468.71, 320.79, 94.24, 154.59], + "score": 0.756, + "area": 14568.561599999999, + "id": 39, + "iscrowd": 0 + }, + { + "image_id": 143, + "category_id": 1, + "bbox": [124.19, 104.46, 95.77, 167.42], + "score": 0.523, + "area": 16033.813399999997, + "id": 40, + "iscrowd": 0 + }, + { + "image_id": 143, + "category_id": 35, + "bbox": [129.08, 319.22, 92.28, 161.25], + "score": 0.42, + "area": 14880.15, + "id": 41, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 44, + "bbox": [388.84, 183.92, 8.02, 26.87], + "score": 0.923, + "area": 215.4974, + "id": 42, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 44, + "bbox": [374.4, 189.64, 6.87, 20.93], + "score": 0.46, + "area": 143.7891, + "id": 43, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 44, + "bbox": [366.79, 184.72, 7.05, 27.54], + "score": 0.168, + "area": 194.15699999999998, + "id": 44, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 44, + "bbox": [383.16, 187.56, 7.21, 24.24], + "score": 0.084, + "area": 174.7704, + "id": 45, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 44, + "bbox": [428.79, 280.36, 18.32, 31.37], + "score": 0.145, + "area": 574.6984, + "id": 46, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 44, + "bbox": [463.1, 282.68, 9.92, 36.55], + "score": 0.263, + "area": 362.57599999999996, + "id": 47, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 44, + "bbox": [401.87, 161.68, 9.4, 17.1], + "score": 0.917, + "area": 160.74, + "id": 48, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 44, + "bbox": [374.61, 135.8, 10.49, 15.16], + "score": 0.805, + "area": 159.0284, + "id": 49, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 44, + "bbox": [413.11, 131.22, 10.65, 16.86], + "score": 0.863, + "area": 179.559, + "id": 50, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 82, + "bbox": [439.7, 171.07, 96.72, 138.04], + "score": 0.178, + "area": 13351.228799999999, + "id": 51, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 57, + "bbox": [404.56, 132.62, 9.78, 15.75], + "score": 0.155, + "area": 154.035, + "id": 52, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 62, + "bbox": [173.04, 409.16, 151.36, 70.84], + "score": 0.3, + "area": 10722.342400000001, + "id": 53, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 62, + "bbox": [158.47, 231.64, 21.72, 21.24], + "score": 0.438, + "area": 461.33279999999996, + "id": 54, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 46, + "bbox": [154.96, 189.95, 12.83, 28.26], + "score": 0.125, + "area": 362.5758, + "id": 55, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 46, + "bbox": [108.42, 196.32, 14.31, 33.4], + "score": 0.631, + "area": 477.954, + "id": 56, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 46, + "bbox": [57.59, 196.12, 19.66, 37.63], + "score": 0.04, + "area": 739.8058000000001, + "id": 57, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 46, + "bbox": [81.76, 195.46, 15.44, 39.6], + "score": 0.048, + "area": 611.424, + "id": 58, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 46, + "bbox": [94.89, 196.13, 11.83, 36.93], + "score": 0.679, + "area": 436.8819, + "id": 59, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 46, + "bbox": [77.17, 194.99, 10.84, 39.68], + "score": 0.883, + "area": 430.1312, + "id": 60, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 46, + "bbox": [134.3, 192.93, 10.75, 35.37], + "score": 0.154, + "area": 380.22749999999996, + "id": 61, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 28, + "bbox": [140.01, 190.76, 16.1, 36.54], + "score": 0.134, + "area": 588.294, + "id": 62, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 47, + "bbox": [148.61, 233.85, 26.78, 20.8], + "score": 0.269, + "area": 557.024, + "id": 63, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 47, + "bbox": [176.77, 232.66, 20.14, 16.13], + "score": 0.616, + "area": 324.8582, + "id": 64, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 47, + "bbox": [195.65, 228.88, 19.99, 15.51], + "score": 0.845, + "area": 310.0449, + "id": 65, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 47, + "bbox": [512.83, 134.18, 15.4, 21.38], + "score": 0.231, + "area": 329.252, + "id": 66, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 47, + "bbox": [529.63, 139.85, 15.19, 13.71], + "score": 0.71, + "area": 208.2549, + "id": 67, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 47, + "bbox": [505.11, 146.68, 6.26, 8.2], + "score": 0.301, + "area": 51.331999999999994, + "id": 68, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 47, + "bbox": [172.77, 203.22, 17.75, 18.85], + "score": 0.302, + "area": 334.58750000000003, + "id": 69, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 47, + "bbox": [135.77, 233.33, 15.32, 20.21], + "score": 0.96, + "area": 309.6172, + "id": 70, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 58, + "bbox": [113.56, 236.81, 23.23, 19.52], + "score": 0.062, + "area": 453.4496, + "id": 71, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 51, + "bbox": [513.25, 221.5, 56.15, 10.53], + "score": 0.347, + "area": 591.2595, + "id": 72, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 51, + "bbox": [503.95, 211.57, 29.18, 4.68], + "score": 0.364, + "area": 136.5624, + "id": 73, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 51, + "bbox": [505.14, 219.24, 56.89, 4.21], + "score": 0.089, + "area": 239.5069, + "id": 74, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 51, + "bbox": [511.83, 212.69, 55.62, 6.07], + "score": 0.084, + "area": 337.6134, + "id": 75, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 78, + "bbox": [380.72, 227.45, 53.28, 30.36], + "score": 0.856, + "area": 1617.5808, + "id": 76, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 79, + "bbox": [273.61, 263.38, 46.82, 34.22], + "score": 0.5, + "area": 1602.1804, + "id": 77, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 22, + "bbox": [514.26, 215.43, 52.03, 5.24], + "score": 0.853, + "area": 272.6372, + "id": 78, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 74, + "bbox": [362.88, 171.41, 13.36, 9.05], + "score": 0.704, + "area": 120.908, + "id": 79, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 67, + "bbox": [364.78, 459.12, 137.14, 14.96], + "score": 0.236, + "area": 2051.6144, + "id": 80, + "iscrowd": 0 + }, + { + "image_id": 192, + "category_id": 1, + "bbox": [341.48, 253.48, 131.6, 220.05], + "score": 0.123, + "area": 28958.58, + "id": 81, + "iscrowd": 0 + }, + { + "image_id": 192, + "category_id": 1, + "bbox": [448.21, 218.33, 78.41, 248.03], + "score": 0.864, + "area": 19448.0323, + "id": 82, + "iscrowd": 0 + }, + { + "image_id": 192, + "category_id": 1, + "bbox": [0.93, 274.23, 36.53, 205.51], + "score": 0.919, + "area": 7507.2803, + "id": 83, + "iscrowd": 0 + }, + { + "image_id": 192, + "category_id": 1, + "bbox": [255.11, 179.46, 111.35, 235.68], + "score": 0.222, + "area": 26242.968, + "id": 84, + "iscrowd": 0 + }, + { + "image_id": 192, + "category_id": 39, + "bbox": [9.2, 381.39, 36, 92.98], + "score": 0.054, + "area": 3347.28, + "id": 85, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 50, + "bbox": [285.73, 200.54, 210.81, 48.65], + "score": 0.574, + "area": 10255.9065, + "id": 86, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 50, + "bbox": [548.65, 250.15, 73.72, 122.35], + "score": 0.851, + "area": 9019.642, + "id": 87, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 50, + "bbox": [470.49, 390.81, 121.54, 88.15], + "score": 0.138, + "area": 10713.751000000002, + "id": 88, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 50, + "bbox": [524.71, 129.89, 19.64, 9.29], + "score": 0.081, + "area": 182.45559999999998, + "id": 89, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 57, + "bbox": [443.17, 363.72, 22.98, 42.51], + "score": 0.405, + "area": 976.8797999999999, + "id": 90, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 57, + "bbox": [392.24, 374.67, 24.62, 53.82], + "score": 0.948, + "area": 1325.0484000000001, + "id": 91, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 57, + "bbox": [411.55, 404.5, 55.98, 30.74], + "score": 0.876, + "area": 1720.8251999999998, + "id": 92, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 57, + "bbox": [459.6, 401.48, 26.37, 31.69], + "score": 0.361, + "area": 835.6653000000001, + "id": 93, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 57, + "bbox": [412.04, 417.75, 13.64, 31.75], + "score": 0.963, + "area": 433.07, + "id": 94, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 57, + "bbox": [577.34, 377.01, 12.18, 15.03], + "score": 0.972, + "area": 183.06539999999998, + "id": 95, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 57, + "bbox": [368.9, 388.96, 31.37, 27.25], + "score": 0.183, + "area": 854.8325, + "id": 96, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 57, + "bbox": [165.75, 359.55, 41.76, 41.77], + "score": 0.036, + "area": 1744.3152, + "id": 97, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 57, + "bbox": [435.1, 446.58, 20.64, 10.6], + "score": 0.033, + "area": 218.784, + "id": 98, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 46, + "bbox": [232.52, 42.78, 71.44, 43.44], + "score": 0.536, + "area": 3103.3536, + "id": 99, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 51, + "bbox": [277.91, 58.21, 128.58, 62.76], + "score": 0.213, + "area": 8069.6808, + "id": 100, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 51, + "bbox": [219.69, 197.88, 169.4, 86.23], + "score": 0.227, + "area": 14607.362000000001, + "id": 101, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 51, + "bbox": [376.02, 337.26, 161.24, 139.17], + "score": 0.111, + "area": 22439.7708, + "id": 102, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 51, + "bbox": [321.22, 157.3, 132.68, 69.04], + "score": 0.122, + "area": 9160.227200000001, + "id": 103, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 51, + "bbox": [349.69, 115.74, 151.25, 64.57], + "score": 0.47, + "area": 9766.2125, + "id": 104, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 51, + "bbox": [183.83, 72.85, 88.39, 33.07], + "score": 0.621, + "area": 2923.0573, + "id": 105, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 51, + "bbox": [358.33, 47.29, 92.99, 62.87], + "score": 0.43, + "area": 5846.2813, + "id": 106, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 51, + "bbox": [105.26, 88.64, 96.13, 39.34], + "score": 0.62, + "area": 3781.7542000000003, + "id": 107, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 51, + "bbox": [0, 145.79, 71.35, 73.52], + "score": 0.587, + "area": 5245.651999999999, + "id": 108, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 10, + "bbox": [421.99, 236.14, 144.88, 113.72], + "score": 0.888, + "area": 16475.7536, + "id": 109, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 56, + "bbox": [200.46, 254.35, 18.25, 31.59], + "score": 0.958, + "area": 576.5175, + "id": 110, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 56, + "bbox": [281.51, 393.55, 37.68, 28.9], + "score": 0.892, + "area": 1088.952, + "id": 111, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 56, + "bbox": [172.36, 269.84, 21.54, 29.09], + "score": 0.108, + "area": 626.5985999999999, + "id": 112, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 56, + "bbox": [119.3, 340.83, 40, 25.45], + "score": 0.593, + "area": 1018.0, + "id": 113, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 56, + "bbox": [250.3, 325.7, 24.42, 20.53], + "score": 0.479, + "area": 501.34260000000006, + "id": 114, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 56, + "bbox": [288.99, 290.28, 17.52, 33.3], + "score": 0.767, + "area": 583.4159999999999, + "id": 115, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 56, + "bbox": [150.98, 262.69, 16.43, 13.92], + "score": 0.277, + "area": 228.7056, + "id": 116, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 70, + "bbox": [0, 41.94, 555, 438.06], + "score": 0.539, + "area": 243123.3, + "id": 117, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 6, + "bbox": [214.7, 407.69, 84.78, 66.08], + "score": 0.03, + "area": 5602.2624, + "id": 118, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 16, + "bbox": [25.84, 109.71, 117.18, 60.2], + "score": 0.896, + "area": 7054.236000000001, + "id": 119, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 43, + "bbox": [6, 188.89, 172.64, 92.01], + "score": 0.624, + "area": 15884.606399999999, + "id": 120, + "iscrowd": 0 + }, + { + "image_id": 208, + "category_id": 81, + "bbox": [52.08, 108.94, 587.92, 366.75], + "score": 0.476, + "area": 215619.65999999997, + "id": 121, + "iscrowd": 0 + }, + { + "image_id": 208, + "category_id": 49, + "bbox": [0, 150.36, 299.55, 109.76], + "score": 0.287, + "area": 32878.608, + "id": 122, + "iscrowd": 0 + }, + { + "image_id": 208, + "category_id": 90, + "bbox": [133.81, 170.21, 191.76, 88.89], + "score": 0.495, + "area": 17045.5464, + "id": 123, + "iscrowd": 0 + }, + { + "image_id": 208, + "category_id": 90, + "bbox": [42.35, 122.18, 158.34, 82.29], + "score": 0.126, + "area": 13029.798600000002, + "id": 124, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 63, + "bbox": [333.46, 250.92, 146.54, 296.02], + "score": 0.674, + "area": 43378.7708, + "id": 125, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 63, + "bbox": [0, 278.19, 142.45, 260.43], + "score": 0.434, + "area": 37098.2535, + "id": 126, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 1, + "bbox": [147.7, 6.57, 200.43, 626.17], + "score": 0.857, + "area": 125503.2531, + "id": 127, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 1, + "bbox": [4.44, 263.55, 205.66, 348.05], + "score": 0.25, + "area": 71579.963, + "id": 128, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 1, + "bbox": [307.71, 263.06, 107.15, 257.15], + "score": 0.622, + "area": 27553.622499999998, + "id": 129, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 1, + "bbox": [407.51, 337.98, 72.49, 230.11], + "score": 0.319, + "area": 16680.6739, + "id": 130, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 47, + "bbox": [106.72, 595.29, 50.72, 44.71], + "score": 0.986, + "area": 2267.6912, + "id": 131, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 47, + "bbox": [0, 596.49, 39.42, 43.51], + "score": 0.097, + "area": 1715.1642, + "id": 132, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 75, + "bbox": [116.1, 321.7, 44.12, 22.16], + "score": 0.703, + "area": 977.6991999999999, + "id": 133, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 64, + "bbox": [88.85, 71.11, 109.84, 201.2], + "score": 0.748, + "area": 22099.808, + "id": 134, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 64, + "bbox": [135.45, 350.26, 49.78, 72.27], + "score": 0.521, + "area": 3597.6005999999998, + "id": 135, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 10, + "bbox": [50.27, 199.13, 25.09, 23.76], + "score": 0.923, + "area": 596.1384, + "id": 136, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 10, + "bbox": [227.37, 296.5, 11.3, 11.39], + "score": 0.526, + "area": 128.70700000000002, + "id": 137, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 10, + "bbox": [26.58, 303.1, 5.69, 7.11], + "score": 0.789, + "area": 40.45590000000001, + "id": 138, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 10, + "bbox": [27.93, 276.6, 5.82, 11.76], + "score": 0.96, + "area": 68.4432, + "id": 139, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 10, + "bbox": [89.93, 177.97, 15.03, 14.65], + "score": 0.956, + "area": 220.1895, + "id": 140, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 10, + "bbox": [301.98, 260.82, 7.09, 14.18], + "score": 0.489, + "area": 100.5362, + "id": 141, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 10, + "bbox": [295.6, 261.4, 6.39, 12.2], + "score": 0.511, + "area": 77.958, + "id": 142, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 10, + "bbox": [55.4, 299.17, 4.88, 4.3], + "score": 0.605, + "area": 20.983999999999998, + "id": 143, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 27, + "bbox": [177.16, 362.21, 50.4, 55.49], + "score": 0.683, + "area": 2796.696, + "id": 144, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 27, + "bbox": [208.47, 340.87, 11.3, 19.58], + "score": 0.116, + "area": 221.254, + "id": 145, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 8, + "bbox": [286.17, 277.96, 204.94, 122.97], + "score": 0.912, + "area": 25201.4718, + "id": 146, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 8, + "bbox": [513.96, 323.81, 120.04, 156.19], + "score": 0.881, + "area": 18749.0476, + "id": 147, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 8, + "bbox": [25.24, 301.11, 141.23, 59.84], + "score": 0.563, + "area": 8451.2032, + "id": 148, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [144.57, 345.58, 71.52, 134.42], + "score": 0.7, + "area": 9613.718399999998, + "id": 149, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [213.62, 332.49, 22.28, 60.49], + "score": 0.646, + "area": 1347.7172, + "id": 150, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [265.09, 330.65, 16.37, 72.88], + "score": 0.23, + "area": 1193.0456, + "id": 151, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [568.98, 327.79, 14.75, 42.24], + "score": 0.044, + "area": 623.0400000000001, + "id": 152, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [124.19, 325.45, 10.13, 37.03], + "score": 0.765, + "area": 375.11390000000006, + "id": 153, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [314.72, 334.13, 20.17, 74.8], + "score": 0.055, + "area": 1508.7160000000001, + "id": 154, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [78.65, 326.41, 20.3, 48.17], + "score": 0.278, + "area": 977.8510000000001, + "id": 155, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [138.11, 325.59, 15.55, 38.45], + "score": 0.868, + "area": 597.8975, + "id": 156, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [226.17, 327.33, 15.21, 69.54], + "score": 0.648, + "area": 1057.7034, + "id": 157, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [190.83, 330.6, 20.63, 39.77], + "score": 0.626, + "area": 820.4551, + "id": 158, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 65, + "bbox": [231.74, 326.46, 28.38, 79.72], + "score": 0.412, + "area": 2262.4536, + "id": 159, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 14, + "bbox": [291.83, 337.14, 33.15, 77], + "score": 0.427, + "area": 2552.5499999999997, + "id": 160, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 31, + "bbox": [94.13, 344.24, 5.88, 12.48], + "score": 0.514, + "area": 73.3824, + "id": 161, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 31, + "bbox": [209.91, 341.48, 11.21, 29.05], + "score": 0.455, + "area": 325.6505, + "id": 162, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 31, + "bbox": [472.6, 340.88, 6.14, 4.6], + "score": 0.292, + "area": 28.243999999999996, + "id": 163, + "iscrowd": 0 + }, + { + "image_id": 283, + "category_id": 44, + "bbox": [49.18, 42.58, 82.4, 311.75], + "score": 0.676, + "area": 25688.2, + "id": 164, + "iscrowd": 0 + }, + { + "image_id": 283, + "category_id": 62, + "bbox": [10.23, 142.61, 59.56, 86.35], + "score": 0.691, + "area": 5143.005999999999, + "id": 165, + "iscrowd": 0 + }, + { + "image_id": 283, + "category_id": 62, + "bbox": [149.65, 67.02, 278.35, 289.03], + "score": 0.914, + "area": 80451.5005, + "id": 166, + "iscrowd": 0 + }, + { + "image_id": 283, + "category_id": 70, + "bbox": [144.76, 156.24, 88.26, 214.22], + "score": 0.418, + "area": 18907.0572, + "id": 167, + "iscrowd": 0 + }, + { + "image_id": 285, + "category_id": 23, + "bbox": [0, 68.81, 559, 563.94], + "score": 0.487, + "area": 315242.46, + "id": 168, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 50, + "bbox": [414.57, 349.85, 15.31, 23.55], + "score": 0.071, + "area": 360.5505, + "id": 169, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 50, + "bbox": [398.49, 323.29, 23.1, 25.32], + "score": 0.192, + "area": 584.892, + "id": 170, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 50, + "bbox": [387.89, 341.86, 35.58, 40.04], + "score": 0.055, + "area": 1424.6232, + "id": 171, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 50, + "bbox": [421.95, 114.4, 13.43, 103.27], + "score": 0.643, + "area": 1386.9161, + "id": 172, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 50, + "bbox": [404.99, 367.62, 32.19, 21.11], + "score": 0.256, + "area": 679.5309, + "id": 173, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 50, + "bbox": [394.56, 299.36, 16.54, 32.35], + "score": 0.201, + "area": 535.069, + "id": 174, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 50, + "bbox": [400.36, 355.24, 21.6, 25.14], + "score": 0.937, + "area": 543.024, + "id": 175, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 50, + "bbox": [623.23, 50.49, 4.79, 22.57], + "score": 0.234, + "area": 108.1103, + "id": 176, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 78, + "bbox": [508.6, 312.81, 131.4, 109.39], + "score": 0.895, + "area": 14373.846000000001, + "id": 177, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 48, + "bbox": [607.51, 251.83, 7.67, 40.75], + "score": 0.798, + "area": 312.5525, + "id": 178, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 49, + "bbox": [447.73, 329.05, 17.33, 34.67], + "score": 0.346, + "area": 600.8311, + "id": 179, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 49, + "bbox": [452.37, 320.69, 15.89, 45.17], + "score": 0.014, + "area": 717.7513, + "id": 180, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 49, + "bbox": [460.6, 335.52, 16.28, 33.28], + "score": 0.378, + "area": 541.7984, + "id": 181, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 49, + "bbox": [465.52, 325.24, 13.79, 32.5], + "score": 0.153, + "area": 448.17499999999995, + "id": 182, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 49, + "bbox": [466.28, 335.38, 15.32, 33.19], + "score": 0.438, + "area": 508.4708, + "id": 183, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 85, + "bbox": [0, 0, 47.87, 53.96], + "score": 0.746, + "area": 2583.0652, + "id": 184, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 77, + "bbox": [438.75, 283.15, 35.01, 18.64], + "score": 0.663, + "area": 652.5864, + "id": 185, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 1, + "bbox": [240.91, 90.52, 205.13, 389.34], + "score": 0.19, + "area": 79865.3142, + "id": 186, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 1, + "bbox": [358.87, 58.48, 249.91, 426.04], + "score": 0.191, + "area": 106471.6564, + "id": 187, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 23, + "bbox": [49.6, 104.76, 587.67, 374.74], + "score": 0.08, + "area": 220223.4558, + "id": 188, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 84, + "bbox": [232.65, 220.95, 86.44, 37.42], + "score": 0.749, + "area": 3234.5848, + "id": 189, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 3, + "bbox": [349.46, 77.31, 101.02, 65.61], + "score": 0.078, + "area": 6627.9222, + "id": 190, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 32, + "bbox": [461.06, 177.54, 18.31, 43.81], + "score": 0.406, + "area": 802.1611, + "id": 191, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 32, + "bbox": [317.37, 171.71, 22.5, 57.98], + "score": 0.448, + "area": 1304.55, + "id": 192, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 28, + "bbox": [24.03, 171.36, 119.45, 79.63], + "score": 0.057, + "area": 9511.8035, + "id": 193, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 27, + "bbox": [46.45, 160.85, 85.28, 47.84], + "score": 0.712, + "area": 4079.7952000000005, + "id": 194, + "iscrowd": 0 + }, + { + "image_id": 338, + "category_id": 82, + "bbox": [216.59, 149.74, 95.78, 177.26], + "score": 0.919, + "area": 16977.962799999998, + "id": 195, + "iscrowd": 0 + }, + { + "image_id": 338, + "category_id": 85, + "bbox": [461.17, 88.69, 23.24, 24.61], + "score": 0.333, + "area": 571.9363999999999, + "id": 196, + "iscrowd": 0 + }, + { + "image_id": 338, + "category_id": 28, + "bbox": [325, 142.07, 90.46, 183.7], + "score": 0.397, + "area": 16617.501999999997, + "id": 197, + "iscrowd": 0 + }, + { + "image_id": 338, + "category_id": 1, + "bbox": [436.35, 173.72, 56.91, 153.28], + "score": 0.154, + "area": 8723.164799999999, + "id": 198, + "iscrowd": 0 + }, + { + "image_id": 338, + "category_id": 79, + "bbox": [28.25, 243.96, 138.88, 78.63], + "score": 0.502, + "area": 10920.134399999999, + "id": 199, + "iscrowd": 0 + }, + { + "image_id": 338, + "category_id": 31, + "bbox": [463.15, 231.65, 25.66, 39.34], + "score": 0.787, + "area": 1009.4644000000001, + "id": 200, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 39, + "bbox": [540.09, 121.4, 4, 27.24], + "score": 0.407, + "area": 108.96, + "id": 201, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 40, + "bbox": [567.96, 186.44, 8.91, 6.69], + "score": 0.621, + "area": 59.60790000000001, + "id": 202, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 40, + "bbox": [77.74, 97.16, 6.97, 9.21], + "score": 0.52, + "area": 64.1937, + "id": 203, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 40, + "bbox": [279.48, 25.03, 5.46, 4.72], + "score": 0.069, + "area": 25.771199999999997, + "id": 204, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 40, + "bbox": [557.03, 23.96, 13.89, 9.67], + "score": 0.406, + "area": 134.3163, + "id": 205, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [370.19, 25.03, 17.25, 27.63], + "score": 0.34, + "area": 476.6175, + "id": 206, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [275.1, 18.4, 27.02, 37.16], + "score": 0.437, + "area": 1004.0631999999999, + "id": 207, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [208.34, 22.61, 22.2, 31.01], + "score": 0.752, + "area": 688.422, + "id": 208, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [72.62, 79.12, 18.53, 48.08], + "score": 0.997, + "area": 890.9224, + "id": 209, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [527.83, 136.21, 29.04, 54.59], + "score": 0.888, + "area": 1585.2936, + "id": 210, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [570.61, 160.02, 26.76, 38.03], + "score": 0.294, + "area": 1017.6828, + "id": 211, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [592.37, 154.71, 27.18, 46.6], + "score": 0.344, + "area": 1266.588, + "id": 212, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [266.33, 6.43, 17.69, 27.34], + "score": 0.59, + "area": 483.6446, + "id": 213, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [567.15, 29.27, 11.87, 23.74], + "score": 0.057, + "area": 281.7938, + "id": 214, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [580.99, 32.19, 6.72, 23.92], + "score": 0.804, + "area": 160.7424, + "id": 215, + "iscrowd": 0 + }, + { + "image_id": 359, + "category_id": 36, + "bbox": [155.87, 100.44, 65.37, 34.25], + "score": 0.822, + "area": 2238.9225, + "id": 216, + "iscrowd": 0 + }, + { + "image_id": 359, + "category_id": 10, + "bbox": [245.76, 99.94, 51, 22.4], + "score": 0.773, + "area": 1142.3999999999999, + "id": 217, + "iscrowd": 0 + }, + { + "image_id": 359, + "category_id": 10, + "bbox": [278.48, 293.48, 4.46, 4.11], + "score": 0.324, + "area": 18.3306, + "id": 218, + "iscrowd": 0 + }, + { + "image_id": 359, + "category_id": 46, + "bbox": [2, 290.11, 123.72, 37.58], + "score": 0.914, + "area": 4649.397599999999, + "id": 219, + "iscrowd": 0 + }, + { + "image_id": 360, + "category_id": 18, + "bbox": [258.02, 138.76, 52.1, 36.95], + "score": 0.054, + "area": 1925.0950000000003, + "id": 220, + "iscrowd": 0 + }, + { + "image_id": 360, + "category_id": 36, + "bbox": [248.45, 155.01, 52.19, 41.49], + "score": 0.428, + "area": 2165.3631, + "id": 221, + "iscrowd": 0 + }, + { + "image_id": 387, + "category_id": 73, + "bbox": [176.38, 50.29, 463.62, 312.38], + "score": 0.328, + "area": 144825.6156, + "id": 222, + "iscrowd": 0 + }, + { + "image_id": 387, + "category_id": 77, + "bbox": [355.5, 111.88, 210, 93.75], + "score": 0.064, + "area": 19687.5, + "id": 223, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 77, + "bbox": [293.15, 289.29, 19.84, 22.97], + "score": 0.037, + "area": 455.72479999999996, + "id": 224, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 77, + "bbox": [618.05, 305.74, 15.83, 11.59], + "score": 0.297, + "area": 183.4697, + "id": 225, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [177.61, 138.16, 432.72, 435.32], + "score": 0.607, + "area": 188371.6704, + "id": 226, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [0, 207.32, 72.81, 278.92], + "score": 0.043, + "area": 20308.165200000003, + "id": 227, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [81.02, 270.92, 82.55, 204.66], + "score": 0.465, + "area": 16894.683, + "id": 228, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [111.58, 232.54, 38.86, 46.9], + "score": 0.252, + "area": 1822.5339999999999, + "id": 229, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [132.76, 239.82, 82.12, 109.48], + "score": 0.961, + "area": 8990.4976, + "id": 230, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [413.44, 194.77, 32.94, 105.97], + "score": 0.58, + "area": 3490.6517999999996, + "id": 231, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [420.93, 206.74, 43.9, 113.15], + "score": 0.632, + "area": 4967.285, + "id": 232, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [153.8, 332.19, 60.39, 66.97], + "score": 0.76, + "area": 4044.3183, + "id": 233, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [58.7, 214.92, 48.39, 126.94], + "score": 0.803, + "area": 6142.6266, + "id": 234, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [451.16, 253.08, 70.79, 89.66], + "score": 0.239, + "area": 6347.031400000001, + "id": 235, + "iscrowd": 0 + }, + { + "image_id": 397, + "category_id": 62, + "bbox": [469.94, 0, 143.48, 98.06], + "score": 0.935, + "area": 14069.648799999999, + "id": 236, + "iscrowd": 0 + }, + { + "image_id": 397, + "category_id": 47, + "bbox": [7, 294.57, 36.75, 71.88], + "score": 0.157, + "area": 2641.5899999999997, + "id": 237, + "iscrowd": 0 + }, + { + "image_id": 397, + "category_id": 48, + "bbox": [596.24, 404.53, 43.76, 52.1], + "score": 0.63, + "area": 2279.896, + "id": 238, + "iscrowd": 0 + }, + { + "image_id": 397, + "category_id": 54, + "bbox": [85.25, 349.09, 503.69, 130.91], + "score": 0.657, + "area": 65938.0579, + "id": 239, + "iscrowd": 0 + }, + { + "image_id": 397, + "category_id": 1, + "bbox": [0, 0, 205.4, 205.33], + "score": 0.089, + "area": 42174.78200000001, + "id": 240, + "iscrowd": 0 + }, + { + "image_id": 400, + "category_id": 18, + "bbox": [430.5, 148.97, 97.62, 78.77], + "score": 0.534, + "area": 7689.5274, + "id": 241, + "iscrowd": 0 + }, + { + "image_id": 400, + "category_id": 9, + "bbox": [0, 64.72, 616, 477.48], + "score": 0.136, + "area": 294127.68, + "id": 242, + "iscrowd": 0 + }, + { + "image_id": 415, + "category_id": 10, + "bbox": [62.13, 399.09, 41.97, 44.41], + "score": 0.045, + "area": 1863.8876999999998, + "id": 243, + "iscrowd": 0 + }, + { + "image_id": 415, + "category_id": 1, + "bbox": [1, 257.44, 122.96, 301.62], + "score": 0.373, + "area": 37087.1952, + "id": 244, + "iscrowd": 0 + }, + { + "image_id": 428, + "category_id": 32, + "bbox": [367.56, 200.49, 94.65, 154.52], + "score": 0.097, + "area": 14625.318000000001, + "id": 245, + "iscrowd": 0 + }, + { + "image_id": 428, + "category_id": 1, + "bbox": [218.94, 32.65, 355.92, 323.27], + "score": 0.912, + "area": 115058.25839999999, + "id": 246, + "iscrowd": 0 + }, + { + "image_id": 428, + "category_id": 61, + "bbox": [399.41, 234.73, 175.13, 121.62], + "score": 0.374, + "area": 21299.3106, + "id": 247, + "iscrowd": 0 + }, + { + "image_id": 459, + "category_id": 32, + "bbox": [170.57, 278.99, 61.63, 239.81], + "score": 0.97, + "area": 14779.490300000001, + "id": 248, + "iscrowd": 0 + }, + { + "image_id": 459, + "category_id": 1, + "bbox": [0, 84.85, 457.88, 547.96], + "score": 0.16, + "area": 250899.9248, + "id": 249, + "iscrowd": 0 + }, + { + "image_id": 472, + "category_id": 5, + "bbox": [390.86, 56.68, 87.21, 31.46], + "score": 0.656, + "area": 2743.6266, + "id": 250, + "iscrowd": 0 + }, + { + "image_id": 474, + "category_id": 1, + "bbox": [23.37, 42.7, 309.63, 429.21], + "score": 0.163, + "area": 132896.2923, + "id": 251, + "iscrowd": 0 + }, + { + "image_id": 474, + "category_id": 40, + "bbox": [22.86, 234.5, 88.41, 71.31], + "score": 0.962, + "area": 6304.5171, + "id": 252, + "iscrowd": 0 + }, + { + "image_id": 486, + "category_id": 44, + "bbox": [621.9, 233.27, 16.02, 38.17], + "score": 0.286, + "area": 611.4834, + "id": 253, + "iscrowd": 0 + }, + { + "image_id": 486, + "category_id": 44, + "bbox": [496.82, 278.46, 23.05, 25.31], + "score": 0.004, + "area": 583.3955, + "id": 254, + "iscrowd": 0 + }, + { + "image_id": 486, + "category_id": 44, + "bbox": [82.06, 219.17, 5.12, 29.08], + "score": 0.14, + "area": 148.8896, + "id": 255, + "iscrowd": 0 + }, + { + "image_id": 486, + "category_id": 50, + "bbox": [223.65, 192.28, 6.92, 51.96], + "score": 0.24, + "area": 359.5632, + "id": 256, + "iscrowd": 0 + }, + { + "image_id": 486, + "category_id": 49, + "bbox": [234.42, 200.87, 3.9, 16.53], + "score": 0.182, + "area": 64.467, + "id": 257, + "iscrowd": 0 + }, + { + "image_id": 486, + "category_id": 51, + "bbox": [265.43, 299.84, 131.39, 88.22], + "score": 0.915, + "area": 11591.225799999998, + "id": 258, + "iscrowd": 0 + }, + { + "image_id": 488, + "category_id": 1, + "bbox": [183.76, 210.3, 104.63, 131.03], + "score": 0.596, + "area": 13709.668899999999, + "id": 259, + "iscrowd": 0 + }, + { + "image_id": 488, + "category_id": 1, + "bbox": [553.32, 216.45, 44.13, 49.26], + "score": 0.661, + "area": 2173.8438, + "id": 260, + "iscrowd": 0 + }, + { + "image_id": 488, + "category_id": 1, + "bbox": [37.67, 208.02, 91.24, 152.36], + "score": 0.566, + "area": 13901.3264, + "id": 261, + "iscrowd": 0 + }, + { + "image_id": 488, + "category_id": 39, + "bbox": [211.91, 225.8, 63.45, 45.93], + "score": 0.379, + "area": 2914.2585, + "id": 262, + "iscrowd": 0 + }, + { + "image_id": 488, + "category_id": 40, + "bbox": [562.51, 253.32, 10.5, 7.99], + "score": 0.984, + "area": 83.895, + "id": 263, + "iscrowd": 0 + }, + { + "image_id": 502, + "category_id": 23, + "bbox": [190.96, 88, 273.13, 257.74], + "score": 0.205, + "area": 70396.52620000001, + "id": 264, + "iscrowd": 0 + }, + { + "image_id": 520, + "category_id": 16, + "bbox": [297.04, 140.73, 32.01, 20.26], + "score": 0.519, + "area": 648.5226, + "id": 265, + "iscrowd": 0 + }, + { + "image_id": 520, + "category_id": 16, + "bbox": [230.03, 131.19, 34.17, 13.96], + "score": 0.373, + "area": 477.01320000000004, + "id": 266, + "iscrowd": 0 + }, + { + "image_id": 520, + "category_id": 16, + "bbox": [0, 187.56, 22.33, 15.48], + "score": 0.564, + "area": 345.66839999999996, + "id": 267, + "iscrowd": 0 + }, + { + "image_id": 520, + "category_id": 16, + "bbox": [444.38, 174.06, 21.97, 16.09], + "score": 0.608, + "area": 353.4973, + "id": 268, + "iscrowd": 0 + }, + { + "image_id": 520, + "category_id": 16, + "bbox": [92.33, 194.51, 35.82, 22.84], + "score": 0.937, + "area": 818.1288, + "id": 269, + "iscrowd": 0 + }, + { + "image_id": 520, + "category_id": 1, + "bbox": [244.02, 307.84, 15.21, 34.27], + "score": 0.371, + "area": 521.2467, + "id": 270, + "iscrowd": 0 + }, + { + "image_id": 520, + "category_id": 1, + "bbox": [508.05, 323.61, 8.1, 13.7], + "score": 0.446, + "area": 110.96999999999998, + "id": 271, + "iscrowd": 0 + }, + { + "image_id": 520, + "category_id": 48, + "bbox": [451.26, 217.6, 18.56, 17.79], + "score": 0.874, + "area": 330.1824, + "id": 272, + "iscrowd": 0 + }, + { + "image_id": 520, + "category_id": 44, + "bbox": [156.5, 184.44, 25.5, 11.87], + "score": 0.507, + "area": 302.685, + "id": 273, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 62, + "bbox": [285.41, 138.98, 156.33, 195.53], + "score": 0.82, + "area": 30567.204900000004, + "id": 274, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 62, + "bbox": [3.68, 141.91, 82.48, 194.09], + "score": 0.481, + "area": 16008.543200000002, + "id": 275, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 1, + "bbox": [286.86, 133.95, 155.14, 198.27], + "score": 0.838, + "area": 30759.607799999998, + "id": 276, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 1, + "bbox": [185.41, 79.52, 108.42, 255.62], + "score": 0.584, + "area": 27714.3204, + "id": 277, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 1, + "bbox": [89.34, 68.58, 98.16, 263.52], + "score": 0.769, + "area": 25867.123199999998, + "id": 278, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 31, + "bbox": [23.1, 258.04, 44.05, 77.96], + "score": 0.176, + "area": 3434.1379999999995, + "id": 279, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 31, + "bbox": [193.07, 185.98, 69.48, 63.22], + "score": 0.071, + "area": 4392.5256, + "id": 280, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 31, + "bbox": [350.78, 235.32, 45.57, 12.3], + "score": 0.619, + "area": 560.5110000000001, + "id": 281, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 77, + "bbox": [203.43, 106.55, 13.68, 21.14], + "score": 0.324, + "area": 289.1952, + "id": 282, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 77, + "bbox": [101.62, 87.68, 28.93, 39.35], + "score": 0.44, + "area": 1138.3955, + "id": 283, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 57, + "bbox": [361.35, 224.65, 8.04, 12.47], + "score": 0.124, + "area": 100.2588, + "id": 284, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 37, + "bbox": [596.57, 293.78, 13.81, 7.44], + "score": 0.954, + "area": 102.74640000000001, + "id": 285, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [273.32, 243.73, 113.23, 161.2], + "score": 0.921, + "area": 18252.676, + "id": 286, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [114.47, 301.3, 129.54, 111.31], + "score": 0.381, + "area": 14419.097399999999, + "id": 287, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [36.53, 269.29, 101.67, 142.79], + "score": 0.186, + "area": 14517.459299999999, + "id": 288, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [75.23, 191.66, 28.84, 44.78], + "score": 0.785, + "area": 1291.4552, + "id": 289, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [248.29, 185.44, 29.17, 50.01], + "score": 0.739, + "area": 1458.7917, + "id": 290, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [191.14, 209.98, 30.04, 27.53], + "score": 0.17, + "area": 827.0012, + "id": 291, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [144.91, 193.7, 31.15, 41.98], + "score": 0.76, + "area": 1307.677, + "id": 292, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [3.07, 221.17, 33.48, 77.9], + "score": 0.274, + "area": 2608.092, + "id": 293, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [546.81, 211.75, 21.74, 21], + "score": 0.23, + "area": 456.53999999999996, + "id": 294, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [19.46, 237.09, 42.72, 59.44], + "score": 0.439, + "area": 2539.2767999999996, + "id": 295, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [17.77, 194.87, 25.64, 45.63], + "score": 0.913, + "area": 1169.9532000000002, + "id": 296, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 38, + "bbox": [224.14, 300.79, 52.74, 7.6], + "score": 0.941, + "area": 400.824, + "id": 297, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 40, + "bbox": [217.39, 324.92, 20.27, 30.58], + "score": 0.466, + "area": 619.8566, + "id": 298, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 54, + "bbox": [514.31, 203.13, 16.39, 29.72], + "score": 0.066, + "area": 487.1108, + "id": 299, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 1, + "bbox": [225.51, 335.3, 147.48, 279.2], + "score": 0.292, + "area": 41176.416, + "id": 300, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 1, + "bbox": [433.78, 203.68, 86.22, 93.9], + "score": 0.17, + "area": 8096.058, + "id": 301, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 43, + "bbox": [282.89, 432.81, 105.48, 40.82], + "score": 0.658, + "area": 4305.6936000000005, + "id": 302, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [58.9, 234.39, 43.46, 22.27], + "score": 0.842, + "area": 967.8542, + "id": 303, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [103.71, 232, 45.58, 25.44], + "score": 0.721, + "area": 1159.5552, + "id": 304, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [197.82, 230.33, 47.5, 26.02], + "score": 0.807, + "area": 1235.95, + "id": 305, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [254.16, 307.81, 56.56, 28.28], + "score": 0.666, + "area": 1599.5168, + "id": 306, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [140.73, 258.53, 50.13, 30.25], + "score": 0.051, + "area": 1516.4325000000001, + "id": 307, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [84.79, 256.37, 50.46, 25.81], + "score": 0.785, + "area": 1302.3726, + "id": 308, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [47.44, 260.53, 46.92, 23.68], + "score": 0.136, + "area": 1111.0656000000001, + "id": 309, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [18.52, 235.62, 47.74, 22.44], + "score": 0.776, + "area": 1071.2856000000002, + "id": 310, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [397.26, 304.21, 61.51, 46.54], + "score": 0.75, + "area": 2862.6754, + "id": 311, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [331.82, 279.27, 51.53, 21.61], + "score": 0.44, + "area": 1113.5633, + "id": 312, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [307.39, 307.56, 51.38, 27.27], + "score": 0.684, + "area": 1401.1326000000001, + "id": 313, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [229.06, 228.6, 66.46, 77.41], + "score": 0.565, + "area": 5144.668599999999, + "id": 314, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [149.8, 232.51, 48.71, 41.53], + "score": 0.493, + "area": 2022.9263, + "id": 315, + "iscrowd": 0 + }, + { + "image_id": 569, + "category_id": 1, + "bbox": [100.1, 269.14, 80.18, 145.38], + "score": 0.253, + "area": 11656.5684, + "id": 316, + "iscrowd": 0 + }, + { + "image_id": 569, + "category_id": 38, + "bbox": [168.12, 216.94, 16.66, 32.58], + "score": 0.839, + "area": 542.7828, + "id": 317, + "iscrowd": 0 + }, + { + "image_id": 569, + "category_id": 38, + "bbox": [142.5, 229.28, 22.99, 23.7], + "score": 0.761, + "area": 544.8629999999999, + "id": 318, + "iscrowd": 0 + }, + { + "image_id": 569, + "category_id": 38, + "bbox": [134.91, 239.77, 25.66, 23.29], + "score": 0.369, + "area": 597.6214, + "id": 319, + "iscrowd": 0 + }, + { + "image_id": 589, + "category_id": 34, + "bbox": [465.86, 229.41, 18.75, 6.3], + "score": 0.729, + "area": 118.125, + "id": 320, + "iscrowd": 0 + }, + { + "image_id": 589, + "category_id": 1, + "bbox": [359.91, 184.57, 145.43, 184.29], + "score": 0.882, + "area": 26801.2947, + "id": 321, + "iscrowd": 0 + }, + { + "image_id": 590, + "category_id": 81, + "bbox": [86.87, 295.01, 85.2, 11.57], + "score": 0.151, + "area": 985.764, + "id": 322, + "iscrowd": 0 + }, + { + "image_id": 590, + "category_id": 51, + "bbox": [80, 292.99, 92.87, 27.6], + "score": 0.79, + "area": 2563.2120000000004, + "id": 323, + "iscrowd": 0 + }, + { + "image_id": 599, + "category_id": 64, + "bbox": [545.37, 5.48, 94.63, 237.26], + "score": 0.751, + "area": 22451.9138, + "id": 324, + "iscrowd": 0 + }, + { + "image_id": 599, + "category_id": 17, + "bbox": [18.92, 37.13, 412.5, 365.75], + "score": 0.952, + "area": 150871.875, + "id": 325, + "iscrowd": 0 + }, + { + "image_id": 599, + "category_id": 63, + "bbox": [56, 1.83, 584, 400.9], + "score": 0.314, + "area": 234125.59999999998, + "id": 326, + "iscrowd": 0 + }, + { + "image_id": 599, + "category_id": 75, + "bbox": [481.01, 198.19, 158.99, 87.8], + "score": 0.438, + "area": 13959.322, + "id": 327, + "iscrowd": 0 + }, + { + "image_id": 599, + "category_id": 75, + "bbox": [382.58, 167.29, 198, 60.5], + "score": 0.492, + "area": 11979.0, + "id": 328, + "iscrowd": 0 + }, + { + "image_id": 623, + "category_id": 15, + "bbox": [283.29, 72.62, 91.71, 238.38], + "score": 0.823, + "area": 21861.8298, + "id": 329, + "iscrowd": 0 + }, + { + "image_id": 623, + "category_id": 88, + "bbox": [29.12, 31.46, 345.88, 462.92], + "score": 0.872, + "area": 160114.7696, + "id": 330, + "iscrowd": 0 + }, + { + "image_id": 623, + "category_id": 62, + "bbox": [277.62, 62.92, 97.38, 239.84], + "score": 0.872, + "area": 23355.6192, + "id": 331, + "iscrowd": 0 + }, + { + "image_id": 623, + "category_id": 1, + "bbox": [144.34, 1.3, 211.69, 490.91], + "score": 0.735, + "area": 103920.73790000001, + "id": 332, + "iscrowd": 0 + }, + { + "image_id": 626, + "category_id": 85, + "bbox": [314.52, 124.36, 41.32, 42.47], + "score": 0.378, + "area": 1754.8604, + "id": 333, + "iscrowd": 0 + }, + { + "image_id": 626, + "category_id": 73, + "bbox": [398.15, 129.71, 20.88, 46.91], + "score": 0.701, + "area": 979.4807999999999, + "id": 334, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 65, + "bbox": [0, 266.85, 376.5, 208.25], + "score": 0.144, + "area": 78406.125, + "id": 335, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 64, + "bbox": [187.36, 136.56, 60.78, 92.39], + "score": 0.344, + "area": 5615.4642, + "id": 336, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 84, + "bbox": [455.98, 192.5, 8.57, 35.59], + "score": 0.088, + "area": 305.00630000000007, + "id": 337, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 84, + "bbox": [453.31, 252.97, 8.02, 33.93], + "score": 0.589, + "area": 272.11859999999996, + "id": 338, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 84, + "bbox": [444.76, 297.63, 5.32, 39.68], + "score": 0.902, + "area": 211.0976, + "id": 339, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 84, + "bbox": [504.95, 191.02, 12.15, 36.78], + "score": 0.405, + "area": 446.877, + "id": 340, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 84, + "bbox": [487.51, 199.33, 7.48, 28.05], + "score": 0.032, + "area": 209.81400000000002, + "id": 341, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 84, + "bbox": [527.02, 248.57, 24.4, 40.43], + "score": 0.026, + "area": 986.492, + "id": 342, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 84, + "bbox": [524.32, 97.38, 2.8, 37.77], + "score": 0.084, + "area": 105.756, + "id": 343, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 84, + "bbox": [454.66, 245.27, 48.55, 12.14], + "score": 0.704, + "area": 589.397, + "id": 344, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 84, + "bbox": [461.77, 253.68, 8.24, 33.31], + "score": 0.451, + "area": 274.4744, + "id": 345, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 62, + "bbox": [234.82, 230.45, 104.72, 87.69], + "score": 0.051, + "area": 9182.8968, + "id": 346, + "iscrowd": 0 + }, + { + "image_id": 636, + "category_id": 70, + "bbox": [122.72, 89.37, 265.23, 536.22], + "score": 0.283, + "area": 142221.6306, + "id": 347, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 2, + "bbox": [563.25, 265.02, 17.49, 21.82], + "score": 0.031, + "area": 381.6318, + "id": 348, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 6, + "bbox": [100.35, 100.03, 417.42, 228.9], + "score": 0.329, + "area": 95547.43800000001, + "id": 349, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 1, + "bbox": [580.29, 233.52, 11.19, 13.08], + "score": 0.993, + "area": 146.3652, + "id": 350, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 1, + "bbox": [569.24, 240.92, 17.46, 34.38], + "score": 0.18, + "area": 600.2748, + "id": 351, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 1, + "bbox": [595.87, 232.88, 9.74, 13.22], + "score": 0.969, + "area": 128.7628, + "id": 352, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 1, + "bbox": [556.69, 231.63, 7.03, 22.85], + "score": 0.25, + "area": 160.6355, + "id": 353, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 1, + "bbox": [463.68, 225.62, 5.04, 26.32], + "score": 0.583, + "area": 132.6528, + "id": 354, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 1, + "bbox": [606.61, 231.89, 7.13, 14.45], + "score": 0.591, + "area": 103.0285, + "id": 355, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 1, + "bbox": [25.91, 207.55, 29.39, 23], + "score": 0.355, + "area": 675.97, + "id": 356, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 1, + "bbox": [3.82, 209.9, 20.4, 22.96], + "score": 0.751, + "area": 468.38399999999996, + "id": 357, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 1, + "bbox": [0, 220.97, 6.32, 18.94], + "score": 0.862, + "area": 119.70080000000002, + "id": 358, + "iscrowd": 0 + }, + { + "image_id": 661, + "category_id": 77, + "bbox": [90.11, 4.42, 111.24, 44.67], + "score": 0.843, + "area": 4969.0908, + "id": 359, + "iscrowd": 0 + }, + { + "image_id": 661, + "category_id": 5, + "bbox": [17.15, 45.37, 337.07, 289.04], + "score": 0.734, + "area": 97426.71280000001, + "id": 360, + "iscrowd": 0 + }, + { + "image_id": 675, + "category_id": 17, + "bbox": [325.71, 81.3, 314.29, 391.6], + "score": 0.248, + "area": 123075.96400000002, + "id": 361, + "iscrowd": 0 + }, + { + "image_id": 675, + "category_id": 77, + "bbox": [99.84, 232.35, 34.79, 25.58], + "score": 0.102, + "area": 889.9282, + "id": 362, + "iscrowd": 0 + }, + { + "image_id": 675, + "category_id": 47, + "bbox": [243.34, 209.84, 69.65, 98.5], + "score": 0.616, + "area": 6860.525000000001, + "id": 363, + "iscrowd": 0 + }, + { + "image_id": 675, + "category_id": 47, + "bbox": [138.74, 231.28, 56.88, 73.37], + "score": 0.789, + "area": 4173.2856, + "id": 364, + "iscrowd": 0 + }, + { + "image_id": 675, + "category_id": 60, + "bbox": [169.37, 179.04, 46.55, 90.39], + "score": 0.817, + "area": 4207.6545, + "id": 365, + "iscrowd": 0 + }, + { + "image_id": 692, + "category_id": 90, + "bbox": [315.39, 263.78, 37.77, 33.79], + "score": 0.255, + "area": 1276.2483, + "id": 366, + "iscrowd": 0 + }, + { + "image_id": 692, + "category_id": 90, + "bbox": [383, 338.04, 22.31, 29.38], + "score": 0.757, + "area": 655.4677999999999, + "id": 367, + "iscrowd": 0 + }, + { + "image_id": 692, + "category_id": 1, + "bbox": [288.42, 30.26, 351.58, 428.34], + "score": 0.608, + "area": 150595.77719999998, + "id": 368, + "iscrowd": 0 + }, + { + "image_id": 692, + "category_id": 1, + "bbox": [188.87, 129.27, 307.8, 343.32], + "score": 0.073, + "area": 105673.89600000001, + "id": 369, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 41, + "bbox": [429.64, 193.67, 125.51, 198.6], + "score": 0.884, + "area": 24926.286, + "id": 370, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 41, + "bbox": [0, 190.22, 212.1, 137.01], + "score": 0.577, + "area": 29059.820999999996, + "id": 371, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 41, + "bbox": [14.96, 220.25, 236.6, 190.44], + "score": 0.815, + "area": 45058.104, + "id": 372, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 41, + "bbox": [163.19, 19.83, 125.4, 153.27], + "score": 0.668, + "area": 19220.058, + "id": 373, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 41, + "bbox": [211.24, 48.93, 91.56, 89.91], + "score": 0.278, + "area": 8232.159599999999, + "id": 374, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 41, + "bbox": [236.35, 0, 88.94, 77.36], + "score": 0.93, + "area": 6880.3984, + "id": 375, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 41, + "bbox": [71.7, 92.27, 192.32, 124.51], + "score": 0.532, + "area": 23945.7632, + "id": 376, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 41, + "bbox": [223.46, 36.1, 71.24, 78.42], + "score": 0.152, + "area": 5586.6408, + "id": 377, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 80, + "bbox": [0, 122.61, 190.86, 142.72], + "score": 0.404, + "area": 27239.539200000003, + "id": 378, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 42, + "bbox": [213.87, 0, 82.98, 64.55], + "score": 0.435, + "area": 5356.359, + "id": 379, + "iscrowd": 0 + } +] diff --git a/tests/ignite/metrics/gt.json b/tests/ignite/metrics/gt.json new file mode 100644 index 000000000000..f0c26fb47556 --- /dev/null +++ b/tests/ignite/metrics/gt.json @@ -0,0 +1,4508 @@ +{ + "annotations": [ + { + "area": 53481.5118, + "iscrowd": 0, + "image_id": 42, + "bbox": [214.15, 41.29, 348.26, 243.78], + "category_id": 18, + "id": 1817255, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 172022.43864999997, + "iscrowd": 0, + "image_id": 73, + "bbox": [13.0, 22.75, 535.98, 609.67], + "category_id": 4, + "id": 246920, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 52666.3402, + "iscrowd": 0, + "image_id": 73, + "bbox": [1.66, 3.32, 268.6, 271.91], + "category_id": 4, + "id": 2047387, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 18234.62355, + "iscrowd": 0, + "image_id": 74, + "bbox": [61.87, 276.25, 296.42, 103.18], + "category_id": 18, + "id": 1774, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 30078.494700000003, + "iscrowd": 0, + "image_id": 74, + "bbox": [2.75, 3.66, 159.4, 312.4], + "category_id": 2, + "id": 128367, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 638.7158, + "iscrowd": 0, + "image_id": 74, + "bbox": [295.55, 93.96, 18.42, 58.83], + "category_id": 1, + "id": 195946, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 180.8609499999999, + "iscrowd": 0, + "image_id": 74, + "bbox": [326.94, 97.05, 13.55, 25.93], + "category_id": 1, + "id": 253933, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 562.1028500000001, + "iscrowd": 0, + "image_id": 74, + "bbox": [356.62, 95.47, 15.71, 52.08], + "category_id": 1, + "id": 1225755, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 758.6169499999999, + "iscrowd": 0, + "image_id": 74, + "bbox": [462.08, 105.09, 31.66, 41.9], + "category_id": 1, + "id": 1733076, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 319.6597999999997, + "iscrowd": 0, + "image_id": 74, + "bbox": [277.11, 103.84, 15.33, 46.88], + "category_id": 1, + "id": 1747768, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 131.1144, + "iscrowd": 0, + "image_id": 74, + "bbox": [282.65, 103.41, 11.69, 24.25], + "category_id": 1, + "id": 1751664, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 179829.76725000003, + "iscrowd": 0, + "image_id": 133, + "bbox": [13.99, 2.87, 626.01, 418.65], + "category_id": 65, + "id": 317921, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 683.9160000000005, + "iscrowd": 0, + "image_id": 133, + "bbox": [525.34, 20.93, 47.95, 28.72], + "category_id": 88, + "id": 1673328, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 8703.873999999998, + "iscrowd": 0, + "image_id": 136, + "bbox": [0.84, 114.71, 53.54, 257.7], + "category_id": 1, + "id": 500146, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 8458.8782, + "iscrowd": 0, + "image_id": 136, + "bbox": [0.0, 61.35, 68.92, 312.65], + "category_id": 1, + "id": 502933, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 22023.460950000008, + "iscrowd": 0, + "image_id": 136, + "bbox": [82.0, 116.38, 185.74, 252.68], + "category_id": 25, + "id": 596940, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 8624.952849999998, + "iscrowd": 0, + "image_id": 136, + "bbox": [316.72, 131.83, 128.04, 164.25], + "category_id": 25, + "id": 597046, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 531.8071000000001, + "iscrowd": 0, + "image_id": 139, + "bbox": [236.98, 142.51, 24.7, 69.5], + "category_id": 64, + "id": 26547, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 13244.657700000002, + "iscrowd": 0, + "image_id": 139, + "bbox": [7.03, 167.76, 149.32, 94.87], + "category_id": 72, + "id": 34646, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 5833.117949999999, + "iscrowd": 0, + "image_id": 139, + "bbox": [557.21, 209.19, 81.35, 78.73], + "category_id": 72, + "id": 35802, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2245.34355, + "iscrowd": 0, + "image_id": 139, + "bbox": [358.98, 218.05, 56.0, 102.83], + "category_id": 62, + "id": 103487, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1833.7840000000017, + "iscrowd": 0, + "image_id": 139, + "bbox": [290.69, 218.0, 61.83, 98.48], + "category_id": 62, + "id": 104368, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1289.3734500000014, + "iscrowd": 0, + "image_id": 139, + "bbox": [413.2, 223.01, 30.17, 81.36], + "category_id": 62, + "id": 105328, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 210.14820000000023, + "iscrowd": 0, + "image_id": 139, + "bbox": [317.4, 219.24, 21.58, 11.59], + "category_id": 62, + "id": 110334, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 90.98724999999988, + "iscrowd": 0, + "image_id": 139, + "bbox": [412.25, 219.02, 9.63, 12.52], + "category_id": 62, + "id": 1941808, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2913.1103999999987, + "iscrowd": 0, + "image_id": 139, + "bbox": [412.8, 157.61, 53.05, 138.01], + "category_id": 1, + "id": 230831, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 435.1449499999997, + "iscrowd": 0, + "image_id": 139, + "bbox": [384.43, 172.21, 15.12, 35.74], + "category_id": 1, + "id": 233201, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 217.71919999999997, + "iscrowd": 0, + "image_id": 139, + "bbox": [512.22, 205.75, 14.74, 15.97], + "category_id": 78, + "id": 1640282, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2089.9747999999986, + "iscrowd": 0, + "image_id": 139, + "bbox": [493.1, 174.34, 20.29, 108.31], + "category_id": 82, + "id": 1647285, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 338.60884999999973, + "iscrowd": 0, + "image_id": 139, + "bbox": [604.77, 305.89, 14.34, 45.71], + "category_id": 84, + "id": 1648594, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 322.5935999999982, + "iscrowd": 0, + "image_id": 139, + "bbox": [613.24, 308.24, 12.88, 46.44], + "category_id": 84, + "id": 1654394, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 225.6642000000005, + "iscrowd": 0, + "image_id": 139, + "bbox": [447.77, 121.12, 13.97, 21.88], + "category_id": 85, + "id": 1666628, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2171.6188500000007, + "iscrowd": 0, + "image_id": 139, + "bbox": [549.06, 309.43, 36.68, 89.67], + "category_id": 86, + "id": 1667817, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 178.18510000000012, + "iscrowd": 0, + "image_id": 139, + "bbox": [350.76, 208.84, 11.37, 22.55], + "category_id": 86, + "id": 1669970, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 189.56010000000012, + "iscrowd": 0, + "image_id": 139, + "bbox": [241.24, 194.99, 14.22, 17.63], + "category_id": 86, + "id": 2146194, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 120.23200000000004, + "iscrowd": 0, + "image_id": 139, + "bbox": [336.79, 199.5, 9.73, 16.73], + "category_id": 86, + "id": 2146548, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2362.4897499999984, + "iscrowd": 0, + "image_id": 139, + "bbox": [321.21, 231.22, 125.56, 88.93], + "category_id": 67, + "id": 2204286, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 14943.291250000002, + "iscrowd": 0, + "image_id": 143, + "bbox": [426.88, 192.47, 131.18, 176.35], + "category_id": 16, + "id": 40595, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 8521.454350000002, + "iscrowd": 0, + "image_id": 143, + "bbox": [128.19, 104.46, 95.77, 167.42], + "category_id": 16, + "id": 41002, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 10935.490899999999, + "iscrowd": 0, + "image_id": 143, + "bbox": [265.59, 126.88, 100.0, 162.77], + "category_id": 16, + "id": 41866, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 7312.689550000001, + "iscrowd": 0, + "image_id": 143, + "bbox": [243.53, 271.01, 96.99, 120.69], + "category_id": 16, + "id": 42434, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 8239.6429, + "iscrowd": 0, + "image_id": 143, + "bbox": [114.08, 319.22, 92.28, 161.25], + "category_id": 16, + "id": 42884, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 9398.8724, + "iscrowd": 0, + "image_id": 143, + "bbox": [35.96, 20.22, 95.5, 133.71], + "category_id": 16, + "id": 271928, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 7766.638000000003, + "iscrowd": 0, + "image_id": 143, + "bbox": [120.18, 237.43, 114.24, 134.32], + "category_id": 16, + "id": 1400279, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 7066.659650000002, + "iscrowd": 0, + "image_id": 143, + "bbox": [468.71, 320.79, 94.24, 154.59], + "category_id": 16, + "id": 1815195, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 139.78670000000042, + "iscrowd": 0, + "image_id": 164, + "bbox": [389.84, 183.92, 8.02, 26.87], + "category_id": 44, + "id": 86621, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 122.74640000000001, + "iscrowd": 0, + "image_id": 164, + "bbox": [374.4, 189.64, 6.87, 20.93], + "category_id": 44, + "id": 90821, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 155.98124999999936, + "iscrowd": 0, + "image_id": 164, + "bbox": [367.79, 184.72, 7.05, 27.54], + "category_id": 44, + "id": 96341, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 130.88449999999992, + "iscrowd": 0, + "image_id": 164, + "bbox": [383.16, 187.56, 7.21, 24.24], + "category_id": 44, + "id": 96596, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 430.2215500000003, + "iscrowd": 0, + "image_id": 164, + "bbox": [433.79, 280.36, 18.32, 31.37], + "category_id": 44, + "id": 96815, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 287.14989999999943, + "iscrowd": 0, + "image_id": 164, + "bbox": [463.1, 282.68, 9.92, 36.55], + "category_id": 44, + "id": 370293, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 127.9628499999996, + "iscrowd": 0, + "image_id": 164, + "bbox": [399.87, 161.68, 9.4, 17.1], + "category_id": 44, + "id": 371777, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 146.33250000000004, + "iscrowd": 0, + "image_id": 164, + "bbox": [373.61, 135.8, 10.49, 15.16], + "category_id": 44, + "id": 372156, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 146.02944999999983, + "iscrowd": 0, + "image_id": 164, + "bbox": [404.56, 132.62, 9.78, 15.75], + "category_id": 44, + "id": 372297, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 161.92295000000013, + "iscrowd": 0, + "image_id": 164, + "bbox": [415.11, 131.22, 10.65, 16.86], + "category_id": 44, + "id": 372380, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 9725.137700000003, + "iscrowd": 0, + "image_id": 164, + "bbox": [428.7, 171.07, 96.72, 138.04], + "category_id": 82, + "id": 331750, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 7930.579499999997, + "iscrowd": 0, + "image_id": 164, + "bbox": [159.04, 409.16, 151.36, 70.84], + "category_id": 62, + "id": 384245, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 215.69274999999982, + "iscrowd": 0, + "image_id": 164, + "bbox": [153.96, 189.95, 12.83, 28.26], + "category_id": 46, + "id": 661070, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 289.8229500000004, + "iscrowd": 0, + "image_id": 164, + "bbox": [141.01, 190.76, 16.1, 36.54], + "category_id": 46, + "id": 663208, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 247.40105000000005, + "iscrowd": 0, + "image_id": 164, + "bbox": [108.42, 196.32, 14.31, 33.4], + "category_id": 46, + "id": 666322, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 297.0384000000001, + "iscrowd": 0, + "image_id": 164, + "bbox": [58.59, 196.12, 19.66, 37.63], + "category_id": 46, + "id": 666447, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 313.90475000000004, + "iscrowd": 0, + "image_id": 164, + "bbox": [81.76, 195.46, 15.44, 39.6], + "category_id": 46, + "id": 666676, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 234.50975000000003, + "iscrowd": 0, + "image_id": 164, + "bbox": [95.89, 196.13, 11.83, 36.93], + "category_id": 46, + "id": 667844, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 166.1521, + "iscrowd": 0, + "image_id": 164, + "bbox": [76.17, 194.99, 10.84, 39.68], + "category_id": 46, + "id": 1496133, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 309.5684999999999, + "iscrowd": 0, + "image_id": 164, + "bbox": [119.18, 191.23, 15.86, 37.92], + "category_id": 46, + "id": 1498000, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 205.96249999999995, + "iscrowd": 0, + "image_id": 164, + "bbox": [133.3, 192.93, 10.75, 35.37], + "category_id": 46, + "id": 1498069, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 440.80759999999987, + "iscrowd": 0, + "image_id": 164, + "bbox": [146.61, 233.85, 26.78, 20.8], + "category_id": 47, + "id": 679713, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 312.0250499999997, + "iscrowd": 0, + "image_id": 164, + "bbox": [114.56, 236.81, 23.23, 19.52], + "category_id": 47, + "id": 681595, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 255.32904999999994, + "iscrowd": 0, + "image_id": 164, + "bbox": [176.77, 232.66, 20.14, 16.13], + "category_id": 47, + "id": 681817, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 256.8086999999999, + "iscrowd": 0, + "image_id": 164, + "bbox": [196.65, 228.88, 19.99, 15.51], + "category_id": 47, + "id": 683259, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 176.7597000000002, + "iscrowd": 0, + "image_id": 164, + "bbox": [159.47, 231.64, 21.72, 21.24], + "category_id": 47, + "id": 1510371, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 276.4122499999988, + "iscrowd": 0, + "image_id": 164, + "bbox": [512.83, 134.18, 15.4, 21.38], + "category_id": 47, + "id": 1512981, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 195.36245000000068, + "iscrowd": 0, + "image_id": 164, + "bbox": [532.63, 139.85, 15.19, 13.71], + "category_id": 47, + "id": 1513350, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 44.76595000000001, + "iscrowd": 0, + "image_id": 164, + "bbox": [506.11, 146.68, 6.26, 8.2], + "category_id": 47, + "id": 1514452, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 285.37839999999994, + "iscrowd": 0, + "image_id": 164, + "bbox": [169.77, 203.22, 17.75, 18.85], + "category_id": 47, + "id": 1514653, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 197.84394999999978, + "iscrowd": 0, + "image_id": 164, + "bbox": [133.77, 233.33, 15.32, 20.21], + "category_id": 47, + "id": 1514812, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 406.5926500000003, + "iscrowd": 0, + "image_id": 164, + "bbox": [506.25, 221.5, 56.15, 10.53], + "category_id": 51, + "id": 715477, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 78.53969999999994, + "iscrowd": 0, + "image_id": 164, + "bbox": [505.95, 211.57, 29.18, 4.68], + "category_id": 51, + "id": 1898808, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 108.9908499999987, + "iscrowd": 0, + "image_id": 164, + "bbox": [505.14, 219.24, 56.89, 4.21], + "category_id": 51, + "id": 1902243, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 120.07694999999946, + "iscrowd": 0, + "image_id": 164, + "bbox": [509.26, 215.43, 52.03, 5.24], + "category_id": 51, + "id": 1903101, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 154.42469999999994, + "iscrowd": 0, + "image_id": 164, + "bbox": [506.83, 212.69, 55.62, 6.07], + "category_id": 51, + "id": 1903305, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 90.16770000000011, + "iscrowd": 0, + "image_id": 164, + "bbox": [362.88, 171.41, 13.36, 9.05], + "category_id": 51, + "id": 1903515, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1483.9537499999997, + "iscrowd": 0, + "image_id": 164, + "bbox": [377.72, 227.45, 53.28, 30.36], + "category_id": 78, + "id": 1119489, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 867.6426000000002, + "iscrowd": 0, + "image_id": 164, + "bbox": [274.61, 263.38, 46.82, 34.22], + "category_id": 79, + "id": 1128244, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 932.5315999999989, + "iscrowd": 0, + "image_id": 164, + "bbox": [372.78, 459.12, 137.14, 14.96], + "category_id": 67, + "id": 1960665, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 16061.32005, + "iscrowd": 0, + "image_id": 192, + "bbox": [349.48, 253.48, 131.6, 220.05], + "category_id": 1, + "id": 478961, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 10907.633999999995, + "iscrowd": 0, + "image_id": 192, + "bbox": [437.21, 218.33, 78.41, 248.03], + "category_id": 1, + "id": 530163, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 4428.93145, + "iscrowd": 0, + "image_id": 192, + "bbox": [0.93, 274.23, 36.53, 205.51], + "category_id": 1, + "id": 541526, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 14388.179850000002, + "iscrowd": 0, + "image_id": 192, + "bbox": [268.11, 179.46, 111.35, 235.68], + "category_id": 1, + "id": 545132, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 486.23700000000014, + "iscrowd": 0, + "image_id": 192, + "bbox": [13.2, 381.39, 36.0, 92.98], + "category_id": 39, + "id": 629871, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 3602.4562500000025, + "iscrowd": 0, + "image_id": 196, + "bbox": [249.73, 200.54, 210.81, 48.65], + "category_id": 50, + "id": 705891, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1248.390700000003, + "iscrowd": 0, + "image_id": 196, + "bbox": [533.65, 250.15, 73.72, 122.35], + "category_id": 50, + "id": 1526578, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1160.2602500000007, + "iscrowd": 0, + "image_id": 196, + "bbox": [517.81, 213.87, 97.94, 43.09], + "category_id": 50, + "id": 1528688, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 571.3090000000001, + "iscrowd": 0, + "image_id": 196, + "bbox": [230.52, 42.78, 71.44, 43.44], + "category_id": 50, + "id": 1530098, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1146.3787500000017, + "iscrowd": 0, + "image_id": 196, + "bbox": [546.15, 251.57, 71.68, 80.61], + "category_id": 50, + "id": 1531102, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1486.5394499999984, + "iscrowd": 0, + "image_id": 196, + "bbox": [464.49, 390.81, 121.54, 88.15], + "category_id": 50, + "id": 1531239, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 258.74959999999993, + "iscrowd": 0, + "image_id": 196, + "bbox": [457.6, 121.32, 44.08, 29.01], + "category_id": 50, + "id": 1897059, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 134.46480000000017, + "iscrowd": 0, + "image_id": 196, + "bbox": [526.71, 129.89, 19.64, 9.29], + "category_id": 50, + "id": 2106274, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 459.3881999999993, + "iscrowd": 0, + "image_id": 196, + "bbox": [448.17, 363.72, 22.98, 42.51], + "category_id": 57, + "id": 1062959, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 520.7394500000009, + "iscrowd": 0, + "image_id": 196, + "bbox": [391.24, 374.67, 24.62, 53.82], + "category_id": 57, + "id": 1064648, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 152.96214999999984, + "iscrowd": 0, + "image_id": 196, + "bbox": [442.27, 375.7, 6.82, 26.03], + "category_id": 57, + "id": 1065163, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 619.4036499999994, + "iscrowd": 0, + "image_id": 196, + "bbox": [412.55, 404.5, 55.98, 30.74], + "category_id": 57, + "id": 1065260, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 349.25540000000103, + "iscrowd": 0, + "image_id": 196, + "bbox": [462.6, 401.48, 26.37, 31.69], + "category_id": 57, + "id": 1564538, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 211.89759999999967, + "iscrowd": 0, + "image_id": 196, + "bbox": [415.04, 417.75, 13.64, 31.75], + "category_id": 57, + "id": 1564616, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 433.93320000000006, + "iscrowd": 0, + "image_id": 196, + "bbox": [379.31, 413.34, 36.43, 30.0], + "category_id": 57, + "id": 1917699, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 133.9599999999997, + "iscrowd": 0, + "image_id": 196, + "bbox": [577.34, 377.01, 12.18, 15.03], + "category_id": 57, + "id": 1918173, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 487.4024999999997, + "iscrowd": 0, + "image_id": 196, + "bbox": [372.9, 388.96, 31.37, 27.25], + "category_id": 57, + "id": 1918435, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1017.75345, + "iscrowd": 0, + "image_id": 196, + "bbox": [168.75, 359.55, 41.76, 41.77], + "category_id": 57, + "id": 1919232, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 175.51060000000027, + "iscrowd": 0, + "image_id": 196, + "bbox": [420.82, 373.65, 22.39, 22.39], + "category_id": 57, + "id": 1919287, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 138.87659999999977, + "iscrowd": 0, + "image_id": 196, + "bbox": [434.1, 446.58, 20.64, 10.6], + "category_id": 57, + "id": 1919363, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 4382.250149999998, + "iscrowd": 0, + "image_id": 196, + "bbox": [275.91, 58.21, 128.58, 62.76], + "category_id": 51, + "id": 1535788, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 12065.732450000003, + "iscrowd": 0, + "image_id": 196, + "bbox": [423.99, 236.14, 144.88, 113.72], + "category_id": 51, + "id": 1538757, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 13667.3249, + "iscrowd": 0, + "image_id": 196, + "bbox": [513.78, 315.38, 126.22, 142.73], + "category_id": 51, + "id": 1539598, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 11288.890700000002, + "iscrowd": 0, + "image_id": 196, + "bbox": [234.69, 197.88, 169.4, 86.23], + "category_id": 51, + "id": 1540443, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 16865.213150000003, + "iscrowd": 0, + "image_id": 196, + "bbox": [363.02, 337.26, 161.24, 139.17], + "category_id": 51, + "id": 1540991, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 6829.082149999998, + "iscrowd": 0, + "image_id": 196, + "bbox": [332.22, 157.3, 132.68, 69.04], + "category_id": 51, + "id": 1541193, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 4926.331500000001, + "iscrowd": 0, + "image_id": 196, + "bbox": [341.69, 115.74, 151.25, 64.57], + "category_id": 51, + "id": 1541299, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2146.6238999999996, + "iscrowd": 0, + "image_id": 196, + "bbox": [189.83, 72.85, 88.39, 33.07], + "category_id": 51, + "id": 1541355, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 3430.0337500000005, + "iscrowd": 0, + "image_id": 196, + "bbox": [361.33, 47.29, 92.99, 62.87], + "category_id": 51, + "id": 1541426, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2471.16245, + "iscrowd": 0, + "image_id": 196, + "bbox": [115.26, 88.64, 96.13, 39.34], + "category_id": 51, + "id": 1901796, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 4282.383900000001, + "iscrowd": 0, + "image_id": 196, + "bbox": [33.84, 109.71, 117.18, 60.2], + "category_id": 51, + "id": 1903527, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 3794.48175, + "iscrowd": 0, + "image_id": 196, + "bbox": [0.0, 145.79, 71.35, 73.52], + "category_id": 51, + "id": 1903675, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 12063.1358, + "iscrowd": 0, + "image_id": 196, + "bbox": [0.0, 188.89, 172.64, 92.01], + "category_id": 51, + "id": 2185741, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 400.41515000000027, + "iscrowd": 0, + "image_id": 196, + "bbox": [199.46, 254.35, 18.25, 31.59], + "category_id": 56, + "id": 1561344, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 690.8346, + "iscrowd": 0, + "image_id": 196, + "bbox": [280.51, 393.55, 37.68, 28.9], + "category_id": 56, + "id": 1561766, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 451.72965000000016, + "iscrowd": 0, + "image_id": 196, + "bbox": [170.36, 269.84, 21.54, 29.09], + "category_id": 56, + "id": 1561783, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 640.4236, + "iscrowd": 0, + "image_id": 196, + "bbox": [115.3, 340.83, 40.0, 25.45], + "category_id": 56, + "id": 1915732, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 346.69775000000004, + "iscrowd": 0, + "image_id": 196, + "bbox": [250.3, 325.7, 24.42, 20.53], + "category_id": 56, + "id": 2115071, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 460.1613499999995, + "iscrowd": 0, + "image_id": 196, + "bbox": [288.99, 290.28, 17.52, 33.3], + "category_id": 56, + "id": 2115107, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 159.20255, + "iscrowd": 0, + "image_id": 196, + "bbox": [150.98, 262.69, 16.43, 13.92], + "category_id": 56, + "id": 2115321, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 247064.9784, + "iscrowd": 0, + "image_id": 196, + "bbox": [0.0, 41.94, 640.0, 438.06], + "category_id": 67, + "id": 1615479, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 1377.909500000001, + "iscrowd": 0, + "image_id": 196, + "bbox": [210.7, 407.69, 84.78, 66.08], + "category_id": 48, + "id": 1890035, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 140405.8689, + "iscrowd": 0, + "image_id": 208, + "bbox": [1.08, 108.94, 638.92, 366.75], + "category_id": 81, + "id": 1132256, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 12347.7568, + "iscrowd": 0, + "image_id": 208, + "bbox": [0.0, 150.36, 304.55, 109.76], + "category_id": 81, + "id": 1132920, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 3400.009649999999, + "iscrowd": 0, + "image_id": 208, + "bbox": [157.81, 170.21, 191.76, 88.89], + "category_id": 90, + "id": 2197833, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 3029.682650000001, + "iscrowd": 0, + "image_id": 208, + "bbox": [57.35, 122.18, 158.34, 82.29], + "category_id": 90, + "id": 2197855, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1956.7471000000003, + "iscrowd": 0, + "image_id": 241, + "bbox": [36.1, 553.8, 29.89, 86.2], + "category_id": 44, + "id": 87146, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 23173.052700000004, + "iscrowd": 0, + "image_id": 241, + "bbox": [312.46, 250.92, 167.2, 296.02], + "category_id": 63, + "id": 99885, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 4463.76635, + "iscrowd": 0, + "image_id": 241, + "bbox": [0.33, 278.19, 143.12, 260.43], + "category_id": 63, + "id": 116432, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 73157.25815000002, + "iscrowd": 0, + "image_id": 241, + "bbox": [132.7, 6.57, 200.43, 626.17], + "category_id": 1, + "id": 190379, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 29090.284799999998, + "iscrowd": 0, + "image_id": 241, + "bbox": [1.44, 263.55, 205.66, 348.05], + "category_id": 1, + "id": 191838, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 13817.75305, + "iscrowd": 0, + "image_id": 241, + "bbox": [295.71, 263.06, 107.15, 257.15], + "category_id": 1, + "id": 193269, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 4704.080300000001, + "iscrowd": 0, + "image_id": 241, + "bbox": [0.0, 372.74, 45.15, 203.38], + "category_id": 1, + "id": 1240866, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 5088.19765, + "iscrowd": 0, + "image_id": 241, + "bbox": [395.51, 337.98, 84.49, 230.11], + "category_id": 1, + "id": 1259806, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1901.1308500000007, + "iscrowd": 0, + "image_id": 241, + "bbox": [103.72, 595.29, 50.72, 44.71], + "category_id": 47, + "id": 682551, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1563.307649999999, + "iscrowd": 0, + "image_id": 241, + "bbox": [0.08, 596.49, 43.34, 43.51], + "category_id": 47, + "id": 684608, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 423.70660000000015, + "iscrowd": 0, + "image_id": 241, + "bbox": [117.1, 321.7, 44.12, 22.16], + "category_id": 75, + "id": 1110261, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 3824.626850000001, + "iscrowd": 0, + "image_id": 241, + "bbox": [343.94, 469.64, 65.31, 73.47], + "category_id": 31, + "id": 1182447, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 7849.56165, + "iscrowd": 0, + "image_id": 241, + "bbox": [90.85, 71.11, 109.84, 201.2], + "category_id": 64, + "id": 1608613, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2304.9887, + "iscrowd": 0, + "image_id": 241, + "bbox": [134.45, 350.26, 49.78, 72.27], + "category_id": 64, + "id": 2127625, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 591.9944000000003, + "iscrowd": 0, + "image_id": 257, + "bbox": [89.3, 197.24, 23.53, 32.78], + "category_id": 10, + "id": 404330, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 302.83400000000006, + "iscrowd": 0, + "image_id": 257, + "bbox": [50.27, 199.13, 25.09, 23.76], + "category_id": 10, + "id": 407530, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 115.41314999999967, + "iscrowd": 0, + "image_id": 257, + "bbox": [227.37, 296.5, 11.3, 11.39], + "category_id": 10, + "id": 1385925, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 35.62389999999987, + "iscrowd": 0, + "image_id": 257, + "bbox": [27.58, 303.1, 5.69, 7.11], + "category_id": 10, + "id": 1386080, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 37.32970000000005, + "iscrowd": 0, + "image_id": 257, + "bbox": [28.93, 276.6, 5.82, 11.76], + "category_id": 10, + "id": 1386337, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 162.8292999999999, + "iscrowd": 0, + "image_id": 257, + "bbox": [89.93, 177.97, 15.03, 14.65], + "category_id": 10, + "id": 1805284, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 79.83655000000005, + "iscrowd": 0, + "image_id": 257, + "bbox": [301.98, 260.82, 7.09, 14.18], + "category_id": 10, + "id": 2058747, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 65.94515000000007, + "iscrowd": 0, + "image_id": 257, + "bbox": [295.6, 261.4, 6.39, 12.2], + "category_id": 10, + "id": 2059682, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 19.345600000000093, + "iscrowd": 0, + "image_id": 257, + "bbox": [55.4, 299.17, 4.88, 4.3], + "category_id": 10, + "id": 2059820, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1562.2831500000007, + "iscrowd": 0, + "image_id": 257, + "bbox": [176.16, 362.21, 50.4, 55.49], + "category_id": 27, + "id": 1164702, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 115.55229999999999, + "iscrowd": 0, + "image_id": 257, + "bbox": [208.47, 340.87, 11.3, 19.58], + "category_id": 27, + "id": 1418348, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 15215.45735, + "iscrowd": 0, + "image_id": 257, + "bbox": [249.17, 277.96, 204.94, 122.97], + "category_id": 8, + "id": 1197129, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 4703.050300000001, + "iscrowd": 0, + "image_id": 257, + "bbox": [508.45, 304.48, 130.76, 63.88], + "category_id": 8, + "id": 1197605, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 12398.05725, + "iscrowd": 0, + "image_id": 257, + "bbox": [519.96, 323.81, 120.04, 156.19], + "category_id": 8, + "id": 1799979, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 4919.353649999999, + "iscrowd": 0, + "image_id": 257, + "bbox": [55.24, 301.11, 141.23, 59.84], + "category_id": 8, + "id": 1800578, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 206.83764999999954, + "iscrowd": 0, + "image_id": 257, + "bbox": [473.61, 320.43, 24.78, 13.95], + "category_id": 8, + "id": 1800634, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 4513.55705, + "iscrowd": 0, + "image_id": 257, + "bbox": [139.57, 345.58, 71.52, 134.42], + "category_id": 1, + "id": 1237390, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1428.3866500000004, + "iscrowd": 0, + "image_id": 257, + "bbox": [236.74, 326.46, 28.38, 79.72], + "category_id": 1, + "id": 1239029, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 593.1241000000001, + "iscrowd": 0, + "image_id": 257, + "bbox": [211.62, 332.49, 22.28, 60.49], + "category_id": 1, + "id": 1241923, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 803.6688000000001, + "iscrowd": 0, + "image_id": 257, + "bbox": [264.09, 330.65, 16.37, 72.88], + "category_id": 1, + "id": 1255512, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1283.6514999999997, + "iscrowd": 0, + "image_id": 257, + "bbox": [287.83, 337.14, 33.15, 77.0], + "category_id": 1, + "id": 1270079, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 388.6977499999994, + "iscrowd": 0, + "image_id": 257, + "bbox": [570.98, 327.79, 14.75, 42.24], + "category_id": 1, + "id": 1285138, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 222.4492, + "iscrowd": 0, + "image_id": 257, + "bbox": [125.19, 325.45, 10.13, 37.03], + "category_id": 1, + "id": 1287027, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1110.5517999999988, + "iscrowd": 0, + "image_id": 257, + "bbox": [316.72, 334.13, 20.17, 74.8], + "category_id": 1, + "id": 1297780, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 371.4350499999998, + "iscrowd": 0, + "image_id": 257, + "bbox": [77.65, 326.41, 20.3, 48.17], + "category_id": 1, + "id": 1302840, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 395.23035, + "iscrowd": 0, + "image_id": 257, + "bbox": [138.11, 325.59, 15.55, 38.45], + "category_id": 1, + "id": 1309094, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 472.8054499999997, + "iscrowd": 0, + "image_id": 257, + "bbox": [225.17, 327.33, 15.21, 69.54], + "category_id": 1, + "id": 1315452, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 523.6540999999997, + "iscrowd": 0, + "image_id": 257, + "bbox": [190.83, 330.6, 20.63, 39.77], + "category_id": 1, + "id": 1707335, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 260.15675000000044, + "iscrowd": 0, + "image_id": 257, + "bbox": [537.16, 328.86, 14.08, 39.82], + "category_id": 1, + "id": 2005786, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 11750, + "iscrowd": 1, + "image_id": 257, + "bbox": [16, 301, 611, 178], + "category_id": 1, + "id": 900100000257, + "ignore": 1, + "_ignore": 1 + }, + { + "area": 123.59089999999995, + "iscrowd": 0, + "image_id": 257, + "bbox": [306.74, 360.16, 12.51, 13.77], + "category_id": 31, + "id": 1435013, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 41.078150000000136, + "iscrowd": 0, + "image_id": 257, + "bbox": [93.13, 344.24, 5.88, 12.48], + "category_id": 31, + "id": 1834141, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 61.242699999999886, + "iscrowd": 0, + "image_id": 257, + "bbox": [208.91, 341.48, 11.21, 29.05], + "category_id": 31, + "id": 2212016, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 20.777750000000086, + "iscrowd": 0, + "image_id": 257, + "bbox": [472.6, 340.88, 6.14, 4.6], + "category_id": 31, + "id": 2212353, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 19856.495650000004, + "iscrowd": 0, + "image_id": 283, + "bbox": [63.18, 42.58, 82.4, 311.75], + "category_id": 44, + "id": 89091, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 3095.66605, + "iscrowd": 0, + "image_id": 283, + "bbox": [0.23, 142.61, 59.56, 86.35], + "category_id": 62, + "id": 100451, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 49134.860949999995, + "iscrowd": 0, + "image_id": 283, + "bbox": [148.65, 67.02, 279.35, 289.03], + "category_id": 62, + "id": 105578, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 135123.99545000005, + "iscrowd": 0, + "image_id": 283, + "bbox": [0.0, 210.82, 424.66, 420.14], + "category_id": 67, + "id": 120535, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 11358.260999999999, + "iscrowd": 0, + "image_id": 283, + "bbox": [164.76, 156.24, 88.26, 214.22], + "category_id": 46, + "id": 665916, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 275709.8110500001, + "iscrowd": 0, + "image_id": 285, + "bbox": [1.43, 68.81, 584.57, 563.94], + "category_id": 23, + "id": 587562, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 64624.86664999999, + "iscrowd": 0, + "image_id": 294, + "bbox": [27.7, 69.83, 364.91, 357.17], + "category_id": 1, + "id": 470246, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 182.62164999999962, + "iscrowd": 0, + "image_id": 294, + "bbox": [415.57, 349.85, 15.31, 23.55], + "category_id": 50, + "id": 708187, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 360.72579999999914, + "iscrowd": 0, + "image_id": 294, + "bbox": [401.49, 323.29, 23.1, 25.32], + "category_id": 50, + "id": 1897351, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 598.2128500000001, + "iscrowd": 0, + "image_id": 294, + "bbox": [383.89, 341.86, 35.58, 40.04], + "category_id": 50, + "id": 1897640, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 844.8774499999998, + "iscrowd": 0, + "image_id": 294, + "bbox": [402.19, 111.67, 14.47, 114.66], + "category_id": 50, + "id": 1897818, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 683.0231000000013, + "iscrowd": 0, + "image_id": 294, + "bbox": [420.95, 114.4, 13.43, 103.27], + "category_id": 50, + "id": 1897858, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 550.1896499999995, + "iscrowd": 0, + "image_id": 294, + "bbox": [328.99, 256.48, 18.17, 66.93], + "category_id": 50, + "id": 1897919, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 485.56159999999926, + "iscrowd": 0, + "image_id": 294, + "bbox": [403.99, 367.62, 32.19, 21.11], + "category_id": 50, + "id": 2216629, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 364.8656999999999, + "iscrowd": 0, + "image_id": 294, + "bbox": [392.56, 299.36, 16.54, 32.35], + "category_id": 50, + "id": 2216976, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 265.2028500000003, + "iscrowd": 0, + "image_id": 294, + "bbox": [388.56, 387.15, 14.73, 22.97], + "category_id": 50, + "id": 2217050, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 262.35164999999984, + "iscrowd": 0, + "image_id": 294, + "bbox": [401.36, 355.24, 21.6, 25.14], + "category_id": 50, + "id": 2217133, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 63.433249999999965, + "iscrowd": 0, + "image_id": 294, + "bbox": [623.23, 50.49, 4.79, 22.57], + "category_id": 50, + "id": 2217190, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 13629.079649999989, + "iscrowd": 0, + "image_id": 294, + "bbox": [507.6, 312.81, 131.46, 109.39], + "category_id": 78, + "id": 1118968, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 172.5971999999994, + "iscrowd": 0, + "image_id": 294, + "bbox": [608.51, 251.83, 7.67, 40.75], + "category_id": 48, + "id": 1518770, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 279.9459499999995, + "iscrowd": 0, + "image_id": 294, + "bbox": [445.73, 329.05, 17.33, 34.67], + "category_id": 49, + "id": 1524125, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 279.8878000000002, + "iscrowd": 0, + "image_id": 294, + "bbox": [454.37, 320.69, 15.89, 45.17], + "category_id": 49, + "id": 1524238, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 187.2767500000002, + "iscrowd": 0, + "image_id": 294, + "bbox": [461.6, 335.52, 16.28, 33.28], + "category_id": 49, + "id": 2104366, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 143.22540000000023, + "iscrowd": 0, + "image_id": 294, + "bbox": [466.52, 325.24, 13.79, 32.5], + "category_id": 49, + "id": 2104631, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 158.32795000000038, + "iscrowd": 0, + "image_id": 294, + "bbox": [469.28, 335.38, 15.32, 33.19], + "category_id": 49, + "id": 2105113, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2454.3745500000005, + "iscrowd": 0, + "image_id": 294, + "bbox": [0.15, 0.0, 53.72, 53.96], + "category_id": 85, + "id": 2144820, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 278.12544999999983, + "iscrowd": 0, + "image_id": 328, + "bbox": [434.75, 283.15, 35.01, 18.64], + "category_id": 77, + "id": 326470, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 33082.45864999999, + "iscrowd": 0, + "image_id": 328, + "bbox": [44.81, 68.09, 223.8, 356.91], + "category_id": 1, + "id": 422643, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 38458.955649999996, + "iscrowd": 0, + "image_id": 328, + "bbox": [197.91, 90.52, 205.13, 389.34], + "category_id": 1, + "id": 470613, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 52372.09644999999, + "iscrowd": 0, + "image_id": 328, + "bbox": [336.87, 58.48, 249.91, 426.04], + "category_id": 1, + "id": 480233, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 28261.0682, + "iscrowd": 0, + "image_id": 328, + "bbox": [0.6, 104.76, 587.67, 374.74], + "category_id": 15, + "id": 576964, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 1387.0935500000007, + "iscrowd": 0, + "image_id": 328, + "bbox": [245.65, 220.95, 86.44, 37.42], + "category_id": 84, + "id": 1137074, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 4760.385999999999, + "iscrowd": 0, + "image_id": 328, + "bbox": [350.46, 77.31, 101.02, 65.61], + "category_id": 3, + "id": 1341477, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 275.4648499999998, + "iscrowd": 0, + "image_id": 328, + "bbox": [462.06, 177.54, 18.31, 43.81], + "category_id": 32, + "id": 1440283, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 631.9263999999995, + "iscrowd": 0, + "image_id": 328, + "bbox": [315.37, 171.71, 22.5, 57.98], + "category_id": 32, + "id": 1442817, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 5542.455349999999, + "iscrowd": 0, + "image_id": 328, + "bbox": [12.03, 171.36, 119.45, 79.63], + "category_id": 27, + "id": 1823916, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2901.4339999999993, + "iscrowd": 0, + "image_id": 328, + "bbox": [49.45, 160.85, 85.28, 47.84], + "category_id": 27, + "id": 1827585, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 15100.550200000001, + "iscrowd": 0, + "image_id": 338, + "bbox": [217.59, 149.74, 95.78, 177.26], + "category_id": 82, + "id": 331127, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 447.72725000000014, + "iscrowd": 0, + "image_id": 338, + "bbox": [458.17, 88.69, 23.24, 24.61], + "category_id": 85, + "id": 339566, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 8748.053699999999, + "iscrowd": 0, + "image_id": 338, + "bbox": [327.0, 142.07, 90.46, 183.7], + "category_id": 1, + "id": 484147, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 4482.490749999999, + "iscrowd": 0, + "image_id": 338, + "bbox": [439.35, 173.72, 56.91, 153.28], + "category_id": 1, + "id": 524817, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 10051.329499999998, + "iscrowd": 0, + "image_id": 338, + "bbox": [24.25, 243.96, 138.88, 78.63], + "category_id": 79, + "id": 1123956, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 686.222100000001, + "iscrowd": 0, + "image_id": 338, + "bbox": [465.15, 231.65, 25.66, 39.34], + "category_id": 31, + "id": 2176417, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 81.5554, + "iscrowd": 0, + "image_id": 357, + "bbox": [539.09, 121.4, 4.0, 27.24], + "category_id": 39, + "id": 628872, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 40.0523499999999, + "iscrowd": 0, + "image_id": 357, + "bbox": [566.96, 186.44, 8.91, 6.69], + "category_id": 40, + "id": 635098, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 35.704700000000024, + "iscrowd": 0, + "image_id": 357, + "bbox": [76.74, 97.16, 6.97, 9.21], + "category_id": 40, + "id": 635612, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 18.735549999999982, + "iscrowd": 0, + "image_id": 357, + "bbox": [279.48, 25.03, 5.46, 4.72], + "category_id": 40, + "id": 636542, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 214.2974, + "iscrowd": 0, + "image_id": 357, + "bbox": [372.19, 25.03, 17.25, 27.63], + "category_id": 1, + "id": 1269289, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 330.3950499999995, + "iscrowd": 0, + "image_id": 357, + "bbox": [271.1, 18.4, 27.02, 37.16], + "category_id": 1, + "id": 1275571, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 300.3006499999999, + "iscrowd": 0, + "image_id": 357, + "bbox": [209.34, 22.61, 22.2, 31.01], + "category_id": 1, + "id": 1285119, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 472.0862999999997, + "iscrowd": 0, + "image_id": 357, + "bbox": [74.62, 79.12, 18.53, 48.08], + "category_id": 1, + "id": 1297671, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 860.8170999999988, + "iscrowd": 0, + "image_id": 357, + "bbox": [530.83, 136.21, 29.04, 54.59], + "category_id": 1, + "id": 1299372, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 561.6825500000003, + "iscrowd": 0, + "image_id": 357, + "bbox": [567.61, 160.02, 26.76, 38.03], + "category_id": 1, + "id": 1304492, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 547.3569000000009, + "iscrowd": 0, + "image_id": 357, + "bbox": [592.37, 154.71, 27.18, 46.6], + "category_id": 1, + "id": 1314926, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 67.5915500000003, + "iscrowd": 0, + "image_id": 357, + "bbox": [556.03, 23.96, 13.89, 9.67], + "category_id": 1, + "id": 1317799, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 104.08484999999976, + "iscrowd": 0, + "image_id": 357, + "bbox": [545.19, 21.04, 9.65, 26.16], + "category_id": 1, + "id": 1323595, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 56.523049999999856, + "iscrowd": 0, + "image_id": 357, + "bbox": [596.85, 8.21, 8.96, 10.15], + "category_id": 1, + "id": 1323658, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 220.2697500000003, + "iscrowd": 0, + "image_id": 357, + "bbox": [265.33, 6.43, 17.69, 27.34], + "category_id": 1, + "id": 1327311, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 79.1437, + "iscrowd": 0, + "image_id": 357, + "bbox": [568.15, 29.27, 11.87, 23.74], + "category_id": 1, + "id": 1327873, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 84.28930000000027, + "iscrowd": 0, + "image_id": 357, + "bbox": [580.99, 32.19, 6.72, 23.92], + "category_id": 1, + "id": 2007510, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 6687, + "iscrowd": 1, + "image_id": 357, + "bbox": [466, 0, 173, 73], + "category_id": 1, + "id": 900100000357, + "ignore": 1, + "_ignore": 1 + }, + { + "area": 2093.1769499999996, + "iscrowd": 0, + "image_id": 359, + "bbox": [153.87, 100.44, 65.37, 34.25], + "category_id": 10, + "id": 401907, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 981.3448500000004, + "iscrowd": 0, + "image_id": 359, + "bbox": [243.76, 99.94, 51.0, 22.4], + "category_id": 10, + "id": 406801, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 16.788799999999753, + "iscrowd": 0, + "image_id": 359, + "bbox": [278.48, 293.48, 4.46, 4.11], + "category_id": 10, + "id": 1384199, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 3137.2429500000017, + "iscrowd": 0, + "image_id": 359, + "bbox": [0.0, 290.11, 123.72, 37.58], + "category_id": 3, + "id": 1778050, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 560.5042000000001, + "iscrowd": 0, + "image_id": 360, + "bbox": [261.02, 138.76, 52.1, 36.95], + "category_id": 1, + "id": 457434, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 355.26565000000016, + "iscrowd": 0, + "image_id": 360, + "bbox": [97.99, 273.39, 26.6, 21.41], + "category_id": 1, + "id": 469143, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 676.5820499999999, + "iscrowd": 0, + "image_id": 360, + "bbox": [240.45, 155.01, 52.19, 41.49], + "category_id": 36, + "id": 619614, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 101928.52115000002, + "iscrowd": 0, + "image_id": 387, + "bbox": [249.17, 50.7, 375.37, 277.21], + "category_id": 73, + "id": 1103403, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 40974.07855000001, + "iscrowd": 0, + "image_id": 387, + "bbox": [152.38, 50.29, 470.86, 312.38], + "category_id": 73, + "id": 1970089, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 18024.40625, + "iscrowd": 0, + "image_id": 387, + "bbox": [332.5, 111.88, 210.0, 93.75], + "category_id": 77, + "id": 1977657, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 236.53855000000016, + "iscrowd": 0, + "image_id": 395, + "bbox": [291.15, 289.29, 19.84, 22.97], + "category_id": 77, + "id": 323360, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 122.09555000000024, + "iscrowd": 0, + "image_id": 395, + "bbox": [619.05, 305.74, 15.83, 11.59], + "category_id": 77, + "id": 1637902, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 129618.30084999999, + "iscrowd": 0, + "image_id": 395, + "bbox": [118.61, 138.16, 432.72, 435.32], + "category_id": 1, + "id": 1218065, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 15212.780349999997, + "iscrowd": 0, + "image_id": 395, + "bbox": [0.0, 207.32, 80.81, 278.92], + "category_id": 1, + "id": 1260127, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 10566.527799999998, + "iscrowd": 0, + "image_id": 395, + "bbox": [77.02, 270.92, 82.55, 204.66], + "category_id": 1, + "id": 1270740, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 28854.102049999998, + "iscrowd": 0, + "image_id": 395, + "bbox": [515.21, 200.28, 124.79, 379.72], + "category_id": 1, + "id": 1280168, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 1027.75655, + "iscrowd": 0, + "image_id": 395, + "bbox": [108.58, 232.54, 38.86, 46.9], + "category_id": 1, + "id": 1720813, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 5831.163299999999, + "iscrowd": 0, + "image_id": 395, + "bbox": [140.76, 239.82, 82.12, 109.48], + "category_id": 1, + "id": 1731140, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2099.987899999999, + "iscrowd": 0, + "image_id": 395, + "bbox": [412.44, 194.77, 32.94, 105.97], + "category_id": 1, + "id": 1746734, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2225.3864499999977, + "iscrowd": 0, + "image_id": 395, + "bbox": [428.93, 206.74, 43.9, 113.15], + "category_id": 1, + "id": 1750589, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1275.735550000001, + "iscrowd": 0, + "image_id": 395, + "bbox": [159.8, 332.19, 60.39, 66.97], + "category_id": 1, + "id": 1752009, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2806.4026, + "iscrowd": 0, + "image_id": 395, + "bbox": [54.7, 214.92, 48.39, 126.94], + "category_id": 1, + "id": 1756980, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2459.9935000000005, + "iscrowd": 0, + "image_id": 395, + "bbox": [448.16, 253.08, 70.79, 89.66], + "category_id": 1, + "id": 2150881, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 6655.397300000003, + "iscrowd": 0, + "image_id": 397, + "bbox": [477.94, 0.0, 143.48, 98.06], + "category_id": 62, + "id": 105605, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 204268.80735000005, + "iscrowd": 0, + "image_id": 397, + "bbox": [4.31, 44.22, 631.02, 412.05], + "category_id": 59, + "id": 1072508, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 1681.4982999999997, + "iscrowd": 0, + "image_id": 397, + "bbox": [0.0, 294.57, 36.75, 71.88], + "category_id": 47, + "id": 1507253, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 11717.453350000003, + "iscrowd": 0, + "image_id": 397, + "bbox": [480.0, 315.43, 150.86, 158.34], + "category_id": 47, + "id": 1886120, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 1138.0234000000007, + "iscrowd": 0, + "image_id": 397, + "bbox": [595.24, 404.53, 44.76, 52.1], + "category_id": 48, + "id": 1889153, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 22748.658200000005, + "iscrowd": 0, + "image_id": 397, + "bbox": [1.25, 349.09, 503.69, 130.91], + "category_id": 67, + "id": 1963869, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 25022.46835, + "iscrowd": 0, + "image_id": 397, + "bbox": [3.74, 0.0, 225.66, 205.33], + "category_id": 1, + "id": 2151765, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 4634.541499999999, + "iscrowd": 0, + "image_id": 400, + "bbox": [417.5, 148.97, 97.62, 78.77], + "category_id": 18, + "id": 9774, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 264455.48134999996, + "iscrowd": 0, + "image_id": 400, + "bbox": [1.44, 64.72, 636.56, 477.48], + "category_id": 9, + "id": 176688, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 1120.3052000000005, + "iscrowd": 0, + "image_id": 415, + "bbox": [60.13, 399.09, 41.97, 44.41], + "category_id": 43, + "id": 655306, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 12687.970250000004, + "iscrowd": 0, + "image_id": 415, + "bbox": [0.0, 257.44, 122.96, 301.62], + "category_id": 1, + "id": 1248682, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 3573.3858000000005, + "iscrowd": 0, + "image_id": 428, + "bbox": [374.56, 200.49, 94.65, 154.52], + "category_id": 32, + "id": 293908, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 55007.08139999999, + "iscrowd": 0, + "image_id": 428, + "bbox": [226.94, 32.65, 355.92, 323.27], + "category_id": 1, + "id": 487626, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 15955.590150000004, + "iscrowd": 0, + "image_id": 428, + "bbox": [405.41, 234.73, 175.13, 121.62], + "category_id": 61, + "id": 1085469, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 8519.61285, + "iscrowd": 0, + "image_id": 459, + "bbox": [162.57, 278.99, 61.63, 239.81], + "category_id": 32, + "id": 294038, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 170999.69984999998, + "iscrowd": 0, + "image_id": 459, + "bbox": [0.0, 84.85, 514.88, 547.96], + "category_id": 1, + "id": 1209199, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 1232.8114499999997, + "iscrowd": 0, + "image_id": 472, + "bbox": [394.86, 56.68, 87.21, 31.46], + "category_id": 5, + "id": 157332, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 65310.2008, + "iscrowd": 0, + "image_id": 474, + "bbox": [3.37, 42.7, 329.21, 429.21], + "category_id": 1, + "id": 425095, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 3089.4674999999993, + "iscrowd": 0, + "image_id": 474, + "bbox": [9.86, 234.5, 88.41, 71.31], + "category_id": 40, + "id": 636277, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 6107.148950000001, + "iscrowd": 0, + "image_id": 486, + "bbox": [391.66, 175.9, 63.04, 109.86], + "category_id": 82, + "id": 333535, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 17448.404149999995, + "iscrowd": 0, + "image_id": 486, + "bbox": [392.05, 274.92, 247.95, 152.08], + "category_id": 79, + "id": 1124804, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 507.9642499999998, + "iscrowd": 0, + "image_id": 486, + "bbox": [623.9, 233.27, 16.02, 38.17], + "category_id": 44, + "id": 1488066, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 498.2766500000002, + "iscrowd": 0, + "image_id": 486, + "bbox": [498.82, 278.46, 23.05, 25.31], + "category_id": 44, + "id": 2093503, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 131.61645, + "iscrowd": 0, + "image_id": 486, + "bbox": [83.06, 219.17, 5.12, 29.08], + "category_id": 44, + "id": 2096912, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 191.04449999999963, + "iscrowd": 0, + "image_id": 486, + "bbox": [223.65, 192.28, 6.92, 51.96], + "category_id": 49, + "id": 1523034, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 38.09325000000004, + "iscrowd": 0, + "image_id": 486, + "bbox": [235.42, 200.87, 3.9, 16.53], + "category_id": 49, + "id": 2104665, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 8477.589850000002, + "iscrowd": 0, + "image_id": 486, + "bbox": [252.43, 299.84, 131.39, 88.22], + "category_id": 51, + "id": 2108796, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 49.045200000000044, + "iscrowd": 0, + "image_id": 488, + "bbox": [431.12, 252.62, 8.29, 7.58], + "category_id": 37, + "id": 302707, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 4851.846399999997, + "iscrowd": 0, + "image_id": 488, + "bbox": [180.76, 210.3, 104.63, 131.03], + "category_id": 1, + "id": 443794, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 5682.173299999999, + "iscrowd": 0, + "image_id": 488, + "bbox": [112.24, 245.32, 127.0, 110.76], + "category_id": 1, + "id": 564365, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 915.4086500000001, + "iscrowd": 0, + "image_id": 488, + "bbox": [209.3, 197.89, 25.41, 70.75], + "category_id": 1, + "id": 1271766, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 720.501399999999, + "iscrowd": 0, + "image_id": 488, + "bbox": [546.32, 216.45, 44.13, 49.26], + "category_id": 1, + "id": 1275012, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 7186.221699999997, + "iscrowd": 0, + "image_id": 488, + "bbox": [34.67, 208.02, 91.24, 152.36], + "category_id": 1, + "id": 1731466, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 23.785449999999862, + "iscrowd": 0, + "image_id": 488, + "bbox": [224.36, 181.86, 4.42, 8.01], + "category_id": 1, + "id": 2001852, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 222.61124999999927, + "iscrowd": 0, + "image_id": 488, + "bbox": [214.91, 225.8, 63.45, 45.93], + "category_id": 39, + "id": 629732, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 361.48684999999966, + "iscrowd": 0, + "image_id": 488, + "bbox": [218.97, 274.81, 24.15, 20.49], + "category_id": 40, + "id": 632859, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 58.98509999999994, + "iscrowd": 0, + "image_id": 488, + "bbox": [562.51, 253.32, 10.5, 7.99], + "category_id": 40, + "id": 637011, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 44775.328299999994, + "iscrowd": 0, + "image_id": 502, + "bbox": [226.96, 88.0, 273.13, 257.74], + "category_id": 23, + "id": 1411246, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 193.23244999999997, + "iscrowd": 0, + "image_id": 520, + "bbox": [300.04, 140.73, 32.01, 20.26], + "category_id": 16, + "id": 37377, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 174.1545999999998, + "iscrowd": 0, + "image_id": 520, + "bbox": [230.03, 131.19, 34.17, 13.96], + "category_id": 16, + "id": 37692, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 143.86575000000002, + "iscrowd": 0, + "image_id": 520, + "bbox": [449.26, 217.6, 18.56, 17.79], + "category_id": 16, + "id": 271898, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 140.66764999999995, + "iscrowd": 0, + "image_id": 520, + "bbox": [0.11, 187.56, 23.22, 15.48], + "category_id": 16, + "id": 272348, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 128.87455000000008, + "iscrowd": 0, + "image_id": 520, + "bbox": [444.38, 174.06, 21.97, 16.09], + "category_id": 16, + "id": 272551, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 108.29215000000005, + "iscrowd": 0, + "image_id": 520, + "bbox": [599.29, 178.81, 19.65, 10.42], + "category_id": 16, + "id": 272729, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 155.2921, + "iscrowd": 0, + "image_id": 520, + "bbox": [97.33, 194.51, 35.82, 22.84], + "category_id": 16, + "id": 273171, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 163.1560500000002, + "iscrowd": 0, + "image_id": 520, + "bbox": [155.5, 184.44, 25.5, 11.87], + "category_id": 16, + "id": 273213, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 234.44544999999968, + "iscrowd": 0, + "image_id": 520, + "bbox": [242.02, 307.84, 15.21, 34.27], + "category_id": 1, + "id": 212333, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 209.08724999999993, + "iscrowd": 0, + "image_id": 520, + "bbox": [453.08, 316.95, 17.86, 18.87], + "category_id": 1, + "id": 1211500, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 81.48459999999976, + "iscrowd": 0, + "image_id": 520, + "bbox": [508.05, 323.61, 8.1, 13.7], + "category_id": 1, + "id": 1680489, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 8583.28935, + "iscrowd": 0, + "image_id": 536, + "bbox": [288.41, 138.98, 156.33, 195.53], + "category_id": 62, + "id": 374363, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 10251.997199999998, + "iscrowd": 0, + "image_id": 536, + "bbox": [0.68, 141.91, 82.48, 194.09], + "category_id": 62, + "id": 2189966, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 15367.24815, + "iscrowd": 0, + "image_id": 536, + "bbox": [292.86, 133.95, 155.14, 198.27], + "category_id": 1, + "id": 438609, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 19603.05865, + "iscrowd": 0, + "image_id": 536, + "bbox": [169.41, 79.52, 108.42, 255.62], + "category_id": 1, + "id": 497343, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 18548.185149999998, + "iscrowd": 0, + "image_id": 536, + "bbox": [88.34, 68.58, 98.16, 263.52], + "category_id": 1, + "id": 516492, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 2155.9285999999993, + "iscrowd": 0, + "image_id": 536, + "bbox": [22.1, 258.04, 44.05, 77.96], + "category_id": 31, + "id": 1179584, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2341.2988000000005, + "iscrowd": 0, + "image_id": 536, + "bbox": [202.07, 185.98, 69.48, 63.22], + "category_id": 31, + "id": 1182069, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 213.47909999999973, + "iscrowd": 0, + "image_id": 536, + "bbox": [343.78, 235.32, 45.57, 12.3], + "category_id": 31, + "id": 1182221, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 43.838950000000175, + "iscrowd": 0, + "image_id": 536, + "bbox": [206.43, 106.55, 13.68, 21.14], + "category_id": 77, + "id": 1636640, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 170.2840500000001, + "iscrowd": 0, + "image_id": 536, + "bbox": [98.62, 87.68, 28.93, 39.35], + "category_id": 77, + "id": 1977571, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 53.888699999999815, + "iscrowd": 0, + "image_id": 536, + "bbox": [361.35, 224.65, 8.04, 12.47], + "category_id": 77, + "id": 2195993, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 83.22834999999984, + "iscrowd": 0, + "image_id": 544, + "bbox": [596.57, 293.78, 13.81, 7.44], + "category_id": 37, + "id": 304761, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 6025.523100000001, + "iscrowd": 0, + "image_id": 544, + "bbox": [253.32, 243.73, 113.23, 161.2], + "category_id": 1, + "id": 430999, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 6144.207649999999, + "iscrowd": 0, + "image_id": 544, + "bbox": [107.47, 301.3, 129.54, 111.31], + "category_id": 1, + "id": 453730, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 5509.193949999998, + "iscrowd": 0, + "image_id": 544, + "bbox": [25.53, 269.29, 101.67, 142.79], + "category_id": 1, + "id": 471663, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 594.7322499999996, + "iscrowd": 0, + "image_id": 544, + "bbox": [76.23, 191.66, 28.84, 44.78], + "category_id": 1, + "id": 476124, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 931.74445, + "iscrowd": 0, + "image_id": 544, + "bbox": [247.29, 185.44, 29.17, 50.01], + "category_id": 1, + "id": 487476, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 402.09069999999986, + "iscrowd": 0, + "image_id": 544, + "bbox": [193.14, 209.98, 30.04, 27.53], + "category_id": 1, + "id": 494227, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 315.2081, + "iscrowd": 0, + "image_id": 544, + "bbox": [148.91, 193.7, 31.15, 41.98], + "category_id": 1, + "id": 523667, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1493.9900500000003, + "iscrowd": 0, + "image_id": 544, + "bbox": [0.07, 221.17, 33.48, 77.9], + "category_id": 1, + "id": 545434, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 296.1576000000001, + "iscrowd": 0, + "image_id": 544, + "bbox": [544.81, 211.75, 21.74, 21.0], + "category_id": 1, + "id": 545942, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1410.213699999999, + "iscrowd": 0, + "image_id": 544, + "bbox": [20.46, 237.09, 42.72, 59.44], + "category_id": 1, + "id": 1221722, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 252.43800000000005, + "iscrowd": 0, + "image_id": 544, + "bbox": [174.28, 213.99, 18.9, 24.91], + "category_id": 1, + "id": 1245211, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 690.9191, + "iscrowd": 0, + "image_id": 544, + "bbox": [18.77, 194.87, 25.64, 45.63], + "category_id": 1, + "id": 1720612, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 284.41735000000045, + "iscrowd": 0, + "image_id": 544, + "bbox": [512.31, 203.13, 16.39, 29.72], + "category_id": 1, + "id": 2148912, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 133940, + "iscrowd": 1, + "image_id": 544, + "bbox": [0, 0, 639, 347], + "category_id": 1, + "id": 900100000544, + "ignore": 1, + "_ignore": 1 + }, + { + "area": 277.01684999999947, + "iscrowd": 0, + "image_id": 544, + "bbox": [223.14, 300.79, 52.74, 7.6], + "category_id": 39, + "id": 630177, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 461.0875500000002, + "iscrowd": 0, + "image_id": 544, + "bbox": [218.39, 324.92, 20.27, 30.58], + "category_id": 40, + "id": 634565, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 16752.975699999995, + "iscrowd": 0, + "image_id": 564, + "bbox": [230.51, 335.3, 147.48, 279.2], + "category_id": 1, + "id": 504828, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 2928.7800000000007, + "iscrowd": 0, + "image_id": 564, + "bbox": [430.78, 203.68, 89.22, 93.9], + "category_id": 1, + "id": 518975, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2476.870300000001, + "iscrowd": 0, + "image_id": 564, + "bbox": [296.89, 432.81, 105.48, 40.82], + "category_id": 43, + "id": 656909, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 767.6281500000009, + "iscrowd": 0, + "image_id": 564, + "bbox": [62.9, 234.39, 43.46, 22.27], + "category_id": 62, + "id": 1597322, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 780.6210999999994, + "iscrowd": 0, + "image_id": 564, + "bbox": [108.71, 232.0, 45.58, 25.44], + "category_id": 62, + "id": 1598473, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 995.4353000000006, + "iscrowd": 0, + "image_id": 564, + "bbox": [202.82, 230.33, 47.5, 26.02], + "category_id": 62, + "id": 1600945, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1177.7280999999998, + "iscrowd": 0, + "image_id": 564, + "bbox": [245.16, 307.81, 56.56, 28.28], + "category_id": 62, + "id": 1601794, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1032.0828499999998, + "iscrowd": 0, + "image_id": 564, + "bbox": [135.73, 258.53, 50.13, 30.25], + "category_id": 62, + "id": 1602301, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 916.2860999999996, + "iscrowd": 0, + "image_id": 564, + "bbox": [88.79, 256.37, 50.46, 25.81], + "category_id": 62, + "id": 1603427, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 896.8613499999994, + "iscrowd": 0, + "image_id": 564, + "bbox": [39.44, 260.53, 46.92, 23.68], + "category_id": 62, + "id": 1603583, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 758.9105499999991, + "iscrowd": 0, + "image_id": 564, + "bbox": [13.52, 235.62, 47.74, 22.44], + "category_id": 62, + "id": 1933450, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2269.8216999999995, + "iscrowd": 0, + "image_id": 564, + "bbox": [412.26, 304.21, 61.51, 46.54], + "category_id": 62, + "id": 1942078, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 895.2064000000009, + "iscrowd": 0, + "image_id": 564, + "bbox": [325.82, 279.27, 51.53, 21.61], + "category_id": 62, + "id": 1945218, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1054.806599999999, + "iscrowd": 0, + "image_id": 564, + "bbox": [303.39, 307.56, 51.38, 27.27], + "category_id": 62, + "id": 1947219, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 3130.9597499999995, + "iscrowd": 0, + "image_id": 564, + "bbox": [233.06, 228.6, 66.46, 77.41], + "category_id": 62, + "id": 1948102, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1154.3769999999995, + "iscrowd": 0, + "image_id": 564, + "bbox": [152.8, 232.51, 48.71, 41.53], + "category_id": 62, + "id": 2124786, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 32952, + "iscrowd": 1, + "image_id": 564, + "bbox": [1, 222, 518, 134], + "category_id": 62, + "id": 906200000564, + "ignore": 1, + "_ignore": 1 + }, + { + "area": 4805.082899999998, + "iscrowd": 0, + "image_id": 569, + "bbox": [88.1, 269.14, 80.18, 145.38], + "category_id": 1, + "id": 514322, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 353.62954999999994, + "iscrowd": 0, + "image_id": 569, + "bbox": [188.63, 205.85, 30.07, 31.15], + "category_id": 38, + "id": 621381, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 128.96510000000006, + "iscrowd": 0, + "image_id": 569, + "bbox": [170.12, 216.94, 16.66, 32.58], + "category_id": 38, + "id": 622837, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 241.56149999999988, + "iscrowd": 0, + "image_id": 569, + "bbox": [145.5, 229.28, 22.99, 23.7], + "category_id": 38, + "id": 1465067, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 175.20920000000004, + "iscrowd": 0, + "image_id": 569, + "bbox": [134.91, 239.77, 25.66, 23.29], + "category_id": 38, + "id": 1465074, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 60.2735, + "iscrowd": 0, + "image_id": 589, + "bbox": [463.86, 229.41, 18.75, 6.3], + "category_id": 34, + "id": 605219, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 8819.9511, + "iscrowd": 0, + "image_id": 589, + "bbox": [347.91, 184.57, 145.43, 184.29], + "category_id": 1, + "id": 2150702, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 650.8376999999992, + "iscrowd": 0, + "image_id": 590, + "bbox": [75.87, 295.01, 85.2, 11.57], + "category_id": 81, + "id": 1129157, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1836.003549999999, + "iscrowd": 0, + "image_id": 590, + "bbox": [73.0, 292.99, 92.87, 27.6], + "category_id": 51, + "id": 1898065, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 11235.0136, + "iscrowd": 0, + "image_id": 599, + "bbox": [528.37, 5.48, 111.33, 237.26], + "category_id": 64, + "id": 21785, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 73955.45975, + "iscrowd": 0, + "image_id": 599, + "bbox": [0.92, 37.13, 412.5, 365.75], + "category_id": 17, + "id": 50915, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 131019.11909999992, + "iscrowd": 0, + "image_id": 599, + "bbox": [0.0, 1.83, 619.65, 400.9], + "category_id": 63, + "id": 98022, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 7752.206149999998, + "iscrowd": 0, + "image_id": 599, + "bbox": [439.01, 198.19, 179.26, 87.8], + "category_id": 75, + "id": 1109665, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 4869.7, + "iscrowd": 0, + "image_id": 599, + "bbox": [389.58, 167.29, 198.0, 60.5], + "category_id": 75, + "id": 1111738, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 12582.159850000002, + "iscrowd": 0, + "image_id": 623, + "bbox": [271.29, 72.62, 103.71, 238.38], + "category_id": 15, + "id": 576293, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 99299.13180000002, + "iscrowd": 0, + "image_id": 623, + "bbox": [1.12, 31.46, 355.06, 462.92], + "category_id": 88, + "id": 1160863, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 12816.989199999996, + "iscrowd": 0, + "image_id": 623, + "bbox": [273.62, 62.92, 99.62, 239.84], + "category_id": 62, + "id": 1587299, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 47312.3003, + "iscrowd": 0, + "image_id": 623, + "bbox": [162.34, 1.3, 211.69, 490.91], + "category_id": 1, + "id": 2155793, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 1314.2529000000002, + "iscrowd": 0, + "image_id": 626, + "bbox": [312.52, 124.36, 41.32, 42.47], + "category_id": 85, + "id": 337054, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 643.4670499999993, + "iscrowd": 0, + "image_id": 626, + "bbox": [396.15, 129.71, 20.88, 46.91], + "category_id": 85, + "id": 340215, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 64019.87940000001, + "iscrowd": 0, + "image_id": 632, + "bbox": [3.27, 266.85, 401.23, 208.25], + "category_id": 65, + "id": 315724, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 2464.9330500000005, + "iscrowd": 0, + "image_id": 632, + "bbox": [183.36, 136.56, 60.78, 92.39], + "category_id": 64, + "id": 1610466, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 7034.62185, + "iscrowd": 0, + "image_id": 632, + "bbox": [347.35, 212.37, 82.51, 143.0], + "category_id": 64, + "id": 1952354, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 203.6632999999997, + "iscrowd": 0, + "image_id": 632, + "bbox": [455.98, 192.5, 8.57, 35.59], + "category_id": 84, + "id": 1657298, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 214.5320999999999, + "iscrowd": 0, + "image_id": 632, + "bbox": [453.31, 252.97, 8.02, 33.93], + "category_id": 84, + "id": 1660743, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 179.1241999999999, + "iscrowd": 0, + "image_id": 632, + "bbox": [444.76, 297.63, 5.32, 39.68], + "category_id": 84, + "id": 1660854, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 189.13310000000044, + "iscrowd": 0, + "image_id": 632, + "bbox": [505.95, 191.02, 12.15, 36.78], + "category_id": 84, + "id": 1660921, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 91.54300000000008, + "iscrowd": 0, + "image_id": 632, + "bbox": [487.51, 199.33, 7.48, 28.05], + "category_id": 84, + "id": 1661908, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 936.6684500000003, + "iscrowd": 0, + "image_id": 632, + "bbox": [460.91, 191.67, 29.33, 36.04], + "category_id": 84, + "id": 1987085, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 245.04669999999973, + "iscrowd": 0, + "image_id": 632, + "bbox": [527.02, 248.57, 24.4, 40.43], + "category_id": 84, + "id": 1988858, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 93.38395000000153, + "iscrowd": 0, + "image_id": 632, + "bbox": [519.39, 193.43, 4.08, 34.19], + "category_id": 84, + "id": 1988994, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 106.6308000000007, + "iscrowd": 0, + "image_id": 632, + "bbox": [497.39, 55.43, 4.08, 27.36], + "category_id": 84, + "id": 1989419, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 84.2943499999996, + "iscrowd": 0, + "image_id": 632, + "bbox": [524.32, 97.38, 2.8, 37.77], + "category_id": 84, + "id": 1989610, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 188.38580000000024, + "iscrowd": 0, + "image_id": 632, + "bbox": [493.36, 155.72, 32.59, 6.36], + "category_id": 84, + "id": 1990447, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 117.46770000000046, + "iscrowd": 0, + "image_id": 632, + "bbox": [454.66, 245.27, 48.55, 12.14], + "category_id": 84, + "id": 1990614, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 163.7676500000002, + "iscrowd": 0, + "image_id": 632, + "bbox": [461.77, 253.68, 8.24, 33.31], + "category_id": 84, + "id": 2143156, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 20933, + "iscrowd": 1, + "image_id": 632, + "bbox": [416, 43, 153, 303], + "category_id": 84, + "id": 908400000632, + "ignore": 1, + "_ignore": 1 + }, + { + "area": 5184.222599999999, + "iscrowd": 0, + "image_id": 632, + "bbox": [244.82, 230.45, 104.72, 87.69], + "category_id": 62, + "id": 1947237, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 98723.40265, + "iscrowd": 0, + "image_id": 636, + "bbox": [80.72, 89.37, 265.23, 536.22], + "category_id": 70, + "id": 1093590, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 825.0993000000005, + "iscrowd": 0, + "image_id": 641, + "bbox": [115.45, 237.73, 26.07, 59.96], + "category_id": 2, + "id": 125660, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 172.86754999999988, + "iscrowd": 0, + "image_id": 641, + "bbox": [565.25, 265.02, 17.49, 21.82], + "category_id": 2, + "id": 128920, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 73133.99645000002, + "iscrowd": 0, + "image_id": 641, + "bbox": [142.35, 100.03, 417.42, 228.9], + "category_id": 6, + "id": 165264, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 87.71880000000019, + "iscrowd": 0, + "image_id": 641, + "bbox": [578.29, 233.52, 11.19, 13.08], + "category_id": 1, + "id": 199390, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 264.2382000000007, + "iscrowd": 0, + "image_id": 641, + "bbox": [565.24, 240.92, 17.46, 34.38], + "category_id": 1, + "id": 213333, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 81.57804999999993, + "iscrowd": 0, + "image_id": 641, + "bbox": [596.87, 232.88, 9.74, 13.22], + "category_id": 1, + "id": 221583, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 113.6214499999992, + "iscrowd": 0, + "image_id": 641, + "bbox": [555.69, 231.63, 7.03, 22.85], + "category_id": 1, + "id": 222094, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 93.76640000000037, + "iscrowd": 0, + "image_id": 641, + "bbox": [463.68, 225.62, 5.04, 26.32], + "category_id": 1, + "id": 233297, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 70.16879999999995, + "iscrowd": 0, + "image_id": 641, + "bbox": [606.61, 231.89, 7.13, 14.45], + "category_id": 1, + "id": 1693001, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 358.5251500000001, + "iscrowd": 0, + "image_id": 641, + "bbox": [26.91, 207.55, 29.39, 23.0], + "category_id": 1, + "id": 1695641, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 336.1246500000002, + "iscrowd": 0, + "image_id": 641, + "bbox": [3.82, 209.9, 20.4, 22.96], + "category_id": 1, + "id": 1696414, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 63.82190000000003, + "iscrowd": 0, + "image_id": 641, + "bbox": [0.0, 220.97, 6.32, 18.94], + "category_id": 1, + "id": 1700346, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2733.7126500000004, + "iscrowd": 0, + "image_id": 661, + "bbox": [85.11, 4.42, 111.24, 44.67], + "category_id": 77, + "id": 324838, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 68431.64160000002, + "iscrowd": 0, + "image_id": 661, + "bbox": [58.15, 45.37, 337.07, 289.04], + "category_id": 54, + "id": 1553212, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 72647.79235000008, + "iscrowd": 0, + "image_id": 675, + "bbox": [247.71, 81.3, 392.29, 391.6], + "category_id": 17, + "id": 46990, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 34543.32345000001, + "iscrowd": 0, + "image_id": 675, + "bbox": [330.07, 212.49, 308.49, 262.12], + "category_id": 65, + "id": 317677, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 702.4128000000001, + "iscrowd": 0, + "image_id": 675, + "bbox": [99.84, 232.35, 34.79, 25.58], + "category_id": 77, + "id": 323793, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 5433.519349999999, + "iscrowd": 0, + "image_id": 675, + "bbox": [245.34, 209.84, 69.65, 98.5], + "category_id": 47, + "id": 677699, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 3709.5872499999996, + "iscrowd": 0, + "image_id": 675, + "bbox": [147.74, 231.28, 56.88, 73.37], + "category_id": 47, + "id": 681687, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1971.8176500000006, + "iscrowd": 0, + "image_id": 675, + "bbox": [164.37, 179.04, 46.55, 90.39], + "category_id": 44, + "id": 1868849, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 312.3212500000009, + "iscrowd": 0, + "image_id": 692, + "bbox": [319.39, 263.78, 37.77, 33.79], + "category_id": 90, + "id": 341792, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 265.0874000000003, + "iscrowd": 0, + "image_id": 692, + "bbox": [382.0, 338.04, 22.31, 29.38], + "category_id": 90, + "id": 1997666, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 84122.97055000001, + "iscrowd": 0, + "image_id": 692, + "bbox": [189.42, 30.26, 429.41, 428.34], + "category_id": 1, + "id": 472014, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 43507.77150000001, + "iscrowd": 0, + "image_id": 692, + "bbox": [209.87, 129.27, 307.8, 343.32], + "category_id": 1, + "id": 478463, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 29550.117049999993, + "iscrowd": 0, + "image_id": 693, + "bbox": [334.71, 38.47, 173.12, 316.43], + "category_id": 1, + "id": 439854, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 8896.383499999994, + "iscrowd": 0, + "image_id": 693, + "bbox": [412.64, 193.67, 125.51, 198.6], + "category_id": 41, + "id": 639042, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 13426.686899999992, + "iscrowd": 0, + "image_id": 693, + "bbox": [1.13, 190.22, 247.97, 137.01], + "category_id": 41, + "id": 642848, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 20990.221149999998, + "iscrowd": 0, + "image_id": 693, + "bbox": [0.96, 220.25, 236.6, 190.44], + "category_id": 41, + "id": 645859, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 5418.764650000001, + "iscrowd": 0, + "image_id": 693, + "bbox": [167.19, 19.83, 125.4, 153.27], + "category_id": 41, + "id": 646086, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1914.639449999999, + "iscrowd": 0, + "image_id": 693, + "bbox": [217.24, 48.93, 91.56, 89.91], + "category_id": 41, + "id": 646287, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1609.8064499999991, + "iscrowd": 0, + "image_id": 693, + "bbox": [236.35, 0.0, 88.94, 77.36], + "category_id": 41, + "id": 1473659, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 9259.03645, + "iscrowd": 0, + "image_id": 693, + "bbox": [66.7, 92.27, 192.32, 124.51], + "category_id": 41, + "id": 1860388, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 10227.800400000002, + "iscrowd": 0, + "image_id": 693, + "bbox": [17.84, 122.61, 201.02, 142.72], + "category_id": 41, + "id": 1860623, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 5918.660449999999, + "iscrowd": 0, + "image_id": 693, + "bbox": [108.07, 58.11, 156.78, 130.17], + "category_id": 41, + "id": 1861718, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1286.6444000000001, + "iscrowd": 0, + "image_id": 693, + "bbox": [222.46, 36.1, 71.24, 78.42], + "category_id": 41, + "id": 1861777, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1369.6453499999998, + "iscrowd": 0, + "image_id": 693, + "bbox": [217.87, 0.0, 82.98, 64.55], + "category_id": 41, + "id": 1861873, + "ignore": 0, + "_ignore": 1 + } + ], + "categories": [ + { "supercategory": "person", "id": 1, "name": "person" }, + { "supercategory": "vehicle", "id": 2, "name": "bicycle" }, + { "supercategory": "vehicle", "id": 3, "name": "car" }, + { "supercategory": "vehicle", "id": 4, "name": "motorcycle" }, + { "supercategory": "vehicle", "id": 5, "name": "airplane" }, + { "supercategory": "vehicle", "id": 6, "name": "bus" }, + { "supercategory": "vehicle", "id": 7, "name": "train" }, + { "supercategory": "vehicle", "id": 8, "name": "truck" }, + { "supercategory": "vehicle", "id": 9, "name": "boat" }, + { "supercategory": "outdoor", "id": 10, "name": "traffic light" }, + { "supercategory": "outdoor", "id": 11, "name": "fire hydrant" }, + { "supercategory": "outdoor", "id": 13, "name": "stop sign" }, + { "supercategory": "outdoor", "id": 14, "name": "parking meter" }, + { "supercategory": "outdoor", "id": 15, "name": "bench" }, + { "supercategory": "animal", "id": 16, "name": "bird" }, + { "supercategory": "animal", "id": 17, "name": "cat" }, + { "supercategory": "animal", "id": 18, "name": "dog" }, + { "supercategory": "animal", "id": 19, "name": "horse" }, + { "supercategory": "animal", "id": 20, "name": "sheep" }, + { "supercategory": "animal", "id": 21, "name": "cow" }, + { "supercategory": "animal", "id": 22, "name": "elephant" }, + { "supercategory": "animal", "id": 23, "name": "bear" }, + { "supercategory": "animal", "id": 24, "name": "zebra" }, + { "supercategory": "animal", "id": 25, "name": "giraffe" }, + { "supercategory": "accessory", "id": 27, "name": "backpack" }, + { "supercategory": "accessory", "id": 28, "name": "umbrella" }, + { "supercategory": "accessory", "id": 31, "name": "handbag" }, + { "supercategory": "accessory", "id": 32, "name": "tie" }, + { "supercategory": "accessory", "id": 33, "name": "suitcase" }, + { "supercategory": "sports", "id": 34, "name": "frisbee" }, + { "supercategory": "sports", "id": 35, "name": "skis" }, + { "supercategory": "sports", "id": 36, "name": "snowboard" }, + { "supercategory": "sports", "id": 37, "name": "sports ball" }, + { "supercategory": "sports", "id": 38, "name": "kite" }, + { "supercategory": "sports", "id": 39, "name": "baseball bat" }, + { "supercategory": "sports", "id": 40, "name": "baseball glove" }, + { "supercategory": "sports", "id": 41, "name": "skateboard" }, + { "supercategory": "sports", "id": 42, "name": "surfboard" }, + { "supercategory": "sports", "id": 43, "name": "tennis racket" }, + { "supercategory": "kitchen", "id": 44, "name": "bottle" }, + { "supercategory": "kitchen", "id": 46, "name": "wine glass" }, + { "supercategory": "kitchen", "id": 47, "name": "cup" }, + { "supercategory": "kitchen", "id": 48, "name": "fork" }, + { "supercategory": "kitchen", "id": 49, "name": "knife" }, + { "supercategory": "kitchen", "id": 50, "name": "spoon" }, + { "supercategory": "kitchen", "id": 51, "name": "bowl" }, + { "supercategory": "food", "id": 52, "name": "banana" }, + { "supercategory": "food", "id": 53, "name": "apple" }, + { "supercategory": "food", "id": 54, "name": "sandwich" }, + { "supercategory": "food", "id": 55, "name": "orange" }, + { "supercategory": "food", "id": 56, "name": "broccoli" }, + { "supercategory": "food", "id": 57, "name": "carrot" }, + { "supercategory": "food", "id": 58, "name": "hot dog" }, + { "supercategory": "food", "id": 59, "name": "pizza" }, + { "supercategory": "food", "id": 60, "name": "donut" }, + { "supercategory": "food", "id": 61, "name": "cake" }, + { "supercategory": "furniture", "id": 62, "name": "chair" }, + { "supercategory": "furniture", "id": 63, "name": "couch" }, + { "supercategory": "furniture", "id": 64, "name": "potted plant" }, + { "supercategory": "furniture", "id": 65, "name": "bed" }, + { "supercategory": "furniture", "id": 67, "name": "dining table" }, + { "supercategory": "furniture", "id": 70, "name": "toilet" }, + { "supercategory": "electronic", "id": 72, "name": "tv" }, + { "supercategory": "electronic", "id": 73, "name": "laptop" }, + { "supercategory": "electronic", "id": 74, "name": "mouse" }, + { "supercategory": "electronic", "id": 75, "name": "remote" }, + { "supercategory": "electronic", "id": 76, "name": "keyboard" }, + { "supercategory": "electronic", "id": 77, "name": "cell phone" }, + { "supercategory": "appliance", "id": 78, "name": "microwave" }, + { "supercategory": "appliance", "id": 79, "name": "oven" }, + { "supercategory": "appliance", "id": 80, "name": "toaster" }, + { "supercategory": "appliance", "id": 81, "name": "sink" }, + { "supercategory": "appliance", "id": 82, "name": "refrigerator" }, + { "supercategory": "indoor", "id": 84, "name": "book" }, + { "supercategory": "indoor", "id": 85, "name": "clock" }, + { "supercategory": "indoor", "id": 86, "name": "vase" }, + { "supercategory": "indoor", "id": 87, "name": "scissors" }, + { "supercategory": "indoor", "id": 88, "name": "teddy bear" }, + { "supercategory": "indoor", "id": 89, "name": "hair drier" }, + { "supercategory": "indoor", "id": 90, "name": "toothbrush" } + ], + "images": [ + { "id": 257 }, + { "id": 641 }, + { "id": 387 }, + { "id": 133 }, + { "id": 136 }, + { "id": 520 }, + { "id": 139 }, + { "id": 395 }, + { "id": 397 }, + { "id": 143 }, + { "id": 400 }, + { "id": 661 }, + { "id": 536 }, + { "id": 283 }, + { "id": 285 }, + { "id": 415 }, + { "id": 544 }, + { "id": 675 }, + { "id": 164 }, + { "id": 294 }, + { "id": 42 }, + { "id": 428 }, + { "id": 564 }, + { "id": 692 }, + { "id": 693 }, + { "id": 569 }, + { "id": 192 }, + { "id": 196 }, + { "id": 328 }, + { "id": 73 }, + { "id": 74 }, + { "id": 459 }, + { "id": 589 }, + { "id": 590 }, + { "id": 208 }, + { "id": 338 }, + { "id": 599 }, + { "id": 472 }, + { "id": 474 }, + { "id": 357 }, + { "id": 486 }, + { "id": 359 }, + { "id": 360 }, + { "id": 488 }, + { "id": 623 }, + { "id": 241 }, + { "id": 626 }, + { "id": 502 }, + { "id": 632 }, + { "id": 636 } + ] +} diff --git a/tests/ignite/metrics/test_mAP.py b/tests/ignite/metrics/test_mAP.py new file mode 100644 index 000000000000..43b3fe469b2c --- /dev/null +++ b/tests/ignite/metrics/test_mAP.py @@ -0,0 +1,219 @@ +import os +from collections import defaultdict + +import pytest +import torch +from pycocotools.coco import COCO +from pycocotools.cocoeval import COCOeval + +import ignite.distributed as idist +from ignite.engine import Engine +from ignite.metrics import AP + +area_rngs = { + "all": [0, float("inf")], + "small": [0, 1024], + "medium": [1024, 9216], + "large": [9216, float("inf")], +} +max_det = 100 + +iou_thrs = torch.tensor([0.5 + (i / 20) for i in range(10)]) +rec_thrs = torch.tensor([i / 100 for i in range(101)]) + + +def get_coco_results(): + dir_path = os.getcwd() + cocoGt = COCO(dir_path + "/gt.json") + cocoDt = cocoGt.loadRes(dir_path + "/dt.json") + + imgIds = sorted(cocoGt.getImgIds()) + + cocoEval = COCOeval(cocoGt, cocoDt, "bbox") + cocoEval.params.imgIds = imgIds + cocoEval._prepare() + cocoEval.evaluate() + cocoEval.accumulate() + + img_gts = defaultdict(lambda: torch.zeros(0, 9)) + img_dts = defaultdict(lambda: torch.zeros(0, 9)) + + for i in cocoEval._gts: + for img in cocoEval._gts[i]: + id = img["id"] + img_id = img["image_id"] + class_id = img["category_id"] + area = img["area"] + crowd = img["iscrowd"] + ignore = img["ignore"] + xmin, ymin, xmax, ymax = img["bbox"] + img_gts[img_id] = torch.vstack( + [img_gts[img_id], torch.tensor([id, class_id, xmin, ymin, xmax, ymax, area, crowd, ignore])] + ) + + for i in cocoEval._dts: + for img in cocoEval._dts[i]: + id = img["id"] + img_id = img["image_id"] + class_id = img["category_id"] + area = img["area"] + confidence = img["score"] + xmin, ymin, xmax, ymax = img["bbox"] + img_dts[img_id] = torch.vstack( + [img_dts[img_id], torch.tensor([id, class_id, xmin, ymin, xmax, ymax, area, crowd, confidence])] + ) + + img_list = set([i for i in img_gts]) + for i in img_dts: + img_list.add(i) + + return cocoEval, list(img_list), img_gts, img_dts + + +cocoEval, img_list, img_gts, img_dts = get_coco_results() + + +def test_wrong_inputs(): + with pytest.raises(ValueError, match="area_rngs should be a dictionary with key as area name"): + mAP = AP(area_rngs={1: 2}, max_det=max_det, iou_thrs=iou_thrs, rec_thrs=rec_thrs) + with pytest.raises(ValueError, match="max_det should be a positive integer, got"): + mAP = AP(area_rngs=area_rngs, max_det=-1, iou_thrs=iou_thrs, rec_thrs=rec_thrs) + with pytest.raises(ValueError, match="iou_thrs should be a float tensor, got"): + mAP = AP(area_rngs=area_rngs, max_det=max_det, iou_thrs=torch.zeros(10, dtype=torch.int64), rec_thrs=rec_thrs) + with pytest.raises(ValueError, match="rec_thrs should be a float tensor, got"): + mAP = AP(area_rngs=area_rngs, max_det=max_det, iou_thrs=iou_thrs, rec_thrs=torch.zeros(10, dtype=torch.int64)) + + mAP = AP(area_rngs=area_rngs, max_det=max_det, iou_thrs=iou_thrs, rec_thrs=rec_thrs) + + with pytest.raises(ValueError, match="Update Data must be of the form"): + mAP.update(torch.zeros(1)) + + with pytest.raises(ValueError, match="Detections should be of the form"): + mAP.update([[1.5, [2]], []]) + + with pytest.raises(ValueError, match="detections_tensor should be of size"): + mAP.update([[1, torch.zeros(1)], []]) + + with pytest.raises(ValueError, match="Ground Truths should be of the form"): + mAP.update([[1, torch.zeros(1, 9)], [1, [2]]]) + + with pytest.raises(ValueError, match="ground_truths should be of size"): + mAP.update([[1, torch.zeros(1, 9)], [1, torch.zeros(2, 10)]]) + + +def test_against_coco_map(): + mAP = AP(area_rngs=area_rngs, max_det=max_det, iou_thrs=iou_thrs, rec_thrs=rec_thrs) + + for i in img_list: + mAP.update([[i, img_dts[i]], [i, img_gts[i]]]) + + results = mAP.compute() + cocoEval.summarize() + coco_results = cocoEval.stats[:6] + assert coco_results[0] == pytest.approx(results[0], 1e-2) + assert coco_results[1] == pytest.approx(results[1], 1e-2) + assert coco_results[2] == pytest.approx(results[2], 1e-2) + assert coco_results[3] == pytest.approx(results[3], 1e-2) + assert coco_results[4] == pytest.approx(results[4], 1e-2) + assert coco_results[5] == pytest.approx(results[5], 1e-2) + + +def _test_distrib_integration(device): + def _test(): + torch.manual_seed(12) + + def update(_, img_id): + return [[img_id, img_dts[img_id]], [img_id, img_gts[img_id]]] + + engine = Engine(update) + + mAP = AP(area_rngs=area_rngs, max_det=max_det, iou_thrs=iou_thrs, rec_thrs=rec_thrs, device=device) + mAP.attach(engine, "mAP") + + data = img_list + engine.run(data=data, max_epochs=1) + + assert "mAP" in engine.state.metrics + + results = engine.state.metrics["mAP"] + cocoEval.summarize() + coco_results = cocoEval.stats[:6] + assert coco_results[0] == pytest.approx(results[0], 1e-2) + assert coco_results[1] == pytest.approx(results[1], 1e-2) + assert coco_results[2] == pytest.approx(results[2], 1e-2) + assert coco_results[3] == pytest.approx(results[3], 1e-2) + assert coco_results[4] == pytest.approx(results[4], 1e-2) + assert coco_results[5] == pytest.approx(results[5], 1e-2) + + metric_devices = ["cpu"] + if device.type != "xla": + metric_devices.append(idist.device()) + for metric_device in metric_devices: + _test() + + +@pytest.mark.distributed +@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +@pytest.mark.skipif(torch.cuda.device_count() < 1, reason="Skip if no GPU") +def test_distrib_nccl_gpu(distributed_context_single_node_nccl): + + device = idist.device() + _test_distrib_integration(device) + + +@pytest.mark.distributed +@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +def test_distrib_gloo_cpu_or_gpu(distributed_context_single_node_gloo): + + device = idist.device() + _test_distrib_integration(device) + + +@pytest.mark.distributed +@pytest.mark.skipif(not idist.has_hvd_support, reason="Skip if no Horovod dist support") +@pytest.mark.skipif("WORLD_SIZE" in os.environ, reason="Skip if launched as multiproc") +def test_distrib_hvd(gloo_hvd_executor): + + device = torch.device("cpu" if not torch.cuda.is_available() else "cuda") + nproc = 4 if not torch.cuda.is_available() else torch.cuda.device_count() + + gloo_hvd_executor(_test_distrib_integration, (device,), np=nproc, do_init=True) + + +@pytest.mark.tpu +@pytest.mark.skipif("NUM_TPU_WORKERS" in os.environ, reason="Skip if NUM_TPU_WORKERS is in env vars") +@pytest.mark.skipif(not idist.has_xla_support, reason="Skip if no PyTorch XLA package") +def test_distrib_single_device_xla(): + device = idist.device() + _test_distrib_integration(device) + + +def _test_distrib_xla_nprocs(index): + device = idist.device() + _test_distrib_integration(device) + + +@pytest.mark.tpu +@pytest.mark.skipif("NUM_TPU_WORKERS" not in os.environ, reason="Skip if no NUM_TPU_WORKERS in env vars") +@pytest.mark.skipif(not idist.has_xla_support, reason="Skip if no PyTorch XLA package") +def test_distrib_xla_nprocs(xmp_executor): + n = int(os.environ["NUM_TPU_WORKERS"]) + xmp_executor(_test_distrib_xla_nprocs, args=(), nprocs=n) + + +@pytest.mark.multinode_distributed +@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +@pytest.mark.skipif("MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") +def test_multinode_distrib_gloo_cpu_or_gpu(distributed_context_multi_node_gloo): + + device = idist.device() + _test_distrib_integration(device) + + +@pytest.mark.multinode_distributed +@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +@pytest.mark.skipif("GPU_MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") +def test_multinode_distrib_nccl_gpu(distributed_context_multi_node_nccl): + + device = idist.device() + _test_distrib_integration(device) From 8445d7e01cd4ac2b84c53e2ec19ccad3b8c5ffa1 Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Fri, 13 Aug 2021 20:03:17 +0530 Subject: [PATCH 05/33] Documentation --- docs/source/metrics.rst | 1 + ignite/metrics/mAP.py | 111 ++++++++++++++++++++++++++++++---------- 2 files changed, 86 insertions(+), 26 deletions(-) diff --git a/docs/source/metrics.rst b/docs/source/metrics.rst index 136a0f612e26..533f267b29f8 100644 --- a/docs/source/metrics.rst +++ b/docs/source/metrics.rst @@ -313,6 +313,7 @@ Complete list of metrics JaccardIndex IoU mIoU + AP EpochMetric Fbeta Frequency diff --git a/ignite/metrics/mAP.py b/ignite/metrics/mAP.py index a71ae91af76e..2dffa7dc82f8 100644 --- a/ignite/metrics/mAP.py +++ b/ignite/metrics/mAP.py @@ -1,18 +1,9 @@ from collections import defaultdict -from typing import Any, Callable, Dict, List, Optional, Union +from typing import Any, Callable, Dict, List, Optional, Tuple, Union import torch -from ignite.metrics.metric import Metric - -""" -gt: (1id, 4xmin, 5ymin, 6xmax, 7ymax, 8area, 9crowd, 10ignore) -dt: (1id, 4xmin, 5ymin, 6xmax, 7ymax, 8area, 9crowd, 10confidence) -gts: torch.tensor([gt,gt,gt...]) -dts: torch.tensor([dt,dt,dt...]) -gt_img : (1img_id, 2class_id, gts) -dt_img : (1img_id, 2class_id, dts) -""" +from ignite.metrics.metric import Metric, reinit__is_reduced def iou(gt: torch.Tensor, dt: torch.Tensor, crowd: List) -> torch.Tensor: @@ -56,6 +47,70 @@ def iou(gt: torch.Tensor, dt: torch.Tensor, crowd: List) -> torch.Tensor: class AP(Metric): + r"""Calculates Average Precision for object detection data. + + .. math:: + \text{AP} = {1/11}\sum_{r \in {0.0, ..., 1.0}}\text{AP}_r + + where \text{AP}_r represents average precision at recall value :math:`r`, + where :math:`r` ranges from 0.0 to 1.0. + + More details can be found in `Everingham et al. 2009`__ + + __ https://homepages.inf.ed.ac.uk/ckiw/postscript/ijcv_voc09.pdf + + Remark: + + This implementation is inspired by pycocotools which can be found `here`__ + + __ https://github.com/cocodataset/cocoapi/ + + Args: + area_rngs: dictionary with area_name as key and a tuple of the form + (lower_area_range, upper_area_range) as value, where both values are floats. + It contains all area ranges for which AP needs to be computed. + max_det: Maximum detections allowed per image. This is to limit crowding and repeated + detections of the same object. + iou_thrs: A float tensor containing a set of IoU thresholds for which AP needs to be computed. + rec_thrs: A float tensor containing a set of values at which AP needs to be computed for averaging. + output_transform: a callable that is used to transform the + :class:`~ignite.engine.engine.Engine`'s ``process_function``'s output into the + form expected by the metric. This can be useful if, for example, you have a multi-output model and + you want to compute the metric with respect to one of the outputs. + By default, metrics require the output as ``(y_pred, y)`` or ``{'y_pred': y_pred, 'y': y}``. + device: specifies which device updates are accumulated on. Setting the + metric's device to be the same as your ``update`` arguments ensures the ``update`` method is + non-blocking. By default, CPU. + + Example: + + .. code-block:: python + + import torch + from ignite.metrics import AP + + gts = torch.tensor([[1,73,249.1,50.7,375.3,277.2,101928.52,0,0], + [2,73,152.3,50.29,47,312.38, 4097.4,0,0]]) + dts = torch.tensor([[1,73,176.38,50.3,463.62,312.4,144825.6,0,0.328], + [2,73,355.5,111.87,210,93.75,19687.5,0,0.64]]) + + area_rngs = { + 'all' : [0, float("inf")], + } + max_det = 100 + + iou_thrs = torch.tensor([0.5 + (i/20) for i in range(10)]) + rec_thrs = torch.tensor([i/100 for i in range(101)]) + + mAP = AP(area_rngs=area_rngs, max_det=max_det, iou_thrs=iou_thrs, rec_thrs=rec_thrs) + + mAP.update([[1,gts],[1,dts]]) + + mAP.compute() + + .. versionadded:: 0.5.0 + """ + def __init__( self, area_rngs: Dict, @@ -65,7 +120,7 @@ def __init__( output_transform: Callable = lambda x: x, device: Union[str, torch.device] = torch.device("cpu"), ) -> None: - self.check_area_rngs(area_rngs) + self._check_area_rngs(area_rngs) self.area_rngs: Dict = area_rngs self.max_det: int = max_det @@ -85,7 +140,7 @@ def __init__( super(AP, self).__init__(output_transform=output_transform, device=device) @staticmethod - def check_area_rngs(area_rngs): + def _check_area_rngs(area_rngs: Dict) -> None: for area in area_rngs: area_rng = area_rngs[area] if type(area) != str or len(area_rng) != 2 or area_rng[0] >= area_rng[1]: @@ -95,7 +150,7 @@ def check_area_rngs(area_rngs): ) @staticmethod - def get_samples(data): + def _get_samples(data: List) -> Tuple: if len(data) != 2: raise ValueError("Update Data must be of the format [dt_img, gt_img].") @@ -121,8 +176,9 @@ def get_samples(data): return dt_img, gt_img + @reinit__is_reduced def update(self, output: Any) -> None: - dt_img, gt_img = self.get_samples(output) + dt_img, gt_img = self._get_samples(output) dt_img[1] = dt_img[1].to(self.device) gt_img[1] = gt_img[1].to(self.device) @@ -146,19 +202,20 @@ def update(self, output: Any) -> None: self.class_ids.update(classes) for class_id in classes: - ious = self.compute_iou(classwise_gt[class_id], classwise_dt[class_id]) + ious = self._compute_iou(classwise_gt[class_id], classwise_dt[class_id]) for area_rng in self.area_rngs: self.eval_imgs[class_id, area_rng].append( - self.evaluate_image(classwise_gt[class_id], classwise_dt[class_id], self.area_rngs[area_rng], ious) + self._evaluate_image(classwise_gt[class_id], classwise_dt[class_id], self.area_rngs[area_rng], ious) ) + @reinit__is_reduced def reset(self) -> None: self.class_ids: set = set() self.img_ids: set = set() self.eval_imgs: defaultdict = defaultdict(list) - def compute_iou(self, gt: torch.Tensor, dt: torch.Tensor) -> torch.Tensor: + def _compute_iou(self, gt: torch.Tensor, dt: torch.Tensor) -> torch.Tensor: dt = dt[torch.argsort(dt[:, d_confidence])] crowd = [g[i_crowd] for g in gt] @@ -166,7 +223,7 @@ def compute_iou(self, gt: torch.Tensor, dt: torch.Tensor) -> torch.Tensor: return ious - def evaluate_image( + def _evaluate_image( self, gt: torch.Tensor, dt: torch.Tensor, area_rng: torch.Tensor, ious: torch.Tensor ) -> Optional[Dict]: if len(gt) == 0 and len(dt) == 0: @@ -231,7 +288,8 @@ def evaluate_image( "dtIgnore": dt_ignore, } - def accumulate(self) -> None: + @reinit__is_reduced + def _accumulate(self) -> None: num_iou_thr = len(self.iou_thrs) num_rec_thr = len(self.rec_thrs) num_classes = len(self.class_ids) @@ -306,7 +364,7 @@ def _summarize(self, iou_thr: Optional[float] = None, area_rng: str = "all") -> return mean_s.item() - def summarize_all(self) -> torch.Tensor: + def _summarize_all(self) -> torch.Tensor: stats = torch.zeros((6,)) stats[0] = self._summarize() stats[1] = self._summarize(iou_thr=0.5) @@ -317,10 +375,11 @@ def summarize_all(self) -> torch.Tensor: return stats - def gather_all(self) -> None: + @reinit__is_reduced + def _gather_all(self) -> None: import torch.distributed as dist - def is_dist_avail_and_initialized(): + def is_dist_avail_and_initialized() -> bool: if not dist.is_available(): return False if not dist.is_initialized(): @@ -344,9 +403,9 @@ def is_dist_avail_and_initialized(): self.eval_imgs = combined_eval_imgs def compute(self) -> torch.Tensor: - self.gather_all() - self.accumulate() + self._gather_all() + self._accumulate() - results = self.summarize_all() + results = self._summarize_all() return results From f44582d7a5245e4ca2dee46942f1469d9c93be2b Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Sat, 14 Aug 2021 21:42:53 +0530 Subject: [PATCH 06/33] removed image_id as not needed --- ignite/metrics/mAP.py | 33 ++++++++++++-------------------- tests/ignite/metrics/test_mAP.py | 12 +++--------- 2 files changed, 15 insertions(+), 30 deletions(-) diff --git a/ignite/metrics/mAP.py b/ignite/metrics/mAP.py index 2dffa7dc82f8..a8da40e811f7 100644 --- a/ignite/metrics/mAP.py +++ b/ignite/metrics/mAP.py @@ -135,6 +135,8 @@ def __init__( raise ValueError(f"rec_thrs should be a float tensor, got {rec_thrs.dtype}") self.rec_thrs: torch.Tensor = rec_thrs.to(device) + self.img_id_count = 1 + self.device: Union[str, torch.device] = device super(AP, self).__init__(output_transform=output_transform, device=device) @@ -156,23 +158,11 @@ def _get_samples(data: List) -> Tuple: dt_img, gt_img = data - if len(dt_img) != 2 or type(dt_img[0]) != int or type(dt_img[1]) != torch.Tensor: - raise ValueError("Detections should be of the form [image_id, detections_tensor].") - if len(dt_img[1].shape) != 2 or dt_img[1].shape[1] != 9: - raise ValueError(f"detections_tensor should be of size [num_detections, 9], got {dt_img[1].shape}") - - if len(gt_img) != 2 or type(gt_img[0]) != int or type(gt_img[1]) != torch.Tensor: - raise ValueError("Ground Truths should be of the form [image_id, ground_truths].") - if len(gt_img[1].shape) != 2 or gt_img[1].shape[1] != 9: - raise ValueError(f"ground_truths should be of size [num_detections, 9], got {gt_img[1].shape}") + if len(dt_img.shape) != 2 or dt_img.shape[1] != 9: + raise ValueError(f"detections_tensor should be of size [num_detections, 9], got {dt_img.shape}") - if gt_img[0] != dt_img[0]: - raise ValueError( - f""" - Ground Truth and Detections should be of the same image, got image id {gt_img[0]} \ - for Ground Truth and image id {dt_img[0]} for Detections. - """ - ) + if len(gt_img.shape) != 2 or gt_img.shape[1] != 9: + raise ValueError(f"ground_truths should be of size [num_detections, 9], got {gt_img.shape}") return dt_img, gt_img @@ -180,20 +170,21 @@ def _get_samples(data: List) -> Tuple: def update(self, output: Any) -> None: dt_img, gt_img = self._get_samples(output) - dt_img[1] = dt_img[1].to(self.device) - gt_img[1] = gt_img[1].to(self.device) + dt_img = dt_img.to(self.device) + gt_img = gt_img.to(self.device) - img_id = gt_img[0] + img_id = self.img_id_count + self.img_id_count += 1 classes = set() classwise_gt: defaultdict = defaultdict(lambda: torch.zeros(0, 9)) - for gt in gt_img[1]: + for gt in gt_img: class_id = int(gt[i_class_id]) classes.add(class_id) classwise_gt[class_id] = torch.vstack([classwise_gt[class_id], gt]) classwise_dt: defaultdict = defaultdict(lambda: torch.zeros(0, 9)) - for dt in dt_img[1]: + for dt in dt_img: class_id = int(dt[i_class_id]) classes.add(class_id) classwise_dt[class_id] = torch.vstack([classwise_dt[class_id], dt]) diff --git a/tests/ignite/metrics/test_mAP.py b/tests/ignite/metrics/test_mAP.py index 43b3fe469b2c..997aa926399b 100644 --- a/tests/ignite/metrics/test_mAP.py +++ b/tests/ignite/metrics/test_mAP.py @@ -88,24 +88,18 @@ def test_wrong_inputs(): with pytest.raises(ValueError, match="Update Data must be of the form"): mAP.update(torch.zeros(1)) - with pytest.raises(ValueError, match="Detections should be of the form"): - mAP.update([[1.5, [2]], []]) - with pytest.raises(ValueError, match="detections_tensor should be of size"): - mAP.update([[1, torch.zeros(1)], []]) - - with pytest.raises(ValueError, match="Ground Truths should be of the form"): - mAP.update([[1, torch.zeros(1, 9)], [1, [2]]]) + mAP.update([torch.zeros(1), []]) with pytest.raises(ValueError, match="ground_truths should be of size"): - mAP.update([[1, torch.zeros(1, 9)], [1, torch.zeros(2, 10)]]) + mAP.update([torch.zeros(1, 9), torch.zeros(2, 10)]) def test_against_coco_map(): mAP = AP(area_rngs=area_rngs, max_det=max_det, iou_thrs=iou_thrs, rec_thrs=rec_thrs) for i in img_list: - mAP.update([[i, img_dts[i]], [i, img_gts[i]]]) + mAP.update([img_dts[i], img_gts[i]]) results = mAP.compute() cocoEval.summarize() From 5f485bef9a4925699484321fe6da82567a7344a6 Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Sun, 15 Aug 2021 09:10:04 +0530 Subject: [PATCH 07/33] Distributed Test Fix --- ignite/metrics/mAP.py | 19 ++++++++++--------- tests/ignite/metrics/test_mAP.py | 2 +- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/ignite/metrics/mAP.py b/ignite/metrics/mAP.py index a8da40e811f7..b1ff5171b7d5 100644 --- a/ignite/metrics/mAP.py +++ b/ignite/metrics/mAP.py @@ -177,13 +177,13 @@ def update(self, output: Any) -> None: self.img_id_count += 1 classes = set() - classwise_gt: defaultdict = defaultdict(lambda: torch.zeros(0, 9)) + classwise_gt: defaultdict = defaultdict(lambda: torch.zeros(0, 9).to(self.device)) for gt in gt_img: class_id = int(gt[i_class_id]) classes.add(class_id) classwise_gt[class_id] = torch.vstack([classwise_gt[class_id], gt]) - classwise_dt: defaultdict = defaultdict(lambda: torch.zeros(0, 9)) + classwise_dt: defaultdict = defaultdict(lambda: torch.zeros(0, 9).to(self.device)) for dt in dt_img: class_id = int(dt[i_class_id]) classes.add(class_id) @@ -210,7 +210,7 @@ def _compute_iou(self, gt: torch.Tensor, dt: torch.Tensor) -> torch.Tensor: dt = dt[torch.argsort(dt[:, d_confidence])] crowd = [g[i_crowd] for g in gt] - ious = iou(gt[:, i_xmin:i_area], dt[:, i_xmin:i_area], crowd) + ious = iou(gt[:, i_xmin:i_area], dt[:, i_xmin:i_area], crowd).to(self.device) return ious @@ -238,9 +238,9 @@ def _evaluate_image( num_iou_thrs = len(self.iou_thrs) num_gt = len(gt) num_dt = len(dt) - gtm = torch.zeros(num_iou_thrs, num_gt) - dtm = torch.zeros(num_iou_thrs, num_dt) - dt_ignore = torch.zeros(num_iou_thrs, num_dt) + gtm = torch.zeros((num_iou_thrs, num_gt), device=self.device) + dtm = torch.zeros((num_iou_thrs, num_dt), device=self.device) + dt_ignore = torch.zeros((num_iou_thrs, num_dt), device=self.device) if len(ious) != 0: for tind, t in enumerate(self.iou_thrs): @@ -267,10 +267,11 @@ def _evaluate_image( gtm[tind, m] = d[i_id] a = torch.tensor([d[i_area] < area_rng[0] or d[i_area] > area_rng[1] for d in dt]).reshape((1, len(dt))) + a = a.to(self.device) dt_ignore = torch.logical_or( dt_ignore, torch.logical_and(dtm == 0, torch.repeat_interleave(a, num_iou_thrs, 0)) - ) + ).to(self.device) return { "dtMatches": dtm, @@ -287,7 +288,7 @@ def _accumulate(self) -> None: num_area = len(self.area_rngs) max_det = self.max_det - precision = -torch.ones((num_iou_thr, num_rec_thr, num_classes, num_area)) + precision = -torch.ones((num_iou_thr, num_rec_thr, num_classes, num_area), device=self.device) # retrieve eval_imgs at each category, area range, and max number of detections for c, class_id in enumerate(self.class_ids): @@ -381,7 +382,7 @@ def is_dist_avail_and_initialized() -> bool: return gather_dicts: List[Dict] = [defaultdict(list)] * dist.get_world_size() - dist.gather_object(self.eval_imgs, gather_dicts if dist.get_rank() == 0 else None, dst=0) + dist.all_gather_object(gather_dicts, self.eval_imgs) if dist.get_rank() == 0: keys = set() for eval_imgs in gather_dicts: diff --git a/tests/ignite/metrics/test_mAP.py b/tests/ignite/metrics/test_mAP.py index 997aa926399b..0fefc402ffb6 100644 --- a/tests/ignite/metrics/test_mAP.py +++ b/tests/ignite/metrics/test_mAP.py @@ -117,7 +117,7 @@ def _test(): torch.manual_seed(12) def update(_, img_id): - return [[img_id, img_dts[img_id]], [img_id, img_gts[img_id]]] + return [img_dts[img_id], img_gts[img_id]] engine = Engine(update) From 4a2428e8b28c287f41e585157ade12e25a332490 Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Sun, 15 Aug 2021 10:03:11 +0530 Subject: [PATCH 08/33] better return for compute, simiplified usage, better example --- ignite/metrics/__init__.py | 4 +- ignite/metrics/mAP.py | 67 +++++++++++++++----------------- requirements-dev.txt | 1 + tests/ignite/metrics/test_mAP.py | 51 ++++++++++-------------- 4 files changed, 55 insertions(+), 68 deletions(-) diff --git a/ignite/metrics/__init__.py b/ignite/metrics/__init__.py index 39cf27fec878..7136bac7b9e8 100644 --- a/ignite/metrics/__init__.py +++ b/ignite/metrics/__init__.py @@ -8,7 +8,7 @@ from ignite.metrics.gan.fid import FID from ignite.metrics.gan.inception_score import InceptionScore from ignite.metrics.loss import Loss -from ignite.metrics.mAP import AP +from ignite.metrics.mAP import MeanAveragePrecision from ignite.metrics.mean_absolute_error import MeanAbsoluteError from ignite.metrics.mean_pairwise_distance import MeanPairwiseDistance from ignite.metrics.mean_squared_error import MeanSquaredError @@ -43,7 +43,7 @@ "FID", "GeometricAverage", "IoU", - "AP", + "MeanAveragePrecision", "InceptionScore", "mIoU", "JaccardIndex", diff --git a/ignite/metrics/mAP.py b/ignite/metrics/mAP.py index b1ff5171b7d5..569450c8170d 100644 --- a/ignite/metrics/mAP.py +++ b/ignite/metrics/mAP.py @@ -46,13 +46,13 @@ def iou(gt: torch.Tensor, dt: torch.Tensor, crowd: List) -> torch.Tensor: d_confidence = 8 -class AP(Metric): - r"""Calculates Average Precision for object detection data. +class MeanAveragePrecision(Metric): + r"""Calculates Mean Average Precision for object detection data. .. math:: - \text{AP} = {1/11}\sum_{r \in {0.0, ..., 1.0}}\text{AP}_r + \text{MeanAveragePrecision} = {1/11}\sum_{r \in {0.0, ..., 1.0}}\text{AP}_r - where \text{AP}_r represents average precision at recall value :math:`r`, + where \text{MeanAveragePrecision}_r represents average precision at recall value :math:`r`, where :math:`r` ranges from 0.0 to 1.0. More details can be found in `Everingham et al. 2009`__ @@ -87,24 +87,22 @@ class AP(Metric): .. code-block:: python import torch - from ignite.metrics import AP + from ignite.metrics import MeanAveragePrecision + # Detection Format: + # (id, class, xmin, ymin, xmax, ymax, area, crowd, ignore/confidence) + + # ground truth detections for an image gts = torch.tensor([[1,73,249.1,50.7,375.3,277.2,101928.52,0,0], [2,73,152.3,50.29,47,312.38, 4097.4,0,0]]) + + # predicted detections for the same image dts = torch.tensor([[1,73,176.38,50.3,463.62,312.4,144825.6,0,0.328], [2,73,355.5,111.87,210,93.75,19687.5,0,0.64]]) - area_rngs = { - 'all' : [0, float("inf")], - } - max_det = 100 - - iou_thrs = torch.tensor([0.5 + (i/20) for i in range(10)]) - rec_thrs = torch.tensor([i/100 for i in range(101)]) + mAP = MeanAveragePrecision() - mAP = AP(area_rngs=area_rngs, max_det=max_det, iou_thrs=iou_thrs, rec_thrs=rec_thrs) - - mAP.update([[1,gts],[1,dts]]) + mAP.update([gts, dts]) mAP.compute() @@ -113,10 +111,15 @@ class AP(Metric): def __init__( self, - area_rngs: Dict, - max_det: int, - iou_thrs: torch.Tensor, - rec_thrs: torch.Tensor, + area_rngs: Dict = { + "all": [0, float("inf")], + "small": [0, 1024], + "medium": [1024, 9216], + "large": [9216, float("inf")], + }, + max_det: int = 100, + iou_thrs: torch.Tensor = torch.tensor([0.5 + (i / 20) for i in range(10)]), # type: ignore + rec_thrs: torch.Tensor = torch.tensor([i / 100 for i in range(101)]), # type: ignore output_transform: Callable = lambda x: x, device: Union[str, torch.device] = torch.device("cpu"), ) -> None: @@ -139,7 +142,7 @@ def __init__( self.device: Union[str, torch.device] = device - super(AP, self).__init__(output_transform=output_transform, device=device) + super(MeanAveragePrecision, self).__init__(output_transform=output_transform, device=device) @staticmethod def _check_area_rngs(area_rngs: Dict) -> None: @@ -356,17 +359,6 @@ def _summarize(self, iou_thr: Optional[float] = None, area_rng: str = "all") -> return mean_s.item() - def _summarize_all(self) -> torch.Tensor: - stats = torch.zeros((6,)) - stats[0] = self._summarize() - stats[1] = self._summarize(iou_thr=0.5) - stats[2] = self._summarize(iou_thr=0.75) - stats[3] = self._summarize(area_rng="small") - stats[4] = self._summarize(area_rng="medium") - stats[5] = self._summarize(area_rng="large") - - return stats - @reinit__is_reduced def _gather_all(self) -> None: import torch.distributed as dist @@ -394,10 +386,15 @@ def is_dist_avail_and_initialized() -> bool: combined_eval_imgs[key] += eval_imgs[key] self.eval_imgs = combined_eval_imgs - def compute(self) -> torch.Tensor: + def compute(self) -> Dict: self._gather_all() self._accumulate() - results = self._summarize_all() - - return results + return { + "all": self._summarize(), + "all@0.5": self._summarize(iou_thr=0.5), + "all@0.75": self._summarize(iou_thr=0.75), + "small": self._summarize(area_rng="small"), + "medium": self._summarize(area_rng="medium"), + "large": self._summarize(area_rng="large"), + } diff --git a/requirements-dev.txt b/requirements-dev.txt index a22c6a11f1e0..bb025e108af6 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -25,6 +25,7 @@ clearml scikit-image py-rouge nltk +pycocotools # Examples dependencies pandas gym diff --git a/tests/ignite/metrics/test_mAP.py b/tests/ignite/metrics/test_mAP.py index 0fefc402ffb6..d346c80d789b 100644 --- a/tests/ignite/metrics/test_mAP.py +++ b/tests/ignite/metrics/test_mAP.py @@ -8,18 +8,7 @@ import ignite.distributed as idist from ignite.engine import Engine -from ignite.metrics import AP - -area_rngs = { - "all": [0, float("inf")], - "small": [0, 1024], - "medium": [1024, 9216], - "large": [9216, float("inf")], -} -max_det = 100 - -iou_thrs = torch.tensor([0.5 + (i / 20) for i in range(10)]) -rec_thrs = torch.tensor([i / 100 for i in range(101)]) +from ignite.metrics import MeanAveragePrecision def get_coco_results(): @@ -75,15 +64,15 @@ def get_coco_results(): def test_wrong_inputs(): with pytest.raises(ValueError, match="area_rngs should be a dictionary with key as area name"): - mAP = AP(area_rngs={1: 2}, max_det=max_det, iou_thrs=iou_thrs, rec_thrs=rec_thrs) + mAP = MeanAveragePrecision(area_rngs={1: 2}) with pytest.raises(ValueError, match="max_det should be a positive integer, got"): - mAP = AP(area_rngs=area_rngs, max_det=-1, iou_thrs=iou_thrs, rec_thrs=rec_thrs) + mAP = MeanAveragePrecision(max_det=-1) with pytest.raises(ValueError, match="iou_thrs should be a float tensor, got"): - mAP = AP(area_rngs=area_rngs, max_det=max_det, iou_thrs=torch.zeros(10, dtype=torch.int64), rec_thrs=rec_thrs) + mAP = MeanAveragePrecision(iou_thrs=torch.zeros(10, dtype=torch.int64)) with pytest.raises(ValueError, match="rec_thrs should be a float tensor, got"): - mAP = AP(area_rngs=area_rngs, max_det=max_det, iou_thrs=iou_thrs, rec_thrs=torch.zeros(10, dtype=torch.int64)) + mAP = MeanAveragePrecision(rec_thrs=torch.zeros(10, dtype=torch.int64)) - mAP = AP(area_rngs=area_rngs, max_det=max_det, iou_thrs=iou_thrs, rec_thrs=rec_thrs) + mAP = MeanAveragePrecision() with pytest.raises(ValueError, match="Update Data must be of the form"): mAP.update(torch.zeros(1)) @@ -96,7 +85,7 @@ def test_wrong_inputs(): def test_against_coco_map(): - mAP = AP(area_rngs=area_rngs, max_det=max_det, iou_thrs=iou_thrs, rec_thrs=rec_thrs) + mAP = MeanAveragePrecision() for i in img_list: mAP.update([img_dts[i], img_gts[i]]) @@ -104,12 +93,12 @@ def test_against_coco_map(): results = mAP.compute() cocoEval.summarize() coco_results = cocoEval.stats[:6] - assert coco_results[0] == pytest.approx(results[0], 1e-2) - assert coco_results[1] == pytest.approx(results[1], 1e-2) - assert coco_results[2] == pytest.approx(results[2], 1e-2) - assert coco_results[3] == pytest.approx(results[3], 1e-2) - assert coco_results[4] == pytest.approx(results[4], 1e-2) - assert coco_results[5] == pytest.approx(results[5], 1e-2) + assert coco_results[0] == pytest.approx(results["all"], 1e-2) + assert coco_results[1] == pytest.approx(results["all@0.5"], 1e-2) + assert coco_results[2] == pytest.approx(results["all@0.75"], 1e-2) + assert coco_results[3] == pytest.approx(results["small"], 1e-2) + assert coco_results[4] == pytest.approx(results["medium"], 1e-2) + assert coco_results[5] == pytest.approx(results["large"], 1e-2) def _test_distrib_integration(device): @@ -121,7 +110,7 @@ def update(_, img_id): engine = Engine(update) - mAP = AP(area_rngs=area_rngs, max_det=max_det, iou_thrs=iou_thrs, rec_thrs=rec_thrs, device=device) + mAP = MeanAveragePrecision(device=device) mAP.attach(engine, "mAP") data = img_list @@ -132,12 +121,12 @@ def update(_, img_id): results = engine.state.metrics["mAP"] cocoEval.summarize() coco_results = cocoEval.stats[:6] - assert coco_results[0] == pytest.approx(results[0], 1e-2) - assert coco_results[1] == pytest.approx(results[1], 1e-2) - assert coco_results[2] == pytest.approx(results[2], 1e-2) - assert coco_results[3] == pytest.approx(results[3], 1e-2) - assert coco_results[4] == pytest.approx(results[4], 1e-2) - assert coco_results[5] == pytest.approx(results[5], 1e-2) + assert coco_results[0] == pytest.approx(results["all"], 1e-2) + assert coco_results[1] == pytest.approx(results["all@0.5"], 1e-2) + assert coco_results[2] == pytest.approx(results["all@0.75"], 1e-2) + assert coco_results[3] == pytest.approx(results["small"], 1e-2) + assert coco_results[4] == pytest.approx(results["medium"], 1e-2) + assert coco_results[5] == pytest.approx(results["large"], 1e-2) metric_devices = ["cpu"] if device.type != "xla": From 3159a1d96b8547e7c3cda14461614f12ad49ba56 Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Sun, 15 Aug 2021 10:15:47 +0530 Subject: [PATCH 09/33] Docs fix, test fix --- docs/source/metrics.rst | 2 +- tests/ignite/metrics/test_mAP.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/metrics.rst b/docs/source/metrics.rst index 533f267b29f8..125dc11074ea 100644 --- a/docs/source/metrics.rst +++ b/docs/source/metrics.rst @@ -313,7 +313,7 @@ Complete list of metrics JaccardIndex IoU mIoU - AP + MeanAveragePrecision EpochMetric Fbeta Frequency diff --git a/tests/ignite/metrics/test_mAP.py b/tests/ignite/metrics/test_mAP.py index d346c80d789b..967290a890ab 100644 --- a/tests/ignite/metrics/test_mAP.py +++ b/tests/ignite/metrics/test_mAP.py @@ -13,8 +13,8 @@ def get_coco_results(): dir_path = os.getcwd() - cocoGt = COCO(dir_path + "/gt.json") - cocoDt = cocoGt.loadRes(dir_path + "/dt.json") + cocoGt = COCO(dir_path + "/tests/ignite/metrics/gt.json") + cocoDt = cocoGt.loadRes(dir_path + "/tests/ignite/metrics/dt.json") imgIds = sorted(cocoGt.getImgIds()) From 1af4f795260d54ce2ab93793fcab1c096d604326 Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Sun, 15 Aug 2021 15:35:34 +0530 Subject: [PATCH 10/33] better labels --- ignite/metrics/mAP.py | 51 +++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/ignite/metrics/mAP.py b/ignite/metrics/mAP.py index 569450c8170d..77345fc159df 100644 --- a/ignite/metrics/mAP.py +++ b/ignite/metrics/mAP.py @@ -34,18 +34,6 @@ def iou(gt: torch.Tensor, dt: torch.Tensor, crowd: List) -> torch.Tensor: return ious -i_id = 0 -i_class_id = 1 -i_xmin = 2 -i_ymin = 3 -i_xmax = 4 -i_ymax = 5 -i_area = 6 -i_crowd = 7 -g_ignore = 8 -d_confidence = 8 - - class MeanAveragePrecision(Metric): r"""Calculates Mean Average Precision for object detection data. @@ -142,6 +130,17 @@ def __init__( self.device: Union[str, torch.device] = device + class labels: + i_id = 0 + i_class_id = 1 + i_xmin = 2 + i_area = 6 + i_crowd = 7 + g_ignore = 8 + d_confidence = 8 + + self.labels = labels + super(MeanAveragePrecision, self).__init__(output_transform=output_transform, device=device) @staticmethod @@ -182,13 +181,13 @@ def update(self, output: Any) -> None: classes = set() classwise_gt: defaultdict = defaultdict(lambda: torch.zeros(0, 9).to(self.device)) for gt in gt_img: - class_id = int(gt[i_class_id]) + class_id = int(gt[self.labels.i_class_id]) classes.add(class_id) classwise_gt[class_id] = torch.vstack([classwise_gt[class_id], gt]) classwise_dt: defaultdict = defaultdict(lambda: torch.zeros(0, 9).to(self.device)) for dt in dt_img: - class_id = int(dt[i_class_id]) + class_id = int(dt[self.labels.i_class_id]) classes.add(class_id) classwise_dt[class_id] = torch.vstack([classwise_dt[class_id], dt]) @@ -210,10 +209,12 @@ def reset(self) -> None: self.eval_imgs: defaultdict = defaultdict(list) def _compute_iou(self, gt: torch.Tensor, dt: torch.Tensor) -> torch.Tensor: - dt = dt[torch.argsort(dt[:, d_confidence])] + dt = dt[torch.argsort(dt[:, self.labels.d_confidence])] - crowd = [g[i_crowd] for g in gt] - ious = iou(gt[:, i_xmin:i_area], dt[:, i_xmin:i_area], crowd).to(self.device) + crowd = [g[self.labels.i_crowd] for g in gt] + ious = iou( + gt[:, self.labels.i_xmin : self.labels.i_area], dt[:, self.labels.i_xmin : self.labels.i_area], crowd + ).to(self.device) return ious @@ -225,7 +226,7 @@ def _evaluate_image( gt_ignore = torch.zeros(len(gt)) for i, g in enumerate(gt): - if g[g_ignore] or (g[i_area] < area_rng[0] or g[i_area] > area_rng[1]): + if g[self.labels.g_ignore] or (g[self.labels.i_area] < area_rng[0] or g[self.labels.i_area] > area_rng[1]): gt_ignore[i] = 1 else: gt_ignore[i] = 0 @@ -233,8 +234,8 @@ def _evaluate_image( gt_ind = torch.argsort(gt_ignore) gt_ignore = gt_ignore[gt_ind] gt = gt[gt_ind] - dt = dt[torch.argsort(-dt[:, d_confidence])] - iscrowd = gt[:, i_crowd] + dt = dt[torch.argsort(-dt[:, self.labels.d_confidence])] + iscrowd = gt[:, self.labels.i_crowd] ious = ious[:, gt_ind] if len(ious) > 0 else ious @@ -266,10 +267,12 @@ def _evaluate_image( if m == -1: continue dt_ignore[tind, dind] = gt_ignore[m] - dtm[tind, dind] = gt[m][i_id] - gtm[tind, m] = d[i_id] + dtm[tind, dind] = gt[m][self.labels.i_id] + gtm[tind, m] = d[self.labels.i_id] - a = torch.tensor([d[i_area] < area_rng[0] or d[i_area] > area_rng[1] for d in dt]).reshape((1, len(dt))) + a = torch.tensor( + [d[self.labels.i_area] < area_rng[0] or d[self.labels.i_area] > area_rng[1] for d in dt] + ).reshape((1, len(dt))) a = a.to(self.device) dt_ignore = torch.logical_or( @@ -278,7 +281,7 @@ def _evaluate_image( return { "dtMatches": dtm, - "dtScores": dt[:, d_confidence], + "dtScores": dt[:, self.labels.d_confidence], "gtIgnore": gt_ignore, "dtIgnore": dt_ignore, } From 17de296879a83c612a2804a7c1bc6067026f26a5 Mon Sep 17 00:00:00 2001 From: Desroziers Date: Mon, 16 Aug 2021 17:28:16 +0200 Subject: [PATCH 11/33] fix tests --- ignite/metrics/mAP.py | 5 ++--- tests/ignite/metrics/test_mAP.py | 7 ++++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ignite/metrics/mAP.py b/ignite/metrics/mAP.py index 77345fc159df..8364213a3884 100644 --- a/ignite/metrics/mAP.py +++ b/ignite/metrics/mAP.py @@ -3,7 +3,7 @@ import torch -from ignite.metrics.metric import Metric, reinit__is_reduced +from ignite.metrics.metric import Metric, reinit__is_reduced, sync_all_reduce def iou(gt: torch.Tensor, dt: torch.Tensor, crowd: List) -> torch.Tensor: @@ -286,7 +286,6 @@ def _evaluate_image( "dtIgnore": dt_ignore, } - @reinit__is_reduced def _accumulate(self) -> None: num_iou_thr = len(self.iou_thrs) num_rec_thr = len(self.rec_thrs) @@ -362,7 +361,6 @@ def _summarize(self, iou_thr: Optional[float] = None, area_rng: str = "all") -> return mean_s.item() - @reinit__is_reduced def _gather_all(self) -> None: import torch.distributed as dist @@ -389,6 +387,7 @@ def is_dist_avail_and_initialized() -> bool: combined_eval_imgs[key] += eval_imgs[key] self.eval_imgs = combined_eval_imgs + @sync_all_reduce() def compute(self) -> Dict: self._gather_all() self._accumulate() diff --git a/tests/ignite/metrics/test_mAP.py b/tests/ignite/metrics/test_mAP.py index 967290a890ab..a2a52169f426 100644 --- a/tests/ignite/metrics/test_mAP.py +++ b/tests/ignite/metrics/test_mAP.py @@ -102,7 +102,7 @@ def test_against_coco_map(): def _test_distrib_integration(device): - def _test(): + def _test(metric_device): torch.manual_seed(12) def update(_, img_id): @@ -110,7 +110,7 @@ def update(_, img_id): engine = Engine(update) - mAP = MeanAveragePrecision(device=device) + mAP = MeanAveragePrecision(device=metric_device) mAP.attach(engine, "mAP") data = img_list @@ -131,8 +131,9 @@ def update(_, img_id): metric_devices = ["cpu"] if device.type != "xla": metric_devices.append(idist.device()) + for metric_device in metric_devices: - _test() + _test(metric_device=metric_device) @pytest.mark.distributed From 20a83646603dcbf0c9d14bd6aa0a934357d38c6d Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Tue, 17 Aug 2021 17:19:27 +0530 Subject: [PATCH 12/33] better naming --- ignite/metrics/__init__.py | 2 +- ignite/metrics/mean_average_precision.py | 418 ++++++++++++++++++ ..._mAP.py => test_mean_average_precision.py} | 0 3 files changed, 419 insertions(+), 1 deletion(-) create mode 100644 ignite/metrics/mean_average_precision.py rename tests/ignite/metrics/{test_mAP.py => test_mean_average_precision.py} (100%) diff --git a/ignite/metrics/__init__.py b/ignite/metrics/__init__.py index 7136bac7b9e8..42e715db145a 100644 --- a/ignite/metrics/__init__.py +++ b/ignite/metrics/__init__.py @@ -8,8 +8,8 @@ from ignite.metrics.gan.fid import FID from ignite.metrics.gan.inception_score import InceptionScore from ignite.metrics.loss import Loss -from ignite.metrics.mAP import MeanAveragePrecision from ignite.metrics.mean_absolute_error import MeanAbsoluteError +from ignite.metrics.mean_average_precision import MeanAveragePrecision from ignite.metrics.mean_pairwise_distance import MeanPairwiseDistance from ignite.metrics.mean_squared_error import MeanSquaredError from ignite.metrics.metric import BatchFiltered, BatchWise, EpochWise, Metric, MetricUsage diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py new file mode 100644 index 000000000000..4a4ac4c02f30 --- /dev/null +++ b/ignite/metrics/mean_average_precision.py @@ -0,0 +1,418 @@ +from collections import defaultdict +from typing import Any, Callable, Dict, List, Optional, Set, Tuple, Union + +import torch + +from ignite.metrics.metric import Metric, reinit__is_reduced, sync_all_reduce + + +def iou(y: torch.Tensor, y_pred: torch.Tensor, crowd: List) -> torch.Tensor: + m = len(y_pred) + n = len(y) + + ious = torch.zeros(m, n) + + for g in range(n): + Y = y[g].tolist() + ya = Y[2] * Y[3] + iscrowd = crowd[g] + for d in range(m): + P = y_pred[d].tolist() + pa = P[2] * P[3] + ious[m - d - 1, g] = 0 + w = min(P[2] + P[0], Y[2] + Y[0]) - max(P[0], Y[0]) + h = min(P[3] + P[1], Y[3] + Y[1]) - max(P[1], Y[1]) + if w <= 0 or h <= 0: + continue + i = w * h + if iscrowd: + u = pa + else: + u = pa + ya - i + ious[m - d - 1, g] = i / u + + return ious + + +class MeanAveragePrecision(Metric): + r"""Calculates Mean Average Precision for object detection data. + + .. math:: + \text{MeanAveragePrecision} = {1/11}\sum_{r \in {0.0, ..., 1.0}}\text{AP}_r + + where \text{MeanAveragePrecision}_r represents average precision at recall value :math:`r`, + where :math:`r` ranges from 0.0 to 1.0. + + More details can be found in `Everingham et al. 2009`__ + + __ https://homepages.inf.ed.ac.uk/ckiw/postscript/ijcv_voc09.pdf + + Remark: + + This implementation is inspired by pycocotools which can be found `here`__ + + __ https://github.com/cocodataset/cocoapi/ + + Args: + area_rngs: dictionary with area_name as key and a tuple of the form + (lower_area_range, upper_area_range) as value, where both values are floats. + It contains all area ranges for which AP needs to be computed. + max_det: Maximum detections allowed per image. This is to limit crowding and repeated + detections of the same object. + iou_thrs: A float tensor containing a set of IoU thresholds for which AP needs to be computed. + rec_thrs: A float tensor containing a set of values at which AP needs to be computed for averaging. + output_transform: a callable that is used to transform the + :class:`~ignite.engine.engine.Engine`'s ``process_function``'s output into the + form expected by the metric. This can be useful if, for example, you have a multi-output model and + you want to compute the metric with respect to one of the outputs. + By default, metrics require the output as ``(y_pred, y)`` or ``{'y_pred': y_pred, 'y': y}``. + device: specifies which device updates are accumulated on. Setting the + metric's device to be the same as your ``update`` arguments ensures the ``update`` method is + non-blocking. By default, CPU. + + Example: + + .. code-block:: python + + import torch + from ignite.metrics import MeanAveragePrecision + + # Detection Format: + # (id, class, xmin, ymin, wiy_predh, height, area, crowd, ignore/confidence) + + # ground truth detections for an image + ys = torch.tensor([[1,73,249.1,50.7,375.3,277.2,101928.52,0,0], + [2,73,152.3,50.29,47,312.38, 4097.4,0,0]]) + + # predicted detections for the same image + y_preds = torch.tensor([[1,73,176.38,50.3,463.62,312.4,144825.6,0,0.328], + [2,73,355.5,111.87,210,93.75,19687.5,0,0.64]]) + + mAP = MeanAveragePrecision() + + mAP.update([ys, y_preds]) + + mAP.compute() + + .. versionadded:: 0.5.0 + """ + + def __init__( + self, + area_rngs: Dict = { + "all": [0, float("inf")], + "small": [0, 1024], + "medium": [1024, 9216], + "large": [9216, float("inf")], + }, + max_det: int = 100, + iou_thrs: torch.Tensor = torch.tensor([0.5 + (i / 20) for i in range(10)]), # type: ignore + rec_thrs: torch.Tensor = torch.tensor([i / 100 for i in range(101)]), # type: ignore + output_transform: Callable = lambda x: x, + device: Union[str, torch.device] = torch.device("cpu"), + ) -> None: + self._check_area_rngs(area_rngs) + self.area_rngs: Dict = area_rngs + self.area_rngs["all"] = [0, float("inf")] + + self.max_det: int = max_det + if type(self.max_det) != int or self.max_det < 1: + raise ValueError(f"max_det should be a positive integer, got {self.max_det}") + + if not torch.is_floating_point(iou_thrs): + raise ValueError(f"iou_thrs should be a float tensor, got {iou_thrs.dtype}") + self.iou_thrs: torch.Tensor = iou_thrs.to(device) + + if not torch.is_floating_point(rec_thrs): + raise ValueError(f"rec_thrs should be a float tensor, got {rec_thrs.dtype}") + self.rec_thrs: torch.Tensor = rec_thrs.to(device) + + self.img_id_count = 1 + + self.device: Union[str, torch.device] = device + + class labels: + i_id = 0 + i_category_id = 1 + i_xmin = 2 + i_area = 6 + i_crowd = 7 + g_ignore = 8 + d_confidence = 8 + + self.labels = labels + + super(MeanAveragePrecision, self).__init__(output_transform=output_transform, device=device) + + @staticmethod + def _check_area_rngs(area_rngs: Dict) -> None: + for area in area_rngs: + area_rng = area_rngs[area] + if type(area) != str or len(area_rng) != 2 or area_rng[0] >= area_rng[1]: + raise ValueError( + """area_rngs should be a dictionary with key as area name and value as \ + a tuple of the form (lower limit, upper limit).""" + ) + + @staticmethod + def _get_samples(data: List) -> Tuple: + if len(data) != 2: + raise ValueError("Update Data must be of the format [y_pred_img, y_img].") + + y_pred_img, y_img = data + + if len(y_pred_img.shape) != 2 or y_pred_img.shape[1] != 9: + raise ValueError(f"detections_tensor should be of size [num_detections, 9], got {y_pred_img.shape}") + + if len(y_img.shape) != 2 or y_img.shape[1] != 9: + raise ValueError(f"ground_truths should be of size [num_detections, 9], got {y_img.shape}") + + return y_pred_img, y_img + + @reinit__is_reduced + def update(self, output: Any) -> None: + y_pred_img, y_img = self._get_samples(output) + + y_pred_img = y_pred_img.to(self.device) + y_img = y_img.to(self.device) + + img_id = self.img_id_count + self.img_id_count += 1 + + categories = set() + categorywise_y: defaultdict = defaultdict(lambda: torch.zeros(0, 9).to(self.device)) + for y in y_img: + category_id = int(y[self.labels.i_category_id]) + categories.add(category_id) + categorywise_y[category_id] = torch.vstack([categorywise_y[category_id], y]) + + categorywise_y_pred: defaultdict = defaultdict(lambda: torch.zeros(0, 9).to(self.device)) + for y_pred in y_pred_img: + category_id = int(y_pred[self.labels.i_category_id]) + categories.add(category_id) + categorywise_y_pred[category_id] = torch.vstack([categorywise_y_pred[category_id], y_pred]) + + self.img_ids.add(img_id) + self.category_ids.update(categories) + + for category_id in categories: + ious = self._compute_iou(categorywise_y[category_id], categorywise_y_pred[category_id]) + for area_rng in self.area_rngs: + self.eval_imgs[category_id, area_rng].append( + self._evaluate_image( + categorywise_y[category_id], categorywise_y_pred[category_id], self.area_rngs[area_rng], ious + ) + ) + + @reinit__is_reduced + def reset(self) -> None: + self.category_ids: set = set() + self.img_ids: set = set() + + self.eval_imgs: defaultdict = defaultdict(list) + + def _compute_iou(self, y: torch.Tensor, y_pred: torch.Tensor) -> torch.Tensor: + y_pred = y_pred[torch.argsort(y_pred[:, self.labels.d_confidence])] + + crowd = [g[self.labels.i_crowd] for g in y] + ious = iou( + y[:, self.labels.i_xmin : self.labels.i_area], y_pred[:, self.labels.i_xmin : self.labels.i_area], crowd + ).to(self.device) + + return ious + + def _evaluate_image( + self, y: torch.Tensor, y_pred: torch.Tensor, area_rng: torch.Tensor, ious: torch.Tensor + ) -> Optional[Dict]: + if len(y) == 0 and len(y_pred) == 0: + return None + + y_ignore = torch.zeros(len(y)) + for i, g in enumerate(y): + if g[self.labels.g_ignore] or (g[self.labels.i_area] < area_rng[0] or g[self.labels.i_area] > area_rng[1]): + y_ignore[i] = 1 + else: + y_ignore[i] = 0 + + y_ind = torch.argsort(y_ignore) + y_ignore = y_ignore[y_ind] + y = y[y_ind] + y_pred = y_pred[torch.argsort(-y_pred[:, self.labels.d_confidence])] + iscrowd = y[:, self.labels.i_crowd] + + ious = ious[:, y_ind] if len(ious) > 0 else ious + + num_iou_thrs = len(self.iou_thrs) + num_y = len(y) + num_y_pred = len(y_pred) + ym = torch.zeros((num_iou_thrs, num_y), device=self.device) + y_predm = torch.zeros((num_iou_thrs, num_y_pred), device=self.device) + y_pred_ignore = torch.zeros((num_iou_thrs, num_y_pred), device=self.device) + + if len(ious) != 0: + for tind, t in enumerate(self.iou_thrs): + for dind, d in enumerate(y_pred): + iou = min([t, 1 - 1e-10]) + m = -1 + for gind, g in enumerate(y): + if ym[tind, gind] > 0 and not iscrowd[gind]: + continue + + if m > -1 and y_ignore[m] == 0 and y_ignore[gind] == 1: + break + + if ious[dind, gind] < iou: + continue + + iou = ious[dind, gind] + m = gind + + if m == -1: + continue + y_pred_ignore[tind, dind] = y_ignore[m] + y_predm[tind, dind] = y[m][self.labels.i_id] + ym[tind, m] = d[self.labels.i_id] + + a = torch.tensor( + [d[self.labels.i_area] < area_rng[0] or d[self.labels.i_area] > area_rng[1] for d in y_pred] + ).reshape((1, len(y_pred))) + a = a.to(self.device) + + y_pred_ignore = torch.logical_or( + y_pred_ignore, torch.logical_and(y_predm == 0, torch.repeat_interleave(a, num_iou_thrs, 0)) + ).to(self.device) + + return { + "y_pred_matches": y_predm, + "y_pred_scores": y_pred[:, self.labels.d_confidence], + "y_ignore": y_ignore, + "y_pred_ignore": y_pred_ignore, + } + + @reinit__is_reduced + def _accumulate(self) -> None: + num_iou_thr = len(self.iou_thrs) + num_rec_thr = len(self.rec_thrs) + num_categories = len(self.category_ids) + num_area = len(self.area_rngs) + + max_det = self.max_det + precision = -torch.ones((num_iou_thr, num_rec_thr, num_categories, num_area), device=self.device) + + # retrieve eval_imgs at each category, area range, and max number of detections + for c, category_id in enumerate(self.category_ids): + for a, area_rng in enumerate(self.area_rngs): + # retrieve appropriate eval_imgs from stored results + eval_imgs = self.eval_imgs[category_id, area_rng] + eval_imgs = [img for img in eval_imgs if img is not None] + if len(eval_imgs) == 0: + continue + # Get prediction scores to greedily match + pred_scores = torch.cat([img["y_pred_scores"][0:max_det] for img in eval_imgs], dim=-1) + # Sort prediction scores + inds = torch.argsort(-pred_scores) + # Retrieve and Sort prediction matches, + # ignore flags for ground truth and predictions based on prediction scores + predm = torch.cat([img["y_pred_matches"][:, 0:max_det] for img in eval_imgs], dim=-1)[:, inds] + pred_ignore = torch.cat([img["y_pred_ignore"][:, 0:max_det] for img in eval_imgs], dim=-1)[:, inds] + y_ignore = torch.cat([img["y_ignore"] for img in eval_imgs]) + non_ignored = torch.count_nonzero(y_ignore == 0) + if non_ignored == 0: + continue + # Calculate true positive and false positive based on prediction matches and ignore flags + tps = torch.logical_and(predm, torch.logical_not(pred_ignore)) + fps = torch.logical_and(torch.logical_not(predm), torch.logical_not(pred_ignore)) + # Calculate precision and recall iteratively + tp_sum = torch.cumsum(tps, dim=1).to(device=self.device, dtype=torch.float64) + fp_sum = torch.cumsum(fps, dim=1).to(device=self.device, dtype=torch.float64) + + for t, (tp, fp) in enumerate(zip(tp_sum, fp_sum)): + nd = len(tp) + rc = tp / non_ignored + pr = tp / (fp + tp + torch.finfo(torch.float64).eps) + q: Any = torch.zeros((num_rec_thr,)) + + pr = pr.tolist() + q = q.tolist() + + for i in range(nd - 1, 0, -1): + if pr[i] > pr[i - 1]: + pr[i - 1] = pr[i] + + inds = torch.searchsorted(rc, self.rec_thrs, right=False) + try: + for ri, pi in enumerate(inds): + q[ri] = pr[pi] + except: + pass + precision[t, :, c, a] = torch.tensor(q) + # return precision, recall + self.precision = precision + + def _summarize(self, iou_thr: Optional[float] = None, area_rng: str = "all") -> float: + aind = [i for i, a_rng in enumerate(self.area_rngs) if a_rng == area_rng] + # Calculate Average Precision + s = self.precision + if iou_thr is not None: + t = (self.iou_thrs == iou_thr).int().nonzero(as_tuple=True)[0] + s = s[t] + s = s[:, :, :, aind] + # Take mean to calculate mAP + if len(s[s > -1]) == 0: + mean_s = torch.tensor(-1) + else: + mean_s = torch.mean(s[s > -1]) + + return mean_s.item() + + @reinit__is_reduced + def _gather_all(self) -> None: + import torch.distributed as dist + + def is_dist_avail_and_initialized() -> bool: + if not dist.is_available(): + return False + if not dist.is_initialized(): + return False + return True + + if not is_dist_avail_and_initialized(): + return + + eval_gather_dicts: List[Dict] = [defaultdict(list)] * dist.get_world_size() + dist.all_gather_object(eval_gather_dicts, self.eval_imgs) + + keys = set() + for eval_imgs in eval_gather_dicts: + for key in eval_imgs: + keys.add(key) + combined_eval_imgs: defaultdict = defaultdict(list) + for key in keys: + for eval_imgs in eval_gather_dicts: + combined_eval_imgs[key] += eval_imgs[key] + self.eval_imgs = combined_eval_imgs + + category_gather_list: List[Set] = [set()] * dist.get_world_size() + dist.all_gather_object(category_gather_list, self.category_ids) + + all_category_ids = set() + for category_set in category_gather_list: + for category_id in category_set: + all_category_ids.add(category_id) + + self.category_ids = all_category_ids + + @sync_all_reduce + def compute(self) -> Dict: + self._gather_all() + self._accumulate() + + results = { + "all@0.5": self._summarize(iou_thr=0.5), + "all@0.75": self._summarize(iou_thr=0.75), + } + + for area in self.area_rngs: + results[area] = self._summarize(area_rng=area) + + return results diff --git a/tests/ignite/metrics/test_mAP.py b/tests/ignite/metrics/test_mean_average_precision.py similarity index 100% rename from tests/ignite/metrics/test_mAP.py rename to tests/ignite/metrics/test_mean_average_precision.py From c68523e0175b515345f785c577104d23f3c0f462 Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Tue, 17 Aug 2021 17:47:48 +0530 Subject: [PATCH 13/33] removed mAP --- ignite/metrics/mAP.py | 402 ------------------------------------------ 1 file changed, 402 deletions(-) delete mode 100644 ignite/metrics/mAP.py diff --git a/ignite/metrics/mAP.py b/ignite/metrics/mAP.py deleted file mode 100644 index 8364213a3884..000000000000 --- a/ignite/metrics/mAP.py +++ /dev/null @@ -1,402 +0,0 @@ -from collections import defaultdict -from typing import Any, Callable, Dict, List, Optional, Tuple, Union - -import torch - -from ignite.metrics.metric import Metric, reinit__is_reduced, sync_all_reduce - - -def iou(gt: torch.Tensor, dt: torch.Tensor, crowd: List) -> torch.Tensor: - m = len(dt) - n = len(gt) - - ious = torch.zeros(m, n) - - for g in range(n): - G = gt[g].tolist() - ga = G[2] * G[3] - iscrowd = crowd[g] - for d in range(m): - D = dt[d].tolist() - da = D[2] * D[3] - ious[m - d - 1, g] = 0 - w = min(D[2] + D[0], G[2] + G[0]) - max(D[0], G[0]) - h = min(D[3] + D[1], G[3] + G[1]) - max(D[1], G[1]) - if w <= 0 or h <= 0: - continue - i = w * h - if iscrowd: - u = da - else: - u = da + ga - i - ious[m - d - 1, g] = i / u - - return ious - - -class MeanAveragePrecision(Metric): - r"""Calculates Mean Average Precision for object detection data. - - .. math:: - \text{MeanAveragePrecision} = {1/11}\sum_{r \in {0.0, ..., 1.0}}\text{AP}_r - - where \text{MeanAveragePrecision}_r represents average precision at recall value :math:`r`, - where :math:`r` ranges from 0.0 to 1.0. - - More details can be found in `Everingham et al. 2009`__ - - __ https://homepages.inf.ed.ac.uk/ckiw/postscript/ijcv_voc09.pdf - - Remark: - - This implementation is inspired by pycocotools which can be found `here`__ - - __ https://github.com/cocodataset/cocoapi/ - - Args: - area_rngs: dictionary with area_name as key and a tuple of the form - (lower_area_range, upper_area_range) as value, where both values are floats. - It contains all area ranges for which AP needs to be computed. - max_det: Maximum detections allowed per image. This is to limit crowding and repeated - detections of the same object. - iou_thrs: A float tensor containing a set of IoU thresholds for which AP needs to be computed. - rec_thrs: A float tensor containing a set of values at which AP needs to be computed for averaging. - output_transform: a callable that is used to transform the - :class:`~ignite.engine.engine.Engine`'s ``process_function``'s output into the - form expected by the metric. This can be useful if, for example, you have a multi-output model and - you want to compute the metric with respect to one of the outputs. - By default, metrics require the output as ``(y_pred, y)`` or ``{'y_pred': y_pred, 'y': y}``. - device: specifies which device updates are accumulated on. Setting the - metric's device to be the same as your ``update`` arguments ensures the ``update`` method is - non-blocking. By default, CPU. - - Example: - - .. code-block:: python - - import torch - from ignite.metrics import MeanAveragePrecision - - # Detection Format: - # (id, class, xmin, ymin, xmax, ymax, area, crowd, ignore/confidence) - - # ground truth detections for an image - gts = torch.tensor([[1,73,249.1,50.7,375.3,277.2,101928.52,0,0], - [2,73,152.3,50.29,47,312.38, 4097.4,0,0]]) - - # predicted detections for the same image - dts = torch.tensor([[1,73,176.38,50.3,463.62,312.4,144825.6,0,0.328], - [2,73,355.5,111.87,210,93.75,19687.5,0,0.64]]) - - mAP = MeanAveragePrecision() - - mAP.update([gts, dts]) - - mAP.compute() - - .. versionadded:: 0.5.0 - """ - - def __init__( - self, - area_rngs: Dict = { - "all": [0, float("inf")], - "small": [0, 1024], - "medium": [1024, 9216], - "large": [9216, float("inf")], - }, - max_det: int = 100, - iou_thrs: torch.Tensor = torch.tensor([0.5 + (i / 20) for i in range(10)]), # type: ignore - rec_thrs: torch.Tensor = torch.tensor([i / 100 for i in range(101)]), # type: ignore - output_transform: Callable = lambda x: x, - device: Union[str, torch.device] = torch.device("cpu"), - ) -> None: - self._check_area_rngs(area_rngs) - self.area_rngs: Dict = area_rngs - - self.max_det: int = max_det - if type(self.max_det) != int or self.max_det < 1: - raise ValueError(f"max_det should be a positive integer, got {self.max_det}") - - if not torch.is_floating_point(iou_thrs): - raise ValueError(f"iou_thrs should be a float tensor, got {iou_thrs.dtype}") - self.iou_thrs: torch.Tensor = iou_thrs.to(device) - - if not torch.is_floating_point(rec_thrs): - raise ValueError(f"rec_thrs should be a float tensor, got {rec_thrs.dtype}") - self.rec_thrs: torch.Tensor = rec_thrs.to(device) - - self.img_id_count = 1 - - self.device: Union[str, torch.device] = device - - class labels: - i_id = 0 - i_class_id = 1 - i_xmin = 2 - i_area = 6 - i_crowd = 7 - g_ignore = 8 - d_confidence = 8 - - self.labels = labels - - super(MeanAveragePrecision, self).__init__(output_transform=output_transform, device=device) - - @staticmethod - def _check_area_rngs(area_rngs: Dict) -> None: - for area in area_rngs: - area_rng = area_rngs[area] - if type(area) != str or len(area_rng) != 2 or area_rng[0] >= area_rng[1]: - raise ValueError( - """area_rngs should be a dictionary with key as area name and value as \ - a tuple of the form (lower limit, upper limit).""" - ) - - @staticmethod - def _get_samples(data: List) -> Tuple: - if len(data) != 2: - raise ValueError("Update Data must be of the format [dt_img, gt_img].") - - dt_img, gt_img = data - - if len(dt_img.shape) != 2 or dt_img.shape[1] != 9: - raise ValueError(f"detections_tensor should be of size [num_detections, 9], got {dt_img.shape}") - - if len(gt_img.shape) != 2 or gt_img.shape[1] != 9: - raise ValueError(f"ground_truths should be of size [num_detections, 9], got {gt_img.shape}") - - return dt_img, gt_img - - @reinit__is_reduced - def update(self, output: Any) -> None: - dt_img, gt_img = self._get_samples(output) - - dt_img = dt_img.to(self.device) - gt_img = gt_img.to(self.device) - - img_id = self.img_id_count - self.img_id_count += 1 - - classes = set() - classwise_gt: defaultdict = defaultdict(lambda: torch.zeros(0, 9).to(self.device)) - for gt in gt_img: - class_id = int(gt[self.labels.i_class_id]) - classes.add(class_id) - classwise_gt[class_id] = torch.vstack([classwise_gt[class_id], gt]) - - classwise_dt: defaultdict = defaultdict(lambda: torch.zeros(0, 9).to(self.device)) - for dt in dt_img: - class_id = int(dt[self.labels.i_class_id]) - classes.add(class_id) - classwise_dt[class_id] = torch.vstack([classwise_dt[class_id], dt]) - - self.img_ids.add(img_id) - self.class_ids.update(classes) - - for class_id in classes: - ious = self._compute_iou(classwise_gt[class_id], classwise_dt[class_id]) - for area_rng in self.area_rngs: - self.eval_imgs[class_id, area_rng].append( - self._evaluate_image(classwise_gt[class_id], classwise_dt[class_id], self.area_rngs[area_rng], ious) - ) - - @reinit__is_reduced - def reset(self) -> None: - self.class_ids: set = set() - self.img_ids: set = set() - - self.eval_imgs: defaultdict = defaultdict(list) - - def _compute_iou(self, gt: torch.Tensor, dt: torch.Tensor) -> torch.Tensor: - dt = dt[torch.argsort(dt[:, self.labels.d_confidence])] - - crowd = [g[self.labels.i_crowd] for g in gt] - ious = iou( - gt[:, self.labels.i_xmin : self.labels.i_area], dt[:, self.labels.i_xmin : self.labels.i_area], crowd - ).to(self.device) - - return ious - - def _evaluate_image( - self, gt: torch.Tensor, dt: torch.Tensor, area_rng: torch.Tensor, ious: torch.Tensor - ) -> Optional[Dict]: - if len(gt) == 0 and len(dt) == 0: - return None - - gt_ignore = torch.zeros(len(gt)) - for i, g in enumerate(gt): - if g[self.labels.g_ignore] or (g[self.labels.i_area] < area_rng[0] or g[self.labels.i_area] > area_rng[1]): - gt_ignore[i] = 1 - else: - gt_ignore[i] = 0 - - gt_ind = torch.argsort(gt_ignore) - gt_ignore = gt_ignore[gt_ind] - gt = gt[gt_ind] - dt = dt[torch.argsort(-dt[:, self.labels.d_confidence])] - iscrowd = gt[:, self.labels.i_crowd] - - ious = ious[:, gt_ind] if len(ious) > 0 else ious - - num_iou_thrs = len(self.iou_thrs) - num_gt = len(gt) - num_dt = len(dt) - gtm = torch.zeros((num_iou_thrs, num_gt), device=self.device) - dtm = torch.zeros((num_iou_thrs, num_dt), device=self.device) - dt_ignore = torch.zeros((num_iou_thrs, num_dt), device=self.device) - - if len(ious) != 0: - for tind, t in enumerate(self.iou_thrs): - for dind, d in enumerate(dt): - iou = min([t, 1 - 1e-10]) - m = -1 - for gind, g in enumerate(gt): - if gtm[tind, gind] > 0 and not iscrowd[gind]: - continue - - if m > -1 and gt_ignore[m] == 0 and gt_ignore[gind] == 1: - break - - if ious[dind, gind] < iou: - continue - - iou = ious[dind, gind] - m = gind - - if m == -1: - continue - dt_ignore[tind, dind] = gt_ignore[m] - dtm[tind, dind] = gt[m][self.labels.i_id] - gtm[tind, m] = d[self.labels.i_id] - - a = torch.tensor( - [d[self.labels.i_area] < area_rng[0] or d[self.labels.i_area] > area_rng[1] for d in dt] - ).reshape((1, len(dt))) - a = a.to(self.device) - - dt_ignore = torch.logical_or( - dt_ignore, torch.logical_and(dtm == 0, torch.repeat_interleave(a, num_iou_thrs, 0)) - ).to(self.device) - - return { - "dtMatches": dtm, - "dtScores": dt[:, self.labels.d_confidence], - "gtIgnore": gt_ignore, - "dtIgnore": dt_ignore, - } - - def _accumulate(self) -> None: - num_iou_thr = len(self.iou_thrs) - num_rec_thr = len(self.rec_thrs) - num_classes = len(self.class_ids) - num_area = len(self.area_rngs) - - max_det = self.max_det - precision = -torch.ones((num_iou_thr, num_rec_thr, num_classes, num_area), device=self.device) - - # retrieve eval_imgs at each category, area range, and max number of detections - for c, class_id in enumerate(self.class_ids): - for a, area_rng in enumerate(self.area_rngs): - # retrieve appropriate eval_imgs from stored results - eval_imgs = self.eval_imgs[class_id, area_rng] - eval_imgs = [img for img in eval_imgs if img is not None] - if len(eval_imgs) == 0: - continue - # Get prediction scores to greedily match - pred_scores = torch.cat([img["dtScores"][0:max_det] for img in eval_imgs], dim=-1) - # Sort prediction scores - inds = torch.argsort(-pred_scores) - # Retrieve and Sort prediction matches, - # ignore flags for ground truth and predictions based on prediction scores - predm = torch.cat([img["dtMatches"][:, 0:max_det] for img in eval_imgs], dim=-1)[:, inds] - pred_ignore = torch.cat([img["dtIgnore"][:, 0:max_det] for img in eval_imgs], dim=-1)[:, inds] - gt_ignore = torch.cat([img["gtIgnore"] for img in eval_imgs]) - non_ignored = torch.count_nonzero(gt_ignore == 0) - if non_ignored == 0: - continue - # Calculate true positive and false positive based on prediction matches and ignore flags - tps = torch.logical_and(predm, torch.logical_not(pred_ignore)) - fps = torch.logical_and(torch.logical_not(predm), torch.logical_not(pred_ignore)) - # Calculate precision and recall iteratively - tp_sum = torch.cumsum(tps, dim=1).to(device=self.device, dtype=torch.float64) - fp_sum = torch.cumsum(fps, dim=1).to(device=self.device, dtype=torch.float64) - - for t, (tp, fp) in enumerate(zip(tp_sum, fp_sum)): - nd = len(tp) - rc = tp / non_ignored - pr = tp / (fp + tp + torch.finfo(torch.float64).eps) - q: Any = torch.zeros((num_rec_thr,)) - - pr = pr.tolist() - q = q.tolist() - - for i in range(nd - 1, 0, -1): - if pr[i] > pr[i - 1]: - pr[i - 1] = pr[i] - - inds = torch.searchsorted(rc, self.rec_thrs, right=False) - try: - for ri, pi in enumerate(inds): - q[ri] = pr[pi] - except: - pass - precision[t, :, c, a] = torch.tensor(q) - # return precision, recall - self.precision = precision - - def _summarize(self, iou_thr: Optional[float] = None, area_rng: str = "all") -> float: - aind = [i for i, a_rng in enumerate(self.area_rngs) if a_rng == area_rng] - # Calculate Average Precision - s = self.precision - if iou_thr is not None: - t = (self.iou_thrs == iou_thr).int().nonzero(as_tuple=True)[0] - s = s[t] - s = s[:, :, :, aind] - # Take mean to calculate mAP - if len(s[s > -1]) == 0: - mean_s = torch.tensor(-1) - else: - mean_s = torch.mean(s[s > -1]) - - return mean_s.item() - - def _gather_all(self) -> None: - import torch.distributed as dist - - def is_dist_avail_and_initialized() -> bool: - if not dist.is_available(): - return False - if not dist.is_initialized(): - return False - return True - - if not is_dist_avail_and_initialized(): - return - - gather_dicts: List[Dict] = [defaultdict(list)] * dist.get_world_size() - dist.all_gather_object(gather_dicts, self.eval_imgs) - if dist.get_rank() == 0: - keys = set() - for eval_imgs in gather_dicts: - for key in eval_imgs: - keys.add(key) - combined_eval_imgs: defaultdict = defaultdict(list) - for key in keys: - for eval_imgs in gather_dicts: - combined_eval_imgs[key] += eval_imgs[key] - self.eval_imgs = combined_eval_imgs - - @sync_all_reduce() - def compute(self) -> Dict: - self._gather_all() - self._accumulate() - - return { - "all": self._summarize(), - "all@0.5": self._summarize(iou_thr=0.5), - "all@0.75": self._summarize(iou_thr=0.75), - "small": self._summarize(area_rng="small"), - "medium": self._summarize(area_rng="medium"), - "large": self._summarize(area_rng="large"), - } From 41f20cb25ba571abe6db6a46cca6f566544559e0 Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Tue, 17 Aug 2021 18:47:31 +0530 Subject: [PATCH 14/33] fixed test errors --- ignite/metrics/mean_average_precision.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index 4a4ac4c02f30..626616b07374 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -382,6 +382,9 @@ def is_dist_avail_and_initialized() -> bool: eval_gather_dicts: List[Dict] = [defaultdict(list)] * dist.get_world_size() dist.all_gather_object(eval_gather_dicts, self.eval_imgs) + category_gather_list: List[Set] = [set()] * dist.get_world_size() + dist.all_gather_object(category_gather_list, self.category_ids) + keys = set() for eval_imgs in eval_gather_dicts: for key in eval_imgs: @@ -392,9 +395,6 @@ def is_dist_avail_and_initialized() -> bool: combined_eval_imgs[key] += eval_imgs[key] self.eval_imgs = combined_eval_imgs - category_gather_list: List[Set] = [set()] * dist.get_world_size() - dist.all_gather_object(category_gather_list, self.category_ids) - all_category_ids = set() for category_set in category_gather_list: for category_id in category_set: @@ -402,7 +402,7 @@ def is_dist_avail_and_initialized() -> bool: self.category_ids = all_category_ids - @sync_all_reduce + @sync_all_reduce() def compute(self) -> Dict: self._gather_all() self._accumulate() From 4cf53ab38e343857bc687b26ff9dca55e618f8a3 Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Wed, 18 Aug 2021 19:09:13 +0530 Subject: [PATCH 15/33] added new tests --- ignite/metrics/mean_average_precision.py | 7 -- .../metrics/test_mean_average_precision.py | 72 +++++++++++++++++++ 2 files changed, 72 insertions(+), 7 deletions(-) diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index 626616b07374..f00d40f861ef 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -127,8 +127,6 @@ def __init__( raise ValueError(f"rec_thrs should be a float tensor, got {rec_thrs.dtype}") self.rec_thrs: torch.Tensor = rec_thrs.to(device) - self.img_id_count = 1 - self.device: Union[str, torch.device] = device class labels: @@ -176,9 +174,6 @@ def update(self, output: Any) -> None: y_pred_img = y_pred_img.to(self.device) y_img = y_img.to(self.device) - img_id = self.img_id_count - self.img_id_count += 1 - categories = set() categorywise_y: defaultdict = defaultdict(lambda: torch.zeros(0, 9).to(self.device)) for y in y_img: @@ -192,7 +187,6 @@ def update(self, output: Any) -> None: categories.add(category_id) categorywise_y_pred[category_id] = torch.vstack([categorywise_y_pred[category_id], y_pred]) - self.img_ids.add(img_id) self.category_ids.update(categories) for category_id in categories: @@ -207,7 +201,6 @@ def update(self, output: Any) -> None: @reinit__is_reduced def reset(self) -> None: self.category_ids: set = set() - self.img_ids: set = set() self.eval_imgs: defaultdict = defaultdict(list) diff --git a/tests/ignite/metrics/test_mean_average_precision.py b/tests/ignite/metrics/test_mean_average_precision.py index a2a52169f426..ccdc71fa0b9e 100644 --- a/tests/ignite/metrics/test_mean_average_precision.py +++ b/tests/ignite/metrics/test_mean_average_precision.py @@ -10,6 +10,18 @@ from ignite.engine import Engine from ignite.metrics import MeanAveragePrecision +y = [ + [1, 1, 1.13, 190.22, 247.97, 137.01, 13426.68, 0, 0], + [2, 2, 189.42, 30.26, 429.41, 428.34, 84122.97, 0, 0], + [3, 1, 412.64, 193.67, 125.51, 198.6, 8896.38, 0, 0], +] + +y_pred = [ + [1, 1, 429.64, 193.67, 125.51, 198.6, 24926.28, 0, 0.884], + [2, 1, 0, 190.22, 212.1, 137.01, 29059.82, 0, 0.577], + [3, 2, 188.87, 129.27, 307.8, 343.32, 105673.89, 0, 0.073], +] + def get_coco_results(): dir_path = os.getcwd() @@ -84,6 +96,66 @@ def test_wrong_inputs(): mAP.update([torch.zeros(1, 9), torch.zeros(2, 10)]) +def _check_results(expected, actual): + assert expected[0] == pytest.approx(actual["all"], 1e-2) + assert expected[1] == pytest.approx(actual["all@0.5"], 1e-2) + assert expected[2] == pytest.approx(actual["all@0.75"], 1e-2) + assert expected[3] == pytest.approx(actual["small"], 1e-2) + assert expected[4] == pytest.approx(actual["medium"], 1e-2) + assert expected[5] == pytest.approx(actual["large"], 1e-2) + + +def _test_mAP(y, y_pred, expected_result): + mAP = MeanAveragePrecision() + + mAP.update([torch.tensor(y_pred), torch.tensor(y)]) + + results = mAP.compute() + + _check_results(expected_result, results) + + +def _test_mAP_two_images(y, y_pred, expected_result): + mAP = MeanAveragePrecision() + + mAP.update([torch.vstack([y_pred[0], y_pred[2]]), y[:2]]) + mAP.update([torch.vstack([y_pred[1]]), torch.vstack([y[2]])]) + + results = mAP.compute() + + _check_results(expected_result, results) + + +def test_mAP_edge_cases(): + # #y == #y_pred + expected_result = [0.3626, 1, 0.5, -1, 0.6, 0.375] + _test_mAP(torch.tensor(y), torch.tensor(y_pred), expected_result) + + # #y < #y_pred + expected_result = [0.22499, 0.75, 0.25, -1, -1, 0.22499] + _test_mAP(torch.tensor(y[:2]), torch.tensor(y_pred), expected_result) + + # #y > #y_pred + expected_result = [0.312, 0.5, 0.5, -1, 0.6, 0.32499] + _test_mAP(torch.tensor(y), torch.tensor(y_pred[:2]), expected_result) + + # #y == 0 and #y_pred != 0 + expected_result = [-1, -1, -1, -1, -1, -1] + _test_mAP(torch.zeros(0, 9), torch.tensor(y_pred[:2]), expected_result) + + # #y != 0 and #y_pred == 0 + expected_result = [0, 0, 0, -1, 0, 0] + _test_mAP(torch.tensor(y), torch.zeros(0, 9), expected_result) + + # #y == 0 and #y_pred == 0 + expected_result = [-1, -1, -1, -1, -1, -1] + _test_mAP(torch.zeros(0, 9), torch.zeros(0, 9), expected_result) + + # two images + expected_result = [0.05, 0.5, 0, -1, 0, 0.05] + _test_mAP_two_images(torch.tensor(y), torch.tensor(y_pred), expected_result) + + def test_against_coco_map(): mAP = MeanAveragePrecision() From 16723d2f0934f160d18412b54f20fd5c5e48e51f Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Wed, 18 Aug 2021 19:50:55 +0530 Subject: [PATCH 16/33] general imporvements --- ignite/metrics/mean_average_precision.py | 25 ++++-- .../metrics/test_mean_average_precision.py | 77 +++++++++++++------ 2 files changed, 72 insertions(+), 30 deletions(-) diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index f00d40f861ef..a579471b611a 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -78,7 +78,10 @@ class MeanAveragePrecision(Metric): from ignite.metrics import MeanAveragePrecision # Detection Format: - # (id, class, xmin, ymin, wiy_predh, height, area, crowd, ignore/confidence) + # (id, class, xmin, ymin, width, height, area, crowd, ignore/confidence) + # if your bounding box are of the form (xmin, ymin, xmax, ymax) instead + # they can be converted using the formulas width = xmax - xmin and + # height = ymax - ymin # ground truth detections for an image ys = torch.tensor([[1,73,249.1,50.7,375.3,277.2,101928.52,0,0], @@ -119,13 +122,15 @@ def __init__( if type(self.max_det) != int or self.max_det < 1: raise ValueError(f"max_det should be a positive integer, got {self.max_det}") - if not torch.is_floating_point(iou_thrs): - raise ValueError(f"iou_thrs should be a float tensor, got {iou_thrs.dtype}") - self.iou_thrs: torch.Tensor = iou_thrs.to(device) + for thr in iou_thrs: + if not isinstance(thr, float) and not isinstance(thr, torch.Tensor): + raise ValueError(f"iou_thrs should be an Iterable of type float, got {type(thr)}") + self.iou_thrs: torch.Tensor = self.get_tensor(iou_thrs, device) - if not torch.is_floating_point(rec_thrs): - raise ValueError(f"rec_thrs should be a float tensor, got {rec_thrs.dtype}") - self.rec_thrs: torch.Tensor = rec_thrs.to(device) + for thr in rec_thrs: + if not isinstance(thr, float) and not isinstance(thr, torch.Tensor): + raise ValueError(f"rec_thrs should be an Iterable of type float, got {type(thr)}") + self.rec_thrs: torch.Tensor = self.get_tensor(rec_thrs, device) self.device: Union[str, torch.device] = device @@ -142,6 +147,12 @@ class labels: super(MeanAveragePrecision, self).__init__(output_transform=output_transform, device=device) + @staticmethod + def get_tensor(t, device): + if torch.is_tensor(t): + return t.to(device) + return torch.tensor(t, device=device) + @staticmethod def _check_area_rngs(area_rngs: Dict) -> None: for area in area_rngs: diff --git a/tests/ignite/metrics/test_mean_average_precision.py b/tests/ignite/metrics/test_mean_average_precision.py index ccdc71fa0b9e..7ac03b20e766 100644 --- a/tests/ignite/metrics/test_mean_average_precision.py +++ b/tests/ignite/metrics/test_mean_average_precision.py @@ -79,10 +79,10 @@ def test_wrong_inputs(): mAP = MeanAveragePrecision(area_rngs={1: 2}) with pytest.raises(ValueError, match="max_det should be a positive integer, got"): mAP = MeanAveragePrecision(max_det=-1) - with pytest.raises(ValueError, match="iou_thrs should be a float tensor, got"): - mAP = MeanAveragePrecision(iou_thrs=torch.zeros(10, dtype=torch.int64)) - with pytest.raises(ValueError, match="rec_thrs should be a float tensor, got"): - mAP = MeanAveragePrecision(rec_thrs=torch.zeros(10, dtype=torch.int64)) + with pytest.raises(ValueError, match="iou_thrs should be an Iterable of type float, got"): + mAP = MeanAveragePrecision(iou_thrs=[1, 2, "s"]) + with pytest.raises(ValueError, match="rec_thrs should be an Iterable of type float, got"): + mAP = MeanAveragePrecision(rec_thrs=[1, 3, "s"]) mAP = MeanAveragePrecision() @@ -108,7 +108,7 @@ def _check_results(expected, actual): def _test_mAP(y, y_pred, expected_result): mAP = MeanAveragePrecision() - mAP.update([torch.tensor(y_pred), torch.tensor(y)]) + mAP.update([y_pred, y]) results = mAP.compute() @@ -225,6 +225,39 @@ def test_distrib_gloo_cpu_or_gpu(distributed_context_single_node_gloo): _test_distrib_integration(device) +@pytest.mark.multinode_distributed +@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +@pytest.mark.skipif("MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") +def test_multinode_distrib_gloo_cpu_or_gpu(distributed_context_multi_node_gloo): + + device = idist.device() + _test_distrib_integration(device) + + +@pytest.mark.multinode_distributed +@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +@pytest.mark.skipif("GPU_MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") +def test_multinode_distrib_nccl_gpu(distributed_context_multi_node_nccl): + + device = idist.device() + _test_distrib_integration(device) + + +@pytest.mark.distributed +@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +@pytest.mark.skipif(torch.cuda.device_count() < 1, reason="Skip if no GPU") +def test_distrib_gpu(local_rank, distributed_context_single_node_nccl): + device = torch.device(f"cuda:{local_rank}") + _test_distrib_integration(device) + + +@pytest.mark.distributed +@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +def test_distrib_cpu(distributed_context_single_node_gloo): + device = torch.device("cpu") + _test_distrib_integration(device) + + @pytest.mark.distributed @pytest.mark.skipif(not idist.has_hvd_support, reason="Skip if no Horovod dist support") @pytest.mark.skipif("WORLD_SIZE" in os.environ, reason="Skip if launched as multiproc") @@ -236,6 +269,22 @@ def test_distrib_hvd(gloo_hvd_executor): gloo_hvd_executor(_test_distrib_integration, (device,), np=nproc, do_init=True) +@pytest.mark.multinode_distributed +@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +@pytest.mark.skipif("MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") +def test_multinode_distrib_cpu(distributed_context_multi_node_gloo): + device = torch.device("cpu") + _test_distrib_integration(device) + + +@pytest.mark.multinode_distributed +@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +@pytest.mark.skipif("GPU_MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") +def test_multinode_distrib_gpu(distributed_context_multi_node_nccl): + device = torch.device(f"cuda:{distributed_context_multi_node_nccl['local_rank']}") + _test_distrib_integration(device) + + @pytest.mark.tpu @pytest.mark.skipif("NUM_TPU_WORKERS" in os.environ, reason="Skip if NUM_TPU_WORKERS is in env vars") @pytest.mark.skipif(not idist.has_xla_support, reason="Skip if no PyTorch XLA package") @@ -255,21 +304,3 @@ def _test_distrib_xla_nprocs(index): def test_distrib_xla_nprocs(xmp_executor): n = int(os.environ["NUM_TPU_WORKERS"]) xmp_executor(_test_distrib_xla_nprocs, args=(), nprocs=n) - - -@pytest.mark.multinode_distributed -@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") -@pytest.mark.skipif("MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") -def test_multinode_distrib_gloo_cpu_or_gpu(distributed_context_multi_node_gloo): - - device = idist.device() - _test_distrib_integration(device) - - -@pytest.mark.multinode_distributed -@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") -@pytest.mark.skipif("GPU_MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") -def test_multinode_distrib_nccl_gpu(distributed_context_multi_node_nccl): - - device = idist.device() - _test_distrib_integration(device) From 939eb56edf99e97601e7c43ff063917472d07c35 Mon Sep 17 00:00:00 2001 From: Desroziers Date: Wed, 18 Aug 2021 16:35:31 +0200 Subject: [PATCH 17/33] use device from Metrics class --- ignite/metrics/mean_average_precision.py | 28 +++++++++++------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index a579471b611a..ff730afe3dde 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -132,8 +132,6 @@ def __init__( raise ValueError(f"rec_thrs should be an Iterable of type float, got {type(thr)}") self.rec_thrs: torch.Tensor = self.get_tensor(rec_thrs, device) - self.device: Union[str, torch.device] = device - class labels: i_id = 0 i_category_id = 1 @@ -182,17 +180,17 @@ def _get_samples(data: List) -> Tuple: def update(self, output: Any) -> None: y_pred_img, y_img = self._get_samples(output) - y_pred_img = y_pred_img.to(self.device) - y_img = y_img.to(self.device) + y_pred_img = y_pred_img.to(self._device) + y_img = y_img.to(self._device) categories = set() - categorywise_y: defaultdict = defaultdict(lambda: torch.zeros(0, 9).to(self.device)) + categorywise_y: defaultdict = defaultdict(lambda: torch.zeros(0, 9).to(self._device)) for y in y_img: category_id = int(y[self.labels.i_category_id]) categories.add(category_id) categorywise_y[category_id] = torch.vstack([categorywise_y[category_id], y]) - categorywise_y_pred: defaultdict = defaultdict(lambda: torch.zeros(0, 9).to(self.device)) + categorywise_y_pred: defaultdict = defaultdict(lambda: torch.zeros(0, 9).to(self._device)) for y_pred in y_pred_img: category_id = int(y_pred[self.labels.i_category_id]) categories.add(category_id) @@ -221,7 +219,7 @@ def _compute_iou(self, y: torch.Tensor, y_pred: torch.Tensor) -> torch.Tensor: crowd = [g[self.labels.i_crowd] for g in y] ious = iou( y[:, self.labels.i_xmin : self.labels.i_area], y_pred[:, self.labels.i_xmin : self.labels.i_area], crowd - ).to(self.device) + ).to(self._device) return ious @@ -249,9 +247,9 @@ def _evaluate_image( num_iou_thrs = len(self.iou_thrs) num_y = len(y) num_y_pred = len(y_pred) - ym = torch.zeros((num_iou_thrs, num_y), device=self.device) - y_predm = torch.zeros((num_iou_thrs, num_y_pred), device=self.device) - y_pred_ignore = torch.zeros((num_iou_thrs, num_y_pred), device=self.device) + ym = torch.zeros((num_iou_thrs, num_y), device=self._device) + y_predm = torch.zeros((num_iou_thrs, num_y_pred), device=self._device) + y_pred_ignore = torch.zeros((num_iou_thrs, num_y_pred), device=self._device) if len(ious) != 0: for tind, t in enumerate(self.iou_thrs): @@ -280,11 +278,11 @@ def _evaluate_image( a = torch.tensor( [d[self.labels.i_area] < area_rng[0] or d[self.labels.i_area] > area_rng[1] for d in y_pred] ).reshape((1, len(y_pred))) - a = a.to(self.device) + a = a.to(self._device) y_pred_ignore = torch.logical_or( y_pred_ignore, torch.logical_and(y_predm == 0, torch.repeat_interleave(a, num_iou_thrs, 0)) - ).to(self.device) + ).to(self._device) return { "y_pred_matches": y_predm, @@ -301,7 +299,7 @@ def _accumulate(self) -> None: num_area = len(self.area_rngs) max_det = self.max_det - precision = -torch.ones((num_iou_thr, num_rec_thr, num_categories, num_area), device=self.device) + precision = -torch.ones((num_iou_thr, num_rec_thr, num_categories, num_area), device=self._device) # retrieve eval_imgs at each category, area range, and max number of detections for c, category_id in enumerate(self.category_ids): @@ -327,8 +325,8 @@ def _accumulate(self) -> None: tps = torch.logical_and(predm, torch.logical_not(pred_ignore)) fps = torch.logical_and(torch.logical_not(predm), torch.logical_not(pred_ignore)) # Calculate precision and recall iteratively - tp_sum = torch.cumsum(tps, dim=1).to(device=self.device, dtype=torch.float64) - fp_sum = torch.cumsum(fps, dim=1).to(device=self.device, dtype=torch.float64) + tp_sum = torch.cumsum(tps, dim=1).to(device=self._device, dtype=torch.float64) + fp_sum = torch.cumsum(fps, dim=1).to(device=self._device, dtype=torch.float64) for t, (tp, fp) in enumerate(zip(tp_sum, fp_sum)): nd = len(tp) From 2bc3adfe6492f73fd30e1e2a83e15021dfb914b0 Mon Sep 17 00:00:00 2001 From: Desroziers Date: Wed, 18 Aug 2021 17:05:37 +0200 Subject: [PATCH 18/33] renaming and refactoring for thresholds --- ignite/metrics/mean_average_precision.py | 55 ++++++++----------- .../metrics/test_mean_average_precision.py | 10 +--- 2 files changed, 27 insertions(+), 38 deletions(-) diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index ff730afe3dde..2e98fdafdbcc 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -35,7 +35,7 @@ def iou(y: torch.Tensor, y_pred: torch.Tensor, crowd: List) -> torch.Tensor: class MeanAveragePrecision(Metric): - r"""Calculates Mean Average Precision for object detection data. + r"""Calculates Mean Average Precision (mAP) for object detection data. .. math:: \text{MeanAveragePrecision} = {1/11}\sum_{r \in {0.0, ..., 1.0}}\text{AP}_r @@ -57,10 +57,10 @@ class MeanAveragePrecision(Metric): area_rngs: dictionary with area_name as key and a tuple of the form (lower_area_range, upper_area_range) as value, where both values are floats. It contains all area ranges for which AP needs to be computed. - max_det: Maximum detections allowed per image. This is to limit crowding and repeated + num_detection_max: Number of maximum detections allowed per image. This is to limit crowding and repeated detections of the same object. - iou_thrs: A float tensor containing a set of IoU thresholds for which AP needs to be computed. - rec_thrs: A float tensor containing a set of values at which AP needs to be computed for averaging. + iou_thresholds: Optional list of float IoU thresholds for which AP is computed (default: [.5:.05:.95]). + rec_thresholds: Optional list of float values to which AP is computed for averaging (default: [0:.01:1]). output_transform: a callable that is used to transform the :class:`~ignite.engine.engine.Engine`'s ``process_function``'s output into the form expected by the metric. This can be useful if, for example, you have a multi-output model and @@ -108,9 +108,9 @@ def __init__( "medium": [1024, 9216], "large": [9216, float("inf")], }, - max_det: int = 100, - iou_thrs: torch.Tensor = torch.tensor([0.5 + (i / 20) for i in range(10)]), # type: ignore - rec_thrs: torch.Tensor = torch.tensor([i / 100 for i in range(101)]), # type: ignore + num_detection_max: int = 100, + iou_thresholds: Optional[List[float]] = None, + rec_thresholds: Optional[List[float]] = None, output_transform: Callable = lambda x: x, device: Union[str, torch.device] = torch.device("cpu"), ) -> None: @@ -118,19 +118,18 @@ def __init__( self.area_rngs: Dict = area_rngs self.area_rngs["all"] = [0, float("inf")] - self.max_det: int = max_det - if type(self.max_det) != int or self.max_det < 1: - raise ValueError(f"max_det should be a positive integer, got {self.max_det}") + if num_detection_max < 1: + raise ValueError(f"Argument num_detection_max should be a positive integer, got {num_detection_max}") - for thr in iou_thrs: - if not isinstance(thr, float) and not isinstance(thr, torch.Tensor): - raise ValueError(f"iou_thrs should be an Iterable of type float, got {type(thr)}") - self.iou_thrs: torch.Tensor = self.get_tensor(iou_thrs, device) + self.num_detection_max = num_detection_max - for thr in rec_thrs: - if not isinstance(thr, float) and not isinstance(thr, torch.Tensor): - raise ValueError(f"rec_thrs should be an Iterable of type float, got {type(thr)}") - self.rec_thrs: torch.Tensor = self.get_tensor(rec_thrs, device) + if iou_thresholds is None: + iou_thresholds = [0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95] + self.iou_thresholds = torch.tensor(iou_thresholds, device=device) + + if rec_thresholds is None: + rec_thresholds = [i / 100 for i in range(101)] + self.rec_thresholds = torch.tensor(rec_thresholds, device=device) class labels: i_id = 0 @@ -145,12 +144,6 @@ class labels: super(MeanAveragePrecision, self).__init__(output_transform=output_transform, device=device) - @staticmethod - def get_tensor(t, device): - if torch.is_tensor(t): - return t.to(device) - return torch.tensor(t, device=device) - @staticmethod def _check_area_rngs(area_rngs: Dict) -> None: for area in area_rngs: @@ -244,7 +237,7 @@ def _evaluate_image( ious = ious[:, y_ind] if len(ious) > 0 else ious - num_iou_thrs = len(self.iou_thrs) + num_iou_thrs = len(self.iou_thresholds) num_y = len(y) num_y_pred = len(y_pred) ym = torch.zeros((num_iou_thrs, num_y), device=self._device) @@ -252,7 +245,7 @@ def _evaluate_image( y_pred_ignore = torch.zeros((num_iou_thrs, num_y_pred), device=self._device) if len(ious) != 0: - for tind, t in enumerate(self.iou_thrs): + for tind, t in enumerate(self.iou_thresholds): for dind, d in enumerate(y_pred): iou = min([t, 1 - 1e-10]) m = -1 @@ -293,12 +286,12 @@ def _evaluate_image( @reinit__is_reduced def _accumulate(self) -> None: - num_iou_thr = len(self.iou_thrs) - num_rec_thr = len(self.rec_thrs) + num_iou_thr = len(self.iou_thresholds) + num_rec_thr = len(self.rec_thresholds) num_categories = len(self.category_ids) num_area = len(self.area_rngs) - max_det = self.max_det + max_det = self.num_detection_max precision = -torch.ones((num_iou_thr, num_rec_thr, num_categories, num_area), device=self._device) # retrieve eval_imgs at each category, area range, and max number of detections @@ -341,7 +334,7 @@ def _accumulate(self) -> None: if pr[i] > pr[i - 1]: pr[i - 1] = pr[i] - inds = torch.searchsorted(rc, self.rec_thrs, right=False) + inds = torch.searchsorted(rc, self.rec_thresholds, right=False) try: for ri, pi in enumerate(inds): q[ri] = pr[pi] @@ -356,7 +349,7 @@ def _summarize(self, iou_thr: Optional[float] = None, area_rng: str = "all") -> # Calculate Average Precision s = self.precision if iou_thr is not None: - t = (self.iou_thrs == iou_thr).int().nonzero(as_tuple=True)[0] + t = (self.iou_thresholds == iou_thr).int().nonzero(as_tuple=True)[0] s = s[t] s = s[:, :, :, aind] # Take mean to calculate mAP diff --git a/tests/ignite/metrics/test_mean_average_precision.py b/tests/ignite/metrics/test_mean_average_precision.py index 7ac03b20e766..77f43ea52fcb 100644 --- a/tests/ignite/metrics/test_mean_average_precision.py +++ b/tests/ignite/metrics/test_mean_average_precision.py @@ -76,13 +76,9 @@ def get_coco_results(): def test_wrong_inputs(): with pytest.raises(ValueError, match="area_rngs should be a dictionary with key as area name"): - mAP = MeanAveragePrecision(area_rngs={1: 2}) - with pytest.raises(ValueError, match="max_det should be a positive integer, got"): - mAP = MeanAveragePrecision(max_det=-1) - with pytest.raises(ValueError, match="iou_thrs should be an Iterable of type float, got"): - mAP = MeanAveragePrecision(iou_thrs=[1, 2, "s"]) - with pytest.raises(ValueError, match="rec_thrs should be an Iterable of type float, got"): - mAP = MeanAveragePrecision(rec_thrs=[1, 3, "s"]) + MeanAveragePrecision(area_rngs={1: 2}) + with pytest.raises(ValueError, match="Argument num_detection_max should be a positive integer, got"): + MeanAveragePrecision(num_detection_max=-1) mAP = MeanAveragePrecision() From e65e2545f731409fcaaccab664ea839570ce2138 Mon Sep 17 00:00:00 2001 From: Desroziers Date: Wed, 18 Aug 2021 18:25:12 +0200 Subject: [PATCH 19/33] renaming : area_rngs -> object_area_ranges --- ignite/metrics/mean_average_precision.py | 50 ++++++++++--------- .../metrics/test_mean_average_precision.py | 12 ++--- 2 files changed, 33 insertions(+), 29 deletions(-) diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index 2e98fdafdbcc..731e97eb69d6 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -54,7 +54,7 @@ class MeanAveragePrecision(Metric): __ https://github.com/cocodataset/cocoapi/ Args: - area_rngs: dictionary with area_name as key and a tuple of the form + object_area_ranges: dictionary with area_name as key and a tuple of the form (lower_area_range, upper_area_range) as value, where both values are floats. It contains all area ranges for which AP needs to be computed. num_detection_max: Number of maximum detections allowed per image. This is to limit crowding and repeated @@ -102,21 +102,27 @@ class MeanAveragePrecision(Metric): def __init__( self, - area_rngs: Dict = { - "all": [0, float("inf")], - "small": [0, 1024], - "medium": [1024, 9216], - "large": [9216, float("inf")], - }, + object_area_ranges: Optional[Dict[str, Tuple[float, float]]] = None, num_detection_max: int = 100, iou_thresholds: Optional[List[float]] = None, rec_thresholds: Optional[List[float]] = None, output_transform: Callable = lambda x: x, device: Union[str, torch.device] = torch.device("cpu"), ) -> None: - self._check_area_rngs(area_rngs) - self.area_rngs: Dict = area_rngs - self.area_rngs["all"] = [0, float("inf")] + + if object_area_ranges is None: + self.object_area_ranges = { + "all": (0, float("inf")), + "small": (0, 1024), + "medium": (1024, 9216), + "large": (9216, float("inf")), + } + else: + self.object_area_ranges = object_area_ranges + if "all" not in self.object_area_ranges: + self.object_area_ranges["all"] = (0, float("inf")) + + self._check_object_area_ranges() if num_detection_max < 1: raise ValueError(f"Argument num_detection_max should be a positive integer, got {num_detection_max}") @@ -144,14 +150,12 @@ class labels: super(MeanAveragePrecision, self).__init__(output_transform=output_transform, device=device) - @staticmethod - def _check_area_rngs(area_rngs: Dict) -> None: - for area in area_rngs: - area_rng = area_rngs[area] - if type(area) != str or len(area_rng) != 2 or area_rng[0] >= area_rng[1]: + def _check_object_area_ranges(self) -> None: + for area, area_range in self.object_area_ranges.items(): + if len(area_range) != 2 or area_range[0] >= area_range[1]: raise ValueError( - """area_rngs should be a dictionary with key as area name and value as \ - a tuple of the form (lower limit, upper limit).""" + f"object_area_ranges must be a dict associating to each key (str) a tuple of float values (a, b) " + f"where a < b (got: key={area}, value={area_range})" ) @staticmethod @@ -193,10 +197,10 @@ def update(self, output: Any) -> None: for category_id in categories: ious = self._compute_iou(categorywise_y[category_id], categorywise_y_pred[category_id]) - for area_rng in self.area_rngs: + for area_rng in self.object_area_ranges: self.eval_imgs[category_id, area_rng].append( self._evaluate_image( - categorywise_y[category_id], categorywise_y_pred[category_id], self.area_rngs[area_rng], ious + categorywise_y[category_id], categorywise_y_pred[category_id], self.object_area_ranges[area_rng], ious ) ) @@ -289,14 +293,14 @@ def _accumulate(self) -> None: num_iou_thr = len(self.iou_thresholds) num_rec_thr = len(self.rec_thresholds) num_categories = len(self.category_ids) - num_area = len(self.area_rngs) + num_area = len(self.object_area_ranges) max_det = self.num_detection_max precision = -torch.ones((num_iou_thr, num_rec_thr, num_categories, num_area), device=self._device) # retrieve eval_imgs at each category, area range, and max number of detections for c, category_id in enumerate(self.category_ids): - for a, area_rng in enumerate(self.area_rngs): + for a, area_rng in enumerate(self.object_area_ranges): # retrieve appropriate eval_imgs from stored results eval_imgs = self.eval_imgs[category_id, area_rng] eval_imgs = [img for img in eval_imgs if img is not None] @@ -345,7 +349,7 @@ def _accumulate(self) -> None: self.precision = precision def _summarize(self, iou_thr: Optional[float] = None, area_rng: str = "all") -> float: - aind = [i for i, a_rng in enumerate(self.area_rngs) if a_rng == area_rng] + aind = [i for i, a_rng in enumerate(self.object_area_ranges) if a_rng == area_rng] # Calculate Average Precision s = self.precision if iou_thr is not None: @@ -407,7 +411,7 @@ def compute(self) -> Dict: "all@0.75": self._summarize(iou_thr=0.75), } - for area in self.area_rngs: + for area in self.object_area_ranges: results[area] = self._summarize(area_rng=area) return results diff --git a/tests/ignite/metrics/test_mean_average_precision.py b/tests/ignite/metrics/test_mean_average_precision.py index 77f43ea52fcb..350c5982e1e7 100644 --- a/tests/ignite/metrics/test_mean_average_precision.py +++ b/tests/ignite/metrics/test_mean_average_precision.py @@ -75,20 +75,20 @@ def get_coco_results(): def test_wrong_inputs(): - with pytest.raises(ValueError, match="area_rngs should be a dictionary with key as area name"): - MeanAveragePrecision(area_rngs={1: 2}) - with pytest.raises(ValueError, match="Argument num_detection_max should be a positive integer, got"): + with pytest.raises(ValueError, match=r"object_area_ranges must be a dict"): + MeanAveragePrecision(object_area_ranges={"a": (3, 2)}) + with pytest.raises(ValueError, match=r"Argument num_detection_max should be a positive integer, got"): MeanAveragePrecision(num_detection_max=-1) mAP = MeanAveragePrecision() - with pytest.raises(ValueError, match="Update Data must be of the form"): + with pytest.raises(ValueError, match=r"Update Data must be of the form"): mAP.update(torch.zeros(1)) - with pytest.raises(ValueError, match="detections_tensor should be of size"): + with pytest.raises(ValueError, match=r"detections_tensor should be of size"): mAP.update([torch.zeros(1), []]) - with pytest.raises(ValueError, match="ground_truths should be of size"): + with pytest.raises(ValueError, match=r"ground_truths should be of size"): mAP.update([torch.zeros(1, 9), torch.zeros(2, 10)]) From 8c5b54ba7570d9d8da4ac798987fb7aeb7a052b3 Mon Sep 17 00:00:00 2001 From: sdesrozis Date: Wed, 18 Aug 2021 16:26:01 +0000 Subject: [PATCH 20/33] autopep8 fix --- ignite/metrics/mean_average_precision.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index 731e97eb69d6..07dd75bc529f 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -200,7 +200,10 @@ def update(self, output: Any) -> None: for area_rng in self.object_area_ranges: self.eval_imgs[category_id, area_rng].append( self._evaluate_image( - categorywise_y[category_id], categorywise_y_pred[category_id], self.object_area_ranges[area_rng], ious + categorywise_y[category_id], + categorywise_y_pred[category_id], + self.object_area_ranges[area_rng], + ious, ) ) From b48fe43f4286ff5626b9e425be133079918c4e5a Mon Sep 17 00:00:00 2001 From: Desroziers Date: Wed, 18 Aug 2021 19:01:32 +0200 Subject: [PATCH 21/33] minor fix --- ignite/metrics/mean_average_precision.py | 32 +++++++------------ .../metrics/test_mean_average_precision.py | 3 -- 2 files changed, 12 insertions(+), 23 deletions(-) diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index 731e97eb69d6..ba94a6b0d7f1 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -112,10 +112,10 @@ def __init__( if object_area_ranges is None: self.object_area_ranges = { - "all": (0, float("inf")), - "small": (0, 1024), - "medium": (1024, 9216), - "large": (9216, float("inf")), + "all": (0.0, float("inf")), + "small": (0.0, 1024.0), + "medium": (1024.0, 9216.0), + "large": (9216.0, float("inf")), } else: self.object_area_ranges = object_area_ranges @@ -158,12 +158,9 @@ def _check_object_area_ranges(self) -> None: f"where a < b (got: key={area}, value={area_range})" ) - @staticmethod - def _get_samples(data: List) -> Tuple: - if len(data) != 2: - raise ValueError("Update Data must be of the format [y_pred_img, y_img].") - - y_pred_img, y_img = data + @reinit__is_reduced + def update(self, output: Tuple[torch.Tensor, torch.Tensor]) -> None: + y_pred_img, y_img = output if len(y_pred_img.shape) != 2 or y_pred_img.shape[1] != 9: raise ValueError(f"detections_tensor should be of size [num_detections, 9], got {y_pred_img.shape}") @@ -171,12 +168,6 @@ def _get_samples(data: List) -> Tuple: if len(y_img.shape) != 2 or y_img.shape[1] != 9: raise ValueError(f"ground_truths should be of size [num_detections, 9], got {y_img.shape}") - return y_pred_img, y_img - - @reinit__is_reduced - def update(self, output: Any) -> None: - y_pred_img, y_img = self._get_samples(output) - y_pred_img = y_pred_img.to(self._device) y_img = y_img.to(self._device) @@ -200,14 +191,16 @@ def update(self, output: Any) -> None: for area_rng in self.object_area_ranges: self.eval_imgs[category_id, area_rng].append( self._evaluate_image( - categorywise_y[category_id], categorywise_y_pred[category_id], self.object_area_ranges[area_rng], ious + categorywise_y[category_id], + categorywise_y_pred[category_id], + self.object_area_ranges[area_rng], + ious, ) ) @reinit__is_reduced def reset(self) -> None: self.category_ids: set = set() - self.eval_imgs: defaultdict = defaultdict(list) def _compute_iou(self, y: torch.Tensor, y_pred: torch.Tensor) -> torch.Tensor: @@ -221,7 +214,7 @@ def _compute_iou(self, y: torch.Tensor, y_pred: torch.Tensor) -> torch.Tensor: return ious def _evaluate_image( - self, y: torch.Tensor, y_pred: torch.Tensor, area_rng: torch.Tensor, ious: torch.Tensor + self, y: torch.Tensor, y_pred: torch.Tensor, area_rng: Tuple[float, float], ious: torch.Tensor ) -> Optional[Dict]: if len(y) == 0 and len(y_pred) == 0: return None @@ -288,7 +281,6 @@ def _evaluate_image( "y_pred_ignore": y_pred_ignore, } - @reinit__is_reduced def _accumulate(self) -> None: num_iou_thr = len(self.iou_thresholds) num_rec_thr = len(self.rec_thresholds) diff --git a/tests/ignite/metrics/test_mean_average_precision.py b/tests/ignite/metrics/test_mean_average_precision.py index 350c5982e1e7..d97dd3221232 100644 --- a/tests/ignite/metrics/test_mean_average_precision.py +++ b/tests/ignite/metrics/test_mean_average_precision.py @@ -82,9 +82,6 @@ def test_wrong_inputs(): mAP = MeanAveragePrecision() - with pytest.raises(ValueError, match=r"Update Data must be of the form"): - mAP.update(torch.zeros(1)) - with pytest.raises(ValueError, match=r"detections_tensor should be of size"): mAP.update([torch.zeros(1), []]) From d49240d1fe9bb76366d5ac22b1231d5ea778df79 Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Thu, 19 Aug 2021 08:53:33 +0530 Subject: [PATCH 22/33] Design changes --- ignite/metrics/mean_average_precision.py | 139 +++++++++++++---------- 1 file changed, 76 insertions(+), 63 deletions(-) diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index ba94a6b0d7f1..26977c0e3ef5 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -5,31 +5,34 @@ from ignite.metrics.metric import Metric, reinit__is_reduced, sync_all_reduce +__all__ = ["MeanAveragePrecision"] -def iou(y: torch.Tensor, y_pred: torch.Tensor, crowd: List) -> torch.Tensor: + +def _iou(y: torch.Tensor, y_pred: torch.Tensor, crowd: List) -> torch.Tensor: m = len(y_pred) n = len(y) ious = torch.zeros(m, n) + # bbox format : (xmin, ymin, width, height) for g in range(n): - Y = y[g].tolist() - ya = Y[2] * Y[3] + y_bbox = y[g].tolist() + y_area = y_bbox[2] * y_bbox[3] iscrowd = crowd[g] for d in range(m): - P = y_pred[d].tolist() - pa = P[2] * P[3] + y_pred_bbox = y_pred[d].tolist() + y_pred_area = y_pred_bbox[2] * y_pred_bbox[3] ious[m - d - 1, g] = 0 - w = min(P[2] + P[0], Y[2] + Y[0]) - max(P[0], Y[0]) - h = min(P[3] + P[1], Y[3] + Y[1]) - max(P[1], Y[1]) + w = min(y_pred_bbox[2] + y_pred_bbox[0], y_bbox[2] + y_bbox[0]) - max(y_pred_bbox[0], y_bbox[0]) + h = min(y_pred_bbox[3] + y_pred_bbox[1], y_bbox[3] + y_bbox[1]) - max(y_pred_bbox[1], y_bbox[1]) if w <= 0 or h <= 0: continue - i = w * h + intersection = w * h if iscrowd: - u = pa + union = y_pred_area else: - u = pa + ya - i - ious[m - d - 1, g] = i / u + union = y_pred_area + y_area - intersection + ious[m - d - 1, g] = intersection / union return ious @@ -79,6 +82,12 @@ class MeanAveragePrecision(Metric): # Detection Format: # (id, class, xmin, ymin, width, height, area, crowd, ignore/confidence) + # area: refers to the area covered by the bounding box, is usually + # height * width, except when crowd is 1. + # crowd: refers to if the detection is completely independent of other + # detection or overlapping with them. + # ignore: set positive when you want to ignore this detection when calculating + # Mean Average Precision. # if your bounding box are of the form (xmin, ymin, xmax, ymax) instead # they can be converted using the formulas width = xmax - xmin and # height = ymax - ymin @@ -137,16 +146,13 @@ def __init__( rec_thresholds = [i / 100 for i in range(101)] self.rec_thresholds = torch.tensor(rec_thresholds, device=device) - class labels: - i_id = 0 - i_category_id = 1 - i_xmin = 2 - i_area = 6 - i_crowd = 7 - g_ignore = 8 - d_confidence = 8 - - self.labels = labels + self.__id = 0 + self.__category_id = 1 + self.__xmin = 2 + self.__area = 6 + self.__crowd = 7 + self.__ignore = 8 + self.__confidence = 8 super(MeanAveragePrecision, self).__init__(output_transform=output_transform, device=device) @@ -174,13 +180,13 @@ def update(self, output: Tuple[torch.Tensor, torch.Tensor]) -> None: categories = set() categorywise_y: defaultdict = defaultdict(lambda: torch.zeros(0, 9).to(self._device)) for y in y_img: - category_id = int(y[self.labels.i_category_id]) + category_id = int(y[self.__category_id]) categories.add(category_id) categorywise_y[category_id] = torch.vstack([categorywise_y[category_id], y]) categorywise_y_pred: defaultdict = defaultdict(lambda: torch.zeros(0, 9).to(self._device)) for y_pred in y_pred_img: - category_id = int(y_pred[self.labels.i_category_id]) + category_id = int(y_pred[self.__category_id]) categories.add(category_id) categorywise_y_pred[category_id] = torch.vstack([categorywise_y_pred[category_id], y_pred]) @@ -190,7 +196,7 @@ def update(self, output: Tuple[torch.Tensor, torch.Tensor]) -> None: ious = self._compute_iou(categorywise_y[category_id], categorywise_y_pred[category_id]) for area_rng in self.object_area_ranges: self.eval_imgs[category_id, area_rng].append( - self._evaluate_image( + self._evaluate_image_matches( categorywise_y[category_id], categorywise_y_pred[category_id], self.object_area_ranges[area_rng], @@ -204,34 +210,43 @@ def reset(self) -> None: self.eval_imgs: defaultdict = defaultdict(list) def _compute_iou(self, y: torch.Tensor, y_pred: torch.Tensor) -> torch.Tensor: - y_pred = y_pred[torch.argsort(y_pred[:, self.labels.d_confidence])] + # Sort predictions by confidence. + y_pred = y_pred[torch.argsort(y_pred[:, self.__confidence])] - crowd = [g[self.labels.i_crowd] for g in y] - ious = iou( - y[:, self.labels.i_xmin : self.labels.i_area], y_pred[:, self.labels.i_xmin : self.labels.i_area], crowd - ).to(self._device) + crowd = [g[self.__crowd] for g in y] + + # Pass the bounding boxes for ground truths and predictions and crowd to obtain ious.y + ious = _iou(y[:, self.__xmin : self.__area], y_pred[:, self.__xmin : self.__area], crowd).to(self._device) return ious - def _evaluate_image( + def _evaluate_image_matches( self, y: torch.Tensor, y_pred: torch.Tensor, area_rng: Tuple[float, float], ious: torch.Tensor ) -> Optional[Dict]: + """ + Evaluates iou_threshold wise y and y_pred matches. + """ if len(y) == 0 and len(y_pred) == 0: return None + # assign which detections in y are ignored for evaluating matches y_ignore = torch.zeros(len(y)) for i, g in enumerate(y): - if g[self.labels.g_ignore] or (g[self.labels.i_area] < area_rng[0] or g[self.labels.i_area] > area_rng[1]): + if g[self.__ignore] or (g[self.__area] < area_rng[0] or g[self.__area] > area_rng[1]): y_ignore[i] = 1 else: y_ignore[i] = 0 + # Sort y based such that non ignored predictions are at the start y_ind = torch.argsort(y_ignore) y_ignore = y_ignore[y_ind] y = y[y_ind] - y_pred = y_pred[torch.argsort(-y_pred[:, self.labels.d_confidence])] - iscrowd = y[:, self.labels.i_crowd] + # Sort y_pred according to confidence since we are using a greedy matching approach + y_pred = y_pred[torch.argsort(-y_pred[:, self.__confidence])] + iscrowd = y[:, self.__crowd] + + # Sort ious accordingly ious = ious[:, y_ind] if len(ious) > 0 else ious num_iou_thrs = len(self.iou_thresholds) @@ -247,6 +262,7 @@ def _evaluate_image( iou = min([t, 1 - 1e-10]) m = -1 for gind, g in enumerate(y): + # Find the best ground truth match for a prediction based on ious. if ym[tind, gind] > 0 and not iscrowd[gind]: continue @@ -262,12 +278,13 @@ def _evaluate_image( if m == -1: continue y_pred_ignore[tind, dind] = y_ignore[m] - y_predm[tind, dind] = y[m][self.labels.i_id] - ym[tind, m] = d[self.labels.i_id] + y_predm[tind, dind] = y[m][self.__id] + ym[tind, m] = d[self.__id] - a = torch.tensor( - [d[self.labels.i_area] < area_rng[0] or d[self.labels.i_area] > area_rng[1] for d in y_pred] - ).reshape((1, len(y_pred))) + # Sort the results area_wise, helps in future calculation of areawise mAP. + a = torch.tensor([d[self.__area] < area_rng[0] or d[self.__area] > area_rng[1] for d in y_pred]).reshape( + (1, len(y_pred)) + ) a = a.to(self._device) y_pred_ignore = torch.logical_or( @@ -276,7 +293,7 @@ def _evaluate_image( return { "y_pred_matches": y_predm, - "y_pred_scores": y_pred[:, self.labels.d_confidence], + "y_pred_scores": y_pred[:, self.__confidence], "y_ignore": y_ignore, "y_pred_ignore": y_pred_ignore, } @@ -287,7 +304,6 @@ def _accumulate(self) -> None: num_categories = len(self.category_ids) num_area = len(self.object_area_ranges) - max_det = self.num_detection_max precision = -torch.ones((num_iou_thr, num_rec_thr, num_categories, num_area), device=self._device) # retrieve eval_imgs at each category, area range, and max number of detections @@ -299,13 +315,17 @@ def _accumulate(self) -> None: if len(eval_imgs) == 0: continue # Get prediction scores to greedily match - pred_scores = torch.cat([img["y_pred_scores"][0:max_det] for img in eval_imgs], dim=-1) + pred_scores = torch.cat([img["y_pred_scores"][0 : self.num_detection_max] for img in eval_imgs], dim=-1) # Sort prediction scores inds = torch.argsort(-pred_scores) # Retrieve and Sort prediction matches, # ignore flags for ground truth and predictions based on prediction scores - predm = torch.cat([img["y_pred_matches"][:, 0:max_det] for img in eval_imgs], dim=-1)[:, inds] - pred_ignore = torch.cat([img["y_pred_ignore"][:, 0:max_det] for img in eval_imgs], dim=-1)[:, inds] + predm = torch.cat([img["y_pred_matches"][:, 0 : self.num_detection_max] for img in eval_imgs], dim=-1)[ + :, inds + ] + pred_ignore = torch.cat( + [img["y_pred_ignore"][:, 0 : self.num_detection_max] for img in eval_imgs], dim=-1 + )[:, inds] y_ignore = torch.cat([img["y_ignore"] for img in eval_imgs]) non_ignored = torch.count_nonzero(y_ignore == 0) if non_ignored == 0: @@ -331,23 +351,25 @@ def _accumulate(self) -> None: pr[i - 1] = pr[i] inds = torch.searchsorted(rc, self.rec_thresholds, right=False) + # Find if recording thresholds recalls exist in calculated recalls. + # If no such recording thresholds exist, skip computation. try: for ri, pi in enumerate(inds): q[ri] = pr[pi] except: pass precision[t, :, c, a] = torch.tensor(q) - # return precision, recall + self.precision = precision - def _summarize(self, iou_thr: Optional[float] = None, area_rng: str = "all") -> float: - aind = [i for i, a_rng in enumerate(self.object_area_ranges) if a_rng == area_rng] + def _summarize(self, iou_thr: Optional[float] = None, area_range: str = "all") -> float: + area_index = list(self.object_area_ranges.keys()).index(area_range) # Calculate Average Precision s = self.precision if iou_thr is not None: t = (self.iou_thresholds == iou_thr).int().nonzero(as_tuple=True)[0] s = s[t] - s = s[:, :, :, aind] + s = s[:, :, :, area_index] # Take mean to calculate mAP if len(s[s > -1]) == 0: mean_s = torch.tensor(-1) @@ -360,14 +382,9 @@ def _summarize(self, iou_thr: Optional[float] = None, area_rng: str = "all") -> def _gather_all(self) -> None: import torch.distributed as dist - def is_dist_avail_and_initialized() -> bool: - if not dist.is_available(): - return False - if not dist.is_initialized(): - return False - return True - - if not is_dist_avail_and_initialized(): + if not dist.is_available(): + return + if not dist.is_initialized(): return eval_gather_dicts: List[Dict] = [defaultdict(list)] * dist.get_world_size() @@ -376,14 +393,10 @@ def is_dist_avail_and_initialized() -> bool: category_gather_list: List[Set] = [set()] * dist.get_world_size() dist.all_gather_object(category_gather_list, self.category_ids) - keys = set() - for eval_imgs in eval_gather_dicts: - for key in eval_imgs: - keys.add(key) combined_eval_imgs: defaultdict = defaultdict(list) - for key in keys: - for eval_imgs in eval_gather_dicts: - combined_eval_imgs[key] += eval_imgs[key] + for eval_imgs in eval_gather_dicts: + for key, value in eval_imgs.items(): + combined_eval_imgs[key] += value self.eval_imgs = combined_eval_imgs all_category_ids = set() @@ -404,6 +417,6 @@ def compute(self) -> Dict: } for area in self.object_area_ranges: - results[area] = self._summarize(area_rng=area) + results[area] = self._summarize(area_range=area) return results From 221c1bc957ed48773f56dfa62c54c9f722cf0a50 Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Thu, 19 Aug 2021 09:26:34 +0530 Subject: [PATCH 23/33] iou sorting --- ignite/metrics/mean_average_precision.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index 26977c0e3ef5..da18a77c9c0a 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -22,7 +22,7 @@ def _iou(y: torch.Tensor, y_pred: torch.Tensor, crowd: List) -> torch.Tensor: for d in range(m): y_pred_bbox = y_pred[d].tolist() y_pred_area = y_pred_bbox[2] * y_pred_bbox[3] - ious[m - d - 1, g] = 0 + ious[d, g] = 0 w = min(y_pred_bbox[2] + y_pred_bbox[0], y_bbox[2] + y_bbox[0]) - max(y_pred_bbox[0], y_bbox[0]) h = min(y_pred_bbox[3] + y_pred_bbox[1], y_bbox[3] + y_bbox[1]) - max(y_pred_bbox[1], y_bbox[1]) if w <= 0 or h <= 0: @@ -32,7 +32,7 @@ def _iou(y: torch.Tensor, y_pred: torch.Tensor, crowd: List) -> torch.Tensor: union = y_pred_area else: union = y_pred_area + y_area - intersection - ious[m - d - 1, g] = intersection / union + ious[d, g] = intersection / union return ious @@ -211,7 +211,7 @@ def reset(self) -> None: def _compute_iou(self, y: torch.Tensor, y_pred: torch.Tensor) -> torch.Tensor: # Sort predictions by confidence. - y_pred = y_pred[torch.argsort(y_pred[:, self.__confidence])] + y_pred = y_pred[torch.argsort(-y_pred[:, self.__confidence])] crowd = [g[self.__crowd] for g in y] From 154b568aab76dc26a5936a317afb28e7d4059229 Mon Sep 17 00:00:00 2001 From: Desroziers Date: Thu, 19 Aug 2021 09:09:21 +0200 Subject: [PATCH 24/33] remove useless files --- tests/ignite/metrics/dt.json | 3413 ------------------------- tests/ignite/metrics/gt.json | 4508 ---------------------------------- 2 files changed, 7921 deletions(-) delete mode 100644 tests/ignite/metrics/dt.json delete mode 100644 tests/ignite/metrics/gt.json diff --git a/tests/ignite/metrics/dt.json b/tests/ignite/metrics/dt.json deleted file mode 100644 index 0cb2c669213e..000000000000 --- a/tests/ignite/metrics/dt.json +++ /dev/null @@ -1,3413 +0,0 @@ -[ - { - "image_id": 42, - "category_id": 18, - "bbox": [258.15, 41.29, 348.26, 243.78], - "score": 0.236, - "area": 84898.8228, - "id": 1, - "iscrowd": 0 - }, - { - "image_id": 73, - "category_id": 11, - "bbox": [61, 22.75, 504, 609.67], - "score": 0.318, - "area": 307273.68, - "id": 2, - "iscrowd": 0 - }, - { - "image_id": 73, - "category_id": 4, - "bbox": [12.66, 3.32, 268.6, 271.91], - "score": 0.726, - "area": 73035.02600000001, - "id": 3, - "iscrowd": 0 - }, - { - "image_id": 74, - "category_id": 18, - "bbox": [87.87, 276.25, 296.42, 103.18], - "score": 0.546, - "area": 30584.615600000005, - "id": 4, - "iscrowd": 0 - }, - { - "image_id": 74, - "category_id": 2, - "bbox": [0, 3.66, 142.15, 312.4], - "score": 0.3, - "area": 44407.659999999996, - "id": 5, - "iscrowd": 0 - }, - { - "image_id": 74, - "category_id": 1, - "bbox": [296.55, 93.96, 18.42, 58.83], - "score": 0.407, - "area": 1083.6486, - "id": 6, - "iscrowd": 0 - }, - { - "image_id": 74, - "category_id": 1, - "bbox": [328.94, 97.05, 13.55, 25.93], - "score": 0.611, - "area": 351.3515, - "id": 7, - "iscrowd": 0 - }, - { - "image_id": 74, - "category_id": 1, - "bbox": [356.62, 95.47, 15.71, 52.08], - "score": 0.335, - "area": 818.1768000000001, - "id": 8, - "iscrowd": 0 - }, - { - "image_id": 74, - "category_id": 1, - "bbox": [464.08, 105.09, 31.66, 41.9], - "score": 0.805, - "area": 1326.5539999999999, - "id": 9, - "iscrowd": 0 - }, - { - "image_id": 74, - "category_id": 1, - "bbox": [276.11, 103.84, 15.33, 46.88], - "score": 0.953, - "area": 718.6704000000001, - "id": 10, - "iscrowd": 0 - }, - { - "image_id": 74, - "category_id": 1, - "bbox": [281.65, 103.41, 11.69, 24.25], - "score": 0.087, - "area": 283.4825, - "id": 11, - "iscrowd": 0 - }, - { - "image_id": 133, - "category_id": 65, - "bbox": [0, 2.87, 601, 418.65], - "score": 0.699, - "area": 251608.65, - "id": 12, - "iscrowd": 0 - }, - { - "image_id": 133, - "category_id": 88, - "bbox": [521.34, 20.93, 47.95, 28.72], - "score": 0.423, - "area": 1377.124, - "id": 13, - "iscrowd": 0 - }, - { - "image_id": 136, - "category_id": 16, - "bbox": [8.84, 114.71, 53.54, 257.7], - "score": 0.473, - "area": 13797.258, - "id": 14, - "iscrowd": 0 - }, - { - "image_id": 136, - "category_id": 1, - "bbox": [9, 61.35, 68.92, 312.65], - "score": 0.796, - "area": 21547.838, - "id": 15, - "iscrowd": 0 - }, - { - "image_id": 136, - "category_id": 38, - "bbox": [101, 116.38, 185.74, 252.68], - "score": 0.127, - "area": 46932.783200000005, - "id": 16, - "iscrowd": 0 - }, - { - "image_id": 136, - "category_id": 25, - "bbox": [315.72, 131.83, 128.04, 164.25], - "score": 0.326, - "area": 21030.57, - "id": 17, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 64, - "bbox": [236.98, 142.51, 24.7, 69.5], - "score": 0.221, - "area": 1716.6499999999999, - "id": 18, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 37, - "bbox": [20.03, 167.76, 149.32, 94.87], - "score": 0.849, - "area": 14165.9884, - "id": 19, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 72, - "bbox": [559.21, 209.19, 80.79, 78.73], - "score": 0.518, - "area": 6360.596700000001, - "id": 20, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 13, - "bbox": [352.98, 218.05, 56, 102.83], - "score": 0.477, - "area": 5758.48, - "id": 21, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 62, - "bbox": [292.69, 218, 61.83, 98.48], - "score": 0.38, - "area": 6089.0184, - "id": 22, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 62, - "bbox": [410.2, 223.01, 30.17, 81.36], - "score": 0.864, - "area": 2454.6312000000003, - "id": 23, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 62, - "bbox": [317.4, 219.24, 21.58, 11.59], - "score": 0.401, - "area": 250.11219999999997, - "id": 24, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 62, - "bbox": [413.25, 219.02, 9.63, 12.52], - "score": 0.375, - "area": 120.5676, - "id": 25, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 1, - "bbox": [413.8, 157.61, 53.05, 138.01], - "score": 0.157, - "area": 7321.4304999999995, - "id": 26, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 1, - "bbox": [386.43, 172.21, 15.12, 35.74], - "score": 0.71, - "area": 540.3888, - "id": 27, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 78, - "bbox": [513.22, 205.75, 14.74, 15.97], - "score": 0.075, - "area": 235.39780000000002, - "id": 28, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 82, - "bbox": [492.1, 174.34, 20.29, 108.31], - "score": 0.26, - "area": 2197.6099, - "id": 29, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 85, - "bbox": [446.77, 121.12, 13.97, 21.88], - "score": 0.164, - "area": 305.6636, - "id": 30, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 86, - "bbox": [539.06, 309.43, 36.68, 89.67], - "score": 0.806, - "area": 3289.0956, - "id": 31, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 86, - "bbox": [349.76, 208.84, 11.37, 22.55], - "score": 0.474, - "area": 256.3935, - "id": 32, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 11, - "bbox": [337.79, 199.5, 9.73, 16.73], - "score": 0.532, - "area": 162.7829, - "id": 33, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 61, - "bbox": [305.21, 231.22, 125.56, 88.93], - "score": 0.106, - "area": 11166.0508, - "id": 34, - "iscrowd": 0 - }, - { - "image_id": 143, - "category_id": 16, - "bbox": [441.88, 192.47, 131.18, 176.35], - "score": 0.829, - "area": 23133.593, - "id": 35, - "iscrowd": 0 - }, - { - "image_id": 143, - "category_id": 16, - "bbox": [275.59, 126.88, 100, 162.77], - "score": 0.755, - "area": 16277.000000000002, - "id": 36, - "iscrowd": 0 - }, - { - "image_id": 143, - "category_id": 16, - "bbox": [45.96, 20.22, 95.5, 133.71], - "score": 0.144, - "area": 12769.305, - "id": 37, - "iscrowd": 0 - }, - { - "image_id": 143, - "category_id": 16, - "bbox": [123.18, 237.43, 114.24, 134.32], - "score": 0.878, - "area": 15344.716799999998, - "id": 38, - "iscrowd": 0 - }, - { - "image_id": 143, - "category_id": 16, - "bbox": [468.71, 320.79, 94.24, 154.59], - "score": 0.756, - "area": 14568.561599999999, - "id": 39, - "iscrowd": 0 - }, - { - "image_id": 143, - "category_id": 1, - "bbox": [124.19, 104.46, 95.77, 167.42], - "score": 0.523, - "area": 16033.813399999997, - "id": 40, - "iscrowd": 0 - }, - { - "image_id": 143, - "category_id": 35, - "bbox": [129.08, 319.22, 92.28, 161.25], - "score": 0.42, - "area": 14880.15, - "id": 41, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 44, - "bbox": [388.84, 183.92, 8.02, 26.87], - "score": 0.923, - "area": 215.4974, - "id": 42, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 44, - "bbox": [374.4, 189.64, 6.87, 20.93], - "score": 0.46, - "area": 143.7891, - "id": 43, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 44, - "bbox": [366.79, 184.72, 7.05, 27.54], - "score": 0.168, - "area": 194.15699999999998, - "id": 44, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 44, - "bbox": [383.16, 187.56, 7.21, 24.24], - "score": 0.084, - "area": 174.7704, - "id": 45, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 44, - "bbox": [428.79, 280.36, 18.32, 31.37], - "score": 0.145, - "area": 574.6984, - "id": 46, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 44, - "bbox": [463.1, 282.68, 9.92, 36.55], - "score": 0.263, - "area": 362.57599999999996, - "id": 47, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 44, - "bbox": [401.87, 161.68, 9.4, 17.1], - "score": 0.917, - "area": 160.74, - "id": 48, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 44, - "bbox": [374.61, 135.8, 10.49, 15.16], - "score": 0.805, - "area": 159.0284, - "id": 49, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 44, - "bbox": [413.11, 131.22, 10.65, 16.86], - "score": 0.863, - "area": 179.559, - "id": 50, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 82, - "bbox": [439.7, 171.07, 96.72, 138.04], - "score": 0.178, - "area": 13351.228799999999, - "id": 51, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 57, - "bbox": [404.56, 132.62, 9.78, 15.75], - "score": 0.155, - "area": 154.035, - "id": 52, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 62, - "bbox": [173.04, 409.16, 151.36, 70.84], - "score": 0.3, - "area": 10722.342400000001, - "id": 53, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 62, - "bbox": [158.47, 231.64, 21.72, 21.24], - "score": 0.438, - "area": 461.33279999999996, - "id": 54, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 46, - "bbox": [154.96, 189.95, 12.83, 28.26], - "score": 0.125, - "area": 362.5758, - "id": 55, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 46, - "bbox": [108.42, 196.32, 14.31, 33.4], - "score": 0.631, - "area": 477.954, - "id": 56, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 46, - "bbox": [57.59, 196.12, 19.66, 37.63], - "score": 0.04, - "area": 739.8058000000001, - "id": 57, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 46, - "bbox": [81.76, 195.46, 15.44, 39.6], - "score": 0.048, - "area": 611.424, - "id": 58, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 46, - "bbox": [94.89, 196.13, 11.83, 36.93], - "score": 0.679, - "area": 436.8819, - "id": 59, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 46, - "bbox": [77.17, 194.99, 10.84, 39.68], - "score": 0.883, - "area": 430.1312, - "id": 60, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 46, - "bbox": [134.3, 192.93, 10.75, 35.37], - "score": 0.154, - "area": 380.22749999999996, - "id": 61, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 28, - "bbox": [140.01, 190.76, 16.1, 36.54], - "score": 0.134, - "area": 588.294, - "id": 62, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 47, - "bbox": [148.61, 233.85, 26.78, 20.8], - "score": 0.269, - "area": 557.024, - "id": 63, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 47, - "bbox": [176.77, 232.66, 20.14, 16.13], - "score": 0.616, - "area": 324.8582, - "id": 64, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 47, - "bbox": [195.65, 228.88, 19.99, 15.51], - "score": 0.845, - "area": 310.0449, - "id": 65, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 47, - "bbox": [512.83, 134.18, 15.4, 21.38], - "score": 0.231, - "area": 329.252, - "id": 66, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 47, - "bbox": [529.63, 139.85, 15.19, 13.71], - "score": 0.71, - "area": 208.2549, - "id": 67, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 47, - "bbox": [505.11, 146.68, 6.26, 8.2], - "score": 0.301, - "area": 51.331999999999994, - "id": 68, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 47, - "bbox": [172.77, 203.22, 17.75, 18.85], - "score": 0.302, - "area": 334.58750000000003, - "id": 69, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 47, - "bbox": [135.77, 233.33, 15.32, 20.21], - "score": 0.96, - "area": 309.6172, - "id": 70, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 58, - "bbox": [113.56, 236.81, 23.23, 19.52], - "score": 0.062, - "area": 453.4496, - "id": 71, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 51, - "bbox": [513.25, 221.5, 56.15, 10.53], - "score": 0.347, - "area": 591.2595, - "id": 72, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 51, - "bbox": [503.95, 211.57, 29.18, 4.68], - "score": 0.364, - "area": 136.5624, - "id": 73, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 51, - "bbox": [505.14, 219.24, 56.89, 4.21], - "score": 0.089, - "area": 239.5069, - "id": 74, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 51, - "bbox": [511.83, 212.69, 55.62, 6.07], - "score": 0.084, - "area": 337.6134, - "id": 75, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 78, - "bbox": [380.72, 227.45, 53.28, 30.36], - "score": 0.856, - "area": 1617.5808, - "id": 76, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 79, - "bbox": [273.61, 263.38, 46.82, 34.22], - "score": 0.5, - "area": 1602.1804, - "id": 77, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 22, - "bbox": [514.26, 215.43, 52.03, 5.24], - "score": 0.853, - "area": 272.6372, - "id": 78, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 74, - "bbox": [362.88, 171.41, 13.36, 9.05], - "score": 0.704, - "area": 120.908, - "id": 79, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 67, - "bbox": [364.78, 459.12, 137.14, 14.96], - "score": 0.236, - "area": 2051.6144, - "id": 80, - "iscrowd": 0 - }, - { - "image_id": 192, - "category_id": 1, - "bbox": [341.48, 253.48, 131.6, 220.05], - "score": 0.123, - "area": 28958.58, - "id": 81, - "iscrowd": 0 - }, - { - "image_id": 192, - "category_id": 1, - "bbox": [448.21, 218.33, 78.41, 248.03], - "score": 0.864, - "area": 19448.0323, - "id": 82, - "iscrowd": 0 - }, - { - "image_id": 192, - "category_id": 1, - "bbox": [0.93, 274.23, 36.53, 205.51], - "score": 0.919, - "area": 7507.2803, - "id": 83, - "iscrowd": 0 - }, - { - "image_id": 192, - "category_id": 1, - "bbox": [255.11, 179.46, 111.35, 235.68], - "score": 0.222, - "area": 26242.968, - "id": 84, - "iscrowd": 0 - }, - { - "image_id": 192, - "category_id": 39, - "bbox": [9.2, 381.39, 36, 92.98], - "score": 0.054, - "area": 3347.28, - "id": 85, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 50, - "bbox": [285.73, 200.54, 210.81, 48.65], - "score": 0.574, - "area": 10255.9065, - "id": 86, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 50, - "bbox": [548.65, 250.15, 73.72, 122.35], - "score": 0.851, - "area": 9019.642, - "id": 87, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 50, - "bbox": [470.49, 390.81, 121.54, 88.15], - "score": 0.138, - "area": 10713.751000000002, - "id": 88, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 50, - "bbox": [524.71, 129.89, 19.64, 9.29], - "score": 0.081, - "area": 182.45559999999998, - "id": 89, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 57, - "bbox": [443.17, 363.72, 22.98, 42.51], - "score": 0.405, - "area": 976.8797999999999, - "id": 90, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 57, - "bbox": [392.24, 374.67, 24.62, 53.82], - "score": 0.948, - "area": 1325.0484000000001, - "id": 91, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 57, - "bbox": [411.55, 404.5, 55.98, 30.74], - "score": 0.876, - "area": 1720.8251999999998, - "id": 92, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 57, - "bbox": [459.6, 401.48, 26.37, 31.69], - "score": 0.361, - "area": 835.6653000000001, - "id": 93, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 57, - "bbox": [412.04, 417.75, 13.64, 31.75], - "score": 0.963, - "area": 433.07, - "id": 94, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 57, - "bbox": [577.34, 377.01, 12.18, 15.03], - "score": 0.972, - "area": 183.06539999999998, - "id": 95, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 57, - "bbox": [368.9, 388.96, 31.37, 27.25], - "score": 0.183, - "area": 854.8325, - "id": 96, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 57, - "bbox": [165.75, 359.55, 41.76, 41.77], - "score": 0.036, - "area": 1744.3152, - "id": 97, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 57, - "bbox": [435.1, 446.58, 20.64, 10.6], - "score": 0.033, - "area": 218.784, - "id": 98, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 46, - "bbox": [232.52, 42.78, 71.44, 43.44], - "score": 0.536, - "area": 3103.3536, - "id": 99, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 51, - "bbox": [277.91, 58.21, 128.58, 62.76], - "score": 0.213, - "area": 8069.6808, - "id": 100, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 51, - "bbox": [219.69, 197.88, 169.4, 86.23], - "score": 0.227, - "area": 14607.362000000001, - "id": 101, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 51, - "bbox": [376.02, 337.26, 161.24, 139.17], - "score": 0.111, - "area": 22439.7708, - "id": 102, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 51, - "bbox": [321.22, 157.3, 132.68, 69.04], - "score": 0.122, - "area": 9160.227200000001, - "id": 103, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 51, - "bbox": [349.69, 115.74, 151.25, 64.57], - "score": 0.47, - "area": 9766.2125, - "id": 104, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 51, - "bbox": [183.83, 72.85, 88.39, 33.07], - "score": 0.621, - "area": 2923.0573, - "id": 105, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 51, - "bbox": [358.33, 47.29, 92.99, 62.87], - "score": 0.43, - "area": 5846.2813, - "id": 106, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 51, - "bbox": [105.26, 88.64, 96.13, 39.34], - "score": 0.62, - "area": 3781.7542000000003, - "id": 107, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 51, - "bbox": [0, 145.79, 71.35, 73.52], - "score": 0.587, - "area": 5245.651999999999, - "id": 108, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 10, - "bbox": [421.99, 236.14, 144.88, 113.72], - "score": 0.888, - "area": 16475.7536, - "id": 109, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 56, - "bbox": [200.46, 254.35, 18.25, 31.59], - "score": 0.958, - "area": 576.5175, - "id": 110, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 56, - "bbox": [281.51, 393.55, 37.68, 28.9], - "score": 0.892, - "area": 1088.952, - "id": 111, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 56, - "bbox": [172.36, 269.84, 21.54, 29.09], - "score": 0.108, - "area": 626.5985999999999, - "id": 112, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 56, - "bbox": [119.3, 340.83, 40, 25.45], - "score": 0.593, - "area": 1018.0, - "id": 113, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 56, - "bbox": [250.3, 325.7, 24.42, 20.53], - "score": 0.479, - "area": 501.34260000000006, - "id": 114, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 56, - "bbox": [288.99, 290.28, 17.52, 33.3], - "score": 0.767, - "area": 583.4159999999999, - "id": 115, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 56, - "bbox": [150.98, 262.69, 16.43, 13.92], - "score": 0.277, - "area": 228.7056, - "id": 116, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 70, - "bbox": [0, 41.94, 555, 438.06], - "score": 0.539, - "area": 243123.3, - "id": 117, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 6, - "bbox": [214.7, 407.69, 84.78, 66.08], - "score": 0.03, - "area": 5602.2624, - "id": 118, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 16, - "bbox": [25.84, 109.71, 117.18, 60.2], - "score": 0.896, - "area": 7054.236000000001, - "id": 119, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 43, - "bbox": [6, 188.89, 172.64, 92.01], - "score": 0.624, - "area": 15884.606399999999, - "id": 120, - "iscrowd": 0 - }, - { - "image_id": 208, - "category_id": 81, - "bbox": [52.08, 108.94, 587.92, 366.75], - "score": 0.476, - "area": 215619.65999999997, - "id": 121, - "iscrowd": 0 - }, - { - "image_id": 208, - "category_id": 49, - "bbox": [0, 150.36, 299.55, 109.76], - "score": 0.287, - "area": 32878.608, - "id": 122, - "iscrowd": 0 - }, - { - "image_id": 208, - "category_id": 90, - "bbox": [133.81, 170.21, 191.76, 88.89], - "score": 0.495, - "area": 17045.5464, - "id": 123, - "iscrowd": 0 - }, - { - "image_id": 208, - "category_id": 90, - "bbox": [42.35, 122.18, 158.34, 82.29], - "score": 0.126, - "area": 13029.798600000002, - "id": 124, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 63, - "bbox": [333.46, 250.92, 146.54, 296.02], - "score": 0.674, - "area": 43378.7708, - "id": 125, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 63, - "bbox": [0, 278.19, 142.45, 260.43], - "score": 0.434, - "area": 37098.2535, - "id": 126, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 1, - "bbox": [147.7, 6.57, 200.43, 626.17], - "score": 0.857, - "area": 125503.2531, - "id": 127, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 1, - "bbox": [4.44, 263.55, 205.66, 348.05], - "score": 0.25, - "area": 71579.963, - "id": 128, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 1, - "bbox": [307.71, 263.06, 107.15, 257.15], - "score": 0.622, - "area": 27553.622499999998, - "id": 129, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 1, - "bbox": [407.51, 337.98, 72.49, 230.11], - "score": 0.319, - "area": 16680.6739, - "id": 130, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 47, - "bbox": [106.72, 595.29, 50.72, 44.71], - "score": 0.986, - "area": 2267.6912, - "id": 131, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 47, - "bbox": [0, 596.49, 39.42, 43.51], - "score": 0.097, - "area": 1715.1642, - "id": 132, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 75, - "bbox": [116.1, 321.7, 44.12, 22.16], - "score": 0.703, - "area": 977.6991999999999, - "id": 133, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 64, - "bbox": [88.85, 71.11, 109.84, 201.2], - "score": 0.748, - "area": 22099.808, - "id": 134, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 64, - "bbox": [135.45, 350.26, 49.78, 72.27], - "score": 0.521, - "area": 3597.6005999999998, - "id": 135, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 10, - "bbox": [50.27, 199.13, 25.09, 23.76], - "score": 0.923, - "area": 596.1384, - "id": 136, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 10, - "bbox": [227.37, 296.5, 11.3, 11.39], - "score": 0.526, - "area": 128.70700000000002, - "id": 137, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 10, - "bbox": [26.58, 303.1, 5.69, 7.11], - "score": 0.789, - "area": 40.45590000000001, - "id": 138, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 10, - "bbox": [27.93, 276.6, 5.82, 11.76], - "score": 0.96, - "area": 68.4432, - "id": 139, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 10, - "bbox": [89.93, 177.97, 15.03, 14.65], - "score": 0.956, - "area": 220.1895, - "id": 140, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 10, - "bbox": [301.98, 260.82, 7.09, 14.18], - "score": 0.489, - "area": 100.5362, - "id": 141, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 10, - "bbox": [295.6, 261.4, 6.39, 12.2], - "score": 0.511, - "area": 77.958, - "id": 142, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 10, - "bbox": [55.4, 299.17, 4.88, 4.3], - "score": 0.605, - "area": 20.983999999999998, - "id": 143, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 27, - "bbox": [177.16, 362.21, 50.4, 55.49], - "score": 0.683, - "area": 2796.696, - "id": 144, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 27, - "bbox": [208.47, 340.87, 11.3, 19.58], - "score": 0.116, - "area": 221.254, - "id": 145, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 8, - "bbox": [286.17, 277.96, 204.94, 122.97], - "score": 0.912, - "area": 25201.4718, - "id": 146, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 8, - "bbox": [513.96, 323.81, 120.04, 156.19], - "score": 0.881, - "area": 18749.0476, - "id": 147, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 8, - "bbox": [25.24, 301.11, 141.23, 59.84], - "score": 0.563, - "area": 8451.2032, - "id": 148, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [144.57, 345.58, 71.52, 134.42], - "score": 0.7, - "area": 9613.718399999998, - "id": 149, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [213.62, 332.49, 22.28, 60.49], - "score": 0.646, - "area": 1347.7172, - "id": 150, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [265.09, 330.65, 16.37, 72.88], - "score": 0.23, - "area": 1193.0456, - "id": 151, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [568.98, 327.79, 14.75, 42.24], - "score": 0.044, - "area": 623.0400000000001, - "id": 152, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [124.19, 325.45, 10.13, 37.03], - "score": 0.765, - "area": 375.11390000000006, - "id": 153, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [314.72, 334.13, 20.17, 74.8], - "score": 0.055, - "area": 1508.7160000000001, - "id": 154, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [78.65, 326.41, 20.3, 48.17], - "score": 0.278, - "area": 977.8510000000001, - "id": 155, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [138.11, 325.59, 15.55, 38.45], - "score": 0.868, - "area": 597.8975, - "id": 156, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [226.17, 327.33, 15.21, 69.54], - "score": 0.648, - "area": 1057.7034, - "id": 157, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [190.83, 330.6, 20.63, 39.77], - "score": 0.626, - "area": 820.4551, - "id": 158, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 65, - "bbox": [231.74, 326.46, 28.38, 79.72], - "score": 0.412, - "area": 2262.4536, - "id": 159, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 14, - "bbox": [291.83, 337.14, 33.15, 77], - "score": 0.427, - "area": 2552.5499999999997, - "id": 160, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 31, - "bbox": [94.13, 344.24, 5.88, 12.48], - "score": 0.514, - "area": 73.3824, - "id": 161, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 31, - "bbox": [209.91, 341.48, 11.21, 29.05], - "score": 0.455, - "area": 325.6505, - "id": 162, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 31, - "bbox": [472.6, 340.88, 6.14, 4.6], - "score": 0.292, - "area": 28.243999999999996, - "id": 163, - "iscrowd": 0 - }, - { - "image_id": 283, - "category_id": 44, - "bbox": [49.18, 42.58, 82.4, 311.75], - "score": 0.676, - "area": 25688.2, - "id": 164, - "iscrowd": 0 - }, - { - "image_id": 283, - "category_id": 62, - "bbox": [10.23, 142.61, 59.56, 86.35], - "score": 0.691, - "area": 5143.005999999999, - "id": 165, - "iscrowd": 0 - }, - { - "image_id": 283, - "category_id": 62, - "bbox": [149.65, 67.02, 278.35, 289.03], - "score": 0.914, - "area": 80451.5005, - "id": 166, - "iscrowd": 0 - }, - { - "image_id": 283, - "category_id": 70, - "bbox": [144.76, 156.24, 88.26, 214.22], - "score": 0.418, - "area": 18907.0572, - "id": 167, - "iscrowd": 0 - }, - { - "image_id": 285, - "category_id": 23, - "bbox": [0, 68.81, 559, 563.94], - "score": 0.487, - "area": 315242.46, - "id": 168, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 50, - "bbox": [414.57, 349.85, 15.31, 23.55], - "score": 0.071, - "area": 360.5505, - "id": 169, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 50, - "bbox": [398.49, 323.29, 23.1, 25.32], - "score": 0.192, - "area": 584.892, - "id": 170, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 50, - "bbox": [387.89, 341.86, 35.58, 40.04], - "score": 0.055, - "area": 1424.6232, - "id": 171, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 50, - "bbox": [421.95, 114.4, 13.43, 103.27], - "score": 0.643, - "area": 1386.9161, - "id": 172, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 50, - "bbox": [404.99, 367.62, 32.19, 21.11], - "score": 0.256, - "area": 679.5309, - "id": 173, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 50, - "bbox": [394.56, 299.36, 16.54, 32.35], - "score": 0.201, - "area": 535.069, - "id": 174, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 50, - "bbox": [400.36, 355.24, 21.6, 25.14], - "score": 0.937, - "area": 543.024, - "id": 175, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 50, - "bbox": [623.23, 50.49, 4.79, 22.57], - "score": 0.234, - "area": 108.1103, - "id": 176, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 78, - "bbox": [508.6, 312.81, 131.4, 109.39], - "score": 0.895, - "area": 14373.846000000001, - "id": 177, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 48, - "bbox": [607.51, 251.83, 7.67, 40.75], - "score": 0.798, - "area": 312.5525, - "id": 178, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 49, - "bbox": [447.73, 329.05, 17.33, 34.67], - "score": 0.346, - "area": 600.8311, - "id": 179, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 49, - "bbox": [452.37, 320.69, 15.89, 45.17], - "score": 0.014, - "area": 717.7513, - "id": 180, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 49, - "bbox": [460.6, 335.52, 16.28, 33.28], - "score": 0.378, - "area": 541.7984, - "id": 181, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 49, - "bbox": [465.52, 325.24, 13.79, 32.5], - "score": 0.153, - "area": 448.17499999999995, - "id": 182, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 49, - "bbox": [466.28, 335.38, 15.32, 33.19], - "score": 0.438, - "area": 508.4708, - "id": 183, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 85, - "bbox": [0, 0, 47.87, 53.96], - "score": 0.746, - "area": 2583.0652, - "id": 184, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 77, - "bbox": [438.75, 283.15, 35.01, 18.64], - "score": 0.663, - "area": 652.5864, - "id": 185, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 1, - "bbox": [240.91, 90.52, 205.13, 389.34], - "score": 0.19, - "area": 79865.3142, - "id": 186, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 1, - "bbox": [358.87, 58.48, 249.91, 426.04], - "score": 0.191, - "area": 106471.6564, - "id": 187, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 23, - "bbox": [49.6, 104.76, 587.67, 374.74], - "score": 0.08, - "area": 220223.4558, - "id": 188, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 84, - "bbox": [232.65, 220.95, 86.44, 37.42], - "score": 0.749, - "area": 3234.5848, - "id": 189, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 3, - "bbox": [349.46, 77.31, 101.02, 65.61], - "score": 0.078, - "area": 6627.9222, - "id": 190, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 32, - "bbox": [461.06, 177.54, 18.31, 43.81], - "score": 0.406, - "area": 802.1611, - "id": 191, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 32, - "bbox": [317.37, 171.71, 22.5, 57.98], - "score": 0.448, - "area": 1304.55, - "id": 192, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 28, - "bbox": [24.03, 171.36, 119.45, 79.63], - "score": 0.057, - "area": 9511.8035, - "id": 193, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 27, - "bbox": [46.45, 160.85, 85.28, 47.84], - "score": 0.712, - "area": 4079.7952000000005, - "id": 194, - "iscrowd": 0 - }, - { - "image_id": 338, - "category_id": 82, - "bbox": [216.59, 149.74, 95.78, 177.26], - "score": 0.919, - "area": 16977.962799999998, - "id": 195, - "iscrowd": 0 - }, - { - "image_id": 338, - "category_id": 85, - "bbox": [461.17, 88.69, 23.24, 24.61], - "score": 0.333, - "area": 571.9363999999999, - "id": 196, - "iscrowd": 0 - }, - { - "image_id": 338, - "category_id": 28, - "bbox": [325, 142.07, 90.46, 183.7], - "score": 0.397, - "area": 16617.501999999997, - "id": 197, - "iscrowd": 0 - }, - { - "image_id": 338, - "category_id": 1, - "bbox": [436.35, 173.72, 56.91, 153.28], - "score": 0.154, - "area": 8723.164799999999, - "id": 198, - "iscrowd": 0 - }, - { - "image_id": 338, - "category_id": 79, - "bbox": [28.25, 243.96, 138.88, 78.63], - "score": 0.502, - "area": 10920.134399999999, - "id": 199, - "iscrowd": 0 - }, - { - "image_id": 338, - "category_id": 31, - "bbox": [463.15, 231.65, 25.66, 39.34], - "score": 0.787, - "area": 1009.4644000000001, - "id": 200, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 39, - "bbox": [540.09, 121.4, 4, 27.24], - "score": 0.407, - "area": 108.96, - "id": 201, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 40, - "bbox": [567.96, 186.44, 8.91, 6.69], - "score": 0.621, - "area": 59.60790000000001, - "id": 202, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 40, - "bbox": [77.74, 97.16, 6.97, 9.21], - "score": 0.52, - "area": 64.1937, - "id": 203, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 40, - "bbox": [279.48, 25.03, 5.46, 4.72], - "score": 0.069, - "area": 25.771199999999997, - "id": 204, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 40, - "bbox": [557.03, 23.96, 13.89, 9.67], - "score": 0.406, - "area": 134.3163, - "id": 205, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [370.19, 25.03, 17.25, 27.63], - "score": 0.34, - "area": 476.6175, - "id": 206, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [275.1, 18.4, 27.02, 37.16], - "score": 0.437, - "area": 1004.0631999999999, - "id": 207, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [208.34, 22.61, 22.2, 31.01], - "score": 0.752, - "area": 688.422, - "id": 208, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [72.62, 79.12, 18.53, 48.08], - "score": 0.997, - "area": 890.9224, - "id": 209, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [527.83, 136.21, 29.04, 54.59], - "score": 0.888, - "area": 1585.2936, - "id": 210, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [570.61, 160.02, 26.76, 38.03], - "score": 0.294, - "area": 1017.6828, - "id": 211, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [592.37, 154.71, 27.18, 46.6], - "score": 0.344, - "area": 1266.588, - "id": 212, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [266.33, 6.43, 17.69, 27.34], - "score": 0.59, - "area": 483.6446, - "id": 213, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [567.15, 29.27, 11.87, 23.74], - "score": 0.057, - "area": 281.7938, - "id": 214, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [580.99, 32.19, 6.72, 23.92], - "score": 0.804, - "area": 160.7424, - "id": 215, - "iscrowd": 0 - }, - { - "image_id": 359, - "category_id": 36, - "bbox": [155.87, 100.44, 65.37, 34.25], - "score": 0.822, - "area": 2238.9225, - "id": 216, - "iscrowd": 0 - }, - { - "image_id": 359, - "category_id": 10, - "bbox": [245.76, 99.94, 51, 22.4], - "score": 0.773, - "area": 1142.3999999999999, - "id": 217, - "iscrowd": 0 - }, - { - "image_id": 359, - "category_id": 10, - "bbox": [278.48, 293.48, 4.46, 4.11], - "score": 0.324, - "area": 18.3306, - "id": 218, - "iscrowd": 0 - }, - { - "image_id": 359, - "category_id": 46, - "bbox": [2, 290.11, 123.72, 37.58], - "score": 0.914, - "area": 4649.397599999999, - "id": 219, - "iscrowd": 0 - }, - { - "image_id": 360, - "category_id": 18, - "bbox": [258.02, 138.76, 52.1, 36.95], - "score": 0.054, - "area": 1925.0950000000003, - "id": 220, - "iscrowd": 0 - }, - { - "image_id": 360, - "category_id": 36, - "bbox": [248.45, 155.01, 52.19, 41.49], - "score": 0.428, - "area": 2165.3631, - "id": 221, - "iscrowd": 0 - }, - { - "image_id": 387, - "category_id": 73, - "bbox": [176.38, 50.29, 463.62, 312.38], - "score": 0.328, - "area": 144825.6156, - "id": 222, - "iscrowd": 0 - }, - { - "image_id": 387, - "category_id": 77, - "bbox": [355.5, 111.88, 210, 93.75], - "score": 0.064, - "area": 19687.5, - "id": 223, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 77, - "bbox": [293.15, 289.29, 19.84, 22.97], - "score": 0.037, - "area": 455.72479999999996, - "id": 224, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 77, - "bbox": [618.05, 305.74, 15.83, 11.59], - "score": 0.297, - "area": 183.4697, - "id": 225, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [177.61, 138.16, 432.72, 435.32], - "score": 0.607, - "area": 188371.6704, - "id": 226, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [0, 207.32, 72.81, 278.92], - "score": 0.043, - "area": 20308.165200000003, - "id": 227, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [81.02, 270.92, 82.55, 204.66], - "score": 0.465, - "area": 16894.683, - "id": 228, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [111.58, 232.54, 38.86, 46.9], - "score": 0.252, - "area": 1822.5339999999999, - "id": 229, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [132.76, 239.82, 82.12, 109.48], - "score": 0.961, - "area": 8990.4976, - "id": 230, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [413.44, 194.77, 32.94, 105.97], - "score": 0.58, - "area": 3490.6517999999996, - "id": 231, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [420.93, 206.74, 43.9, 113.15], - "score": 0.632, - "area": 4967.285, - "id": 232, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [153.8, 332.19, 60.39, 66.97], - "score": 0.76, - "area": 4044.3183, - "id": 233, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [58.7, 214.92, 48.39, 126.94], - "score": 0.803, - "area": 6142.6266, - "id": 234, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [451.16, 253.08, 70.79, 89.66], - "score": 0.239, - "area": 6347.031400000001, - "id": 235, - "iscrowd": 0 - }, - { - "image_id": 397, - "category_id": 62, - "bbox": [469.94, 0, 143.48, 98.06], - "score": 0.935, - "area": 14069.648799999999, - "id": 236, - "iscrowd": 0 - }, - { - "image_id": 397, - "category_id": 47, - "bbox": [7, 294.57, 36.75, 71.88], - "score": 0.157, - "area": 2641.5899999999997, - "id": 237, - "iscrowd": 0 - }, - { - "image_id": 397, - "category_id": 48, - "bbox": [596.24, 404.53, 43.76, 52.1], - "score": 0.63, - "area": 2279.896, - "id": 238, - "iscrowd": 0 - }, - { - "image_id": 397, - "category_id": 54, - "bbox": [85.25, 349.09, 503.69, 130.91], - "score": 0.657, - "area": 65938.0579, - "id": 239, - "iscrowd": 0 - }, - { - "image_id": 397, - "category_id": 1, - "bbox": [0, 0, 205.4, 205.33], - "score": 0.089, - "area": 42174.78200000001, - "id": 240, - "iscrowd": 0 - }, - { - "image_id": 400, - "category_id": 18, - "bbox": [430.5, 148.97, 97.62, 78.77], - "score": 0.534, - "area": 7689.5274, - "id": 241, - "iscrowd": 0 - }, - { - "image_id": 400, - "category_id": 9, - "bbox": [0, 64.72, 616, 477.48], - "score": 0.136, - "area": 294127.68, - "id": 242, - "iscrowd": 0 - }, - { - "image_id": 415, - "category_id": 10, - "bbox": [62.13, 399.09, 41.97, 44.41], - "score": 0.045, - "area": 1863.8876999999998, - "id": 243, - "iscrowd": 0 - }, - { - "image_id": 415, - "category_id": 1, - "bbox": [1, 257.44, 122.96, 301.62], - "score": 0.373, - "area": 37087.1952, - "id": 244, - "iscrowd": 0 - }, - { - "image_id": 428, - "category_id": 32, - "bbox": [367.56, 200.49, 94.65, 154.52], - "score": 0.097, - "area": 14625.318000000001, - "id": 245, - "iscrowd": 0 - }, - { - "image_id": 428, - "category_id": 1, - "bbox": [218.94, 32.65, 355.92, 323.27], - "score": 0.912, - "area": 115058.25839999999, - "id": 246, - "iscrowd": 0 - }, - { - "image_id": 428, - "category_id": 61, - "bbox": [399.41, 234.73, 175.13, 121.62], - "score": 0.374, - "area": 21299.3106, - "id": 247, - "iscrowd": 0 - }, - { - "image_id": 459, - "category_id": 32, - "bbox": [170.57, 278.99, 61.63, 239.81], - "score": 0.97, - "area": 14779.490300000001, - "id": 248, - "iscrowd": 0 - }, - { - "image_id": 459, - "category_id": 1, - "bbox": [0, 84.85, 457.88, 547.96], - "score": 0.16, - "area": 250899.9248, - "id": 249, - "iscrowd": 0 - }, - { - "image_id": 472, - "category_id": 5, - "bbox": [390.86, 56.68, 87.21, 31.46], - "score": 0.656, - "area": 2743.6266, - "id": 250, - "iscrowd": 0 - }, - { - "image_id": 474, - "category_id": 1, - "bbox": [23.37, 42.7, 309.63, 429.21], - "score": 0.163, - "area": 132896.2923, - "id": 251, - "iscrowd": 0 - }, - { - "image_id": 474, - "category_id": 40, - "bbox": [22.86, 234.5, 88.41, 71.31], - "score": 0.962, - "area": 6304.5171, - "id": 252, - "iscrowd": 0 - }, - { - "image_id": 486, - "category_id": 44, - "bbox": [621.9, 233.27, 16.02, 38.17], - "score": 0.286, - "area": 611.4834, - "id": 253, - "iscrowd": 0 - }, - { - "image_id": 486, - "category_id": 44, - "bbox": [496.82, 278.46, 23.05, 25.31], - "score": 0.004, - "area": 583.3955, - "id": 254, - "iscrowd": 0 - }, - { - "image_id": 486, - "category_id": 44, - "bbox": [82.06, 219.17, 5.12, 29.08], - "score": 0.14, - "area": 148.8896, - "id": 255, - "iscrowd": 0 - }, - { - "image_id": 486, - "category_id": 50, - "bbox": [223.65, 192.28, 6.92, 51.96], - "score": 0.24, - "area": 359.5632, - "id": 256, - "iscrowd": 0 - }, - { - "image_id": 486, - "category_id": 49, - "bbox": [234.42, 200.87, 3.9, 16.53], - "score": 0.182, - "area": 64.467, - "id": 257, - "iscrowd": 0 - }, - { - "image_id": 486, - "category_id": 51, - "bbox": [265.43, 299.84, 131.39, 88.22], - "score": 0.915, - "area": 11591.225799999998, - "id": 258, - "iscrowd": 0 - }, - { - "image_id": 488, - "category_id": 1, - "bbox": [183.76, 210.3, 104.63, 131.03], - "score": 0.596, - "area": 13709.668899999999, - "id": 259, - "iscrowd": 0 - }, - { - "image_id": 488, - "category_id": 1, - "bbox": [553.32, 216.45, 44.13, 49.26], - "score": 0.661, - "area": 2173.8438, - "id": 260, - "iscrowd": 0 - }, - { - "image_id": 488, - "category_id": 1, - "bbox": [37.67, 208.02, 91.24, 152.36], - "score": 0.566, - "area": 13901.3264, - "id": 261, - "iscrowd": 0 - }, - { - "image_id": 488, - "category_id": 39, - "bbox": [211.91, 225.8, 63.45, 45.93], - "score": 0.379, - "area": 2914.2585, - "id": 262, - "iscrowd": 0 - }, - { - "image_id": 488, - "category_id": 40, - "bbox": [562.51, 253.32, 10.5, 7.99], - "score": 0.984, - "area": 83.895, - "id": 263, - "iscrowd": 0 - }, - { - "image_id": 502, - "category_id": 23, - "bbox": [190.96, 88, 273.13, 257.74], - "score": 0.205, - "area": 70396.52620000001, - "id": 264, - "iscrowd": 0 - }, - { - "image_id": 520, - "category_id": 16, - "bbox": [297.04, 140.73, 32.01, 20.26], - "score": 0.519, - "area": 648.5226, - "id": 265, - "iscrowd": 0 - }, - { - "image_id": 520, - "category_id": 16, - "bbox": [230.03, 131.19, 34.17, 13.96], - "score": 0.373, - "area": 477.01320000000004, - "id": 266, - "iscrowd": 0 - }, - { - "image_id": 520, - "category_id": 16, - "bbox": [0, 187.56, 22.33, 15.48], - "score": 0.564, - "area": 345.66839999999996, - "id": 267, - "iscrowd": 0 - }, - { - "image_id": 520, - "category_id": 16, - "bbox": [444.38, 174.06, 21.97, 16.09], - "score": 0.608, - "area": 353.4973, - "id": 268, - "iscrowd": 0 - }, - { - "image_id": 520, - "category_id": 16, - "bbox": [92.33, 194.51, 35.82, 22.84], - "score": 0.937, - "area": 818.1288, - "id": 269, - "iscrowd": 0 - }, - { - "image_id": 520, - "category_id": 1, - "bbox": [244.02, 307.84, 15.21, 34.27], - "score": 0.371, - "area": 521.2467, - "id": 270, - "iscrowd": 0 - }, - { - "image_id": 520, - "category_id": 1, - "bbox": [508.05, 323.61, 8.1, 13.7], - "score": 0.446, - "area": 110.96999999999998, - "id": 271, - "iscrowd": 0 - }, - { - "image_id": 520, - "category_id": 48, - "bbox": [451.26, 217.6, 18.56, 17.79], - "score": 0.874, - "area": 330.1824, - "id": 272, - "iscrowd": 0 - }, - { - "image_id": 520, - "category_id": 44, - "bbox": [156.5, 184.44, 25.5, 11.87], - "score": 0.507, - "area": 302.685, - "id": 273, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 62, - "bbox": [285.41, 138.98, 156.33, 195.53], - "score": 0.82, - "area": 30567.204900000004, - "id": 274, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 62, - "bbox": [3.68, 141.91, 82.48, 194.09], - "score": 0.481, - "area": 16008.543200000002, - "id": 275, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 1, - "bbox": [286.86, 133.95, 155.14, 198.27], - "score": 0.838, - "area": 30759.607799999998, - "id": 276, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 1, - "bbox": [185.41, 79.52, 108.42, 255.62], - "score": 0.584, - "area": 27714.3204, - "id": 277, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 1, - "bbox": [89.34, 68.58, 98.16, 263.52], - "score": 0.769, - "area": 25867.123199999998, - "id": 278, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 31, - "bbox": [23.1, 258.04, 44.05, 77.96], - "score": 0.176, - "area": 3434.1379999999995, - "id": 279, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 31, - "bbox": [193.07, 185.98, 69.48, 63.22], - "score": 0.071, - "area": 4392.5256, - "id": 280, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 31, - "bbox": [350.78, 235.32, 45.57, 12.3], - "score": 0.619, - "area": 560.5110000000001, - "id": 281, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 77, - "bbox": [203.43, 106.55, 13.68, 21.14], - "score": 0.324, - "area": 289.1952, - "id": 282, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 77, - "bbox": [101.62, 87.68, 28.93, 39.35], - "score": 0.44, - "area": 1138.3955, - "id": 283, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 57, - "bbox": [361.35, 224.65, 8.04, 12.47], - "score": 0.124, - "area": 100.2588, - "id": 284, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 37, - "bbox": [596.57, 293.78, 13.81, 7.44], - "score": 0.954, - "area": 102.74640000000001, - "id": 285, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [273.32, 243.73, 113.23, 161.2], - "score": 0.921, - "area": 18252.676, - "id": 286, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [114.47, 301.3, 129.54, 111.31], - "score": 0.381, - "area": 14419.097399999999, - "id": 287, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [36.53, 269.29, 101.67, 142.79], - "score": 0.186, - "area": 14517.459299999999, - "id": 288, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [75.23, 191.66, 28.84, 44.78], - "score": 0.785, - "area": 1291.4552, - "id": 289, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [248.29, 185.44, 29.17, 50.01], - "score": 0.739, - "area": 1458.7917, - "id": 290, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [191.14, 209.98, 30.04, 27.53], - "score": 0.17, - "area": 827.0012, - "id": 291, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [144.91, 193.7, 31.15, 41.98], - "score": 0.76, - "area": 1307.677, - "id": 292, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [3.07, 221.17, 33.48, 77.9], - "score": 0.274, - "area": 2608.092, - "id": 293, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [546.81, 211.75, 21.74, 21], - "score": 0.23, - "area": 456.53999999999996, - "id": 294, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [19.46, 237.09, 42.72, 59.44], - "score": 0.439, - "area": 2539.2767999999996, - "id": 295, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [17.77, 194.87, 25.64, 45.63], - "score": 0.913, - "area": 1169.9532000000002, - "id": 296, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 38, - "bbox": [224.14, 300.79, 52.74, 7.6], - "score": 0.941, - "area": 400.824, - "id": 297, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 40, - "bbox": [217.39, 324.92, 20.27, 30.58], - "score": 0.466, - "area": 619.8566, - "id": 298, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 54, - "bbox": [514.31, 203.13, 16.39, 29.72], - "score": 0.066, - "area": 487.1108, - "id": 299, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 1, - "bbox": [225.51, 335.3, 147.48, 279.2], - "score": 0.292, - "area": 41176.416, - "id": 300, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 1, - "bbox": [433.78, 203.68, 86.22, 93.9], - "score": 0.17, - "area": 8096.058, - "id": 301, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 43, - "bbox": [282.89, 432.81, 105.48, 40.82], - "score": 0.658, - "area": 4305.6936000000005, - "id": 302, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [58.9, 234.39, 43.46, 22.27], - "score": 0.842, - "area": 967.8542, - "id": 303, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [103.71, 232, 45.58, 25.44], - "score": 0.721, - "area": 1159.5552, - "id": 304, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [197.82, 230.33, 47.5, 26.02], - "score": 0.807, - "area": 1235.95, - "id": 305, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [254.16, 307.81, 56.56, 28.28], - "score": 0.666, - "area": 1599.5168, - "id": 306, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [140.73, 258.53, 50.13, 30.25], - "score": 0.051, - "area": 1516.4325000000001, - "id": 307, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [84.79, 256.37, 50.46, 25.81], - "score": 0.785, - "area": 1302.3726, - "id": 308, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [47.44, 260.53, 46.92, 23.68], - "score": 0.136, - "area": 1111.0656000000001, - "id": 309, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [18.52, 235.62, 47.74, 22.44], - "score": 0.776, - "area": 1071.2856000000002, - "id": 310, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [397.26, 304.21, 61.51, 46.54], - "score": 0.75, - "area": 2862.6754, - "id": 311, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [331.82, 279.27, 51.53, 21.61], - "score": 0.44, - "area": 1113.5633, - "id": 312, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [307.39, 307.56, 51.38, 27.27], - "score": 0.684, - "area": 1401.1326000000001, - "id": 313, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [229.06, 228.6, 66.46, 77.41], - "score": 0.565, - "area": 5144.668599999999, - "id": 314, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [149.8, 232.51, 48.71, 41.53], - "score": 0.493, - "area": 2022.9263, - "id": 315, - "iscrowd": 0 - }, - { - "image_id": 569, - "category_id": 1, - "bbox": [100.1, 269.14, 80.18, 145.38], - "score": 0.253, - "area": 11656.5684, - "id": 316, - "iscrowd": 0 - }, - { - "image_id": 569, - "category_id": 38, - "bbox": [168.12, 216.94, 16.66, 32.58], - "score": 0.839, - "area": 542.7828, - "id": 317, - "iscrowd": 0 - }, - { - "image_id": 569, - "category_id": 38, - "bbox": [142.5, 229.28, 22.99, 23.7], - "score": 0.761, - "area": 544.8629999999999, - "id": 318, - "iscrowd": 0 - }, - { - "image_id": 569, - "category_id": 38, - "bbox": [134.91, 239.77, 25.66, 23.29], - "score": 0.369, - "area": 597.6214, - "id": 319, - "iscrowd": 0 - }, - { - "image_id": 589, - "category_id": 34, - "bbox": [465.86, 229.41, 18.75, 6.3], - "score": 0.729, - "area": 118.125, - "id": 320, - "iscrowd": 0 - }, - { - "image_id": 589, - "category_id": 1, - "bbox": [359.91, 184.57, 145.43, 184.29], - "score": 0.882, - "area": 26801.2947, - "id": 321, - "iscrowd": 0 - }, - { - "image_id": 590, - "category_id": 81, - "bbox": [86.87, 295.01, 85.2, 11.57], - "score": 0.151, - "area": 985.764, - "id": 322, - "iscrowd": 0 - }, - { - "image_id": 590, - "category_id": 51, - "bbox": [80, 292.99, 92.87, 27.6], - "score": 0.79, - "area": 2563.2120000000004, - "id": 323, - "iscrowd": 0 - }, - { - "image_id": 599, - "category_id": 64, - "bbox": [545.37, 5.48, 94.63, 237.26], - "score": 0.751, - "area": 22451.9138, - "id": 324, - "iscrowd": 0 - }, - { - "image_id": 599, - "category_id": 17, - "bbox": [18.92, 37.13, 412.5, 365.75], - "score": 0.952, - "area": 150871.875, - "id": 325, - "iscrowd": 0 - }, - { - "image_id": 599, - "category_id": 63, - "bbox": [56, 1.83, 584, 400.9], - "score": 0.314, - "area": 234125.59999999998, - "id": 326, - "iscrowd": 0 - }, - { - "image_id": 599, - "category_id": 75, - "bbox": [481.01, 198.19, 158.99, 87.8], - "score": 0.438, - "area": 13959.322, - "id": 327, - "iscrowd": 0 - }, - { - "image_id": 599, - "category_id": 75, - "bbox": [382.58, 167.29, 198, 60.5], - "score": 0.492, - "area": 11979.0, - "id": 328, - "iscrowd": 0 - }, - { - "image_id": 623, - "category_id": 15, - "bbox": [283.29, 72.62, 91.71, 238.38], - "score": 0.823, - "area": 21861.8298, - "id": 329, - "iscrowd": 0 - }, - { - "image_id": 623, - "category_id": 88, - "bbox": [29.12, 31.46, 345.88, 462.92], - "score": 0.872, - "area": 160114.7696, - "id": 330, - "iscrowd": 0 - }, - { - "image_id": 623, - "category_id": 62, - "bbox": [277.62, 62.92, 97.38, 239.84], - "score": 0.872, - "area": 23355.6192, - "id": 331, - "iscrowd": 0 - }, - { - "image_id": 623, - "category_id": 1, - "bbox": [144.34, 1.3, 211.69, 490.91], - "score": 0.735, - "area": 103920.73790000001, - "id": 332, - "iscrowd": 0 - }, - { - "image_id": 626, - "category_id": 85, - "bbox": [314.52, 124.36, 41.32, 42.47], - "score": 0.378, - "area": 1754.8604, - "id": 333, - "iscrowd": 0 - }, - { - "image_id": 626, - "category_id": 73, - "bbox": [398.15, 129.71, 20.88, 46.91], - "score": 0.701, - "area": 979.4807999999999, - "id": 334, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 65, - "bbox": [0, 266.85, 376.5, 208.25], - "score": 0.144, - "area": 78406.125, - "id": 335, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 64, - "bbox": [187.36, 136.56, 60.78, 92.39], - "score": 0.344, - "area": 5615.4642, - "id": 336, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 84, - "bbox": [455.98, 192.5, 8.57, 35.59], - "score": 0.088, - "area": 305.00630000000007, - "id": 337, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 84, - "bbox": [453.31, 252.97, 8.02, 33.93], - "score": 0.589, - "area": 272.11859999999996, - "id": 338, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 84, - "bbox": [444.76, 297.63, 5.32, 39.68], - "score": 0.902, - "area": 211.0976, - "id": 339, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 84, - "bbox": [504.95, 191.02, 12.15, 36.78], - "score": 0.405, - "area": 446.877, - "id": 340, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 84, - "bbox": [487.51, 199.33, 7.48, 28.05], - "score": 0.032, - "area": 209.81400000000002, - "id": 341, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 84, - "bbox": [527.02, 248.57, 24.4, 40.43], - "score": 0.026, - "area": 986.492, - "id": 342, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 84, - "bbox": [524.32, 97.38, 2.8, 37.77], - "score": 0.084, - "area": 105.756, - "id": 343, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 84, - "bbox": [454.66, 245.27, 48.55, 12.14], - "score": 0.704, - "area": 589.397, - "id": 344, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 84, - "bbox": [461.77, 253.68, 8.24, 33.31], - "score": 0.451, - "area": 274.4744, - "id": 345, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 62, - "bbox": [234.82, 230.45, 104.72, 87.69], - "score": 0.051, - "area": 9182.8968, - "id": 346, - "iscrowd": 0 - }, - { - "image_id": 636, - "category_id": 70, - "bbox": [122.72, 89.37, 265.23, 536.22], - "score": 0.283, - "area": 142221.6306, - "id": 347, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 2, - "bbox": [563.25, 265.02, 17.49, 21.82], - "score": 0.031, - "area": 381.6318, - "id": 348, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 6, - "bbox": [100.35, 100.03, 417.42, 228.9], - "score": 0.329, - "area": 95547.43800000001, - "id": 349, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 1, - "bbox": [580.29, 233.52, 11.19, 13.08], - "score": 0.993, - "area": 146.3652, - "id": 350, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 1, - "bbox": [569.24, 240.92, 17.46, 34.38], - "score": 0.18, - "area": 600.2748, - "id": 351, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 1, - "bbox": [595.87, 232.88, 9.74, 13.22], - "score": 0.969, - "area": 128.7628, - "id": 352, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 1, - "bbox": [556.69, 231.63, 7.03, 22.85], - "score": 0.25, - "area": 160.6355, - "id": 353, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 1, - "bbox": [463.68, 225.62, 5.04, 26.32], - "score": 0.583, - "area": 132.6528, - "id": 354, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 1, - "bbox": [606.61, 231.89, 7.13, 14.45], - "score": 0.591, - "area": 103.0285, - "id": 355, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 1, - "bbox": [25.91, 207.55, 29.39, 23], - "score": 0.355, - "area": 675.97, - "id": 356, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 1, - "bbox": [3.82, 209.9, 20.4, 22.96], - "score": 0.751, - "area": 468.38399999999996, - "id": 357, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 1, - "bbox": [0, 220.97, 6.32, 18.94], - "score": 0.862, - "area": 119.70080000000002, - "id": 358, - "iscrowd": 0 - }, - { - "image_id": 661, - "category_id": 77, - "bbox": [90.11, 4.42, 111.24, 44.67], - "score": 0.843, - "area": 4969.0908, - "id": 359, - "iscrowd": 0 - }, - { - "image_id": 661, - "category_id": 5, - "bbox": [17.15, 45.37, 337.07, 289.04], - "score": 0.734, - "area": 97426.71280000001, - "id": 360, - "iscrowd": 0 - }, - { - "image_id": 675, - "category_id": 17, - "bbox": [325.71, 81.3, 314.29, 391.6], - "score": 0.248, - "area": 123075.96400000002, - "id": 361, - "iscrowd": 0 - }, - { - "image_id": 675, - "category_id": 77, - "bbox": [99.84, 232.35, 34.79, 25.58], - "score": 0.102, - "area": 889.9282, - "id": 362, - "iscrowd": 0 - }, - { - "image_id": 675, - "category_id": 47, - "bbox": [243.34, 209.84, 69.65, 98.5], - "score": 0.616, - "area": 6860.525000000001, - "id": 363, - "iscrowd": 0 - }, - { - "image_id": 675, - "category_id": 47, - "bbox": [138.74, 231.28, 56.88, 73.37], - "score": 0.789, - "area": 4173.2856, - "id": 364, - "iscrowd": 0 - }, - { - "image_id": 675, - "category_id": 60, - "bbox": [169.37, 179.04, 46.55, 90.39], - "score": 0.817, - "area": 4207.6545, - "id": 365, - "iscrowd": 0 - }, - { - "image_id": 692, - "category_id": 90, - "bbox": [315.39, 263.78, 37.77, 33.79], - "score": 0.255, - "area": 1276.2483, - "id": 366, - "iscrowd": 0 - }, - { - "image_id": 692, - "category_id": 90, - "bbox": [383, 338.04, 22.31, 29.38], - "score": 0.757, - "area": 655.4677999999999, - "id": 367, - "iscrowd": 0 - }, - { - "image_id": 692, - "category_id": 1, - "bbox": [288.42, 30.26, 351.58, 428.34], - "score": 0.608, - "area": 150595.77719999998, - "id": 368, - "iscrowd": 0 - }, - { - "image_id": 692, - "category_id": 1, - "bbox": [188.87, 129.27, 307.8, 343.32], - "score": 0.073, - "area": 105673.89600000001, - "id": 369, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 41, - "bbox": [429.64, 193.67, 125.51, 198.6], - "score": 0.884, - "area": 24926.286, - "id": 370, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 41, - "bbox": [0, 190.22, 212.1, 137.01], - "score": 0.577, - "area": 29059.820999999996, - "id": 371, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 41, - "bbox": [14.96, 220.25, 236.6, 190.44], - "score": 0.815, - "area": 45058.104, - "id": 372, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 41, - "bbox": [163.19, 19.83, 125.4, 153.27], - "score": 0.668, - "area": 19220.058, - "id": 373, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 41, - "bbox": [211.24, 48.93, 91.56, 89.91], - "score": 0.278, - "area": 8232.159599999999, - "id": 374, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 41, - "bbox": [236.35, 0, 88.94, 77.36], - "score": 0.93, - "area": 6880.3984, - "id": 375, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 41, - "bbox": [71.7, 92.27, 192.32, 124.51], - "score": 0.532, - "area": 23945.7632, - "id": 376, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 41, - "bbox": [223.46, 36.1, 71.24, 78.42], - "score": 0.152, - "area": 5586.6408, - "id": 377, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 80, - "bbox": [0, 122.61, 190.86, 142.72], - "score": 0.404, - "area": 27239.539200000003, - "id": 378, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 42, - "bbox": [213.87, 0, 82.98, 64.55], - "score": 0.435, - "area": 5356.359, - "id": 379, - "iscrowd": 0 - } -] diff --git a/tests/ignite/metrics/gt.json b/tests/ignite/metrics/gt.json deleted file mode 100644 index f0c26fb47556..000000000000 --- a/tests/ignite/metrics/gt.json +++ /dev/null @@ -1,4508 +0,0 @@ -{ - "annotations": [ - { - "area": 53481.5118, - "iscrowd": 0, - "image_id": 42, - "bbox": [214.15, 41.29, 348.26, 243.78], - "category_id": 18, - "id": 1817255, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 172022.43864999997, - "iscrowd": 0, - "image_id": 73, - "bbox": [13.0, 22.75, 535.98, 609.67], - "category_id": 4, - "id": 246920, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 52666.3402, - "iscrowd": 0, - "image_id": 73, - "bbox": [1.66, 3.32, 268.6, 271.91], - "category_id": 4, - "id": 2047387, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 18234.62355, - "iscrowd": 0, - "image_id": 74, - "bbox": [61.87, 276.25, 296.42, 103.18], - "category_id": 18, - "id": 1774, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 30078.494700000003, - "iscrowd": 0, - "image_id": 74, - "bbox": [2.75, 3.66, 159.4, 312.4], - "category_id": 2, - "id": 128367, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 638.7158, - "iscrowd": 0, - "image_id": 74, - "bbox": [295.55, 93.96, 18.42, 58.83], - "category_id": 1, - "id": 195946, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 180.8609499999999, - "iscrowd": 0, - "image_id": 74, - "bbox": [326.94, 97.05, 13.55, 25.93], - "category_id": 1, - "id": 253933, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 562.1028500000001, - "iscrowd": 0, - "image_id": 74, - "bbox": [356.62, 95.47, 15.71, 52.08], - "category_id": 1, - "id": 1225755, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 758.6169499999999, - "iscrowd": 0, - "image_id": 74, - "bbox": [462.08, 105.09, 31.66, 41.9], - "category_id": 1, - "id": 1733076, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 319.6597999999997, - "iscrowd": 0, - "image_id": 74, - "bbox": [277.11, 103.84, 15.33, 46.88], - "category_id": 1, - "id": 1747768, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 131.1144, - "iscrowd": 0, - "image_id": 74, - "bbox": [282.65, 103.41, 11.69, 24.25], - "category_id": 1, - "id": 1751664, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 179829.76725000003, - "iscrowd": 0, - "image_id": 133, - "bbox": [13.99, 2.87, 626.01, 418.65], - "category_id": 65, - "id": 317921, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 683.9160000000005, - "iscrowd": 0, - "image_id": 133, - "bbox": [525.34, 20.93, 47.95, 28.72], - "category_id": 88, - "id": 1673328, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 8703.873999999998, - "iscrowd": 0, - "image_id": 136, - "bbox": [0.84, 114.71, 53.54, 257.7], - "category_id": 1, - "id": 500146, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 8458.8782, - "iscrowd": 0, - "image_id": 136, - "bbox": [0.0, 61.35, 68.92, 312.65], - "category_id": 1, - "id": 502933, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 22023.460950000008, - "iscrowd": 0, - "image_id": 136, - "bbox": [82.0, 116.38, 185.74, 252.68], - "category_id": 25, - "id": 596940, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 8624.952849999998, - "iscrowd": 0, - "image_id": 136, - "bbox": [316.72, 131.83, 128.04, 164.25], - "category_id": 25, - "id": 597046, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 531.8071000000001, - "iscrowd": 0, - "image_id": 139, - "bbox": [236.98, 142.51, 24.7, 69.5], - "category_id": 64, - "id": 26547, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 13244.657700000002, - "iscrowd": 0, - "image_id": 139, - "bbox": [7.03, 167.76, 149.32, 94.87], - "category_id": 72, - "id": 34646, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 5833.117949999999, - "iscrowd": 0, - "image_id": 139, - "bbox": [557.21, 209.19, 81.35, 78.73], - "category_id": 72, - "id": 35802, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2245.34355, - "iscrowd": 0, - "image_id": 139, - "bbox": [358.98, 218.05, 56.0, 102.83], - "category_id": 62, - "id": 103487, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1833.7840000000017, - "iscrowd": 0, - "image_id": 139, - "bbox": [290.69, 218.0, 61.83, 98.48], - "category_id": 62, - "id": 104368, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1289.3734500000014, - "iscrowd": 0, - "image_id": 139, - "bbox": [413.2, 223.01, 30.17, 81.36], - "category_id": 62, - "id": 105328, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 210.14820000000023, - "iscrowd": 0, - "image_id": 139, - "bbox": [317.4, 219.24, 21.58, 11.59], - "category_id": 62, - "id": 110334, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 90.98724999999988, - "iscrowd": 0, - "image_id": 139, - "bbox": [412.25, 219.02, 9.63, 12.52], - "category_id": 62, - "id": 1941808, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2913.1103999999987, - "iscrowd": 0, - "image_id": 139, - "bbox": [412.8, 157.61, 53.05, 138.01], - "category_id": 1, - "id": 230831, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 435.1449499999997, - "iscrowd": 0, - "image_id": 139, - "bbox": [384.43, 172.21, 15.12, 35.74], - "category_id": 1, - "id": 233201, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 217.71919999999997, - "iscrowd": 0, - "image_id": 139, - "bbox": [512.22, 205.75, 14.74, 15.97], - "category_id": 78, - "id": 1640282, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2089.9747999999986, - "iscrowd": 0, - "image_id": 139, - "bbox": [493.1, 174.34, 20.29, 108.31], - "category_id": 82, - "id": 1647285, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 338.60884999999973, - "iscrowd": 0, - "image_id": 139, - "bbox": [604.77, 305.89, 14.34, 45.71], - "category_id": 84, - "id": 1648594, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 322.5935999999982, - "iscrowd": 0, - "image_id": 139, - "bbox": [613.24, 308.24, 12.88, 46.44], - "category_id": 84, - "id": 1654394, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 225.6642000000005, - "iscrowd": 0, - "image_id": 139, - "bbox": [447.77, 121.12, 13.97, 21.88], - "category_id": 85, - "id": 1666628, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2171.6188500000007, - "iscrowd": 0, - "image_id": 139, - "bbox": [549.06, 309.43, 36.68, 89.67], - "category_id": 86, - "id": 1667817, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 178.18510000000012, - "iscrowd": 0, - "image_id": 139, - "bbox": [350.76, 208.84, 11.37, 22.55], - "category_id": 86, - "id": 1669970, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 189.56010000000012, - "iscrowd": 0, - "image_id": 139, - "bbox": [241.24, 194.99, 14.22, 17.63], - "category_id": 86, - "id": 2146194, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 120.23200000000004, - "iscrowd": 0, - "image_id": 139, - "bbox": [336.79, 199.5, 9.73, 16.73], - "category_id": 86, - "id": 2146548, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2362.4897499999984, - "iscrowd": 0, - "image_id": 139, - "bbox": [321.21, 231.22, 125.56, 88.93], - "category_id": 67, - "id": 2204286, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 14943.291250000002, - "iscrowd": 0, - "image_id": 143, - "bbox": [426.88, 192.47, 131.18, 176.35], - "category_id": 16, - "id": 40595, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 8521.454350000002, - "iscrowd": 0, - "image_id": 143, - "bbox": [128.19, 104.46, 95.77, 167.42], - "category_id": 16, - "id": 41002, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 10935.490899999999, - "iscrowd": 0, - "image_id": 143, - "bbox": [265.59, 126.88, 100.0, 162.77], - "category_id": 16, - "id": 41866, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 7312.689550000001, - "iscrowd": 0, - "image_id": 143, - "bbox": [243.53, 271.01, 96.99, 120.69], - "category_id": 16, - "id": 42434, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 8239.6429, - "iscrowd": 0, - "image_id": 143, - "bbox": [114.08, 319.22, 92.28, 161.25], - "category_id": 16, - "id": 42884, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 9398.8724, - "iscrowd": 0, - "image_id": 143, - "bbox": [35.96, 20.22, 95.5, 133.71], - "category_id": 16, - "id": 271928, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 7766.638000000003, - "iscrowd": 0, - "image_id": 143, - "bbox": [120.18, 237.43, 114.24, 134.32], - "category_id": 16, - "id": 1400279, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 7066.659650000002, - "iscrowd": 0, - "image_id": 143, - "bbox": [468.71, 320.79, 94.24, 154.59], - "category_id": 16, - "id": 1815195, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 139.78670000000042, - "iscrowd": 0, - "image_id": 164, - "bbox": [389.84, 183.92, 8.02, 26.87], - "category_id": 44, - "id": 86621, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 122.74640000000001, - "iscrowd": 0, - "image_id": 164, - "bbox": [374.4, 189.64, 6.87, 20.93], - "category_id": 44, - "id": 90821, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 155.98124999999936, - "iscrowd": 0, - "image_id": 164, - "bbox": [367.79, 184.72, 7.05, 27.54], - "category_id": 44, - "id": 96341, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 130.88449999999992, - "iscrowd": 0, - "image_id": 164, - "bbox": [383.16, 187.56, 7.21, 24.24], - "category_id": 44, - "id": 96596, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 430.2215500000003, - "iscrowd": 0, - "image_id": 164, - "bbox": [433.79, 280.36, 18.32, 31.37], - "category_id": 44, - "id": 96815, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 287.14989999999943, - "iscrowd": 0, - "image_id": 164, - "bbox": [463.1, 282.68, 9.92, 36.55], - "category_id": 44, - "id": 370293, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 127.9628499999996, - "iscrowd": 0, - "image_id": 164, - "bbox": [399.87, 161.68, 9.4, 17.1], - "category_id": 44, - "id": 371777, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 146.33250000000004, - "iscrowd": 0, - "image_id": 164, - "bbox": [373.61, 135.8, 10.49, 15.16], - "category_id": 44, - "id": 372156, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 146.02944999999983, - "iscrowd": 0, - "image_id": 164, - "bbox": [404.56, 132.62, 9.78, 15.75], - "category_id": 44, - "id": 372297, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 161.92295000000013, - "iscrowd": 0, - "image_id": 164, - "bbox": [415.11, 131.22, 10.65, 16.86], - "category_id": 44, - "id": 372380, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 9725.137700000003, - "iscrowd": 0, - "image_id": 164, - "bbox": [428.7, 171.07, 96.72, 138.04], - "category_id": 82, - "id": 331750, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 7930.579499999997, - "iscrowd": 0, - "image_id": 164, - "bbox": [159.04, 409.16, 151.36, 70.84], - "category_id": 62, - "id": 384245, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 215.69274999999982, - "iscrowd": 0, - "image_id": 164, - "bbox": [153.96, 189.95, 12.83, 28.26], - "category_id": 46, - "id": 661070, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 289.8229500000004, - "iscrowd": 0, - "image_id": 164, - "bbox": [141.01, 190.76, 16.1, 36.54], - "category_id": 46, - "id": 663208, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 247.40105000000005, - "iscrowd": 0, - "image_id": 164, - "bbox": [108.42, 196.32, 14.31, 33.4], - "category_id": 46, - "id": 666322, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 297.0384000000001, - "iscrowd": 0, - "image_id": 164, - "bbox": [58.59, 196.12, 19.66, 37.63], - "category_id": 46, - "id": 666447, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 313.90475000000004, - "iscrowd": 0, - "image_id": 164, - "bbox": [81.76, 195.46, 15.44, 39.6], - "category_id": 46, - "id": 666676, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 234.50975000000003, - "iscrowd": 0, - "image_id": 164, - "bbox": [95.89, 196.13, 11.83, 36.93], - "category_id": 46, - "id": 667844, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 166.1521, - "iscrowd": 0, - "image_id": 164, - "bbox": [76.17, 194.99, 10.84, 39.68], - "category_id": 46, - "id": 1496133, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 309.5684999999999, - "iscrowd": 0, - "image_id": 164, - "bbox": [119.18, 191.23, 15.86, 37.92], - "category_id": 46, - "id": 1498000, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 205.96249999999995, - "iscrowd": 0, - "image_id": 164, - "bbox": [133.3, 192.93, 10.75, 35.37], - "category_id": 46, - "id": 1498069, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 440.80759999999987, - "iscrowd": 0, - "image_id": 164, - "bbox": [146.61, 233.85, 26.78, 20.8], - "category_id": 47, - "id": 679713, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 312.0250499999997, - "iscrowd": 0, - "image_id": 164, - "bbox": [114.56, 236.81, 23.23, 19.52], - "category_id": 47, - "id": 681595, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 255.32904999999994, - "iscrowd": 0, - "image_id": 164, - "bbox": [176.77, 232.66, 20.14, 16.13], - "category_id": 47, - "id": 681817, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 256.8086999999999, - "iscrowd": 0, - "image_id": 164, - "bbox": [196.65, 228.88, 19.99, 15.51], - "category_id": 47, - "id": 683259, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 176.7597000000002, - "iscrowd": 0, - "image_id": 164, - "bbox": [159.47, 231.64, 21.72, 21.24], - "category_id": 47, - "id": 1510371, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 276.4122499999988, - "iscrowd": 0, - "image_id": 164, - "bbox": [512.83, 134.18, 15.4, 21.38], - "category_id": 47, - "id": 1512981, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 195.36245000000068, - "iscrowd": 0, - "image_id": 164, - "bbox": [532.63, 139.85, 15.19, 13.71], - "category_id": 47, - "id": 1513350, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 44.76595000000001, - "iscrowd": 0, - "image_id": 164, - "bbox": [506.11, 146.68, 6.26, 8.2], - "category_id": 47, - "id": 1514452, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 285.37839999999994, - "iscrowd": 0, - "image_id": 164, - "bbox": [169.77, 203.22, 17.75, 18.85], - "category_id": 47, - "id": 1514653, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 197.84394999999978, - "iscrowd": 0, - "image_id": 164, - "bbox": [133.77, 233.33, 15.32, 20.21], - "category_id": 47, - "id": 1514812, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 406.5926500000003, - "iscrowd": 0, - "image_id": 164, - "bbox": [506.25, 221.5, 56.15, 10.53], - "category_id": 51, - "id": 715477, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 78.53969999999994, - "iscrowd": 0, - "image_id": 164, - "bbox": [505.95, 211.57, 29.18, 4.68], - "category_id": 51, - "id": 1898808, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 108.9908499999987, - "iscrowd": 0, - "image_id": 164, - "bbox": [505.14, 219.24, 56.89, 4.21], - "category_id": 51, - "id": 1902243, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 120.07694999999946, - "iscrowd": 0, - "image_id": 164, - "bbox": [509.26, 215.43, 52.03, 5.24], - "category_id": 51, - "id": 1903101, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 154.42469999999994, - "iscrowd": 0, - "image_id": 164, - "bbox": [506.83, 212.69, 55.62, 6.07], - "category_id": 51, - "id": 1903305, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 90.16770000000011, - "iscrowd": 0, - "image_id": 164, - "bbox": [362.88, 171.41, 13.36, 9.05], - "category_id": 51, - "id": 1903515, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1483.9537499999997, - "iscrowd": 0, - "image_id": 164, - "bbox": [377.72, 227.45, 53.28, 30.36], - "category_id": 78, - "id": 1119489, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 867.6426000000002, - "iscrowd": 0, - "image_id": 164, - "bbox": [274.61, 263.38, 46.82, 34.22], - "category_id": 79, - "id": 1128244, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 932.5315999999989, - "iscrowd": 0, - "image_id": 164, - "bbox": [372.78, 459.12, 137.14, 14.96], - "category_id": 67, - "id": 1960665, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 16061.32005, - "iscrowd": 0, - "image_id": 192, - "bbox": [349.48, 253.48, 131.6, 220.05], - "category_id": 1, - "id": 478961, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 10907.633999999995, - "iscrowd": 0, - "image_id": 192, - "bbox": [437.21, 218.33, 78.41, 248.03], - "category_id": 1, - "id": 530163, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 4428.93145, - "iscrowd": 0, - "image_id": 192, - "bbox": [0.93, 274.23, 36.53, 205.51], - "category_id": 1, - "id": 541526, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 14388.179850000002, - "iscrowd": 0, - "image_id": 192, - "bbox": [268.11, 179.46, 111.35, 235.68], - "category_id": 1, - "id": 545132, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 486.23700000000014, - "iscrowd": 0, - "image_id": 192, - "bbox": [13.2, 381.39, 36.0, 92.98], - "category_id": 39, - "id": 629871, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 3602.4562500000025, - "iscrowd": 0, - "image_id": 196, - "bbox": [249.73, 200.54, 210.81, 48.65], - "category_id": 50, - "id": 705891, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1248.390700000003, - "iscrowd": 0, - "image_id": 196, - "bbox": [533.65, 250.15, 73.72, 122.35], - "category_id": 50, - "id": 1526578, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1160.2602500000007, - "iscrowd": 0, - "image_id": 196, - "bbox": [517.81, 213.87, 97.94, 43.09], - "category_id": 50, - "id": 1528688, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 571.3090000000001, - "iscrowd": 0, - "image_id": 196, - "bbox": [230.52, 42.78, 71.44, 43.44], - "category_id": 50, - "id": 1530098, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1146.3787500000017, - "iscrowd": 0, - "image_id": 196, - "bbox": [546.15, 251.57, 71.68, 80.61], - "category_id": 50, - "id": 1531102, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1486.5394499999984, - "iscrowd": 0, - "image_id": 196, - "bbox": [464.49, 390.81, 121.54, 88.15], - "category_id": 50, - "id": 1531239, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 258.74959999999993, - "iscrowd": 0, - "image_id": 196, - "bbox": [457.6, 121.32, 44.08, 29.01], - "category_id": 50, - "id": 1897059, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 134.46480000000017, - "iscrowd": 0, - "image_id": 196, - "bbox": [526.71, 129.89, 19.64, 9.29], - "category_id": 50, - "id": 2106274, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 459.3881999999993, - "iscrowd": 0, - "image_id": 196, - "bbox": [448.17, 363.72, 22.98, 42.51], - "category_id": 57, - "id": 1062959, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 520.7394500000009, - "iscrowd": 0, - "image_id": 196, - "bbox": [391.24, 374.67, 24.62, 53.82], - "category_id": 57, - "id": 1064648, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 152.96214999999984, - "iscrowd": 0, - "image_id": 196, - "bbox": [442.27, 375.7, 6.82, 26.03], - "category_id": 57, - "id": 1065163, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 619.4036499999994, - "iscrowd": 0, - "image_id": 196, - "bbox": [412.55, 404.5, 55.98, 30.74], - "category_id": 57, - "id": 1065260, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 349.25540000000103, - "iscrowd": 0, - "image_id": 196, - "bbox": [462.6, 401.48, 26.37, 31.69], - "category_id": 57, - "id": 1564538, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 211.89759999999967, - "iscrowd": 0, - "image_id": 196, - "bbox": [415.04, 417.75, 13.64, 31.75], - "category_id": 57, - "id": 1564616, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 433.93320000000006, - "iscrowd": 0, - "image_id": 196, - "bbox": [379.31, 413.34, 36.43, 30.0], - "category_id": 57, - "id": 1917699, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 133.9599999999997, - "iscrowd": 0, - "image_id": 196, - "bbox": [577.34, 377.01, 12.18, 15.03], - "category_id": 57, - "id": 1918173, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 487.4024999999997, - "iscrowd": 0, - "image_id": 196, - "bbox": [372.9, 388.96, 31.37, 27.25], - "category_id": 57, - "id": 1918435, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1017.75345, - "iscrowd": 0, - "image_id": 196, - "bbox": [168.75, 359.55, 41.76, 41.77], - "category_id": 57, - "id": 1919232, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 175.51060000000027, - "iscrowd": 0, - "image_id": 196, - "bbox": [420.82, 373.65, 22.39, 22.39], - "category_id": 57, - "id": 1919287, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 138.87659999999977, - "iscrowd": 0, - "image_id": 196, - "bbox": [434.1, 446.58, 20.64, 10.6], - "category_id": 57, - "id": 1919363, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 4382.250149999998, - "iscrowd": 0, - "image_id": 196, - "bbox": [275.91, 58.21, 128.58, 62.76], - "category_id": 51, - "id": 1535788, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 12065.732450000003, - "iscrowd": 0, - "image_id": 196, - "bbox": [423.99, 236.14, 144.88, 113.72], - "category_id": 51, - "id": 1538757, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 13667.3249, - "iscrowd": 0, - "image_id": 196, - "bbox": [513.78, 315.38, 126.22, 142.73], - "category_id": 51, - "id": 1539598, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 11288.890700000002, - "iscrowd": 0, - "image_id": 196, - "bbox": [234.69, 197.88, 169.4, 86.23], - "category_id": 51, - "id": 1540443, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 16865.213150000003, - "iscrowd": 0, - "image_id": 196, - "bbox": [363.02, 337.26, 161.24, 139.17], - "category_id": 51, - "id": 1540991, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 6829.082149999998, - "iscrowd": 0, - "image_id": 196, - "bbox": [332.22, 157.3, 132.68, 69.04], - "category_id": 51, - "id": 1541193, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 4926.331500000001, - "iscrowd": 0, - "image_id": 196, - "bbox": [341.69, 115.74, 151.25, 64.57], - "category_id": 51, - "id": 1541299, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2146.6238999999996, - "iscrowd": 0, - "image_id": 196, - "bbox": [189.83, 72.85, 88.39, 33.07], - "category_id": 51, - "id": 1541355, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 3430.0337500000005, - "iscrowd": 0, - "image_id": 196, - "bbox": [361.33, 47.29, 92.99, 62.87], - "category_id": 51, - "id": 1541426, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2471.16245, - "iscrowd": 0, - "image_id": 196, - "bbox": [115.26, 88.64, 96.13, 39.34], - "category_id": 51, - "id": 1901796, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 4282.383900000001, - "iscrowd": 0, - "image_id": 196, - "bbox": [33.84, 109.71, 117.18, 60.2], - "category_id": 51, - "id": 1903527, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 3794.48175, - "iscrowd": 0, - "image_id": 196, - "bbox": [0.0, 145.79, 71.35, 73.52], - "category_id": 51, - "id": 1903675, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 12063.1358, - "iscrowd": 0, - "image_id": 196, - "bbox": [0.0, 188.89, 172.64, 92.01], - "category_id": 51, - "id": 2185741, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 400.41515000000027, - "iscrowd": 0, - "image_id": 196, - "bbox": [199.46, 254.35, 18.25, 31.59], - "category_id": 56, - "id": 1561344, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 690.8346, - "iscrowd": 0, - "image_id": 196, - "bbox": [280.51, 393.55, 37.68, 28.9], - "category_id": 56, - "id": 1561766, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 451.72965000000016, - "iscrowd": 0, - "image_id": 196, - "bbox": [170.36, 269.84, 21.54, 29.09], - "category_id": 56, - "id": 1561783, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 640.4236, - "iscrowd": 0, - "image_id": 196, - "bbox": [115.3, 340.83, 40.0, 25.45], - "category_id": 56, - "id": 1915732, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 346.69775000000004, - "iscrowd": 0, - "image_id": 196, - "bbox": [250.3, 325.7, 24.42, 20.53], - "category_id": 56, - "id": 2115071, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 460.1613499999995, - "iscrowd": 0, - "image_id": 196, - "bbox": [288.99, 290.28, 17.52, 33.3], - "category_id": 56, - "id": 2115107, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 159.20255, - "iscrowd": 0, - "image_id": 196, - "bbox": [150.98, 262.69, 16.43, 13.92], - "category_id": 56, - "id": 2115321, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 247064.9784, - "iscrowd": 0, - "image_id": 196, - "bbox": [0.0, 41.94, 640.0, 438.06], - "category_id": 67, - "id": 1615479, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 1377.909500000001, - "iscrowd": 0, - "image_id": 196, - "bbox": [210.7, 407.69, 84.78, 66.08], - "category_id": 48, - "id": 1890035, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 140405.8689, - "iscrowd": 0, - "image_id": 208, - "bbox": [1.08, 108.94, 638.92, 366.75], - "category_id": 81, - "id": 1132256, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 12347.7568, - "iscrowd": 0, - "image_id": 208, - "bbox": [0.0, 150.36, 304.55, 109.76], - "category_id": 81, - "id": 1132920, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 3400.009649999999, - "iscrowd": 0, - "image_id": 208, - "bbox": [157.81, 170.21, 191.76, 88.89], - "category_id": 90, - "id": 2197833, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 3029.682650000001, - "iscrowd": 0, - "image_id": 208, - "bbox": [57.35, 122.18, 158.34, 82.29], - "category_id": 90, - "id": 2197855, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1956.7471000000003, - "iscrowd": 0, - "image_id": 241, - "bbox": [36.1, 553.8, 29.89, 86.2], - "category_id": 44, - "id": 87146, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 23173.052700000004, - "iscrowd": 0, - "image_id": 241, - "bbox": [312.46, 250.92, 167.2, 296.02], - "category_id": 63, - "id": 99885, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 4463.76635, - "iscrowd": 0, - "image_id": 241, - "bbox": [0.33, 278.19, 143.12, 260.43], - "category_id": 63, - "id": 116432, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 73157.25815000002, - "iscrowd": 0, - "image_id": 241, - "bbox": [132.7, 6.57, 200.43, 626.17], - "category_id": 1, - "id": 190379, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 29090.284799999998, - "iscrowd": 0, - "image_id": 241, - "bbox": [1.44, 263.55, 205.66, 348.05], - "category_id": 1, - "id": 191838, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 13817.75305, - "iscrowd": 0, - "image_id": 241, - "bbox": [295.71, 263.06, 107.15, 257.15], - "category_id": 1, - "id": 193269, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 4704.080300000001, - "iscrowd": 0, - "image_id": 241, - "bbox": [0.0, 372.74, 45.15, 203.38], - "category_id": 1, - "id": 1240866, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 5088.19765, - "iscrowd": 0, - "image_id": 241, - "bbox": [395.51, 337.98, 84.49, 230.11], - "category_id": 1, - "id": 1259806, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1901.1308500000007, - "iscrowd": 0, - "image_id": 241, - "bbox": [103.72, 595.29, 50.72, 44.71], - "category_id": 47, - "id": 682551, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1563.307649999999, - "iscrowd": 0, - "image_id": 241, - "bbox": [0.08, 596.49, 43.34, 43.51], - "category_id": 47, - "id": 684608, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 423.70660000000015, - "iscrowd": 0, - "image_id": 241, - "bbox": [117.1, 321.7, 44.12, 22.16], - "category_id": 75, - "id": 1110261, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 3824.626850000001, - "iscrowd": 0, - "image_id": 241, - "bbox": [343.94, 469.64, 65.31, 73.47], - "category_id": 31, - "id": 1182447, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 7849.56165, - "iscrowd": 0, - "image_id": 241, - "bbox": [90.85, 71.11, 109.84, 201.2], - "category_id": 64, - "id": 1608613, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2304.9887, - "iscrowd": 0, - "image_id": 241, - "bbox": [134.45, 350.26, 49.78, 72.27], - "category_id": 64, - "id": 2127625, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 591.9944000000003, - "iscrowd": 0, - "image_id": 257, - "bbox": [89.3, 197.24, 23.53, 32.78], - "category_id": 10, - "id": 404330, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 302.83400000000006, - "iscrowd": 0, - "image_id": 257, - "bbox": [50.27, 199.13, 25.09, 23.76], - "category_id": 10, - "id": 407530, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 115.41314999999967, - "iscrowd": 0, - "image_id": 257, - "bbox": [227.37, 296.5, 11.3, 11.39], - "category_id": 10, - "id": 1385925, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 35.62389999999987, - "iscrowd": 0, - "image_id": 257, - "bbox": [27.58, 303.1, 5.69, 7.11], - "category_id": 10, - "id": 1386080, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 37.32970000000005, - "iscrowd": 0, - "image_id": 257, - "bbox": [28.93, 276.6, 5.82, 11.76], - "category_id": 10, - "id": 1386337, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 162.8292999999999, - "iscrowd": 0, - "image_id": 257, - "bbox": [89.93, 177.97, 15.03, 14.65], - "category_id": 10, - "id": 1805284, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 79.83655000000005, - "iscrowd": 0, - "image_id": 257, - "bbox": [301.98, 260.82, 7.09, 14.18], - "category_id": 10, - "id": 2058747, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 65.94515000000007, - "iscrowd": 0, - "image_id": 257, - "bbox": [295.6, 261.4, 6.39, 12.2], - "category_id": 10, - "id": 2059682, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 19.345600000000093, - "iscrowd": 0, - "image_id": 257, - "bbox": [55.4, 299.17, 4.88, 4.3], - "category_id": 10, - "id": 2059820, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1562.2831500000007, - "iscrowd": 0, - "image_id": 257, - "bbox": [176.16, 362.21, 50.4, 55.49], - "category_id": 27, - "id": 1164702, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 115.55229999999999, - "iscrowd": 0, - "image_id": 257, - "bbox": [208.47, 340.87, 11.3, 19.58], - "category_id": 27, - "id": 1418348, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 15215.45735, - "iscrowd": 0, - "image_id": 257, - "bbox": [249.17, 277.96, 204.94, 122.97], - "category_id": 8, - "id": 1197129, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 4703.050300000001, - "iscrowd": 0, - "image_id": 257, - "bbox": [508.45, 304.48, 130.76, 63.88], - "category_id": 8, - "id": 1197605, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 12398.05725, - "iscrowd": 0, - "image_id": 257, - "bbox": [519.96, 323.81, 120.04, 156.19], - "category_id": 8, - "id": 1799979, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 4919.353649999999, - "iscrowd": 0, - "image_id": 257, - "bbox": [55.24, 301.11, 141.23, 59.84], - "category_id": 8, - "id": 1800578, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 206.83764999999954, - "iscrowd": 0, - "image_id": 257, - "bbox": [473.61, 320.43, 24.78, 13.95], - "category_id": 8, - "id": 1800634, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 4513.55705, - "iscrowd": 0, - "image_id": 257, - "bbox": [139.57, 345.58, 71.52, 134.42], - "category_id": 1, - "id": 1237390, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1428.3866500000004, - "iscrowd": 0, - "image_id": 257, - "bbox": [236.74, 326.46, 28.38, 79.72], - "category_id": 1, - "id": 1239029, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 593.1241000000001, - "iscrowd": 0, - "image_id": 257, - "bbox": [211.62, 332.49, 22.28, 60.49], - "category_id": 1, - "id": 1241923, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 803.6688000000001, - "iscrowd": 0, - "image_id": 257, - "bbox": [264.09, 330.65, 16.37, 72.88], - "category_id": 1, - "id": 1255512, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1283.6514999999997, - "iscrowd": 0, - "image_id": 257, - "bbox": [287.83, 337.14, 33.15, 77.0], - "category_id": 1, - "id": 1270079, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 388.6977499999994, - "iscrowd": 0, - "image_id": 257, - "bbox": [570.98, 327.79, 14.75, 42.24], - "category_id": 1, - "id": 1285138, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 222.4492, - "iscrowd": 0, - "image_id": 257, - "bbox": [125.19, 325.45, 10.13, 37.03], - "category_id": 1, - "id": 1287027, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1110.5517999999988, - "iscrowd": 0, - "image_id": 257, - "bbox": [316.72, 334.13, 20.17, 74.8], - "category_id": 1, - "id": 1297780, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 371.4350499999998, - "iscrowd": 0, - "image_id": 257, - "bbox": [77.65, 326.41, 20.3, 48.17], - "category_id": 1, - "id": 1302840, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 395.23035, - "iscrowd": 0, - "image_id": 257, - "bbox": [138.11, 325.59, 15.55, 38.45], - "category_id": 1, - "id": 1309094, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 472.8054499999997, - "iscrowd": 0, - "image_id": 257, - "bbox": [225.17, 327.33, 15.21, 69.54], - "category_id": 1, - "id": 1315452, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 523.6540999999997, - "iscrowd": 0, - "image_id": 257, - "bbox": [190.83, 330.6, 20.63, 39.77], - "category_id": 1, - "id": 1707335, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 260.15675000000044, - "iscrowd": 0, - "image_id": 257, - "bbox": [537.16, 328.86, 14.08, 39.82], - "category_id": 1, - "id": 2005786, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 11750, - "iscrowd": 1, - "image_id": 257, - "bbox": [16, 301, 611, 178], - "category_id": 1, - "id": 900100000257, - "ignore": 1, - "_ignore": 1 - }, - { - "area": 123.59089999999995, - "iscrowd": 0, - "image_id": 257, - "bbox": [306.74, 360.16, 12.51, 13.77], - "category_id": 31, - "id": 1435013, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 41.078150000000136, - "iscrowd": 0, - "image_id": 257, - "bbox": [93.13, 344.24, 5.88, 12.48], - "category_id": 31, - "id": 1834141, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 61.242699999999886, - "iscrowd": 0, - "image_id": 257, - "bbox": [208.91, 341.48, 11.21, 29.05], - "category_id": 31, - "id": 2212016, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 20.777750000000086, - "iscrowd": 0, - "image_id": 257, - "bbox": [472.6, 340.88, 6.14, 4.6], - "category_id": 31, - "id": 2212353, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 19856.495650000004, - "iscrowd": 0, - "image_id": 283, - "bbox": [63.18, 42.58, 82.4, 311.75], - "category_id": 44, - "id": 89091, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 3095.66605, - "iscrowd": 0, - "image_id": 283, - "bbox": [0.23, 142.61, 59.56, 86.35], - "category_id": 62, - "id": 100451, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 49134.860949999995, - "iscrowd": 0, - "image_id": 283, - "bbox": [148.65, 67.02, 279.35, 289.03], - "category_id": 62, - "id": 105578, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 135123.99545000005, - "iscrowd": 0, - "image_id": 283, - "bbox": [0.0, 210.82, 424.66, 420.14], - "category_id": 67, - "id": 120535, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 11358.260999999999, - "iscrowd": 0, - "image_id": 283, - "bbox": [164.76, 156.24, 88.26, 214.22], - "category_id": 46, - "id": 665916, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 275709.8110500001, - "iscrowd": 0, - "image_id": 285, - "bbox": [1.43, 68.81, 584.57, 563.94], - "category_id": 23, - "id": 587562, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 64624.86664999999, - "iscrowd": 0, - "image_id": 294, - "bbox": [27.7, 69.83, 364.91, 357.17], - "category_id": 1, - "id": 470246, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 182.62164999999962, - "iscrowd": 0, - "image_id": 294, - "bbox": [415.57, 349.85, 15.31, 23.55], - "category_id": 50, - "id": 708187, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 360.72579999999914, - "iscrowd": 0, - "image_id": 294, - "bbox": [401.49, 323.29, 23.1, 25.32], - "category_id": 50, - "id": 1897351, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 598.2128500000001, - "iscrowd": 0, - "image_id": 294, - "bbox": [383.89, 341.86, 35.58, 40.04], - "category_id": 50, - "id": 1897640, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 844.8774499999998, - "iscrowd": 0, - "image_id": 294, - "bbox": [402.19, 111.67, 14.47, 114.66], - "category_id": 50, - "id": 1897818, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 683.0231000000013, - "iscrowd": 0, - "image_id": 294, - "bbox": [420.95, 114.4, 13.43, 103.27], - "category_id": 50, - "id": 1897858, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 550.1896499999995, - "iscrowd": 0, - "image_id": 294, - "bbox": [328.99, 256.48, 18.17, 66.93], - "category_id": 50, - "id": 1897919, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 485.56159999999926, - "iscrowd": 0, - "image_id": 294, - "bbox": [403.99, 367.62, 32.19, 21.11], - "category_id": 50, - "id": 2216629, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 364.8656999999999, - "iscrowd": 0, - "image_id": 294, - "bbox": [392.56, 299.36, 16.54, 32.35], - "category_id": 50, - "id": 2216976, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 265.2028500000003, - "iscrowd": 0, - "image_id": 294, - "bbox": [388.56, 387.15, 14.73, 22.97], - "category_id": 50, - "id": 2217050, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 262.35164999999984, - "iscrowd": 0, - "image_id": 294, - "bbox": [401.36, 355.24, 21.6, 25.14], - "category_id": 50, - "id": 2217133, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 63.433249999999965, - "iscrowd": 0, - "image_id": 294, - "bbox": [623.23, 50.49, 4.79, 22.57], - "category_id": 50, - "id": 2217190, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 13629.079649999989, - "iscrowd": 0, - "image_id": 294, - "bbox": [507.6, 312.81, 131.46, 109.39], - "category_id": 78, - "id": 1118968, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 172.5971999999994, - "iscrowd": 0, - "image_id": 294, - "bbox": [608.51, 251.83, 7.67, 40.75], - "category_id": 48, - "id": 1518770, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 279.9459499999995, - "iscrowd": 0, - "image_id": 294, - "bbox": [445.73, 329.05, 17.33, 34.67], - "category_id": 49, - "id": 1524125, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 279.8878000000002, - "iscrowd": 0, - "image_id": 294, - "bbox": [454.37, 320.69, 15.89, 45.17], - "category_id": 49, - "id": 1524238, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 187.2767500000002, - "iscrowd": 0, - "image_id": 294, - "bbox": [461.6, 335.52, 16.28, 33.28], - "category_id": 49, - "id": 2104366, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 143.22540000000023, - "iscrowd": 0, - "image_id": 294, - "bbox": [466.52, 325.24, 13.79, 32.5], - "category_id": 49, - "id": 2104631, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 158.32795000000038, - "iscrowd": 0, - "image_id": 294, - "bbox": [469.28, 335.38, 15.32, 33.19], - "category_id": 49, - "id": 2105113, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2454.3745500000005, - "iscrowd": 0, - "image_id": 294, - "bbox": [0.15, 0.0, 53.72, 53.96], - "category_id": 85, - "id": 2144820, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 278.12544999999983, - "iscrowd": 0, - "image_id": 328, - "bbox": [434.75, 283.15, 35.01, 18.64], - "category_id": 77, - "id": 326470, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 33082.45864999999, - "iscrowd": 0, - "image_id": 328, - "bbox": [44.81, 68.09, 223.8, 356.91], - "category_id": 1, - "id": 422643, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 38458.955649999996, - "iscrowd": 0, - "image_id": 328, - "bbox": [197.91, 90.52, 205.13, 389.34], - "category_id": 1, - "id": 470613, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 52372.09644999999, - "iscrowd": 0, - "image_id": 328, - "bbox": [336.87, 58.48, 249.91, 426.04], - "category_id": 1, - "id": 480233, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 28261.0682, - "iscrowd": 0, - "image_id": 328, - "bbox": [0.6, 104.76, 587.67, 374.74], - "category_id": 15, - "id": 576964, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 1387.0935500000007, - "iscrowd": 0, - "image_id": 328, - "bbox": [245.65, 220.95, 86.44, 37.42], - "category_id": 84, - "id": 1137074, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 4760.385999999999, - "iscrowd": 0, - "image_id": 328, - "bbox": [350.46, 77.31, 101.02, 65.61], - "category_id": 3, - "id": 1341477, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 275.4648499999998, - "iscrowd": 0, - "image_id": 328, - "bbox": [462.06, 177.54, 18.31, 43.81], - "category_id": 32, - "id": 1440283, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 631.9263999999995, - "iscrowd": 0, - "image_id": 328, - "bbox": [315.37, 171.71, 22.5, 57.98], - "category_id": 32, - "id": 1442817, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 5542.455349999999, - "iscrowd": 0, - "image_id": 328, - "bbox": [12.03, 171.36, 119.45, 79.63], - "category_id": 27, - "id": 1823916, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2901.4339999999993, - "iscrowd": 0, - "image_id": 328, - "bbox": [49.45, 160.85, 85.28, 47.84], - "category_id": 27, - "id": 1827585, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 15100.550200000001, - "iscrowd": 0, - "image_id": 338, - "bbox": [217.59, 149.74, 95.78, 177.26], - "category_id": 82, - "id": 331127, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 447.72725000000014, - "iscrowd": 0, - "image_id": 338, - "bbox": [458.17, 88.69, 23.24, 24.61], - "category_id": 85, - "id": 339566, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 8748.053699999999, - "iscrowd": 0, - "image_id": 338, - "bbox": [327.0, 142.07, 90.46, 183.7], - "category_id": 1, - "id": 484147, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 4482.490749999999, - "iscrowd": 0, - "image_id": 338, - "bbox": [439.35, 173.72, 56.91, 153.28], - "category_id": 1, - "id": 524817, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 10051.329499999998, - "iscrowd": 0, - "image_id": 338, - "bbox": [24.25, 243.96, 138.88, 78.63], - "category_id": 79, - "id": 1123956, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 686.222100000001, - "iscrowd": 0, - "image_id": 338, - "bbox": [465.15, 231.65, 25.66, 39.34], - "category_id": 31, - "id": 2176417, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 81.5554, - "iscrowd": 0, - "image_id": 357, - "bbox": [539.09, 121.4, 4.0, 27.24], - "category_id": 39, - "id": 628872, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 40.0523499999999, - "iscrowd": 0, - "image_id": 357, - "bbox": [566.96, 186.44, 8.91, 6.69], - "category_id": 40, - "id": 635098, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 35.704700000000024, - "iscrowd": 0, - "image_id": 357, - "bbox": [76.74, 97.16, 6.97, 9.21], - "category_id": 40, - "id": 635612, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 18.735549999999982, - "iscrowd": 0, - "image_id": 357, - "bbox": [279.48, 25.03, 5.46, 4.72], - "category_id": 40, - "id": 636542, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 214.2974, - "iscrowd": 0, - "image_id": 357, - "bbox": [372.19, 25.03, 17.25, 27.63], - "category_id": 1, - "id": 1269289, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 330.3950499999995, - "iscrowd": 0, - "image_id": 357, - "bbox": [271.1, 18.4, 27.02, 37.16], - "category_id": 1, - "id": 1275571, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 300.3006499999999, - "iscrowd": 0, - "image_id": 357, - "bbox": [209.34, 22.61, 22.2, 31.01], - "category_id": 1, - "id": 1285119, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 472.0862999999997, - "iscrowd": 0, - "image_id": 357, - "bbox": [74.62, 79.12, 18.53, 48.08], - "category_id": 1, - "id": 1297671, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 860.8170999999988, - "iscrowd": 0, - "image_id": 357, - "bbox": [530.83, 136.21, 29.04, 54.59], - "category_id": 1, - "id": 1299372, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 561.6825500000003, - "iscrowd": 0, - "image_id": 357, - "bbox": [567.61, 160.02, 26.76, 38.03], - "category_id": 1, - "id": 1304492, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 547.3569000000009, - "iscrowd": 0, - "image_id": 357, - "bbox": [592.37, 154.71, 27.18, 46.6], - "category_id": 1, - "id": 1314926, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 67.5915500000003, - "iscrowd": 0, - "image_id": 357, - "bbox": [556.03, 23.96, 13.89, 9.67], - "category_id": 1, - "id": 1317799, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 104.08484999999976, - "iscrowd": 0, - "image_id": 357, - "bbox": [545.19, 21.04, 9.65, 26.16], - "category_id": 1, - "id": 1323595, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 56.523049999999856, - "iscrowd": 0, - "image_id": 357, - "bbox": [596.85, 8.21, 8.96, 10.15], - "category_id": 1, - "id": 1323658, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 220.2697500000003, - "iscrowd": 0, - "image_id": 357, - "bbox": [265.33, 6.43, 17.69, 27.34], - "category_id": 1, - "id": 1327311, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 79.1437, - "iscrowd": 0, - "image_id": 357, - "bbox": [568.15, 29.27, 11.87, 23.74], - "category_id": 1, - "id": 1327873, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 84.28930000000027, - "iscrowd": 0, - "image_id": 357, - "bbox": [580.99, 32.19, 6.72, 23.92], - "category_id": 1, - "id": 2007510, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 6687, - "iscrowd": 1, - "image_id": 357, - "bbox": [466, 0, 173, 73], - "category_id": 1, - "id": 900100000357, - "ignore": 1, - "_ignore": 1 - }, - { - "area": 2093.1769499999996, - "iscrowd": 0, - "image_id": 359, - "bbox": [153.87, 100.44, 65.37, 34.25], - "category_id": 10, - "id": 401907, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 981.3448500000004, - "iscrowd": 0, - "image_id": 359, - "bbox": [243.76, 99.94, 51.0, 22.4], - "category_id": 10, - "id": 406801, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 16.788799999999753, - "iscrowd": 0, - "image_id": 359, - "bbox": [278.48, 293.48, 4.46, 4.11], - "category_id": 10, - "id": 1384199, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 3137.2429500000017, - "iscrowd": 0, - "image_id": 359, - "bbox": [0.0, 290.11, 123.72, 37.58], - "category_id": 3, - "id": 1778050, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 560.5042000000001, - "iscrowd": 0, - "image_id": 360, - "bbox": [261.02, 138.76, 52.1, 36.95], - "category_id": 1, - "id": 457434, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 355.26565000000016, - "iscrowd": 0, - "image_id": 360, - "bbox": [97.99, 273.39, 26.6, 21.41], - "category_id": 1, - "id": 469143, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 676.5820499999999, - "iscrowd": 0, - "image_id": 360, - "bbox": [240.45, 155.01, 52.19, 41.49], - "category_id": 36, - "id": 619614, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 101928.52115000002, - "iscrowd": 0, - "image_id": 387, - "bbox": [249.17, 50.7, 375.37, 277.21], - "category_id": 73, - "id": 1103403, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 40974.07855000001, - "iscrowd": 0, - "image_id": 387, - "bbox": [152.38, 50.29, 470.86, 312.38], - "category_id": 73, - "id": 1970089, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 18024.40625, - "iscrowd": 0, - "image_id": 387, - "bbox": [332.5, 111.88, 210.0, 93.75], - "category_id": 77, - "id": 1977657, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 236.53855000000016, - "iscrowd": 0, - "image_id": 395, - "bbox": [291.15, 289.29, 19.84, 22.97], - "category_id": 77, - "id": 323360, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 122.09555000000024, - "iscrowd": 0, - "image_id": 395, - "bbox": [619.05, 305.74, 15.83, 11.59], - "category_id": 77, - "id": 1637902, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 129618.30084999999, - "iscrowd": 0, - "image_id": 395, - "bbox": [118.61, 138.16, 432.72, 435.32], - "category_id": 1, - "id": 1218065, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 15212.780349999997, - "iscrowd": 0, - "image_id": 395, - "bbox": [0.0, 207.32, 80.81, 278.92], - "category_id": 1, - "id": 1260127, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 10566.527799999998, - "iscrowd": 0, - "image_id": 395, - "bbox": [77.02, 270.92, 82.55, 204.66], - "category_id": 1, - "id": 1270740, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 28854.102049999998, - "iscrowd": 0, - "image_id": 395, - "bbox": [515.21, 200.28, 124.79, 379.72], - "category_id": 1, - "id": 1280168, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 1027.75655, - "iscrowd": 0, - "image_id": 395, - "bbox": [108.58, 232.54, 38.86, 46.9], - "category_id": 1, - "id": 1720813, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 5831.163299999999, - "iscrowd": 0, - "image_id": 395, - "bbox": [140.76, 239.82, 82.12, 109.48], - "category_id": 1, - "id": 1731140, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2099.987899999999, - "iscrowd": 0, - "image_id": 395, - "bbox": [412.44, 194.77, 32.94, 105.97], - "category_id": 1, - "id": 1746734, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2225.3864499999977, - "iscrowd": 0, - "image_id": 395, - "bbox": [428.93, 206.74, 43.9, 113.15], - "category_id": 1, - "id": 1750589, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1275.735550000001, - "iscrowd": 0, - "image_id": 395, - "bbox": [159.8, 332.19, 60.39, 66.97], - "category_id": 1, - "id": 1752009, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2806.4026, - "iscrowd": 0, - "image_id": 395, - "bbox": [54.7, 214.92, 48.39, 126.94], - "category_id": 1, - "id": 1756980, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2459.9935000000005, - "iscrowd": 0, - "image_id": 395, - "bbox": [448.16, 253.08, 70.79, 89.66], - "category_id": 1, - "id": 2150881, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 6655.397300000003, - "iscrowd": 0, - "image_id": 397, - "bbox": [477.94, 0.0, 143.48, 98.06], - "category_id": 62, - "id": 105605, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 204268.80735000005, - "iscrowd": 0, - "image_id": 397, - "bbox": [4.31, 44.22, 631.02, 412.05], - "category_id": 59, - "id": 1072508, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 1681.4982999999997, - "iscrowd": 0, - "image_id": 397, - "bbox": [0.0, 294.57, 36.75, 71.88], - "category_id": 47, - "id": 1507253, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 11717.453350000003, - "iscrowd": 0, - "image_id": 397, - "bbox": [480.0, 315.43, 150.86, 158.34], - "category_id": 47, - "id": 1886120, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 1138.0234000000007, - "iscrowd": 0, - "image_id": 397, - "bbox": [595.24, 404.53, 44.76, 52.1], - "category_id": 48, - "id": 1889153, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 22748.658200000005, - "iscrowd": 0, - "image_id": 397, - "bbox": [1.25, 349.09, 503.69, 130.91], - "category_id": 67, - "id": 1963869, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 25022.46835, - "iscrowd": 0, - "image_id": 397, - "bbox": [3.74, 0.0, 225.66, 205.33], - "category_id": 1, - "id": 2151765, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 4634.541499999999, - "iscrowd": 0, - "image_id": 400, - "bbox": [417.5, 148.97, 97.62, 78.77], - "category_id": 18, - "id": 9774, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 264455.48134999996, - "iscrowd": 0, - "image_id": 400, - "bbox": [1.44, 64.72, 636.56, 477.48], - "category_id": 9, - "id": 176688, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 1120.3052000000005, - "iscrowd": 0, - "image_id": 415, - "bbox": [60.13, 399.09, 41.97, 44.41], - "category_id": 43, - "id": 655306, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 12687.970250000004, - "iscrowd": 0, - "image_id": 415, - "bbox": [0.0, 257.44, 122.96, 301.62], - "category_id": 1, - "id": 1248682, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 3573.3858000000005, - "iscrowd": 0, - "image_id": 428, - "bbox": [374.56, 200.49, 94.65, 154.52], - "category_id": 32, - "id": 293908, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 55007.08139999999, - "iscrowd": 0, - "image_id": 428, - "bbox": [226.94, 32.65, 355.92, 323.27], - "category_id": 1, - "id": 487626, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 15955.590150000004, - "iscrowd": 0, - "image_id": 428, - "bbox": [405.41, 234.73, 175.13, 121.62], - "category_id": 61, - "id": 1085469, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 8519.61285, - "iscrowd": 0, - "image_id": 459, - "bbox": [162.57, 278.99, 61.63, 239.81], - "category_id": 32, - "id": 294038, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 170999.69984999998, - "iscrowd": 0, - "image_id": 459, - "bbox": [0.0, 84.85, 514.88, 547.96], - "category_id": 1, - "id": 1209199, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 1232.8114499999997, - "iscrowd": 0, - "image_id": 472, - "bbox": [394.86, 56.68, 87.21, 31.46], - "category_id": 5, - "id": 157332, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 65310.2008, - "iscrowd": 0, - "image_id": 474, - "bbox": [3.37, 42.7, 329.21, 429.21], - "category_id": 1, - "id": 425095, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 3089.4674999999993, - "iscrowd": 0, - "image_id": 474, - "bbox": [9.86, 234.5, 88.41, 71.31], - "category_id": 40, - "id": 636277, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 6107.148950000001, - "iscrowd": 0, - "image_id": 486, - "bbox": [391.66, 175.9, 63.04, 109.86], - "category_id": 82, - "id": 333535, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 17448.404149999995, - "iscrowd": 0, - "image_id": 486, - "bbox": [392.05, 274.92, 247.95, 152.08], - "category_id": 79, - "id": 1124804, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 507.9642499999998, - "iscrowd": 0, - "image_id": 486, - "bbox": [623.9, 233.27, 16.02, 38.17], - "category_id": 44, - "id": 1488066, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 498.2766500000002, - "iscrowd": 0, - "image_id": 486, - "bbox": [498.82, 278.46, 23.05, 25.31], - "category_id": 44, - "id": 2093503, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 131.61645, - "iscrowd": 0, - "image_id": 486, - "bbox": [83.06, 219.17, 5.12, 29.08], - "category_id": 44, - "id": 2096912, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 191.04449999999963, - "iscrowd": 0, - "image_id": 486, - "bbox": [223.65, 192.28, 6.92, 51.96], - "category_id": 49, - "id": 1523034, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 38.09325000000004, - "iscrowd": 0, - "image_id": 486, - "bbox": [235.42, 200.87, 3.9, 16.53], - "category_id": 49, - "id": 2104665, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 8477.589850000002, - "iscrowd": 0, - "image_id": 486, - "bbox": [252.43, 299.84, 131.39, 88.22], - "category_id": 51, - "id": 2108796, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 49.045200000000044, - "iscrowd": 0, - "image_id": 488, - "bbox": [431.12, 252.62, 8.29, 7.58], - "category_id": 37, - "id": 302707, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 4851.846399999997, - "iscrowd": 0, - "image_id": 488, - "bbox": [180.76, 210.3, 104.63, 131.03], - "category_id": 1, - "id": 443794, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 5682.173299999999, - "iscrowd": 0, - "image_id": 488, - "bbox": [112.24, 245.32, 127.0, 110.76], - "category_id": 1, - "id": 564365, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 915.4086500000001, - "iscrowd": 0, - "image_id": 488, - "bbox": [209.3, 197.89, 25.41, 70.75], - "category_id": 1, - "id": 1271766, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 720.501399999999, - "iscrowd": 0, - "image_id": 488, - "bbox": [546.32, 216.45, 44.13, 49.26], - "category_id": 1, - "id": 1275012, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 7186.221699999997, - "iscrowd": 0, - "image_id": 488, - "bbox": [34.67, 208.02, 91.24, 152.36], - "category_id": 1, - "id": 1731466, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 23.785449999999862, - "iscrowd": 0, - "image_id": 488, - "bbox": [224.36, 181.86, 4.42, 8.01], - "category_id": 1, - "id": 2001852, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 222.61124999999927, - "iscrowd": 0, - "image_id": 488, - "bbox": [214.91, 225.8, 63.45, 45.93], - "category_id": 39, - "id": 629732, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 361.48684999999966, - "iscrowd": 0, - "image_id": 488, - "bbox": [218.97, 274.81, 24.15, 20.49], - "category_id": 40, - "id": 632859, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 58.98509999999994, - "iscrowd": 0, - "image_id": 488, - "bbox": [562.51, 253.32, 10.5, 7.99], - "category_id": 40, - "id": 637011, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 44775.328299999994, - "iscrowd": 0, - "image_id": 502, - "bbox": [226.96, 88.0, 273.13, 257.74], - "category_id": 23, - "id": 1411246, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 193.23244999999997, - "iscrowd": 0, - "image_id": 520, - "bbox": [300.04, 140.73, 32.01, 20.26], - "category_id": 16, - "id": 37377, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 174.1545999999998, - "iscrowd": 0, - "image_id": 520, - "bbox": [230.03, 131.19, 34.17, 13.96], - "category_id": 16, - "id": 37692, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 143.86575000000002, - "iscrowd": 0, - "image_id": 520, - "bbox": [449.26, 217.6, 18.56, 17.79], - "category_id": 16, - "id": 271898, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 140.66764999999995, - "iscrowd": 0, - "image_id": 520, - "bbox": [0.11, 187.56, 23.22, 15.48], - "category_id": 16, - "id": 272348, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 128.87455000000008, - "iscrowd": 0, - "image_id": 520, - "bbox": [444.38, 174.06, 21.97, 16.09], - "category_id": 16, - "id": 272551, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 108.29215000000005, - "iscrowd": 0, - "image_id": 520, - "bbox": [599.29, 178.81, 19.65, 10.42], - "category_id": 16, - "id": 272729, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 155.2921, - "iscrowd": 0, - "image_id": 520, - "bbox": [97.33, 194.51, 35.82, 22.84], - "category_id": 16, - "id": 273171, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 163.1560500000002, - "iscrowd": 0, - "image_id": 520, - "bbox": [155.5, 184.44, 25.5, 11.87], - "category_id": 16, - "id": 273213, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 234.44544999999968, - "iscrowd": 0, - "image_id": 520, - "bbox": [242.02, 307.84, 15.21, 34.27], - "category_id": 1, - "id": 212333, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 209.08724999999993, - "iscrowd": 0, - "image_id": 520, - "bbox": [453.08, 316.95, 17.86, 18.87], - "category_id": 1, - "id": 1211500, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 81.48459999999976, - "iscrowd": 0, - "image_id": 520, - "bbox": [508.05, 323.61, 8.1, 13.7], - "category_id": 1, - "id": 1680489, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 8583.28935, - "iscrowd": 0, - "image_id": 536, - "bbox": [288.41, 138.98, 156.33, 195.53], - "category_id": 62, - "id": 374363, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 10251.997199999998, - "iscrowd": 0, - "image_id": 536, - "bbox": [0.68, 141.91, 82.48, 194.09], - "category_id": 62, - "id": 2189966, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 15367.24815, - "iscrowd": 0, - "image_id": 536, - "bbox": [292.86, 133.95, 155.14, 198.27], - "category_id": 1, - "id": 438609, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 19603.05865, - "iscrowd": 0, - "image_id": 536, - "bbox": [169.41, 79.52, 108.42, 255.62], - "category_id": 1, - "id": 497343, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 18548.185149999998, - "iscrowd": 0, - "image_id": 536, - "bbox": [88.34, 68.58, 98.16, 263.52], - "category_id": 1, - "id": 516492, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 2155.9285999999993, - "iscrowd": 0, - "image_id": 536, - "bbox": [22.1, 258.04, 44.05, 77.96], - "category_id": 31, - "id": 1179584, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2341.2988000000005, - "iscrowd": 0, - "image_id": 536, - "bbox": [202.07, 185.98, 69.48, 63.22], - "category_id": 31, - "id": 1182069, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 213.47909999999973, - "iscrowd": 0, - "image_id": 536, - "bbox": [343.78, 235.32, 45.57, 12.3], - "category_id": 31, - "id": 1182221, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 43.838950000000175, - "iscrowd": 0, - "image_id": 536, - "bbox": [206.43, 106.55, 13.68, 21.14], - "category_id": 77, - "id": 1636640, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 170.2840500000001, - "iscrowd": 0, - "image_id": 536, - "bbox": [98.62, 87.68, 28.93, 39.35], - "category_id": 77, - "id": 1977571, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 53.888699999999815, - "iscrowd": 0, - "image_id": 536, - "bbox": [361.35, 224.65, 8.04, 12.47], - "category_id": 77, - "id": 2195993, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 83.22834999999984, - "iscrowd": 0, - "image_id": 544, - "bbox": [596.57, 293.78, 13.81, 7.44], - "category_id": 37, - "id": 304761, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 6025.523100000001, - "iscrowd": 0, - "image_id": 544, - "bbox": [253.32, 243.73, 113.23, 161.2], - "category_id": 1, - "id": 430999, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 6144.207649999999, - "iscrowd": 0, - "image_id": 544, - "bbox": [107.47, 301.3, 129.54, 111.31], - "category_id": 1, - "id": 453730, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 5509.193949999998, - "iscrowd": 0, - "image_id": 544, - "bbox": [25.53, 269.29, 101.67, 142.79], - "category_id": 1, - "id": 471663, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 594.7322499999996, - "iscrowd": 0, - "image_id": 544, - "bbox": [76.23, 191.66, 28.84, 44.78], - "category_id": 1, - "id": 476124, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 931.74445, - "iscrowd": 0, - "image_id": 544, - "bbox": [247.29, 185.44, 29.17, 50.01], - "category_id": 1, - "id": 487476, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 402.09069999999986, - "iscrowd": 0, - "image_id": 544, - "bbox": [193.14, 209.98, 30.04, 27.53], - "category_id": 1, - "id": 494227, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 315.2081, - "iscrowd": 0, - "image_id": 544, - "bbox": [148.91, 193.7, 31.15, 41.98], - "category_id": 1, - "id": 523667, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1493.9900500000003, - "iscrowd": 0, - "image_id": 544, - "bbox": [0.07, 221.17, 33.48, 77.9], - "category_id": 1, - "id": 545434, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 296.1576000000001, - "iscrowd": 0, - "image_id": 544, - "bbox": [544.81, 211.75, 21.74, 21.0], - "category_id": 1, - "id": 545942, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1410.213699999999, - "iscrowd": 0, - "image_id": 544, - "bbox": [20.46, 237.09, 42.72, 59.44], - "category_id": 1, - "id": 1221722, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 252.43800000000005, - "iscrowd": 0, - "image_id": 544, - "bbox": [174.28, 213.99, 18.9, 24.91], - "category_id": 1, - "id": 1245211, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 690.9191, - "iscrowd": 0, - "image_id": 544, - "bbox": [18.77, 194.87, 25.64, 45.63], - "category_id": 1, - "id": 1720612, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 284.41735000000045, - "iscrowd": 0, - "image_id": 544, - "bbox": [512.31, 203.13, 16.39, 29.72], - "category_id": 1, - "id": 2148912, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 133940, - "iscrowd": 1, - "image_id": 544, - "bbox": [0, 0, 639, 347], - "category_id": 1, - "id": 900100000544, - "ignore": 1, - "_ignore": 1 - }, - { - "area": 277.01684999999947, - "iscrowd": 0, - "image_id": 544, - "bbox": [223.14, 300.79, 52.74, 7.6], - "category_id": 39, - "id": 630177, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 461.0875500000002, - "iscrowd": 0, - "image_id": 544, - "bbox": [218.39, 324.92, 20.27, 30.58], - "category_id": 40, - "id": 634565, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 16752.975699999995, - "iscrowd": 0, - "image_id": 564, - "bbox": [230.51, 335.3, 147.48, 279.2], - "category_id": 1, - "id": 504828, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 2928.7800000000007, - "iscrowd": 0, - "image_id": 564, - "bbox": [430.78, 203.68, 89.22, 93.9], - "category_id": 1, - "id": 518975, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2476.870300000001, - "iscrowd": 0, - "image_id": 564, - "bbox": [296.89, 432.81, 105.48, 40.82], - "category_id": 43, - "id": 656909, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 767.6281500000009, - "iscrowd": 0, - "image_id": 564, - "bbox": [62.9, 234.39, 43.46, 22.27], - "category_id": 62, - "id": 1597322, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 780.6210999999994, - "iscrowd": 0, - "image_id": 564, - "bbox": [108.71, 232.0, 45.58, 25.44], - "category_id": 62, - "id": 1598473, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 995.4353000000006, - "iscrowd": 0, - "image_id": 564, - "bbox": [202.82, 230.33, 47.5, 26.02], - "category_id": 62, - "id": 1600945, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1177.7280999999998, - "iscrowd": 0, - "image_id": 564, - "bbox": [245.16, 307.81, 56.56, 28.28], - "category_id": 62, - "id": 1601794, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1032.0828499999998, - "iscrowd": 0, - "image_id": 564, - "bbox": [135.73, 258.53, 50.13, 30.25], - "category_id": 62, - "id": 1602301, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 916.2860999999996, - "iscrowd": 0, - "image_id": 564, - "bbox": [88.79, 256.37, 50.46, 25.81], - "category_id": 62, - "id": 1603427, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 896.8613499999994, - "iscrowd": 0, - "image_id": 564, - "bbox": [39.44, 260.53, 46.92, 23.68], - "category_id": 62, - "id": 1603583, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 758.9105499999991, - "iscrowd": 0, - "image_id": 564, - "bbox": [13.52, 235.62, 47.74, 22.44], - "category_id": 62, - "id": 1933450, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2269.8216999999995, - "iscrowd": 0, - "image_id": 564, - "bbox": [412.26, 304.21, 61.51, 46.54], - "category_id": 62, - "id": 1942078, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 895.2064000000009, - "iscrowd": 0, - "image_id": 564, - "bbox": [325.82, 279.27, 51.53, 21.61], - "category_id": 62, - "id": 1945218, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1054.806599999999, - "iscrowd": 0, - "image_id": 564, - "bbox": [303.39, 307.56, 51.38, 27.27], - "category_id": 62, - "id": 1947219, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 3130.9597499999995, - "iscrowd": 0, - "image_id": 564, - "bbox": [233.06, 228.6, 66.46, 77.41], - "category_id": 62, - "id": 1948102, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1154.3769999999995, - "iscrowd": 0, - "image_id": 564, - "bbox": [152.8, 232.51, 48.71, 41.53], - "category_id": 62, - "id": 2124786, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 32952, - "iscrowd": 1, - "image_id": 564, - "bbox": [1, 222, 518, 134], - "category_id": 62, - "id": 906200000564, - "ignore": 1, - "_ignore": 1 - }, - { - "area": 4805.082899999998, - "iscrowd": 0, - "image_id": 569, - "bbox": [88.1, 269.14, 80.18, 145.38], - "category_id": 1, - "id": 514322, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 353.62954999999994, - "iscrowd": 0, - "image_id": 569, - "bbox": [188.63, 205.85, 30.07, 31.15], - "category_id": 38, - "id": 621381, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 128.96510000000006, - "iscrowd": 0, - "image_id": 569, - "bbox": [170.12, 216.94, 16.66, 32.58], - "category_id": 38, - "id": 622837, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 241.56149999999988, - "iscrowd": 0, - "image_id": 569, - "bbox": [145.5, 229.28, 22.99, 23.7], - "category_id": 38, - "id": 1465067, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 175.20920000000004, - "iscrowd": 0, - "image_id": 569, - "bbox": [134.91, 239.77, 25.66, 23.29], - "category_id": 38, - "id": 1465074, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 60.2735, - "iscrowd": 0, - "image_id": 589, - "bbox": [463.86, 229.41, 18.75, 6.3], - "category_id": 34, - "id": 605219, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 8819.9511, - "iscrowd": 0, - "image_id": 589, - "bbox": [347.91, 184.57, 145.43, 184.29], - "category_id": 1, - "id": 2150702, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 650.8376999999992, - "iscrowd": 0, - "image_id": 590, - "bbox": [75.87, 295.01, 85.2, 11.57], - "category_id": 81, - "id": 1129157, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1836.003549999999, - "iscrowd": 0, - "image_id": 590, - "bbox": [73.0, 292.99, 92.87, 27.6], - "category_id": 51, - "id": 1898065, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 11235.0136, - "iscrowd": 0, - "image_id": 599, - "bbox": [528.37, 5.48, 111.33, 237.26], - "category_id": 64, - "id": 21785, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 73955.45975, - "iscrowd": 0, - "image_id": 599, - "bbox": [0.92, 37.13, 412.5, 365.75], - "category_id": 17, - "id": 50915, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 131019.11909999992, - "iscrowd": 0, - "image_id": 599, - "bbox": [0.0, 1.83, 619.65, 400.9], - "category_id": 63, - "id": 98022, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 7752.206149999998, - "iscrowd": 0, - "image_id": 599, - "bbox": [439.01, 198.19, 179.26, 87.8], - "category_id": 75, - "id": 1109665, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 4869.7, - "iscrowd": 0, - "image_id": 599, - "bbox": [389.58, 167.29, 198.0, 60.5], - "category_id": 75, - "id": 1111738, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 12582.159850000002, - "iscrowd": 0, - "image_id": 623, - "bbox": [271.29, 72.62, 103.71, 238.38], - "category_id": 15, - "id": 576293, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 99299.13180000002, - "iscrowd": 0, - "image_id": 623, - "bbox": [1.12, 31.46, 355.06, 462.92], - "category_id": 88, - "id": 1160863, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 12816.989199999996, - "iscrowd": 0, - "image_id": 623, - "bbox": [273.62, 62.92, 99.62, 239.84], - "category_id": 62, - "id": 1587299, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 47312.3003, - "iscrowd": 0, - "image_id": 623, - "bbox": [162.34, 1.3, 211.69, 490.91], - "category_id": 1, - "id": 2155793, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 1314.2529000000002, - "iscrowd": 0, - "image_id": 626, - "bbox": [312.52, 124.36, 41.32, 42.47], - "category_id": 85, - "id": 337054, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 643.4670499999993, - "iscrowd": 0, - "image_id": 626, - "bbox": [396.15, 129.71, 20.88, 46.91], - "category_id": 85, - "id": 340215, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 64019.87940000001, - "iscrowd": 0, - "image_id": 632, - "bbox": [3.27, 266.85, 401.23, 208.25], - "category_id": 65, - "id": 315724, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 2464.9330500000005, - "iscrowd": 0, - "image_id": 632, - "bbox": [183.36, 136.56, 60.78, 92.39], - "category_id": 64, - "id": 1610466, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 7034.62185, - "iscrowd": 0, - "image_id": 632, - "bbox": [347.35, 212.37, 82.51, 143.0], - "category_id": 64, - "id": 1952354, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 203.6632999999997, - "iscrowd": 0, - "image_id": 632, - "bbox": [455.98, 192.5, 8.57, 35.59], - "category_id": 84, - "id": 1657298, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 214.5320999999999, - "iscrowd": 0, - "image_id": 632, - "bbox": [453.31, 252.97, 8.02, 33.93], - "category_id": 84, - "id": 1660743, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 179.1241999999999, - "iscrowd": 0, - "image_id": 632, - "bbox": [444.76, 297.63, 5.32, 39.68], - "category_id": 84, - "id": 1660854, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 189.13310000000044, - "iscrowd": 0, - "image_id": 632, - "bbox": [505.95, 191.02, 12.15, 36.78], - "category_id": 84, - "id": 1660921, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 91.54300000000008, - "iscrowd": 0, - "image_id": 632, - "bbox": [487.51, 199.33, 7.48, 28.05], - "category_id": 84, - "id": 1661908, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 936.6684500000003, - "iscrowd": 0, - "image_id": 632, - "bbox": [460.91, 191.67, 29.33, 36.04], - "category_id": 84, - "id": 1987085, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 245.04669999999973, - "iscrowd": 0, - "image_id": 632, - "bbox": [527.02, 248.57, 24.4, 40.43], - "category_id": 84, - "id": 1988858, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 93.38395000000153, - "iscrowd": 0, - "image_id": 632, - "bbox": [519.39, 193.43, 4.08, 34.19], - "category_id": 84, - "id": 1988994, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 106.6308000000007, - "iscrowd": 0, - "image_id": 632, - "bbox": [497.39, 55.43, 4.08, 27.36], - "category_id": 84, - "id": 1989419, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 84.2943499999996, - "iscrowd": 0, - "image_id": 632, - "bbox": [524.32, 97.38, 2.8, 37.77], - "category_id": 84, - "id": 1989610, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 188.38580000000024, - "iscrowd": 0, - "image_id": 632, - "bbox": [493.36, 155.72, 32.59, 6.36], - "category_id": 84, - "id": 1990447, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 117.46770000000046, - "iscrowd": 0, - "image_id": 632, - "bbox": [454.66, 245.27, 48.55, 12.14], - "category_id": 84, - "id": 1990614, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 163.7676500000002, - "iscrowd": 0, - "image_id": 632, - "bbox": [461.77, 253.68, 8.24, 33.31], - "category_id": 84, - "id": 2143156, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 20933, - "iscrowd": 1, - "image_id": 632, - "bbox": [416, 43, 153, 303], - "category_id": 84, - "id": 908400000632, - "ignore": 1, - "_ignore": 1 - }, - { - "area": 5184.222599999999, - "iscrowd": 0, - "image_id": 632, - "bbox": [244.82, 230.45, 104.72, 87.69], - "category_id": 62, - "id": 1947237, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 98723.40265, - "iscrowd": 0, - "image_id": 636, - "bbox": [80.72, 89.37, 265.23, 536.22], - "category_id": 70, - "id": 1093590, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 825.0993000000005, - "iscrowd": 0, - "image_id": 641, - "bbox": [115.45, 237.73, 26.07, 59.96], - "category_id": 2, - "id": 125660, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 172.86754999999988, - "iscrowd": 0, - "image_id": 641, - "bbox": [565.25, 265.02, 17.49, 21.82], - "category_id": 2, - "id": 128920, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 73133.99645000002, - "iscrowd": 0, - "image_id": 641, - "bbox": [142.35, 100.03, 417.42, 228.9], - "category_id": 6, - "id": 165264, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 87.71880000000019, - "iscrowd": 0, - "image_id": 641, - "bbox": [578.29, 233.52, 11.19, 13.08], - "category_id": 1, - "id": 199390, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 264.2382000000007, - "iscrowd": 0, - "image_id": 641, - "bbox": [565.24, 240.92, 17.46, 34.38], - "category_id": 1, - "id": 213333, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 81.57804999999993, - "iscrowd": 0, - "image_id": 641, - "bbox": [596.87, 232.88, 9.74, 13.22], - "category_id": 1, - "id": 221583, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 113.6214499999992, - "iscrowd": 0, - "image_id": 641, - "bbox": [555.69, 231.63, 7.03, 22.85], - "category_id": 1, - "id": 222094, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 93.76640000000037, - "iscrowd": 0, - "image_id": 641, - "bbox": [463.68, 225.62, 5.04, 26.32], - "category_id": 1, - "id": 233297, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 70.16879999999995, - "iscrowd": 0, - "image_id": 641, - "bbox": [606.61, 231.89, 7.13, 14.45], - "category_id": 1, - "id": 1693001, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 358.5251500000001, - "iscrowd": 0, - "image_id": 641, - "bbox": [26.91, 207.55, 29.39, 23.0], - "category_id": 1, - "id": 1695641, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 336.1246500000002, - "iscrowd": 0, - "image_id": 641, - "bbox": [3.82, 209.9, 20.4, 22.96], - "category_id": 1, - "id": 1696414, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 63.82190000000003, - "iscrowd": 0, - "image_id": 641, - "bbox": [0.0, 220.97, 6.32, 18.94], - "category_id": 1, - "id": 1700346, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2733.7126500000004, - "iscrowd": 0, - "image_id": 661, - "bbox": [85.11, 4.42, 111.24, 44.67], - "category_id": 77, - "id": 324838, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 68431.64160000002, - "iscrowd": 0, - "image_id": 661, - "bbox": [58.15, 45.37, 337.07, 289.04], - "category_id": 54, - "id": 1553212, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 72647.79235000008, - "iscrowd": 0, - "image_id": 675, - "bbox": [247.71, 81.3, 392.29, 391.6], - "category_id": 17, - "id": 46990, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 34543.32345000001, - "iscrowd": 0, - "image_id": 675, - "bbox": [330.07, 212.49, 308.49, 262.12], - "category_id": 65, - "id": 317677, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 702.4128000000001, - "iscrowd": 0, - "image_id": 675, - "bbox": [99.84, 232.35, 34.79, 25.58], - "category_id": 77, - "id": 323793, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 5433.519349999999, - "iscrowd": 0, - "image_id": 675, - "bbox": [245.34, 209.84, 69.65, 98.5], - "category_id": 47, - "id": 677699, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 3709.5872499999996, - "iscrowd": 0, - "image_id": 675, - "bbox": [147.74, 231.28, 56.88, 73.37], - "category_id": 47, - "id": 681687, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1971.8176500000006, - "iscrowd": 0, - "image_id": 675, - "bbox": [164.37, 179.04, 46.55, 90.39], - "category_id": 44, - "id": 1868849, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 312.3212500000009, - "iscrowd": 0, - "image_id": 692, - "bbox": [319.39, 263.78, 37.77, 33.79], - "category_id": 90, - "id": 341792, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 265.0874000000003, - "iscrowd": 0, - "image_id": 692, - "bbox": [382.0, 338.04, 22.31, 29.38], - "category_id": 90, - "id": 1997666, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 84122.97055000001, - "iscrowd": 0, - "image_id": 692, - "bbox": [189.42, 30.26, 429.41, 428.34], - "category_id": 1, - "id": 472014, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 43507.77150000001, - "iscrowd": 0, - "image_id": 692, - "bbox": [209.87, 129.27, 307.8, 343.32], - "category_id": 1, - "id": 478463, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 29550.117049999993, - "iscrowd": 0, - "image_id": 693, - "bbox": [334.71, 38.47, 173.12, 316.43], - "category_id": 1, - "id": 439854, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 8896.383499999994, - "iscrowd": 0, - "image_id": 693, - "bbox": [412.64, 193.67, 125.51, 198.6], - "category_id": 41, - "id": 639042, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 13426.686899999992, - "iscrowd": 0, - "image_id": 693, - "bbox": [1.13, 190.22, 247.97, 137.01], - "category_id": 41, - "id": 642848, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 20990.221149999998, - "iscrowd": 0, - "image_id": 693, - "bbox": [0.96, 220.25, 236.6, 190.44], - "category_id": 41, - "id": 645859, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 5418.764650000001, - "iscrowd": 0, - "image_id": 693, - "bbox": [167.19, 19.83, 125.4, 153.27], - "category_id": 41, - "id": 646086, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1914.639449999999, - "iscrowd": 0, - "image_id": 693, - "bbox": [217.24, 48.93, 91.56, 89.91], - "category_id": 41, - "id": 646287, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1609.8064499999991, - "iscrowd": 0, - "image_id": 693, - "bbox": [236.35, 0.0, 88.94, 77.36], - "category_id": 41, - "id": 1473659, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 9259.03645, - "iscrowd": 0, - "image_id": 693, - "bbox": [66.7, 92.27, 192.32, 124.51], - "category_id": 41, - "id": 1860388, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 10227.800400000002, - "iscrowd": 0, - "image_id": 693, - "bbox": [17.84, 122.61, 201.02, 142.72], - "category_id": 41, - "id": 1860623, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 5918.660449999999, - "iscrowd": 0, - "image_id": 693, - "bbox": [108.07, 58.11, 156.78, 130.17], - "category_id": 41, - "id": 1861718, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1286.6444000000001, - "iscrowd": 0, - "image_id": 693, - "bbox": [222.46, 36.1, 71.24, 78.42], - "category_id": 41, - "id": 1861777, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1369.6453499999998, - "iscrowd": 0, - "image_id": 693, - "bbox": [217.87, 0.0, 82.98, 64.55], - "category_id": 41, - "id": 1861873, - "ignore": 0, - "_ignore": 1 - } - ], - "categories": [ - { "supercategory": "person", "id": 1, "name": "person" }, - { "supercategory": "vehicle", "id": 2, "name": "bicycle" }, - { "supercategory": "vehicle", "id": 3, "name": "car" }, - { "supercategory": "vehicle", "id": 4, "name": "motorcycle" }, - { "supercategory": "vehicle", "id": 5, "name": "airplane" }, - { "supercategory": "vehicle", "id": 6, "name": "bus" }, - { "supercategory": "vehicle", "id": 7, "name": "train" }, - { "supercategory": "vehicle", "id": 8, "name": "truck" }, - { "supercategory": "vehicle", "id": 9, "name": "boat" }, - { "supercategory": "outdoor", "id": 10, "name": "traffic light" }, - { "supercategory": "outdoor", "id": 11, "name": "fire hydrant" }, - { "supercategory": "outdoor", "id": 13, "name": "stop sign" }, - { "supercategory": "outdoor", "id": 14, "name": "parking meter" }, - { "supercategory": "outdoor", "id": 15, "name": "bench" }, - { "supercategory": "animal", "id": 16, "name": "bird" }, - { "supercategory": "animal", "id": 17, "name": "cat" }, - { "supercategory": "animal", "id": 18, "name": "dog" }, - { "supercategory": "animal", "id": 19, "name": "horse" }, - { "supercategory": "animal", "id": 20, "name": "sheep" }, - { "supercategory": "animal", "id": 21, "name": "cow" }, - { "supercategory": "animal", "id": 22, "name": "elephant" }, - { "supercategory": "animal", "id": 23, "name": "bear" }, - { "supercategory": "animal", "id": 24, "name": "zebra" }, - { "supercategory": "animal", "id": 25, "name": "giraffe" }, - { "supercategory": "accessory", "id": 27, "name": "backpack" }, - { "supercategory": "accessory", "id": 28, "name": "umbrella" }, - { "supercategory": "accessory", "id": 31, "name": "handbag" }, - { "supercategory": "accessory", "id": 32, "name": "tie" }, - { "supercategory": "accessory", "id": 33, "name": "suitcase" }, - { "supercategory": "sports", "id": 34, "name": "frisbee" }, - { "supercategory": "sports", "id": 35, "name": "skis" }, - { "supercategory": "sports", "id": 36, "name": "snowboard" }, - { "supercategory": "sports", "id": 37, "name": "sports ball" }, - { "supercategory": "sports", "id": 38, "name": "kite" }, - { "supercategory": "sports", "id": 39, "name": "baseball bat" }, - { "supercategory": "sports", "id": 40, "name": "baseball glove" }, - { "supercategory": "sports", "id": 41, "name": "skateboard" }, - { "supercategory": "sports", "id": 42, "name": "surfboard" }, - { "supercategory": "sports", "id": 43, "name": "tennis racket" }, - { "supercategory": "kitchen", "id": 44, "name": "bottle" }, - { "supercategory": "kitchen", "id": 46, "name": "wine glass" }, - { "supercategory": "kitchen", "id": 47, "name": "cup" }, - { "supercategory": "kitchen", "id": 48, "name": "fork" }, - { "supercategory": "kitchen", "id": 49, "name": "knife" }, - { "supercategory": "kitchen", "id": 50, "name": "spoon" }, - { "supercategory": "kitchen", "id": 51, "name": "bowl" }, - { "supercategory": "food", "id": 52, "name": "banana" }, - { "supercategory": "food", "id": 53, "name": "apple" }, - { "supercategory": "food", "id": 54, "name": "sandwich" }, - { "supercategory": "food", "id": 55, "name": "orange" }, - { "supercategory": "food", "id": 56, "name": "broccoli" }, - { "supercategory": "food", "id": 57, "name": "carrot" }, - { "supercategory": "food", "id": 58, "name": "hot dog" }, - { "supercategory": "food", "id": 59, "name": "pizza" }, - { "supercategory": "food", "id": 60, "name": "donut" }, - { "supercategory": "food", "id": 61, "name": "cake" }, - { "supercategory": "furniture", "id": 62, "name": "chair" }, - { "supercategory": "furniture", "id": 63, "name": "couch" }, - { "supercategory": "furniture", "id": 64, "name": "potted plant" }, - { "supercategory": "furniture", "id": 65, "name": "bed" }, - { "supercategory": "furniture", "id": 67, "name": "dining table" }, - { "supercategory": "furniture", "id": 70, "name": "toilet" }, - { "supercategory": "electronic", "id": 72, "name": "tv" }, - { "supercategory": "electronic", "id": 73, "name": "laptop" }, - { "supercategory": "electronic", "id": 74, "name": "mouse" }, - { "supercategory": "electronic", "id": 75, "name": "remote" }, - { "supercategory": "electronic", "id": 76, "name": "keyboard" }, - { "supercategory": "electronic", "id": 77, "name": "cell phone" }, - { "supercategory": "appliance", "id": 78, "name": "microwave" }, - { "supercategory": "appliance", "id": 79, "name": "oven" }, - { "supercategory": "appliance", "id": 80, "name": "toaster" }, - { "supercategory": "appliance", "id": 81, "name": "sink" }, - { "supercategory": "appliance", "id": 82, "name": "refrigerator" }, - { "supercategory": "indoor", "id": 84, "name": "book" }, - { "supercategory": "indoor", "id": 85, "name": "clock" }, - { "supercategory": "indoor", "id": 86, "name": "vase" }, - { "supercategory": "indoor", "id": 87, "name": "scissors" }, - { "supercategory": "indoor", "id": 88, "name": "teddy bear" }, - { "supercategory": "indoor", "id": 89, "name": "hair drier" }, - { "supercategory": "indoor", "id": 90, "name": "toothbrush" } - ], - "images": [ - { "id": 257 }, - { "id": 641 }, - { "id": 387 }, - { "id": 133 }, - { "id": 136 }, - { "id": 520 }, - { "id": 139 }, - { "id": 395 }, - { "id": 397 }, - { "id": 143 }, - { "id": 400 }, - { "id": 661 }, - { "id": 536 }, - { "id": 283 }, - { "id": 285 }, - { "id": 415 }, - { "id": 544 }, - { "id": 675 }, - { "id": 164 }, - { "id": 294 }, - { "id": 42 }, - { "id": 428 }, - { "id": 564 }, - { "id": 692 }, - { "id": 693 }, - { "id": 569 }, - { "id": 192 }, - { "id": 196 }, - { "id": 328 }, - { "id": 73 }, - { "id": 74 }, - { "id": 459 }, - { "id": 589 }, - { "id": 590 }, - { "id": 208 }, - { "id": 338 }, - { "id": 599 }, - { "id": 472 }, - { "id": 474 }, - { "id": 357 }, - { "id": 486 }, - { "id": 359 }, - { "id": 360 }, - { "id": 488 }, - { "id": 623 }, - { "id": 241 }, - { "id": 626 }, - { "id": 502 }, - { "id": 632 }, - { "id": 636 } - ] -} From 5e212ed5e265a81cba8f80e89810b8c76214b039 Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Thu, 19 Aug 2021 14:13:49 +0530 Subject: [PATCH 25/33] aded option to remove area and crowd --- ignite/metrics/mean_average_precision.py | 67 +- tests/ignite/metrics/dt.json | 3413 ++++++++++++ tests/ignite/metrics/gt.json | 4928 +++++++++++++++++ .../metrics/test_mean_average_precision.py | 23 +- 4 files changed, 8402 insertions(+), 29 deletions(-) create mode 100644 tests/ignite/metrics/dt.json create mode 100644 tests/ignite/metrics/gt.json diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index da18a77c9c0a..77d3327fd647 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -16,11 +16,14 @@ def _iou(y: torch.Tensor, y_pred: torch.Tensor, crowd: List) -> torch.Tensor: # bbox format : (xmin, ymin, width, height) for g in range(n): - y_bbox = y[g].tolist() + y_bbox = y[g][2:6].tolist() y_area = y_bbox[2] * y_bbox[3] - iscrowd = crowd[g] + if crowd != []: + iscrowd = crowd[g] + else: + iscrowd = 0 for d in range(m): - y_pred_bbox = y_pred[d].tolist() + y_pred_bbox = y_pred[d][2:6].tolist() y_pred_area = y_pred_bbox[2] * y_pred_bbox[3] ious[d, g] = 0 w = min(y_pred_bbox[2] + y_pred_bbox[0], y_bbox[2] + y_bbox[0]) - max(y_pred_bbox[0], y_bbox[0]) @@ -81,7 +84,7 @@ class MeanAveragePrecision(Metric): from ignite.metrics import MeanAveragePrecision # Detection Format: - # (id, class, xmin, ymin, width, height, area, crowd, ignore/confidence) + # (id, class, xmin, ymin, width, height, ignore/confidence, area, crowd) # area: refers to the area covered by the bounding box, is usually # height * width, except when crowd is 1. # crowd: refers to if the detection is completely independent of other @@ -149,10 +152,12 @@ def __init__( self.__id = 0 self.__category_id = 1 self.__xmin = 2 - self.__area = 6 - self.__crowd = 7 - self.__ignore = 8 - self.__confidence = 8 + self.__width = 4 + self.__height = 5 + self.__area = 7 + self.__crowd = 8 + self.__ignore = 6 + self.__confidence = 6 super(MeanAveragePrecision, self).__init__(output_transform=output_transform, device=device) @@ -168,23 +173,25 @@ def _check_object_area_ranges(self) -> None: def update(self, output: Tuple[torch.Tensor, torch.Tensor]) -> None: y_pred_img, y_img = output - if len(y_pred_img.shape) != 2 or y_pred_img.shape[1] != 9: - raise ValueError(f"detections_tensor should be of size [num_detections, 9], got {y_pred_img.shape}") + if len(y_pred_img.shape) != 2 or y_pred_img.shape[1] not in [7, 9]: + raise ValueError(f"detections_tensor should be of size [num_detections, 7/9], got {y_pred_img.shape}") + + if len(y_img.shape) != 2 or y_img.shape[1] not in [7, 9]: + raise ValueError(f"ground_truths should be of size [num_detections, 7/9], got {y_img.shape}") - if len(y_img.shape) != 2 or y_img.shape[1] != 9: - raise ValueError(f"ground_truths should be of size [num_detections, 9], got {y_img.shape}") + detection_size = y_img.shape[1] y_pred_img = y_pred_img.to(self._device) y_img = y_img.to(self._device) categories = set() - categorywise_y: defaultdict = defaultdict(lambda: torch.zeros(0, 9).to(self._device)) + categorywise_y: defaultdict = defaultdict(lambda: torch.zeros(0, detection_size).to(self._device)) for y in y_img: category_id = int(y[self.__category_id]) categories.add(category_id) categorywise_y[category_id] = torch.vstack([categorywise_y[category_id], y]) - categorywise_y_pred: defaultdict = defaultdict(lambda: torch.zeros(0, 9).to(self._device)) + categorywise_y_pred: defaultdict = defaultdict(lambda: torch.zeros(0, detection_size).to(self._device)) for y_pred in y_pred_img: category_id = int(y_pred[self.__category_id]) categories.add(category_id) @@ -213,10 +220,13 @@ def _compute_iou(self, y: torch.Tensor, y_pred: torch.Tensor) -> torch.Tensor: # Sort predictions by confidence. y_pred = y_pred[torch.argsort(-y_pred[:, self.__confidence])] - crowd = [g[self.__crowd] for g in y] + if y.shape[1] == 9: + crowd = [g[self.__crowd] for g in y] + else: + crowd = [] # Pass the bounding boxes for ground truths and predictions and crowd to obtain ious.y - ious = _iou(y[:, self.__xmin : self.__area], y_pred[:, self.__xmin : self.__area], crowd).to(self._device) + ious = _iou(y, y_pred, crowd).to(self._device) return ious @@ -232,7 +242,11 @@ def _evaluate_image_matches( # assign which detections in y are ignored for evaluating matches y_ignore = torch.zeros(len(y)) for i, g in enumerate(y): - if g[self.__ignore] or (g[self.__area] < area_rng[0] or g[self.__area] > area_rng[1]): + if len(g) == 9: + g_area = g[self.__area] + else: + g_area = g[self.__width] * g[self.__height] + if g[self.__ignore] or (g_area < area_rng[0] or g_area > area_rng[1]): y_ignore[i] = 1 else: y_ignore[i] = 0 @@ -244,7 +258,10 @@ def _evaluate_image_matches( # Sort y_pred according to confidence since we are using a greedy matching approach y_pred = y_pred[torch.argsort(-y_pred[:, self.__confidence])] - iscrowd = y[:, self.__crowd] + if y.shape[1] == 9: + iscrowd = y[:, self.__crowd] + else: + iscrowd = torch.zeros(len(y)) # Sort ious accordingly ious = ious[:, y_ind] if len(ious) > 0 else ious @@ -282,9 +299,17 @@ def _evaluate_image_matches( ym[tind, m] = d[self.__id] # Sort the results area_wise, helps in future calculation of areawise mAP. - a = torch.tensor([d[self.__area] < area_rng[0] or d[self.__area] > area_rng[1] for d in y_pred]).reshape( - (1, len(y_pred)) - ) + d_area_ignore = torch.zeros(len(y_pred)) + for i, d in enumerate(y_pred): + if len(d) == 9: + d_area = d[self.__area] + else: + d_area = d[self.__width] * d[self.__height] + if d_area < area_rng[0] or d_area > area_rng[1]: + d_area_ignore[i] = 1 + else: + d_area_ignore[i] = 0 + a = torch.tensor(d_area_ignore).reshape((1, len(y_pred))) a = a.to(self._device) y_pred_ignore = torch.logical_or( diff --git a/tests/ignite/metrics/dt.json b/tests/ignite/metrics/dt.json new file mode 100644 index 000000000000..0cb2c669213e --- /dev/null +++ b/tests/ignite/metrics/dt.json @@ -0,0 +1,3413 @@ +[ + { + "image_id": 42, + "category_id": 18, + "bbox": [258.15, 41.29, 348.26, 243.78], + "score": 0.236, + "area": 84898.8228, + "id": 1, + "iscrowd": 0 + }, + { + "image_id": 73, + "category_id": 11, + "bbox": [61, 22.75, 504, 609.67], + "score": 0.318, + "area": 307273.68, + "id": 2, + "iscrowd": 0 + }, + { + "image_id": 73, + "category_id": 4, + "bbox": [12.66, 3.32, 268.6, 271.91], + "score": 0.726, + "area": 73035.02600000001, + "id": 3, + "iscrowd": 0 + }, + { + "image_id": 74, + "category_id": 18, + "bbox": [87.87, 276.25, 296.42, 103.18], + "score": 0.546, + "area": 30584.615600000005, + "id": 4, + "iscrowd": 0 + }, + { + "image_id": 74, + "category_id": 2, + "bbox": [0, 3.66, 142.15, 312.4], + "score": 0.3, + "area": 44407.659999999996, + "id": 5, + "iscrowd": 0 + }, + { + "image_id": 74, + "category_id": 1, + "bbox": [296.55, 93.96, 18.42, 58.83], + "score": 0.407, + "area": 1083.6486, + "id": 6, + "iscrowd": 0 + }, + { + "image_id": 74, + "category_id": 1, + "bbox": [328.94, 97.05, 13.55, 25.93], + "score": 0.611, + "area": 351.3515, + "id": 7, + "iscrowd": 0 + }, + { + "image_id": 74, + "category_id": 1, + "bbox": [356.62, 95.47, 15.71, 52.08], + "score": 0.335, + "area": 818.1768000000001, + "id": 8, + "iscrowd": 0 + }, + { + "image_id": 74, + "category_id": 1, + "bbox": [464.08, 105.09, 31.66, 41.9], + "score": 0.805, + "area": 1326.5539999999999, + "id": 9, + "iscrowd": 0 + }, + { + "image_id": 74, + "category_id": 1, + "bbox": [276.11, 103.84, 15.33, 46.88], + "score": 0.953, + "area": 718.6704000000001, + "id": 10, + "iscrowd": 0 + }, + { + "image_id": 74, + "category_id": 1, + "bbox": [281.65, 103.41, 11.69, 24.25], + "score": 0.087, + "area": 283.4825, + "id": 11, + "iscrowd": 0 + }, + { + "image_id": 133, + "category_id": 65, + "bbox": [0, 2.87, 601, 418.65], + "score": 0.699, + "area": 251608.65, + "id": 12, + "iscrowd": 0 + }, + { + "image_id": 133, + "category_id": 88, + "bbox": [521.34, 20.93, 47.95, 28.72], + "score": 0.423, + "area": 1377.124, + "id": 13, + "iscrowd": 0 + }, + { + "image_id": 136, + "category_id": 16, + "bbox": [8.84, 114.71, 53.54, 257.7], + "score": 0.473, + "area": 13797.258, + "id": 14, + "iscrowd": 0 + }, + { + "image_id": 136, + "category_id": 1, + "bbox": [9, 61.35, 68.92, 312.65], + "score": 0.796, + "area": 21547.838, + "id": 15, + "iscrowd": 0 + }, + { + "image_id": 136, + "category_id": 38, + "bbox": [101, 116.38, 185.74, 252.68], + "score": 0.127, + "area": 46932.783200000005, + "id": 16, + "iscrowd": 0 + }, + { + "image_id": 136, + "category_id": 25, + "bbox": [315.72, 131.83, 128.04, 164.25], + "score": 0.326, + "area": 21030.57, + "id": 17, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 64, + "bbox": [236.98, 142.51, 24.7, 69.5], + "score": 0.221, + "area": 1716.6499999999999, + "id": 18, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 37, + "bbox": [20.03, 167.76, 149.32, 94.87], + "score": 0.849, + "area": 14165.9884, + "id": 19, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 72, + "bbox": [559.21, 209.19, 80.79, 78.73], + "score": 0.518, + "area": 6360.596700000001, + "id": 20, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 13, + "bbox": [352.98, 218.05, 56, 102.83], + "score": 0.477, + "area": 5758.48, + "id": 21, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 62, + "bbox": [292.69, 218, 61.83, 98.48], + "score": 0.38, + "area": 6089.0184, + "id": 22, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 62, + "bbox": [410.2, 223.01, 30.17, 81.36], + "score": 0.864, + "area": 2454.6312000000003, + "id": 23, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 62, + "bbox": [317.4, 219.24, 21.58, 11.59], + "score": 0.401, + "area": 250.11219999999997, + "id": 24, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 62, + "bbox": [413.25, 219.02, 9.63, 12.52], + "score": 0.375, + "area": 120.5676, + "id": 25, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 1, + "bbox": [413.8, 157.61, 53.05, 138.01], + "score": 0.157, + "area": 7321.4304999999995, + "id": 26, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 1, + "bbox": [386.43, 172.21, 15.12, 35.74], + "score": 0.71, + "area": 540.3888, + "id": 27, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 78, + "bbox": [513.22, 205.75, 14.74, 15.97], + "score": 0.075, + "area": 235.39780000000002, + "id": 28, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 82, + "bbox": [492.1, 174.34, 20.29, 108.31], + "score": 0.26, + "area": 2197.6099, + "id": 29, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 85, + "bbox": [446.77, 121.12, 13.97, 21.88], + "score": 0.164, + "area": 305.6636, + "id": 30, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 86, + "bbox": [539.06, 309.43, 36.68, 89.67], + "score": 0.806, + "area": 3289.0956, + "id": 31, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 86, + "bbox": [349.76, 208.84, 11.37, 22.55], + "score": 0.474, + "area": 256.3935, + "id": 32, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 11, + "bbox": [337.79, 199.5, 9.73, 16.73], + "score": 0.532, + "area": 162.7829, + "id": 33, + "iscrowd": 0 + }, + { + "image_id": 139, + "category_id": 61, + "bbox": [305.21, 231.22, 125.56, 88.93], + "score": 0.106, + "area": 11166.0508, + "id": 34, + "iscrowd": 0 + }, + { + "image_id": 143, + "category_id": 16, + "bbox": [441.88, 192.47, 131.18, 176.35], + "score": 0.829, + "area": 23133.593, + "id": 35, + "iscrowd": 0 + }, + { + "image_id": 143, + "category_id": 16, + "bbox": [275.59, 126.88, 100, 162.77], + "score": 0.755, + "area": 16277.000000000002, + "id": 36, + "iscrowd": 0 + }, + { + "image_id": 143, + "category_id": 16, + "bbox": [45.96, 20.22, 95.5, 133.71], + "score": 0.144, + "area": 12769.305, + "id": 37, + "iscrowd": 0 + }, + { + "image_id": 143, + "category_id": 16, + "bbox": [123.18, 237.43, 114.24, 134.32], + "score": 0.878, + "area": 15344.716799999998, + "id": 38, + "iscrowd": 0 + }, + { + "image_id": 143, + "category_id": 16, + "bbox": [468.71, 320.79, 94.24, 154.59], + "score": 0.756, + "area": 14568.561599999999, + "id": 39, + "iscrowd": 0 + }, + { + "image_id": 143, + "category_id": 1, + "bbox": [124.19, 104.46, 95.77, 167.42], + "score": 0.523, + "area": 16033.813399999997, + "id": 40, + "iscrowd": 0 + }, + { + "image_id": 143, + "category_id": 35, + "bbox": [129.08, 319.22, 92.28, 161.25], + "score": 0.42, + "area": 14880.15, + "id": 41, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 44, + "bbox": [388.84, 183.92, 8.02, 26.87], + "score": 0.923, + "area": 215.4974, + "id": 42, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 44, + "bbox": [374.4, 189.64, 6.87, 20.93], + "score": 0.46, + "area": 143.7891, + "id": 43, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 44, + "bbox": [366.79, 184.72, 7.05, 27.54], + "score": 0.168, + "area": 194.15699999999998, + "id": 44, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 44, + "bbox": [383.16, 187.56, 7.21, 24.24], + "score": 0.084, + "area": 174.7704, + "id": 45, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 44, + "bbox": [428.79, 280.36, 18.32, 31.37], + "score": 0.145, + "area": 574.6984, + "id": 46, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 44, + "bbox": [463.1, 282.68, 9.92, 36.55], + "score": 0.263, + "area": 362.57599999999996, + "id": 47, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 44, + "bbox": [401.87, 161.68, 9.4, 17.1], + "score": 0.917, + "area": 160.74, + "id": 48, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 44, + "bbox": [374.61, 135.8, 10.49, 15.16], + "score": 0.805, + "area": 159.0284, + "id": 49, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 44, + "bbox": [413.11, 131.22, 10.65, 16.86], + "score": 0.863, + "area": 179.559, + "id": 50, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 82, + "bbox": [439.7, 171.07, 96.72, 138.04], + "score": 0.178, + "area": 13351.228799999999, + "id": 51, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 57, + "bbox": [404.56, 132.62, 9.78, 15.75], + "score": 0.155, + "area": 154.035, + "id": 52, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 62, + "bbox": [173.04, 409.16, 151.36, 70.84], + "score": 0.3, + "area": 10722.342400000001, + "id": 53, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 62, + "bbox": [158.47, 231.64, 21.72, 21.24], + "score": 0.438, + "area": 461.33279999999996, + "id": 54, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 46, + "bbox": [154.96, 189.95, 12.83, 28.26], + "score": 0.125, + "area": 362.5758, + "id": 55, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 46, + "bbox": [108.42, 196.32, 14.31, 33.4], + "score": 0.631, + "area": 477.954, + "id": 56, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 46, + "bbox": [57.59, 196.12, 19.66, 37.63], + "score": 0.04, + "area": 739.8058000000001, + "id": 57, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 46, + "bbox": [81.76, 195.46, 15.44, 39.6], + "score": 0.048, + "area": 611.424, + "id": 58, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 46, + "bbox": [94.89, 196.13, 11.83, 36.93], + "score": 0.679, + "area": 436.8819, + "id": 59, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 46, + "bbox": [77.17, 194.99, 10.84, 39.68], + "score": 0.883, + "area": 430.1312, + "id": 60, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 46, + "bbox": [134.3, 192.93, 10.75, 35.37], + "score": 0.154, + "area": 380.22749999999996, + "id": 61, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 28, + "bbox": [140.01, 190.76, 16.1, 36.54], + "score": 0.134, + "area": 588.294, + "id": 62, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 47, + "bbox": [148.61, 233.85, 26.78, 20.8], + "score": 0.269, + "area": 557.024, + "id": 63, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 47, + "bbox": [176.77, 232.66, 20.14, 16.13], + "score": 0.616, + "area": 324.8582, + "id": 64, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 47, + "bbox": [195.65, 228.88, 19.99, 15.51], + "score": 0.845, + "area": 310.0449, + "id": 65, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 47, + "bbox": [512.83, 134.18, 15.4, 21.38], + "score": 0.231, + "area": 329.252, + "id": 66, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 47, + "bbox": [529.63, 139.85, 15.19, 13.71], + "score": 0.71, + "area": 208.2549, + "id": 67, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 47, + "bbox": [505.11, 146.68, 6.26, 8.2], + "score": 0.301, + "area": 51.331999999999994, + "id": 68, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 47, + "bbox": [172.77, 203.22, 17.75, 18.85], + "score": 0.302, + "area": 334.58750000000003, + "id": 69, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 47, + "bbox": [135.77, 233.33, 15.32, 20.21], + "score": 0.96, + "area": 309.6172, + "id": 70, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 58, + "bbox": [113.56, 236.81, 23.23, 19.52], + "score": 0.062, + "area": 453.4496, + "id": 71, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 51, + "bbox": [513.25, 221.5, 56.15, 10.53], + "score": 0.347, + "area": 591.2595, + "id": 72, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 51, + "bbox": [503.95, 211.57, 29.18, 4.68], + "score": 0.364, + "area": 136.5624, + "id": 73, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 51, + "bbox": [505.14, 219.24, 56.89, 4.21], + "score": 0.089, + "area": 239.5069, + "id": 74, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 51, + "bbox": [511.83, 212.69, 55.62, 6.07], + "score": 0.084, + "area": 337.6134, + "id": 75, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 78, + "bbox": [380.72, 227.45, 53.28, 30.36], + "score": 0.856, + "area": 1617.5808, + "id": 76, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 79, + "bbox": [273.61, 263.38, 46.82, 34.22], + "score": 0.5, + "area": 1602.1804, + "id": 77, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 22, + "bbox": [514.26, 215.43, 52.03, 5.24], + "score": 0.853, + "area": 272.6372, + "id": 78, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 74, + "bbox": [362.88, 171.41, 13.36, 9.05], + "score": 0.704, + "area": 120.908, + "id": 79, + "iscrowd": 0 + }, + { + "image_id": 164, + "category_id": 67, + "bbox": [364.78, 459.12, 137.14, 14.96], + "score": 0.236, + "area": 2051.6144, + "id": 80, + "iscrowd": 0 + }, + { + "image_id": 192, + "category_id": 1, + "bbox": [341.48, 253.48, 131.6, 220.05], + "score": 0.123, + "area": 28958.58, + "id": 81, + "iscrowd": 0 + }, + { + "image_id": 192, + "category_id": 1, + "bbox": [448.21, 218.33, 78.41, 248.03], + "score": 0.864, + "area": 19448.0323, + "id": 82, + "iscrowd": 0 + }, + { + "image_id": 192, + "category_id": 1, + "bbox": [0.93, 274.23, 36.53, 205.51], + "score": 0.919, + "area": 7507.2803, + "id": 83, + "iscrowd": 0 + }, + { + "image_id": 192, + "category_id": 1, + "bbox": [255.11, 179.46, 111.35, 235.68], + "score": 0.222, + "area": 26242.968, + "id": 84, + "iscrowd": 0 + }, + { + "image_id": 192, + "category_id": 39, + "bbox": [9.2, 381.39, 36, 92.98], + "score": 0.054, + "area": 3347.28, + "id": 85, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 50, + "bbox": [285.73, 200.54, 210.81, 48.65], + "score": 0.574, + "area": 10255.9065, + "id": 86, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 50, + "bbox": [548.65, 250.15, 73.72, 122.35], + "score": 0.851, + "area": 9019.642, + "id": 87, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 50, + "bbox": [470.49, 390.81, 121.54, 88.15], + "score": 0.138, + "area": 10713.751000000002, + "id": 88, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 50, + "bbox": [524.71, 129.89, 19.64, 9.29], + "score": 0.081, + "area": 182.45559999999998, + "id": 89, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 57, + "bbox": [443.17, 363.72, 22.98, 42.51], + "score": 0.405, + "area": 976.8797999999999, + "id": 90, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 57, + "bbox": [392.24, 374.67, 24.62, 53.82], + "score": 0.948, + "area": 1325.0484000000001, + "id": 91, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 57, + "bbox": [411.55, 404.5, 55.98, 30.74], + "score": 0.876, + "area": 1720.8251999999998, + "id": 92, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 57, + "bbox": [459.6, 401.48, 26.37, 31.69], + "score": 0.361, + "area": 835.6653000000001, + "id": 93, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 57, + "bbox": [412.04, 417.75, 13.64, 31.75], + "score": 0.963, + "area": 433.07, + "id": 94, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 57, + "bbox": [577.34, 377.01, 12.18, 15.03], + "score": 0.972, + "area": 183.06539999999998, + "id": 95, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 57, + "bbox": [368.9, 388.96, 31.37, 27.25], + "score": 0.183, + "area": 854.8325, + "id": 96, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 57, + "bbox": [165.75, 359.55, 41.76, 41.77], + "score": 0.036, + "area": 1744.3152, + "id": 97, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 57, + "bbox": [435.1, 446.58, 20.64, 10.6], + "score": 0.033, + "area": 218.784, + "id": 98, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 46, + "bbox": [232.52, 42.78, 71.44, 43.44], + "score": 0.536, + "area": 3103.3536, + "id": 99, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 51, + "bbox": [277.91, 58.21, 128.58, 62.76], + "score": 0.213, + "area": 8069.6808, + "id": 100, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 51, + "bbox": [219.69, 197.88, 169.4, 86.23], + "score": 0.227, + "area": 14607.362000000001, + "id": 101, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 51, + "bbox": [376.02, 337.26, 161.24, 139.17], + "score": 0.111, + "area": 22439.7708, + "id": 102, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 51, + "bbox": [321.22, 157.3, 132.68, 69.04], + "score": 0.122, + "area": 9160.227200000001, + "id": 103, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 51, + "bbox": [349.69, 115.74, 151.25, 64.57], + "score": 0.47, + "area": 9766.2125, + "id": 104, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 51, + "bbox": [183.83, 72.85, 88.39, 33.07], + "score": 0.621, + "area": 2923.0573, + "id": 105, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 51, + "bbox": [358.33, 47.29, 92.99, 62.87], + "score": 0.43, + "area": 5846.2813, + "id": 106, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 51, + "bbox": [105.26, 88.64, 96.13, 39.34], + "score": 0.62, + "area": 3781.7542000000003, + "id": 107, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 51, + "bbox": [0, 145.79, 71.35, 73.52], + "score": 0.587, + "area": 5245.651999999999, + "id": 108, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 10, + "bbox": [421.99, 236.14, 144.88, 113.72], + "score": 0.888, + "area": 16475.7536, + "id": 109, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 56, + "bbox": [200.46, 254.35, 18.25, 31.59], + "score": 0.958, + "area": 576.5175, + "id": 110, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 56, + "bbox": [281.51, 393.55, 37.68, 28.9], + "score": 0.892, + "area": 1088.952, + "id": 111, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 56, + "bbox": [172.36, 269.84, 21.54, 29.09], + "score": 0.108, + "area": 626.5985999999999, + "id": 112, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 56, + "bbox": [119.3, 340.83, 40, 25.45], + "score": 0.593, + "area": 1018.0, + "id": 113, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 56, + "bbox": [250.3, 325.7, 24.42, 20.53], + "score": 0.479, + "area": 501.34260000000006, + "id": 114, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 56, + "bbox": [288.99, 290.28, 17.52, 33.3], + "score": 0.767, + "area": 583.4159999999999, + "id": 115, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 56, + "bbox": [150.98, 262.69, 16.43, 13.92], + "score": 0.277, + "area": 228.7056, + "id": 116, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 70, + "bbox": [0, 41.94, 555, 438.06], + "score": 0.539, + "area": 243123.3, + "id": 117, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 6, + "bbox": [214.7, 407.69, 84.78, 66.08], + "score": 0.03, + "area": 5602.2624, + "id": 118, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 16, + "bbox": [25.84, 109.71, 117.18, 60.2], + "score": 0.896, + "area": 7054.236000000001, + "id": 119, + "iscrowd": 0 + }, + { + "image_id": 196, + "category_id": 43, + "bbox": [6, 188.89, 172.64, 92.01], + "score": 0.624, + "area": 15884.606399999999, + "id": 120, + "iscrowd": 0 + }, + { + "image_id": 208, + "category_id": 81, + "bbox": [52.08, 108.94, 587.92, 366.75], + "score": 0.476, + "area": 215619.65999999997, + "id": 121, + "iscrowd": 0 + }, + { + "image_id": 208, + "category_id": 49, + "bbox": [0, 150.36, 299.55, 109.76], + "score": 0.287, + "area": 32878.608, + "id": 122, + "iscrowd": 0 + }, + { + "image_id": 208, + "category_id": 90, + "bbox": [133.81, 170.21, 191.76, 88.89], + "score": 0.495, + "area": 17045.5464, + "id": 123, + "iscrowd": 0 + }, + { + "image_id": 208, + "category_id": 90, + "bbox": [42.35, 122.18, 158.34, 82.29], + "score": 0.126, + "area": 13029.798600000002, + "id": 124, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 63, + "bbox": [333.46, 250.92, 146.54, 296.02], + "score": 0.674, + "area": 43378.7708, + "id": 125, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 63, + "bbox": [0, 278.19, 142.45, 260.43], + "score": 0.434, + "area": 37098.2535, + "id": 126, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 1, + "bbox": [147.7, 6.57, 200.43, 626.17], + "score": 0.857, + "area": 125503.2531, + "id": 127, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 1, + "bbox": [4.44, 263.55, 205.66, 348.05], + "score": 0.25, + "area": 71579.963, + "id": 128, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 1, + "bbox": [307.71, 263.06, 107.15, 257.15], + "score": 0.622, + "area": 27553.622499999998, + "id": 129, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 1, + "bbox": [407.51, 337.98, 72.49, 230.11], + "score": 0.319, + "area": 16680.6739, + "id": 130, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 47, + "bbox": [106.72, 595.29, 50.72, 44.71], + "score": 0.986, + "area": 2267.6912, + "id": 131, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 47, + "bbox": [0, 596.49, 39.42, 43.51], + "score": 0.097, + "area": 1715.1642, + "id": 132, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 75, + "bbox": [116.1, 321.7, 44.12, 22.16], + "score": 0.703, + "area": 977.6991999999999, + "id": 133, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 64, + "bbox": [88.85, 71.11, 109.84, 201.2], + "score": 0.748, + "area": 22099.808, + "id": 134, + "iscrowd": 0 + }, + { + "image_id": 241, + "category_id": 64, + "bbox": [135.45, 350.26, 49.78, 72.27], + "score": 0.521, + "area": 3597.6005999999998, + "id": 135, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 10, + "bbox": [50.27, 199.13, 25.09, 23.76], + "score": 0.923, + "area": 596.1384, + "id": 136, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 10, + "bbox": [227.37, 296.5, 11.3, 11.39], + "score": 0.526, + "area": 128.70700000000002, + "id": 137, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 10, + "bbox": [26.58, 303.1, 5.69, 7.11], + "score": 0.789, + "area": 40.45590000000001, + "id": 138, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 10, + "bbox": [27.93, 276.6, 5.82, 11.76], + "score": 0.96, + "area": 68.4432, + "id": 139, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 10, + "bbox": [89.93, 177.97, 15.03, 14.65], + "score": 0.956, + "area": 220.1895, + "id": 140, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 10, + "bbox": [301.98, 260.82, 7.09, 14.18], + "score": 0.489, + "area": 100.5362, + "id": 141, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 10, + "bbox": [295.6, 261.4, 6.39, 12.2], + "score": 0.511, + "area": 77.958, + "id": 142, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 10, + "bbox": [55.4, 299.17, 4.88, 4.3], + "score": 0.605, + "area": 20.983999999999998, + "id": 143, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 27, + "bbox": [177.16, 362.21, 50.4, 55.49], + "score": 0.683, + "area": 2796.696, + "id": 144, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 27, + "bbox": [208.47, 340.87, 11.3, 19.58], + "score": 0.116, + "area": 221.254, + "id": 145, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 8, + "bbox": [286.17, 277.96, 204.94, 122.97], + "score": 0.912, + "area": 25201.4718, + "id": 146, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 8, + "bbox": [513.96, 323.81, 120.04, 156.19], + "score": 0.881, + "area": 18749.0476, + "id": 147, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 8, + "bbox": [25.24, 301.11, 141.23, 59.84], + "score": 0.563, + "area": 8451.2032, + "id": 148, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [144.57, 345.58, 71.52, 134.42], + "score": 0.7, + "area": 9613.718399999998, + "id": 149, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [213.62, 332.49, 22.28, 60.49], + "score": 0.646, + "area": 1347.7172, + "id": 150, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [265.09, 330.65, 16.37, 72.88], + "score": 0.23, + "area": 1193.0456, + "id": 151, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [568.98, 327.79, 14.75, 42.24], + "score": 0.044, + "area": 623.0400000000001, + "id": 152, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [124.19, 325.45, 10.13, 37.03], + "score": 0.765, + "area": 375.11390000000006, + "id": 153, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [314.72, 334.13, 20.17, 74.8], + "score": 0.055, + "area": 1508.7160000000001, + "id": 154, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [78.65, 326.41, 20.3, 48.17], + "score": 0.278, + "area": 977.8510000000001, + "id": 155, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [138.11, 325.59, 15.55, 38.45], + "score": 0.868, + "area": 597.8975, + "id": 156, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [226.17, 327.33, 15.21, 69.54], + "score": 0.648, + "area": 1057.7034, + "id": 157, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 1, + "bbox": [190.83, 330.6, 20.63, 39.77], + "score": 0.626, + "area": 820.4551, + "id": 158, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 65, + "bbox": [231.74, 326.46, 28.38, 79.72], + "score": 0.412, + "area": 2262.4536, + "id": 159, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 14, + "bbox": [291.83, 337.14, 33.15, 77], + "score": 0.427, + "area": 2552.5499999999997, + "id": 160, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 31, + "bbox": [94.13, 344.24, 5.88, 12.48], + "score": 0.514, + "area": 73.3824, + "id": 161, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 31, + "bbox": [209.91, 341.48, 11.21, 29.05], + "score": 0.455, + "area": 325.6505, + "id": 162, + "iscrowd": 0 + }, + { + "image_id": 257, + "category_id": 31, + "bbox": [472.6, 340.88, 6.14, 4.6], + "score": 0.292, + "area": 28.243999999999996, + "id": 163, + "iscrowd": 0 + }, + { + "image_id": 283, + "category_id": 44, + "bbox": [49.18, 42.58, 82.4, 311.75], + "score": 0.676, + "area": 25688.2, + "id": 164, + "iscrowd": 0 + }, + { + "image_id": 283, + "category_id": 62, + "bbox": [10.23, 142.61, 59.56, 86.35], + "score": 0.691, + "area": 5143.005999999999, + "id": 165, + "iscrowd": 0 + }, + { + "image_id": 283, + "category_id": 62, + "bbox": [149.65, 67.02, 278.35, 289.03], + "score": 0.914, + "area": 80451.5005, + "id": 166, + "iscrowd": 0 + }, + { + "image_id": 283, + "category_id": 70, + "bbox": [144.76, 156.24, 88.26, 214.22], + "score": 0.418, + "area": 18907.0572, + "id": 167, + "iscrowd": 0 + }, + { + "image_id": 285, + "category_id": 23, + "bbox": [0, 68.81, 559, 563.94], + "score": 0.487, + "area": 315242.46, + "id": 168, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 50, + "bbox": [414.57, 349.85, 15.31, 23.55], + "score": 0.071, + "area": 360.5505, + "id": 169, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 50, + "bbox": [398.49, 323.29, 23.1, 25.32], + "score": 0.192, + "area": 584.892, + "id": 170, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 50, + "bbox": [387.89, 341.86, 35.58, 40.04], + "score": 0.055, + "area": 1424.6232, + "id": 171, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 50, + "bbox": [421.95, 114.4, 13.43, 103.27], + "score": 0.643, + "area": 1386.9161, + "id": 172, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 50, + "bbox": [404.99, 367.62, 32.19, 21.11], + "score": 0.256, + "area": 679.5309, + "id": 173, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 50, + "bbox": [394.56, 299.36, 16.54, 32.35], + "score": 0.201, + "area": 535.069, + "id": 174, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 50, + "bbox": [400.36, 355.24, 21.6, 25.14], + "score": 0.937, + "area": 543.024, + "id": 175, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 50, + "bbox": [623.23, 50.49, 4.79, 22.57], + "score": 0.234, + "area": 108.1103, + "id": 176, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 78, + "bbox": [508.6, 312.81, 131.4, 109.39], + "score": 0.895, + "area": 14373.846000000001, + "id": 177, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 48, + "bbox": [607.51, 251.83, 7.67, 40.75], + "score": 0.798, + "area": 312.5525, + "id": 178, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 49, + "bbox": [447.73, 329.05, 17.33, 34.67], + "score": 0.346, + "area": 600.8311, + "id": 179, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 49, + "bbox": [452.37, 320.69, 15.89, 45.17], + "score": 0.014, + "area": 717.7513, + "id": 180, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 49, + "bbox": [460.6, 335.52, 16.28, 33.28], + "score": 0.378, + "area": 541.7984, + "id": 181, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 49, + "bbox": [465.52, 325.24, 13.79, 32.5], + "score": 0.153, + "area": 448.17499999999995, + "id": 182, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 49, + "bbox": [466.28, 335.38, 15.32, 33.19], + "score": 0.438, + "area": 508.4708, + "id": 183, + "iscrowd": 0 + }, + { + "image_id": 294, + "category_id": 85, + "bbox": [0, 0, 47.87, 53.96], + "score": 0.746, + "area": 2583.0652, + "id": 184, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 77, + "bbox": [438.75, 283.15, 35.01, 18.64], + "score": 0.663, + "area": 652.5864, + "id": 185, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 1, + "bbox": [240.91, 90.52, 205.13, 389.34], + "score": 0.19, + "area": 79865.3142, + "id": 186, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 1, + "bbox": [358.87, 58.48, 249.91, 426.04], + "score": 0.191, + "area": 106471.6564, + "id": 187, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 23, + "bbox": [49.6, 104.76, 587.67, 374.74], + "score": 0.08, + "area": 220223.4558, + "id": 188, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 84, + "bbox": [232.65, 220.95, 86.44, 37.42], + "score": 0.749, + "area": 3234.5848, + "id": 189, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 3, + "bbox": [349.46, 77.31, 101.02, 65.61], + "score": 0.078, + "area": 6627.9222, + "id": 190, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 32, + "bbox": [461.06, 177.54, 18.31, 43.81], + "score": 0.406, + "area": 802.1611, + "id": 191, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 32, + "bbox": [317.37, 171.71, 22.5, 57.98], + "score": 0.448, + "area": 1304.55, + "id": 192, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 28, + "bbox": [24.03, 171.36, 119.45, 79.63], + "score": 0.057, + "area": 9511.8035, + "id": 193, + "iscrowd": 0 + }, + { + "image_id": 328, + "category_id": 27, + "bbox": [46.45, 160.85, 85.28, 47.84], + "score": 0.712, + "area": 4079.7952000000005, + "id": 194, + "iscrowd": 0 + }, + { + "image_id": 338, + "category_id": 82, + "bbox": [216.59, 149.74, 95.78, 177.26], + "score": 0.919, + "area": 16977.962799999998, + "id": 195, + "iscrowd": 0 + }, + { + "image_id": 338, + "category_id": 85, + "bbox": [461.17, 88.69, 23.24, 24.61], + "score": 0.333, + "area": 571.9363999999999, + "id": 196, + "iscrowd": 0 + }, + { + "image_id": 338, + "category_id": 28, + "bbox": [325, 142.07, 90.46, 183.7], + "score": 0.397, + "area": 16617.501999999997, + "id": 197, + "iscrowd": 0 + }, + { + "image_id": 338, + "category_id": 1, + "bbox": [436.35, 173.72, 56.91, 153.28], + "score": 0.154, + "area": 8723.164799999999, + "id": 198, + "iscrowd": 0 + }, + { + "image_id": 338, + "category_id": 79, + "bbox": [28.25, 243.96, 138.88, 78.63], + "score": 0.502, + "area": 10920.134399999999, + "id": 199, + "iscrowd": 0 + }, + { + "image_id": 338, + "category_id": 31, + "bbox": [463.15, 231.65, 25.66, 39.34], + "score": 0.787, + "area": 1009.4644000000001, + "id": 200, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 39, + "bbox": [540.09, 121.4, 4, 27.24], + "score": 0.407, + "area": 108.96, + "id": 201, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 40, + "bbox": [567.96, 186.44, 8.91, 6.69], + "score": 0.621, + "area": 59.60790000000001, + "id": 202, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 40, + "bbox": [77.74, 97.16, 6.97, 9.21], + "score": 0.52, + "area": 64.1937, + "id": 203, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 40, + "bbox": [279.48, 25.03, 5.46, 4.72], + "score": 0.069, + "area": 25.771199999999997, + "id": 204, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 40, + "bbox": [557.03, 23.96, 13.89, 9.67], + "score": 0.406, + "area": 134.3163, + "id": 205, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [370.19, 25.03, 17.25, 27.63], + "score": 0.34, + "area": 476.6175, + "id": 206, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [275.1, 18.4, 27.02, 37.16], + "score": 0.437, + "area": 1004.0631999999999, + "id": 207, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [208.34, 22.61, 22.2, 31.01], + "score": 0.752, + "area": 688.422, + "id": 208, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [72.62, 79.12, 18.53, 48.08], + "score": 0.997, + "area": 890.9224, + "id": 209, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [527.83, 136.21, 29.04, 54.59], + "score": 0.888, + "area": 1585.2936, + "id": 210, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [570.61, 160.02, 26.76, 38.03], + "score": 0.294, + "area": 1017.6828, + "id": 211, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [592.37, 154.71, 27.18, 46.6], + "score": 0.344, + "area": 1266.588, + "id": 212, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [266.33, 6.43, 17.69, 27.34], + "score": 0.59, + "area": 483.6446, + "id": 213, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [567.15, 29.27, 11.87, 23.74], + "score": 0.057, + "area": 281.7938, + "id": 214, + "iscrowd": 0 + }, + { + "image_id": 357, + "category_id": 1, + "bbox": [580.99, 32.19, 6.72, 23.92], + "score": 0.804, + "area": 160.7424, + "id": 215, + "iscrowd": 0 + }, + { + "image_id": 359, + "category_id": 36, + "bbox": [155.87, 100.44, 65.37, 34.25], + "score": 0.822, + "area": 2238.9225, + "id": 216, + "iscrowd": 0 + }, + { + "image_id": 359, + "category_id": 10, + "bbox": [245.76, 99.94, 51, 22.4], + "score": 0.773, + "area": 1142.3999999999999, + "id": 217, + "iscrowd": 0 + }, + { + "image_id": 359, + "category_id": 10, + "bbox": [278.48, 293.48, 4.46, 4.11], + "score": 0.324, + "area": 18.3306, + "id": 218, + "iscrowd": 0 + }, + { + "image_id": 359, + "category_id": 46, + "bbox": [2, 290.11, 123.72, 37.58], + "score": 0.914, + "area": 4649.397599999999, + "id": 219, + "iscrowd": 0 + }, + { + "image_id": 360, + "category_id": 18, + "bbox": [258.02, 138.76, 52.1, 36.95], + "score": 0.054, + "area": 1925.0950000000003, + "id": 220, + "iscrowd": 0 + }, + { + "image_id": 360, + "category_id": 36, + "bbox": [248.45, 155.01, 52.19, 41.49], + "score": 0.428, + "area": 2165.3631, + "id": 221, + "iscrowd": 0 + }, + { + "image_id": 387, + "category_id": 73, + "bbox": [176.38, 50.29, 463.62, 312.38], + "score": 0.328, + "area": 144825.6156, + "id": 222, + "iscrowd": 0 + }, + { + "image_id": 387, + "category_id": 77, + "bbox": [355.5, 111.88, 210, 93.75], + "score": 0.064, + "area": 19687.5, + "id": 223, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 77, + "bbox": [293.15, 289.29, 19.84, 22.97], + "score": 0.037, + "area": 455.72479999999996, + "id": 224, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 77, + "bbox": [618.05, 305.74, 15.83, 11.59], + "score": 0.297, + "area": 183.4697, + "id": 225, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [177.61, 138.16, 432.72, 435.32], + "score": 0.607, + "area": 188371.6704, + "id": 226, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [0, 207.32, 72.81, 278.92], + "score": 0.043, + "area": 20308.165200000003, + "id": 227, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [81.02, 270.92, 82.55, 204.66], + "score": 0.465, + "area": 16894.683, + "id": 228, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [111.58, 232.54, 38.86, 46.9], + "score": 0.252, + "area": 1822.5339999999999, + "id": 229, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [132.76, 239.82, 82.12, 109.48], + "score": 0.961, + "area": 8990.4976, + "id": 230, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [413.44, 194.77, 32.94, 105.97], + "score": 0.58, + "area": 3490.6517999999996, + "id": 231, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [420.93, 206.74, 43.9, 113.15], + "score": 0.632, + "area": 4967.285, + "id": 232, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [153.8, 332.19, 60.39, 66.97], + "score": 0.76, + "area": 4044.3183, + "id": 233, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [58.7, 214.92, 48.39, 126.94], + "score": 0.803, + "area": 6142.6266, + "id": 234, + "iscrowd": 0 + }, + { + "image_id": 395, + "category_id": 1, + "bbox": [451.16, 253.08, 70.79, 89.66], + "score": 0.239, + "area": 6347.031400000001, + "id": 235, + "iscrowd": 0 + }, + { + "image_id": 397, + "category_id": 62, + "bbox": [469.94, 0, 143.48, 98.06], + "score": 0.935, + "area": 14069.648799999999, + "id": 236, + "iscrowd": 0 + }, + { + "image_id": 397, + "category_id": 47, + "bbox": [7, 294.57, 36.75, 71.88], + "score": 0.157, + "area": 2641.5899999999997, + "id": 237, + "iscrowd": 0 + }, + { + "image_id": 397, + "category_id": 48, + "bbox": [596.24, 404.53, 43.76, 52.1], + "score": 0.63, + "area": 2279.896, + "id": 238, + "iscrowd": 0 + }, + { + "image_id": 397, + "category_id": 54, + "bbox": [85.25, 349.09, 503.69, 130.91], + "score": 0.657, + "area": 65938.0579, + "id": 239, + "iscrowd": 0 + }, + { + "image_id": 397, + "category_id": 1, + "bbox": [0, 0, 205.4, 205.33], + "score": 0.089, + "area": 42174.78200000001, + "id": 240, + "iscrowd": 0 + }, + { + "image_id": 400, + "category_id": 18, + "bbox": [430.5, 148.97, 97.62, 78.77], + "score": 0.534, + "area": 7689.5274, + "id": 241, + "iscrowd": 0 + }, + { + "image_id": 400, + "category_id": 9, + "bbox": [0, 64.72, 616, 477.48], + "score": 0.136, + "area": 294127.68, + "id": 242, + "iscrowd": 0 + }, + { + "image_id": 415, + "category_id": 10, + "bbox": [62.13, 399.09, 41.97, 44.41], + "score": 0.045, + "area": 1863.8876999999998, + "id": 243, + "iscrowd": 0 + }, + { + "image_id": 415, + "category_id": 1, + "bbox": [1, 257.44, 122.96, 301.62], + "score": 0.373, + "area": 37087.1952, + "id": 244, + "iscrowd": 0 + }, + { + "image_id": 428, + "category_id": 32, + "bbox": [367.56, 200.49, 94.65, 154.52], + "score": 0.097, + "area": 14625.318000000001, + "id": 245, + "iscrowd": 0 + }, + { + "image_id": 428, + "category_id": 1, + "bbox": [218.94, 32.65, 355.92, 323.27], + "score": 0.912, + "area": 115058.25839999999, + "id": 246, + "iscrowd": 0 + }, + { + "image_id": 428, + "category_id": 61, + "bbox": [399.41, 234.73, 175.13, 121.62], + "score": 0.374, + "area": 21299.3106, + "id": 247, + "iscrowd": 0 + }, + { + "image_id": 459, + "category_id": 32, + "bbox": [170.57, 278.99, 61.63, 239.81], + "score": 0.97, + "area": 14779.490300000001, + "id": 248, + "iscrowd": 0 + }, + { + "image_id": 459, + "category_id": 1, + "bbox": [0, 84.85, 457.88, 547.96], + "score": 0.16, + "area": 250899.9248, + "id": 249, + "iscrowd": 0 + }, + { + "image_id": 472, + "category_id": 5, + "bbox": [390.86, 56.68, 87.21, 31.46], + "score": 0.656, + "area": 2743.6266, + "id": 250, + "iscrowd": 0 + }, + { + "image_id": 474, + "category_id": 1, + "bbox": [23.37, 42.7, 309.63, 429.21], + "score": 0.163, + "area": 132896.2923, + "id": 251, + "iscrowd": 0 + }, + { + "image_id": 474, + "category_id": 40, + "bbox": [22.86, 234.5, 88.41, 71.31], + "score": 0.962, + "area": 6304.5171, + "id": 252, + "iscrowd": 0 + }, + { + "image_id": 486, + "category_id": 44, + "bbox": [621.9, 233.27, 16.02, 38.17], + "score": 0.286, + "area": 611.4834, + "id": 253, + "iscrowd": 0 + }, + { + "image_id": 486, + "category_id": 44, + "bbox": [496.82, 278.46, 23.05, 25.31], + "score": 0.004, + "area": 583.3955, + "id": 254, + "iscrowd": 0 + }, + { + "image_id": 486, + "category_id": 44, + "bbox": [82.06, 219.17, 5.12, 29.08], + "score": 0.14, + "area": 148.8896, + "id": 255, + "iscrowd": 0 + }, + { + "image_id": 486, + "category_id": 50, + "bbox": [223.65, 192.28, 6.92, 51.96], + "score": 0.24, + "area": 359.5632, + "id": 256, + "iscrowd": 0 + }, + { + "image_id": 486, + "category_id": 49, + "bbox": [234.42, 200.87, 3.9, 16.53], + "score": 0.182, + "area": 64.467, + "id": 257, + "iscrowd": 0 + }, + { + "image_id": 486, + "category_id": 51, + "bbox": [265.43, 299.84, 131.39, 88.22], + "score": 0.915, + "area": 11591.225799999998, + "id": 258, + "iscrowd": 0 + }, + { + "image_id": 488, + "category_id": 1, + "bbox": [183.76, 210.3, 104.63, 131.03], + "score": 0.596, + "area": 13709.668899999999, + "id": 259, + "iscrowd": 0 + }, + { + "image_id": 488, + "category_id": 1, + "bbox": [553.32, 216.45, 44.13, 49.26], + "score": 0.661, + "area": 2173.8438, + "id": 260, + "iscrowd": 0 + }, + { + "image_id": 488, + "category_id": 1, + "bbox": [37.67, 208.02, 91.24, 152.36], + "score": 0.566, + "area": 13901.3264, + "id": 261, + "iscrowd": 0 + }, + { + "image_id": 488, + "category_id": 39, + "bbox": [211.91, 225.8, 63.45, 45.93], + "score": 0.379, + "area": 2914.2585, + "id": 262, + "iscrowd": 0 + }, + { + "image_id": 488, + "category_id": 40, + "bbox": [562.51, 253.32, 10.5, 7.99], + "score": 0.984, + "area": 83.895, + "id": 263, + "iscrowd": 0 + }, + { + "image_id": 502, + "category_id": 23, + "bbox": [190.96, 88, 273.13, 257.74], + "score": 0.205, + "area": 70396.52620000001, + "id": 264, + "iscrowd": 0 + }, + { + "image_id": 520, + "category_id": 16, + "bbox": [297.04, 140.73, 32.01, 20.26], + "score": 0.519, + "area": 648.5226, + "id": 265, + "iscrowd": 0 + }, + { + "image_id": 520, + "category_id": 16, + "bbox": [230.03, 131.19, 34.17, 13.96], + "score": 0.373, + "area": 477.01320000000004, + "id": 266, + "iscrowd": 0 + }, + { + "image_id": 520, + "category_id": 16, + "bbox": [0, 187.56, 22.33, 15.48], + "score": 0.564, + "area": 345.66839999999996, + "id": 267, + "iscrowd": 0 + }, + { + "image_id": 520, + "category_id": 16, + "bbox": [444.38, 174.06, 21.97, 16.09], + "score": 0.608, + "area": 353.4973, + "id": 268, + "iscrowd": 0 + }, + { + "image_id": 520, + "category_id": 16, + "bbox": [92.33, 194.51, 35.82, 22.84], + "score": 0.937, + "area": 818.1288, + "id": 269, + "iscrowd": 0 + }, + { + "image_id": 520, + "category_id": 1, + "bbox": [244.02, 307.84, 15.21, 34.27], + "score": 0.371, + "area": 521.2467, + "id": 270, + "iscrowd": 0 + }, + { + "image_id": 520, + "category_id": 1, + "bbox": [508.05, 323.61, 8.1, 13.7], + "score": 0.446, + "area": 110.96999999999998, + "id": 271, + "iscrowd": 0 + }, + { + "image_id": 520, + "category_id": 48, + "bbox": [451.26, 217.6, 18.56, 17.79], + "score": 0.874, + "area": 330.1824, + "id": 272, + "iscrowd": 0 + }, + { + "image_id": 520, + "category_id": 44, + "bbox": [156.5, 184.44, 25.5, 11.87], + "score": 0.507, + "area": 302.685, + "id": 273, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 62, + "bbox": [285.41, 138.98, 156.33, 195.53], + "score": 0.82, + "area": 30567.204900000004, + "id": 274, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 62, + "bbox": [3.68, 141.91, 82.48, 194.09], + "score": 0.481, + "area": 16008.543200000002, + "id": 275, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 1, + "bbox": [286.86, 133.95, 155.14, 198.27], + "score": 0.838, + "area": 30759.607799999998, + "id": 276, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 1, + "bbox": [185.41, 79.52, 108.42, 255.62], + "score": 0.584, + "area": 27714.3204, + "id": 277, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 1, + "bbox": [89.34, 68.58, 98.16, 263.52], + "score": 0.769, + "area": 25867.123199999998, + "id": 278, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 31, + "bbox": [23.1, 258.04, 44.05, 77.96], + "score": 0.176, + "area": 3434.1379999999995, + "id": 279, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 31, + "bbox": [193.07, 185.98, 69.48, 63.22], + "score": 0.071, + "area": 4392.5256, + "id": 280, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 31, + "bbox": [350.78, 235.32, 45.57, 12.3], + "score": 0.619, + "area": 560.5110000000001, + "id": 281, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 77, + "bbox": [203.43, 106.55, 13.68, 21.14], + "score": 0.324, + "area": 289.1952, + "id": 282, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 77, + "bbox": [101.62, 87.68, 28.93, 39.35], + "score": 0.44, + "area": 1138.3955, + "id": 283, + "iscrowd": 0 + }, + { + "image_id": 536, + "category_id": 57, + "bbox": [361.35, 224.65, 8.04, 12.47], + "score": 0.124, + "area": 100.2588, + "id": 284, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 37, + "bbox": [596.57, 293.78, 13.81, 7.44], + "score": 0.954, + "area": 102.74640000000001, + "id": 285, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [273.32, 243.73, 113.23, 161.2], + "score": 0.921, + "area": 18252.676, + "id": 286, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [114.47, 301.3, 129.54, 111.31], + "score": 0.381, + "area": 14419.097399999999, + "id": 287, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [36.53, 269.29, 101.67, 142.79], + "score": 0.186, + "area": 14517.459299999999, + "id": 288, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [75.23, 191.66, 28.84, 44.78], + "score": 0.785, + "area": 1291.4552, + "id": 289, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [248.29, 185.44, 29.17, 50.01], + "score": 0.739, + "area": 1458.7917, + "id": 290, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [191.14, 209.98, 30.04, 27.53], + "score": 0.17, + "area": 827.0012, + "id": 291, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [144.91, 193.7, 31.15, 41.98], + "score": 0.76, + "area": 1307.677, + "id": 292, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [3.07, 221.17, 33.48, 77.9], + "score": 0.274, + "area": 2608.092, + "id": 293, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [546.81, 211.75, 21.74, 21], + "score": 0.23, + "area": 456.53999999999996, + "id": 294, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [19.46, 237.09, 42.72, 59.44], + "score": 0.439, + "area": 2539.2767999999996, + "id": 295, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 1, + "bbox": [17.77, 194.87, 25.64, 45.63], + "score": 0.913, + "area": 1169.9532000000002, + "id": 296, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 38, + "bbox": [224.14, 300.79, 52.74, 7.6], + "score": 0.941, + "area": 400.824, + "id": 297, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 40, + "bbox": [217.39, 324.92, 20.27, 30.58], + "score": 0.466, + "area": 619.8566, + "id": 298, + "iscrowd": 0 + }, + { + "image_id": 544, + "category_id": 54, + "bbox": [514.31, 203.13, 16.39, 29.72], + "score": 0.066, + "area": 487.1108, + "id": 299, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 1, + "bbox": [225.51, 335.3, 147.48, 279.2], + "score": 0.292, + "area": 41176.416, + "id": 300, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 1, + "bbox": [433.78, 203.68, 86.22, 93.9], + "score": 0.17, + "area": 8096.058, + "id": 301, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 43, + "bbox": [282.89, 432.81, 105.48, 40.82], + "score": 0.658, + "area": 4305.6936000000005, + "id": 302, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [58.9, 234.39, 43.46, 22.27], + "score": 0.842, + "area": 967.8542, + "id": 303, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [103.71, 232, 45.58, 25.44], + "score": 0.721, + "area": 1159.5552, + "id": 304, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [197.82, 230.33, 47.5, 26.02], + "score": 0.807, + "area": 1235.95, + "id": 305, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [254.16, 307.81, 56.56, 28.28], + "score": 0.666, + "area": 1599.5168, + "id": 306, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [140.73, 258.53, 50.13, 30.25], + "score": 0.051, + "area": 1516.4325000000001, + "id": 307, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [84.79, 256.37, 50.46, 25.81], + "score": 0.785, + "area": 1302.3726, + "id": 308, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [47.44, 260.53, 46.92, 23.68], + "score": 0.136, + "area": 1111.0656000000001, + "id": 309, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [18.52, 235.62, 47.74, 22.44], + "score": 0.776, + "area": 1071.2856000000002, + "id": 310, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [397.26, 304.21, 61.51, 46.54], + "score": 0.75, + "area": 2862.6754, + "id": 311, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [331.82, 279.27, 51.53, 21.61], + "score": 0.44, + "area": 1113.5633, + "id": 312, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [307.39, 307.56, 51.38, 27.27], + "score": 0.684, + "area": 1401.1326000000001, + "id": 313, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [229.06, 228.6, 66.46, 77.41], + "score": 0.565, + "area": 5144.668599999999, + "id": 314, + "iscrowd": 0 + }, + { + "image_id": 564, + "category_id": 62, + "bbox": [149.8, 232.51, 48.71, 41.53], + "score": 0.493, + "area": 2022.9263, + "id": 315, + "iscrowd": 0 + }, + { + "image_id": 569, + "category_id": 1, + "bbox": [100.1, 269.14, 80.18, 145.38], + "score": 0.253, + "area": 11656.5684, + "id": 316, + "iscrowd": 0 + }, + { + "image_id": 569, + "category_id": 38, + "bbox": [168.12, 216.94, 16.66, 32.58], + "score": 0.839, + "area": 542.7828, + "id": 317, + "iscrowd": 0 + }, + { + "image_id": 569, + "category_id": 38, + "bbox": [142.5, 229.28, 22.99, 23.7], + "score": 0.761, + "area": 544.8629999999999, + "id": 318, + "iscrowd": 0 + }, + { + "image_id": 569, + "category_id": 38, + "bbox": [134.91, 239.77, 25.66, 23.29], + "score": 0.369, + "area": 597.6214, + "id": 319, + "iscrowd": 0 + }, + { + "image_id": 589, + "category_id": 34, + "bbox": [465.86, 229.41, 18.75, 6.3], + "score": 0.729, + "area": 118.125, + "id": 320, + "iscrowd": 0 + }, + { + "image_id": 589, + "category_id": 1, + "bbox": [359.91, 184.57, 145.43, 184.29], + "score": 0.882, + "area": 26801.2947, + "id": 321, + "iscrowd": 0 + }, + { + "image_id": 590, + "category_id": 81, + "bbox": [86.87, 295.01, 85.2, 11.57], + "score": 0.151, + "area": 985.764, + "id": 322, + "iscrowd": 0 + }, + { + "image_id": 590, + "category_id": 51, + "bbox": [80, 292.99, 92.87, 27.6], + "score": 0.79, + "area": 2563.2120000000004, + "id": 323, + "iscrowd": 0 + }, + { + "image_id": 599, + "category_id": 64, + "bbox": [545.37, 5.48, 94.63, 237.26], + "score": 0.751, + "area": 22451.9138, + "id": 324, + "iscrowd": 0 + }, + { + "image_id": 599, + "category_id": 17, + "bbox": [18.92, 37.13, 412.5, 365.75], + "score": 0.952, + "area": 150871.875, + "id": 325, + "iscrowd": 0 + }, + { + "image_id": 599, + "category_id": 63, + "bbox": [56, 1.83, 584, 400.9], + "score": 0.314, + "area": 234125.59999999998, + "id": 326, + "iscrowd": 0 + }, + { + "image_id": 599, + "category_id": 75, + "bbox": [481.01, 198.19, 158.99, 87.8], + "score": 0.438, + "area": 13959.322, + "id": 327, + "iscrowd": 0 + }, + { + "image_id": 599, + "category_id": 75, + "bbox": [382.58, 167.29, 198, 60.5], + "score": 0.492, + "area": 11979.0, + "id": 328, + "iscrowd": 0 + }, + { + "image_id": 623, + "category_id": 15, + "bbox": [283.29, 72.62, 91.71, 238.38], + "score": 0.823, + "area": 21861.8298, + "id": 329, + "iscrowd": 0 + }, + { + "image_id": 623, + "category_id": 88, + "bbox": [29.12, 31.46, 345.88, 462.92], + "score": 0.872, + "area": 160114.7696, + "id": 330, + "iscrowd": 0 + }, + { + "image_id": 623, + "category_id": 62, + "bbox": [277.62, 62.92, 97.38, 239.84], + "score": 0.872, + "area": 23355.6192, + "id": 331, + "iscrowd": 0 + }, + { + "image_id": 623, + "category_id": 1, + "bbox": [144.34, 1.3, 211.69, 490.91], + "score": 0.735, + "area": 103920.73790000001, + "id": 332, + "iscrowd": 0 + }, + { + "image_id": 626, + "category_id": 85, + "bbox": [314.52, 124.36, 41.32, 42.47], + "score": 0.378, + "area": 1754.8604, + "id": 333, + "iscrowd": 0 + }, + { + "image_id": 626, + "category_id": 73, + "bbox": [398.15, 129.71, 20.88, 46.91], + "score": 0.701, + "area": 979.4807999999999, + "id": 334, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 65, + "bbox": [0, 266.85, 376.5, 208.25], + "score": 0.144, + "area": 78406.125, + "id": 335, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 64, + "bbox": [187.36, 136.56, 60.78, 92.39], + "score": 0.344, + "area": 5615.4642, + "id": 336, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 84, + "bbox": [455.98, 192.5, 8.57, 35.59], + "score": 0.088, + "area": 305.00630000000007, + "id": 337, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 84, + "bbox": [453.31, 252.97, 8.02, 33.93], + "score": 0.589, + "area": 272.11859999999996, + "id": 338, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 84, + "bbox": [444.76, 297.63, 5.32, 39.68], + "score": 0.902, + "area": 211.0976, + "id": 339, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 84, + "bbox": [504.95, 191.02, 12.15, 36.78], + "score": 0.405, + "area": 446.877, + "id": 340, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 84, + "bbox": [487.51, 199.33, 7.48, 28.05], + "score": 0.032, + "area": 209.81400000000002, + "id": 341, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 84, + "bbox": [527.02, 248.57, 24.4, 40.43], + "score": 0.026, + "area": 986.492, + "id": 342, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 84, + "bbox": [524.32, 97.38, 2.8, 37.77], + "score": 0.084, + "area": 105.756, + "id": 343, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 84, + "bbox": [454.66, 245.27, 48.55, 12.14], + "score": 0.704, + "area": 589.397, + "id": 344, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 84, + "bbox": [461.77, 253.68, 8.24, 33.31], + "score": 0.451, + "area": 274.4744, + "id": 345, + "iscrowd": 0 + }, + { + "image_id": 632, + "category_id": 62, + "bbox": [234.82, 230.45, 104.72, 87.69], + "score": 0.051, + "area": 9182.8968, + "id": 346, + "iscrowd": 0 + }, + { + "image_id": 636, + "category_id": 70, + "bbox": [122.72, 89.37, 265.23, 536.22], + "score": 0.283, + "area": 142221.6306, + "id": 347, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 2, + "bbox": [563.25, 265.02, 17.49, 21.82], + "score": 0.031, + "area": 381.6318, + "id": 348, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 6, + "bbox": [100.35, 100.03, 417.42, 228.9], + "score": 0.329, + "area": 95547.43800000001, + "id": 349, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 1, + "bbox": [580.29, 233.52, 11.19, 13.08], + "score": 0.993, + "area": 146.3652, + "id": 350, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 1, + "bbox": [569.24, 240.92, 17.46, 34.38], + "score": 0.18, + "area": 600.2748, + "id": 351, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 1, + "bbox": [595.87, 232.88, 9.74, 13.22], + "score": 0.969, + "area": 128.7628, + "id": 352, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 1, + "bbox": [556.69, 231.63, 7.03, 22.85], + "score": 0.25, + "area": 160.6355, + "id": 353, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 1, + "bbox": [463.68, 225.62, 5.04, 26.32], + "score": 0.583, + "area": 132.6528, + "id": 354, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 1, + "bbox": [606.61, 231.89, 7.13, 14.45], + "score": 0.591, + "area": 103.0285, + "id": 355, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 1, + "bbox": [25.91, 207.55, 29.39, 23], + "score": 0.355, + "area": 675.97, + "id": 356, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 1, + "bbox": [3.82, 209.9, 20.4, 22.96], + "score": 0.751, + "area": 468.38399999999996, + "id": 357, + "iscrowd": 0 + }, + { + "image_id": 641, + "category_id": 1, + "bbox": [0, 220.97, 6.32, 18.94], + "score": 0.862, + "area": 119.70080000000002, + "id": 358, + "iscrowd": 0 + }, + { + "image_id": 661, + "category_id": 77, + "bbox": [90.11, 4.42, 111.24, 44.67], + "score": 0.843, + "area": 4969.0908, + "id": 359, + "iscrowd": 0 + }, + { + "image_id": 661, + "category_id": 5, + "bbox": [17.15, 45.37, 337.07, 289.04], + "score": 0.734, + "area": 97426.71280000001, + "id": 360, + "iscrowd": 0 + }, + { + "image_id": 675, + "category_id": 17, + "bbox": [325.71, 81.3, 314.29, 391.6], + "score": 0.248, + "area": 123075.96400000002, + "id": 361, + "iscrowd": 0 + }, + { + "image_id": 675, + "category_id": 77, + "bbox": [99.84, 232.35, 34.79, 25.58], + "score": 0.102, + "area": 889.9282, + "id": 362, + "iscrowd": 0 + }, + { + "image_id": 675, + "category_id": 47, + "bbox": [243.34, 209.84, 69.65, 98.5], + "score": 0.616, + "area": 6860.525000000001, + "id": 363, + "iscrowd": 0 + }, + { + "image_id": 675, + "category_id": 47, + "bbox": [138.74, 231.28, 56.88, 73.37], + "score": 0.789, + "area": 4173.2856, + "id": 364, + "iscrowd": 0 + }, + { + "image_id": 675, + "category_id": 60, + "bbox": [169.37, 179.04, 46.55, 90.39], + "score": 0.817, + "area": 4207.6545, + "id": 365, + "iscrowd": 0 + }, + { + "image_id": 692, + "category_id": 90, + "bbox": [315.39, 263.78, 37.77, 33.79], + "score": 0.255, + "area": 1276.2483, + "id": 366, + "iscrowd": 0 + }, + { + "image_id": 692, + "category_id": 90, + "bbox": [383, 338.04, 22.31, 29.38], + "score": 0.757, + "area": 655.4677999999999, + "id": 367, + "iscrowd": 0 + }, + { + "image_id": 692, + "category_id": 1, + "bbox": [288.42, 30.26, 351.58, 428.34], + "score": 0.608, + "area": 150595.77719999998, + "id": 368, + "iscrowd": 0 + }, + { + "image_id": 692, + "category_id": 1, + "bbox": [188.87, 129.27, 307.8, 343.32], + "score": 0.073, + "area": 105673.89600000001, + "id": 369, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 41, + "bbox": [429.64, 193.67, 125.51, 198.6], + "score": 0.884, + "area": 24926.286, + "id": 370, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 41, + "bbox": [0, 190.22, 212.1, 137.01], + "score": 0.577, + "area": 29059.820999999996, + "id": 371, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 41, + "bbox": [14.96, 220.25, 236.6, 190.44], + "score": 0.815, + "area": 45058.104, + "id": 372, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 41, + "bbox": [163.19, 19.83, 125.4, 153.27], + "score": 0.668, + "area": 19220.058, + "id": 373, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 41, + "bbox": [211.24, 48.93, 91.56, 89.91], + "score": 0.278, + "area": 8232.159599999999, + "id": 374, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 41, + "bbox": [236.35, 0, 88.94, 77.36], + "score": 0.93, + "area": 6880.3984, + "id": 375, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 41, + "bbox": [71.7, 92.27, 192.32, 124.51], + "score": 0.532, + "area": 23945.7632, + "id": 376, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 41, + "bbox": [223.46, 36.1, 71.24, 78.42], + "score": 0.152, + "area": 5586.6408, + "id": 377, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 80, + "bbox": [0, 122.61, 190.86, 142.72], + "score": 0.404, + "area": 27239.539200000003, + "id": 378, + "iscrowd": 0 + }, + { + "image_id": 693, + "category_id": 42, + "bbox": [213.87, 0, 82.98, 64.55], + "score": 0.435, + "area": 5356.359, + "id": 379, + "iscrowd": 0 + } +] diff --git a/tests/ignite/metrics/gt.json b/tests/ignite/metrics/gt.json new file mode 100644 index 000000000000..3cb4e0bfa9c4 --- /dev/null +++ b/tests/ignite/metrics/gt.json @@ -0,0 +1,4928 @@ +{ + "annotations": [ + { + "area": 53481.5118, + "iscrowd": 0, + "image_id": 42, + "bbox": [214.15, 41.29, 348.26, 243.78], + "category_id": 18, + "id": 1817255, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 172022.43864999997, + "iscrowd": 0, + "image_id": 73, + "bbox": [13.0, 22.75, 535.98, 609.67], + "category_id": 4, + "id": 246920, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 52666.3402, + "iscrowd": 0, + "image_id": 73, + "bbox": [1.66, 3.32, 268.6, 271.91], + "category_id": 4, + "id": 2047387, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 18234.62355, + "iscrowd": 0, + "image_id": 74, + "bbox": [61.87, 276.25, 296.42, 103.18], + "category_id": 18, + "id": 1774, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 30078.494700000003, + "iscrowd": 0, + "image_id": 74, + "bbox": [2.75, 3.66, 159.4, 312.4], + "category_id": 2, + "id": 128367, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 638.7158, + "iscrowd": 0, + "image_id": 74, + "bbox": [295.55, 93.96, 18.42, 58.83], + "category_id": 1, + "id": 195946, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 180.8609499999999, + "iscrowd": 0, + "image_id": 74, + "bbox": [326.94, 97.05, 13.55, 25.93], + "category_id": 1, + "id": 253933, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 562.1028500000001, + "iscrowd": 0, + "image_id": 74, + "bbox": [356.62, 95.47, 15.71, 52.08], + "category_id": 1, + "id": 1225755, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 758.6169499999999, + "iscrowd": 0, + "image_id": 74, + "bbox": [462.08, 105.09, 31.66, 41.9], + "category_id": 1, + "id": 1733076, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 319.6597999999997, + "iscrowd": 0, + "image_id": 74, + "bbox": [277.11, 103.84, 15.33, 46.88], + "category_id": 1, + "id": 1747768, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 131.1144, + "iscrowd": 0, + "image_id": 74, + "bbox": [282.65, 103.41, 11.69, 24.25], + "category_id": 1, + "id": 1751664, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 179829.76725000003, + "iscrowd": 0, + "image_id": 133, + "bbox": [13.99, 2.87, 626.01, 418.65], + "category_id": 65, + "id": 317921, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 683.9160000000005, + "iscrowd": 0, + "image_id": 133, + "bbox": [525.34, 20.93, 47.95, 28.72], + "category_id": 88, + "id": 1673328, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 8703.873999999998, + "iscrowd": 0, + "image_id": 136, + "bbox": [0.84, 114.71, 53.54, 257.7], + "category_id": 1, + "id": 500146, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 8458.8782, + "iscrowd": 0, + "image_id": 136, + "bbox": [0.0, 61.35, 68.92, 312.65], + "category_id": 1, + "id": 502933, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 22023.460950000008, + "iscrowd": 0, + "image_id": 136, + "bbox": [82.0, 116.38, 185.74, 252.68], + "category_id": 25, + "id": 596940, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 8624.952849999998, + "iscrowd": 0, + "image_id": 136, + "bbox": [316.72, 131.83, 128.04, 164.25], + "category_id": 25, + "id": 597046, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 531.8071000000001, + "iscrowd": 0, + "image_id": 139, + "bbox": [236.98, 142.51, 24.7, 69.5], + "category_id": 64, + "id": 26547, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 13244.657700000002, + "iscrowd": 0, + "image_id": 139, + "bbox": [7.03, 167.76, 149.32, 94.87], + "category_id": 72, + "id": 34646, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 5833.117949999999, + "iscrowd": 0, + "image_id": 139, + "bbox": [557.21, 209.19, 81.35, 78.73], + "category_id": 72, + "id": 35802, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2245.34355, + "iscrowd": 0, + "image_id": 139, + "bbox": [358.98, 218.05, 56.0, 102.83], + "category_id": 62, + "id": 103487, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1833.7840000000017, + "iscrowd": 0, + "image_id": 139, + "bbox": [290.69, 218.0, 61.83, 98.48], + "category_id": 62, + "id": 104368, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1289.3734500000014, + "iscrowd": 0, + "image_id": 139, + "bbox": [413.2, 223.01, 30.17, 81.36], + "category_id": 62, + "id": 105328, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 210.14820000000023, + "iscrowd": 0, + "image_id": 139, + "bbox": [317.4, 219.24, 21.58, 11.59], + "category_id": 62, + "id": 110334, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 90.98724999999988, + "iscrowd": 0, + "image_id": 139, + "bbox": [412.25, 219.02, 9.63, 12.52], + "category_id": 62, + "id": 1941808, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2913.1103999999987, + "iscrowd": 0, + "image_id": 139, + "bbox": [412.8, 157.61, 53.05, 138.01], + "category_id": 1, + "id": 230831, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 435.1449499999997, + "iscrowd": 0, + "image_id": 139, + "bbox": [384.43, 172.21, 15.12, 35.74], + "category_id": 1, + "id": 233201, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 217.71919999999997, + "iscrowd": 0, + "image_id": 139, + "bbox": [512.22, 205.75, 14.74, 15.97], + "category_id": 78, + "id": 1640282, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2089.9747999999986, + "iscrowd": 0, + "image_id": 139, + "bbox": [493.1, 174.34, 20.29, 108.31], + "category_id": 82, + "id": 1647285, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 338.60884999999973, + "iscrowd": 0, + "image_id": 139, + "bbox": [604.77, 305.89, 14.34, 45.71], + "category_id": 84, + "id": 1648594, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 322.5935999999982, + "iscrowd": 0, + "image_id": 139, + "bbox": [613.24, 308.24, 12.88, 46.44], + "category_id": 84, + "id": 1654394, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 225.6642000000005, + "iscrowd": 0, + "image_id": 139, + "bbox": [447.77, 121.12, 13.97, 21.88], + "category_id": 85, + "id": 1666628, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2171.6188500000007, + "iscrowd": 0, + "image_id": 139, + "bbox": [549.06, 309.43, 36.68, 89.67], + "category_id": 86, + "id": 1667817, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 178.18510000000012, + "iscrowd": 0, + "image_id": 139, + "bbox": [350.76, 208.84, 11.37, 22.55], + "category_id": 86, + "id": 1669970, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 189.56010000000012, + "iscrowd": 0, + "image_id": 139, + "bbox": [241.24, 194.99, 14.22, 17.63], + "category_id": 86, + "id": 2146194, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 120.23200000000004, + "iscrowd": 0, + "image_id": 139, + "bbox": [336.79, 199.5, 9.73, 16.73], + "category_id": 86, + "id": 2146548, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2362.4897499999984, + "iscrowd": 0, + "image_id": 139, + "bbox": [321.21, 231.22, 125.56, 88.93], + "category_id": 67, + "id": 2204286, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 14943.291250000002, + "iscrowd": 0, + "image_id": 143, + "bbox": [426.88, 192.47, 131.18, 176.35], + "category_id": 16, + "id": 40595, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 8521.454350000002, + "iscrowd": 0, + "image_id": 143, + "bbox": [128.19, 104.46, 95.77, 167.42], + "category_id": 16, + "id": 41002, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 10935.490899999999, + "iscrowd": 0, + "image_id": 143, + "bbox": [265.59, 126.88, 100.0, 162.77], + "category_id": 16, + "id": 41866, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 7312.689550000001, + "iscrowd": 0, + "image_id": 143, + "bbox": [243.53, 271.01, 96.99, 120.69], + "category_id": 16, + "id": 42434, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 8239.6429, + "iscrowd": 0, + "image_id": 143, + "bbox": [114.08, 319.22, 92.28, 161.25], + "category_id": 16, + "id": 42884, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 9398.8724, + "iscrowd": 0, + "image_id": 143, + "bbox": [35.96, 20.22, 95.5, 133.71], + "category_id": 16, + "id": 271928, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 7766.638000000003, + "iscrowd": 0, + "image_id": 143, + "bbox": [120.18, 237.43, 114.24, 134.32], + "category_id": 16, + "id": 1400279, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 7066.659650000002, + "iscrowd": 0, + "image_id": 143, + "bbox": [468.71, 320.79, 94.24, 154.59], + "category_id": 16, + "id": 1815195, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 139.78670000000042, + "iscrowd": 0, + "image_id": 164, + "bbox": [389.84, 183.92, 8.02, 26.87], + "category_id": 44, + "id": 86621, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 122.74640000000001, + "iscrowd": 0, + "image_id": 164, + "bbox": [374.4, 189.64, 6.87, 20.93], + "category_id": 44, + "id": 90821, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 155.98124999999936, + "iscrowd": 0, + "image_id": 164, + "bbox": [367.79, 184.72, 7.05, 27.54], + "category_id": 44, + "id": 96341, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 130.88449999999992, + "iscrowd": 0, + "image_id": 164, + "bbox": [383.16, 187.56, 7.21, 24.24], + "category_id": 44, + "id": 96596, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 430.2215500000003, + "iscrowd": 0, + "image_id": 164, + "bbox": [433.79, 280.36, 18.32, 31.37], + "category_id": 44, + "id": 96815, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 287.14989999999943, + "iscrowd": 0, + "image_id": 164, + "bbox": [463.1, 282.68, 9.92, 36.55], + "category_id": 44, + "id": 370293, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 127.9628499999996, + "iscrowd": 0, + "image_id": 164, + "bbox": [399.87, 161.68, 9.4, 17.1], + "category_id": 44, + "id": 371777, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 146.33250000000004, + "iscrowd": 0, + "image_id": 164, + "bbox": [373.61, 135.8, 10.49, 15.16], + "category_id": 44, + "id": 372156, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 146.02944999999983, + "iscrowd": 0, + "image_id": 164, + "bbox": [404.56, 132.62, 9.78, 15.75], + "category_id": 44, + "id": 372297, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 161.92295000000013, + "iscrowd": 0, + "image_id": 164, + "bbox": [415.11, 131.22, 10.65, 16.86], + "category_id": 44, + "id": 372380, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 9725.137700000003, + "iscrowd": 0, + "image_id": 164, + "bbox": [428.7, 171.07, 96.72, 138.04], + "category_id": 82, + "id": 331750, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 7930.579499999997, + "iscrowd": 0, + "image_id": 164, + "bbox": [159.04, 409.16, 151.36, 70.84], + "category_id": 62, + "id": 384245, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 215.69274999999982, + "iscrowd": 0, + "image_id": 164, + "bbox": [153.96, 189.95, 12.83, 28.26], + "category_id": 46, + "id": 661070, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 289.8229500000004, + "iscrowd": 0, + "image_id": 164, + "bbox": [141.01, 190.76, 16.1, 36.54], + "category_id": 46, + "id": 663208, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 247.40105000000005, + "iscrowd": 0, + "image_id": 164, + "bbox": [108.42, 196.32, 14.31, 33.4], + "category_id": 46, + "id": 666322, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 297.0384000000001, + "iscrowd": 0, + "image_id": 164, + "bbox": [58.59, 196.12, 19.66, 37.63], + "category_id": 46, + "id": 666447, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 313.90475000000004, + "iscrowd": 0, + "image_id": 164, + "bbox": [81.76, 195.46, 15.44, 39.6], + "category_id": 46, + "id": 666676, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 234.50975000000003, + "iscrowd": 0, + "image_id": 164, + "bbox": [95.89, 196.13, 11.83, 36.93], + "category_id": 46, + "id": 667844, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 166.1521, + "iscrowd": 0, + "image_id": 164, + "bbox": [76.17, 194.99, 10.84, 39.68], + "category_id": 46, + "id": 1496133, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 309.5684999999999, + "iscrowd": 0, + "image_id": 164, + "bbox": [119.18, 191.23, 15.86, 37.92], + "category_id": 46, + "id": 1498000, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 205.96249999999995, + "iscrowd": 0, + "image_id": 164, + "bbox": [133.3, 192.93, 10.75, 35.37], + "category_id": 46, + "id": 1498069, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 440.80759999999987, + "iscrowd": 0, + "image_id": 164, + "bbox": [146.61, 233.85, 26.78, 20.8], + "category_id": 47, + "id": 679713, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 312.0250499999997, + "iscrowd": 0, + "image_id": 164, + "bbox": [114.56, 236.81, 23.23, 19.52], + "category_id": 47, + "id": 681595, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 255.32904999999994, + "iscrowd": 0, + "image_id": 164, + "bbox": [176.77, 232.66, 20.14, 16.13], + "category_id": 47, + "id": 681817, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 256.8086999999999, + "iscrowd": 0, + "image_id": 164, + "bbox": [196.65, 228.88, 19.99, 15.51], + "category_id": 47, + "id": 683259, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 176.7597000000002, + "iscrowd": 0, + "image_id": 164, + "bbox": [159.47, 231.64, 21.72, 21.24], + "category_id": 47, + "id": 1510371, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 276.4122499999988, + "iscrowd": 0, + "image_id": 164, + "bbox": [512.83, 134.18, 15.4, 21.38], + "category_id": 47, + "id": 1512981, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 195.36245000000068, + "iscrowd": 0, + "image_id": 164, + "bbox": [532.63, 139.85, 15.19, 13.71], + "category_id": 47, + "id": 1513350, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 44.76595000000001, + "iscrowd": 0, + "image_id": 164, + "bbox": [506.11, 146.68, 6.26, 8.2], + "category_id": 47, + "id": 1514452, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 285.37839999999994, + "iscrowd": 0, + "image_id": 164, + "bbox": [169.77, 203.22, 17.75, 18.85], + "category_id": 47, + "id": 1514653, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 197.84394999999978, + "iscrowd": 0, + "image_id": 164, + "bbox": [133.77, 233.33, 15.32, 20.21], + "category_id": 47, + "id": 1514812, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 406.5926500000003, + "iscrowd": 0, + "image_id": 164, + "bbox": [506.25, 221.5, 56.15, 10.53], + "category_id": 51, + "id": 715477, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 78.53969999999994, + "iscrowd": 0, + "image_id": 164, + "bbox": [505.95, 211.57, 29.18, 4.68], + "category_id": 51, + "id": 1898808, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 108.9908499999987, + "iscrowd": 0, + "image_id": 164, + "bbox": [505.14, 219.24, 56.89, 4.21], + "category_id": 51, + "id": 1902243, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 120.07694999999946, + "iscrowd": 0, + "image_id": 164, + "bbox": [509.26, 215.43, 52.03, 5.24], + "category_id": 51, + "id": 1903101, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 154.42469999999994, + "iscrowd": 0, + "image_id": 164, + "bbox": [506.83, 212.69, 55.62, 6.07], + "category_id": 51, + "id": 1903305, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 90.16770000000011, + "iscrowd": 0, + "image_id": 164, + "bbox": [362.88, 171.41, 13.36, 9.05], + "category_id": 51, + "id": 1903515, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1483.9537499999997, + "iscrowd": 0, + "image_id": 164, + "bbox": [377.72, 227.45, 53.28, 30.36], + "category_id": 78, + "id": 1119489, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 867.6426000000002, + "iscrowd": 0, + "image_id": 164, + "bbox": [274.61, 263.38, 46.82, 34.22], + "category_id": 79, + "id": 1128244, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 932.5315999999989, + "iscrowd": 0, + "image_id": 164, + "bbox": [372.78, 459.12, 137.14, 14.96], + "category_id": 67, + "id": 1960665, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 16061.32005, + "iscrowd": 0, + "image_id": 192, + "bbox": [349.48, 253.48, 131.6, 220.05], + "category_id": 1, + "id": 478961, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 10907.633999999995, + "iscrowd": 0, + "image_id": 192, + "bbox": [437.21, 218.33, 78.41, 248.03], + "category_id": 1, + "id": 530163, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 4428.93145, + "iscrowd": 0, + "image_id": 192, + "bbox": [0.93, 274.23, 36.53, 205.51], + "category_id": 1, + "id": 541526, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 14388.179850000002, + "iscrowd": 0, + "image_id": 192, + "bbox": [268.11, 179.46, 111.35, 235.68], + "category_id": 1, + "id": 545132, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 486.23700000000014, + "iscrowd": 0, + "image_id": 192, + "bbox": [13.2, 381.39, 36.0, 92.98], + "category_id": 39, + "id": 629871, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 3602.4562500000025, + "iscrowd": 0, + "image_id": 196, + "bbox": [249.73, 200.54, 210.81, 48.65], + "category_id": 50, + "id": 705891, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1248.390700000003, + "iscrowd": 0, + "image_id": 196, + "bbox": [533.65, 250.15, 73.72, 122.35], + "category_id": 50, + "id": 1526578, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1160.2602500000007, + "iscrowd": 0, + "image_id": 196, + "bbox": [517.81, 213.87, 97.94, 43.09], + "category_id": 50, + "id": 1528688, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 571.3090000000001, + "iscrowd": 0, + "image_id": 196, + "bbox": [230.52, 42.78, 71.44, 43.44], + "category_id": 50, + "id": 1530098, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1146.3787500000017, + "iscrowd": 0, + "image_id": 196, + "bbox": [546.15, 251.57, 71.68, 80.61], + "category_id": 50, + "id": 1531102, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1486.5394499999984, + "iscrowd": 0, + "image_id": 196, + "bbox": [464.49, 390.81, 121.54, 88.15], + "category_id": 50, + "id": 1531239, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 258.74959999999993, + "iscrowd": 0, + "image_id": 196, + "bbox": [457.6, 121.32, 44.08, 29.01], + "category_id": 50, + "id": 1897059, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 134.46480000000017, + "iscrowd": 0, + "image_id": 196, + "bbox": [526.71, 129.89, 19.64, 9.29], + "category_id": 50, + "id": 2106274, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 459.3881999999993, + "iscrowd": 0, + "image_id": 196, + "bbox": [448.17, 363.72, 22.98, 42.51], + "category_id": 57, + "id": 1062959, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 520.7394500000009, + "iscrowd": 0, + "image_id": 196, + "bbox": [391.24, 374.67, 24.62, 53.82], + "category_id": 57, + "id": 1064648, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 152.96214999999984, + "iscrowd": 0, + "image_id": 196, + "bbox": [442.27, 375.7, 6.82, 26.03], + "category_id": 57, + "id": 1065163, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 619.4036499999994, + "iscrowd": 0, + "image_id": 196, + "bbox": [412.55, 404.5, 55.98, 30.74], + "category_id": 57, + "id": 1065260, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 349.25540000000103, + "iscrowd": 0, + "image_id": 196, + "bbox": [462.6, 401.48, 26.37, 31.69], + "category_id": 57, + "id": 1564538, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 211.89759999999967, + "iscrowd": 0, + "image_id": 196, + "bbox": [415.04, 417.75, 13.64, 31.75], + "category_id": 57, + "id": 1564616, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 433.93320000000006, + "iscrowd": 0, + "image_id": 196, + "bbox": [379.31, 413.34, 36.43, 30.0], + "category_id": 57, + "id": 1917699, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 133.9599999999997, + "iscrowd": 0, + "image_id": 196, + "bbox": [577.34, 377.01, 12.18, 15.03], + "category_id": 57, + "id": 1918173, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 487.4024999999997, + "iscrowd": 0, + "image_id": 196, + "bbox": [372.9, 388.96, 31.37, 27.25], + "category_id": 57, + "id": 1918435, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1017.75345, + "iscrowd": 0, + "image_id": 196, + "bbox": [168.75, 359.55, 41.76, 41.77], + "category_id": 57, + "id": 1919232, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 175.51060000000027, + "iscrowd": 0, + "image_id": 196, + "bbox": [420.82, 373.65, 22.39, 22.39], + "category_id": 57, + "id": 1919287, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 138.87659999999977, + "iscrowd": 0, + "image_id": 196, + "bbox": [434.1, 446.58, 20.64, 10.6], + "category_id": 57, + "id": 1919363, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 4382.250149999998, + "iscrowd": 0, + "image_id": 196, + "bbox": [275.91, 58.21, 128.58, 62.76], + "category_id": 51, + "id": 1535788, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 12065.732450000003, + "iscrowd": 0, + "image_id": 196, + "bbox": [423.99, 236.14, 144.88, 113.72], + "category_id": 51, + "id": 1538757, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 13667.3249, + "iscrowd": 0, + "image_id": 196, + "bbox": [513.78, 315.38, 126.22, 142.73], + "category_id": 51, + "id": 1539598, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 11288.890700000002, + "iscrowd": 0, + "image_id": 196, + "bbox": [234.69, 197.88, 169.4, 86.23], + "category_id": 51, + "id": 1540443, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 16865.213150000003, + "iscrowd": 0, + "image_id": 196, + "bbox": [363.02, 337.26, 161.24, 139.17], + "category_id": 51, + "id": 1540991, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 6829.082149999998, + "iscrowd": 0, + "image_id": 196, + "bbox": [332.22, 157.3, 132.68, 69.04], + "category_id": 51, + "id": 1541193, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 4926.331500000001, + "iscrowd": 0, + "image_id": 196, + "bbox": [341.69, 115.74, 151.25, 64.57], + "category_id": 51, + "id": 1541299, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2146.6238999999996, + "iscrowd": 0, + "image_id": 196, + "bbox": [189.83, 72.85, 88.39, 33.07], + "category_id": 51, + "id": 1541355, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 3430.0337500000005, + "iscrowd": 0, + "image_id": 196, + "bbox": [361.33, 47.29, 92.99, 62.87], + "category_id": 51, + "id": 1541426, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2471.16245, + "iscrowd": 0, + "image_id": 196, + "bbox": [115.26, 88.64, 96.13, 39.34], + "category_id": 51, + "id": 1901796, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 4282.383900000001, + "iscrowd": 0, + "image_id": 196, + "bbox": [33.84, 109.71, 117.18, 60.2], + "category_id": 51, + "id": 1903527, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 3794.48175, + "iscrowd": 0, + "image_id": 196, + "bbox": [0.0, 145.79, 71.35, 73.52], + "category_id": 51, + "id": 1903675, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 12063.1358, + "iscrowd": 0, + "image_id": 196, + "bbox": [0.0, 188.89, 172.64, 92.01], + "category_id": 51, + "id": 2185741, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 400.41515000000027, + "iscrowd": 0, + "image_id": 196, + "bbox": [199.46, 254.35, 18.25, 31.59], + "category_id": 56, + "id": 1561344, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 690.8346, + "iscrowd": 0, + "image_id": 196, + "bbox": [280.51, 393.55, 37.68, 28.9], + "category_id": 56, + "id": 1561766, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 451.72965000000016, + "iscrowd": 0, + "image_id": 196, + "bbox": [170.36, 269.84, 21.54, 29.09], + "category_id": 56, + "id": 1561783, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 640.4236, + "iscrowd": 0, + "image_id": 196, + "bbox": [115.3, 340.83, 40.0, 25.45], + "category_id": 56, + "id": 1915732, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 346.69775000000004, + "iscrowd": 0, + "image_id": 196, + "bbox": [250.3, 325.7, 24.42, 20.53], + "category_id": 56, + "id": 2115071, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 460.1613499999995, + "iscrowd": 0, + "image_id": 196, + "bbox": [288.99, 290.28, 17.52, 33.3], + "category_id": 56, + "id": 2115107, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 159.20255, + "iscrowd": 0, + "image_id": 196, + "bbox": [150.98, 262.69, 16.43, 13.92], + "category_id": 56, + "id": 2115321, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 247064.9784, + "iscrowd": 0, + "image_id": 196, + "bbox": [0.0, 41.94, 640.0, 438.06], + "category_id": 67, + "id": 1615479, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 1377.909500000001, + "iscrowd": 0, + "image_id": 196, + "bbox": [210.7, 407.69, 84.78, 66.08], + "category_id": 48, + "id": 1890035, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 140405.8689, + "iscrowd": 0, + "image_id": 208, + "bbox": [1.08, 108.94, 638.92, 366.75], + "category_id": 81, + "id": 1132256, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 12347.7568, + "iscrowd": 0, + "image_id": 208, + "bbox": [0.0, 150.36, 304.55, 109.76], + "category_id": 81, + "id": 1132920, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 3400.009649999999, + "iscrowd": 0, + "image_id": 208, + "bbox": [157.81, 170.21, 191.76, 88.89], + "category_id": 90, + "id": 2197833, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 3029.682650000001, + "iscrowd": 0, + "image_id": 208, + "bbox": [57.35, 122.18, 158.34, 82.29], + "category_id": 90, + "id": 2197855, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1956.7471000000003, + "iscrowd": 0, + "image_id": 241, + "bbox": [36.1, 553.8, 29.89, 86.2], + "category_id": 44, + "id": 87146, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 23173.052700000004, + "iscrowd": 0, + "image_id": 241, + "bbox": [312.46, 250.92, 167.2, 296.02], + "category_id": 63, + "id": 99885, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 4463.76635, + "iscrowd": 0, + "image_id": 241, + "bbox": [0.33, 278.19, 143.12, 260.43], + "category_id": 63, + "id": 116432, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 73157.25815000002, + "iscrowd": 0, + "image_id": 241, + "bbox": [132.7, 6.57, 200.43, 626.17], + "category_id": 1, + "id": 190379, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 29090.284799999998, + "iscrowd": 0, + "image_id": 241, + "bbox": [1.44, 263.55, 205.66, 348.05], + "category_id": 1, + "id": 191838, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 13817.75305, + "iscrowd": 0, + "image_id": 241, + "bbox": [295.71, 263.06, 107.15, 257.15], + "category_id": 1, + "id": 193269, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 4704.080300000001, + "iscrowd": 0, + "image_id": 241, + "bbox": [0.0, 372.74, 45.15, 203.38], + "category_id": 1, + "id": 1240866, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 5088.19765, + "iscrowd": 0, + "image_id": 241, + "bbox": [395.51, 337.98, 84.49, 230.11], + "category_id": 1, + "id": 1259806, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1901.1308500000007, + "iscrowd": 0, + "image_id": 241, + "bbox": [103.72, 595.29, 50.72, 44.71], + "category_id": 47, + "id": 682551, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1563.307649999999, + "iscrowd": 0, + "image_id": 241, + "bbox": [0.08, 596.49, 43.34, 43.51], + "category_id": 47, + "id": 684608, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 423.70660000000015, + "iscrowd": 0, + "image_id": 241, + "bbox": [117.1, 321.7, 44.12, 22.16], + "category_id": 75, + "id": 1110261, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 3824.626850000001, + "iscrowd": 0, + "image_id": 241, + "bbox": [343.94, 469.64, 65.31, 73.47], + "category_id": 31, + "id": 1182447, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 7849.56165, + "iscrowd": 0, + "image_id": 241, + "bbox": [90.85, 71.11, 109.84, 201.2], + "category_id": 64, + "id": 1608613, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2304.9887, + "iscrowd": 0, + "image_id": 241, + "bbox": [134.45, 350.26, 49.78, 72.27], + "category_id": 64, + "id": 2127625, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 591.9944000000003, + "iscrowd": 0, + "image_id": 257, + "bbox": [89.3, 197.24, 23.53, 32.78], + "category_id": 10, + "id": 404330, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 302.83400000000006, + "iscrowd": 0, + "image_id": 257, + "bbox": [50.27, 199.13, 25.09, 23.76], + "category_id": 10, + "id": 407530, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 115.41314999999967, + "iscrowd": 0, + "image_id": 257, + "bbox": [227.37, 296.5, 11.3, 11.39], + "category_id": 10, + "id": 1385925, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 35.62389999999987, + "iscrowd": 0, + "image_id": 257, + "bbox": [27.58, 303.1, 5.69, 7.11], + "category_id": 10, + "id": 1386080, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 37.32970000000005, + "iscrowd": 0, + "image_id": 257, + "bbox": [28.93, 276.6, 5.82, 11.76], + "category_id": 10, + "id": 1386337, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 162.8292999999999, + "iscrowd": 0, + "image_id": 257, + "bbox": [89.93, 177.97, 15.03, 14.65], + "category_id": 10, + "id": 1805284, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 79.83655000000005, + "iscrowd": 0, + "image_id": 257, + "bbox": [301.98, 260.82, 7.09, 14.18], + "category_id": 10, + "id": 2058747, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 65.94515000000007, + "iscrowd": 0, + "image_id": 257, + "bbox": [295.6, 261.4, 6.39, 12.2], + "category_id": 10, + "id": 2059682, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 19.345600000000093, + "iscrowd": 0, + "image_id": 257, + "bbox": [55.4, 299.17, 4.88, 4.3], + "category_id": 10, + "id": 2059820, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1562.2831500000007, + "iscrowd": 0, + "image_id": 257, + "bbox": [176.16, 362.21, 50.4, 55.49], + "category_id": 27, + "id": 1164702, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 115.55229999999999, + "iscrowd": 0, + "image_id": 257, + "bbox": [208.47, 340.87, 11.3, 19.58], + "category_id": 27, + "id": 1418348, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 15215.45735, + "iscrowd": 0, + "image_id": 257, + "bbox": [249.17, 277.96, 204.94, 122.97], + "category_id": 8, + "id": 1197129, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 4703.050300000001, + "iscrowd": 0, + "image_id": 257, + "bbox": [508.45, 304.48, 130.76, 63.88], + "category_id": 8, + "id": 1197605, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 12398.05725, + "iscrowd": 0, + "image_id": 257, + "bbox": [519.96, 323.81, 120.04, 156.19], + "category_id": 8, + "id": 1799979, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 4919.353649999999, + "iscrowd": 0, + "image_id": 257, + "bbox": [55.24, 301.11, 141.23, 59.84], + "category_id": 8, + "id": 1800578, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 206.83764999999954, + "iscrowd": 0, + "image_id": 257, + "bbox": [473.61, 320.43, 24.78, 13.95], + "category_id": 8, + "id": 1800634, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 4513.55705, + "iscrowd": 0, + "image_id": 257, + "bbox": [139.57, 345.58, 71.52, 134.42], + "category_id": 1, + "id": 1237390, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1428.3866500000004, + "iscrowd": 0, + "image_id": 257, + "bbox": [236.74, 326.46, 28.38, 79.72], + "category_id": 1, + "id": 1239029, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 593.1241000000001, + "iscrowd": 0, + "image_id": 257, + "bbox": [211.62, 332.49, 22.28, 60.49], + "category_id": 1, + "id": 1241923, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 803.6688000000001, + "iscrowd": 0, + "image_id": 257, + "bbox": [264.09, 330.65, 16.37, 72.88], + "category_id": 1, + "id": 1255512, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1283.6514999999997, + "iscrowd": 0, + "image_id": 257, + "bbox": [287.83, 337.14, 33.15, 77.0], + "category_id": 1, + "id": 1270079, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 388.6977499999994, + "iscrowd": 0, + "image_id": 257, + "bbox": [570.98, 327.79, 14.75, 42.24], + "category_id": 1, + "id": 1285138, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 222.4492, + "iscrowd": 0, + "image_id": 257, + "bbox": [125.19, 325.45, 10.13, 37.03], + "category_id": 1, + "id": 1287027, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1110.5517999999988, + "iscrowd": 0, + "image_id": 257, + "bbox": [316.72, 334.13, 20.17, 74.8], + "category_id": 1, + "id": 1297780, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 371.4350499999998, + "iscrowd": 0, + "image_id": 257, + "bbox": [77.65, 326.41, 20.3, 48.17], + "category_id": 1, + "id": 1302840, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 395.23035, + "iscrowd": 0, + "image_id": 257, + "bbox": [138.11, 325.59, 15.55, 38.45], + "category_id": 1, + "id": 1309094, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 472.8054499999997, + "iscrowd": 0, + "image_id": 257, + "bbox": [225.17, 327.33, 15.21, 69.54], + "category_id": 1, + "id": 1315452, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 523.6540999999997, + "iscrowd": 0, + "image_id": 257, + "bbox": [190.83, 330.6, 20.63, 39.77], + "category_id": 1, + "id": 1707335, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 260.15675000000044, + "iscrowd": 0, + "image_id": 257, + "bbox": [537.16, 328.86, 14.08, 39.82], + "category_id": 1, + "id": 2005786, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 11750, + "iscrowd": 1, + "image_id": 257, + "bbox": [16, 301, 611, 178], + "category_id": 1, + "id": 900100000257, + "ignore": 1, + "_ignore": 1 + }, + { + "area": 123.59089999999995, + "iscrowd": 0, + "image_id": 257, + "bbox": [306.74, 360.16, 12.51, 13.77], + "category_id": 31, + "id": 1435013, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 41.078150000000136, + "iscrowd": 0, + "image_id": 257, + "bbox": [93.13, 344.24, 5.88, 12.48], + "category_id": 31, + "id": 1834141, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 61.242699999999886, + "iscrowd": 0, + "image_id": 257, + "bbox": [208.91, 341.48, 11.21, 29.05], + "category_id": 31, + "id": 2212016, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 20.777750000000086, + "iscrowd": 0, + "image_id": 257, + "bbox": [472.6, 340.88, 6.14, 4.6], + "category_id": 31, + "id": 2212353, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 19856.495650000004, + "iscrowd": 0, + "image_id": 283, + "bbox": [63.18, 42.58, 82.4, 311.75], + "category_id": 44, + "id": 89091, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 3095.66605, + "iscrowd": 0, + "image_id": 283, + "bbox": [0.23, 142.61, 59.56, 86.35], + "category_id": 62, + "id": 100451, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 49134.860949999995, + "iscrowd": 0, + "image_id": 283, + "bbox": [148.65, 67.02, 279.35, 289.03], + "category_id": 62, + "id": 105578, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 135123.99545000005, + "iscrowd": 0, + "image_id": 283, + "bbox": [0.0, 210.82, 424.66, 420.14], + "category_id": 67, + "id": 120535, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 11358.260999999999, + "iscrowd": 0, + "image_id": 283, + "bbox": [164.76, 156.24, 88.26, 214.22], + "category_id": 46, + "id": 665916, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 275709.8110500001, + "iscrowd": 0, + "image_id": 285, + "bbox": [1.43, 68.81, 584.57, 563.94], + "category_id": 23, + "id": 587562, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 64624.86664999999, + "iscrowd": 0, + "image_id": 294, + "bbox": [27.7, 69.83, 364.91, 357.17], + "category_id": 1, + "id": 470246, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 182.62164999999962, + "iscrowd": 0, + "image_id": 294, + "bbox": [415.57, 349.85, 15.31, 23.55], + "category_id": 50, + "id": 708187, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 360.72579999999914, + "iscrowd": 0, + "image_id": 294, + "bbox": [401.49, 323.29, 23.1, 25.32], + "category_id": 50, + "id": 1897351, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 598.2128500000001, + "iscrowd": 0, + "image_id": 294, + "bbox": [383.89, 341.86, 35.58, 40.04], + "category_id": 50, + "id": 1897640, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 844.8774499999998, + "iscrowd": 0, + "image_id": 294, + "bbox": [402.19, 111.67, 14.47, 114.66], + "category_id": 50, + "id": 1897818, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 683.0231000000013, + "iscrowd": 0, + "image_id": 294, + "bbox": [420.95, 114.4, 13.43, 103.27], + "category_id": 50, + "id": 1897858, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 550.1896499999995, + "iscrowd": 0, + "image_id": 294, + "bbox": [328.99, 256.48, 18.17, 66.93], + "category_id": 50, + "id": 1897919, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 485.56159999999926, + "iscrowd": 0, + "image_id": 294, + "bbox": [403.99, 367.62, 32.19, 21.11], + "category_id": 50, + "id": 2216629, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 364.8656999999999, + "iscrowd": 0, + "image_id": 294, + "bbox": [392.56, 299.36, 16.54, 32.35], + "category_id": 50, + "id": 2216976, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 265.2028500000003, + "iscrowd": 0, + "image_id": 294, + "bbox": [388.56, 387.15, 14.73, 22.97], + "category_id": 50, + "id": 2217050, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 262.35164999999984, + "iscrowd": 0, + "image_id": 294, + "bbox": [401.36, 355.24, 21.6, 25.14], + "category_id": 50, + "id": 2217133, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 63.433249999999965, + "iscrowd": 0, + "image_id": 294, + "bbox": [623.23, 50.49, 4.79, 22.57], + "category_id": 50, + "id": 2217190, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 13629.079649999989, + "iscrowd": 0, + "image_id": 294, + "bbox": [507.6, 312.81, 131.46, 109.39], + "category_id": 78, + "id": 1118968, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 172.5971999999994, + "iscrowd": 0, + "image_id": 294, + "bbox": [608.51, 251.83, 7.67, 40.75], + "category_id": 48, + "id": 1518770, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 279.9459499999995, + "iscrowd": 0, + "image_id": 294, + "bbox": [445.73, 329.05, 17.33, 34.67], + "category_id": 49, + "id": 1524125, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 279.8878000000002, + "iscrowd": 0, + "image_id": 294, + "bbox": [454.37, 320.69, 15.89, 45.17], + "category_id": 49, + "id": 1524238, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 187.2767500000002, + "iscrowd": 0, + "image_id": 294, + "bbox": [461.6, 335.52, 16.28, 33.28], + "category_id": 49, + "id": 2104366, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 143.22540000000023, + "iscrowd": 0, + "image_id": 294, + "bbox": [466.52, 325.24, 13.79, 32.5], + "category_id": 49, + "id": 2104631, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 158.32795000000038, + "iscrowd": 0, + "image_id": 294, + "bbox": [469.28, 335.38, 15.32, 33.19], + "category_id": 49, + "id": 2105113, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2454.3745500000005, + "iscrowd": 0, + "image_id": 294, + "bbox": [0.15, 0.0, 53.72, 53.96], + "category_id": 85, + "id": 2144820, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 278.12544999999983, + "iscrowd": 0, + "image_id": 328, + "bbox": [434.75, 283.15, 35.01, 18.64], + "category_id": 77, + "id": 326470, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 33082.45864999999, + "iscrowd": 0, + "image_id": 328, + "bbox": [44.81, 68.09, 223.8, 356.91], + "category_id": 1, + "id": 422643, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 38458.955649999996, + "iscrowd": 0, + "image_id": 328, + "bbox": [197.91, 90.52, 205.13, 389.34], + "category_id": 1, + "id": 470613, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 52372.09644999999, + "iscrowd": 0, + "image_id": 328, + "bbox": [336.87, 58.48, 249.91, 426.04], + "category_id": 1, + "id": 480233, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 28261.0682, + "iscrowd": 0, + "image_id": 328, + "bbox": [0.6, 104.76, 587.67, 374.74], + "category_id": 15, + "id": 576964, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 1387.0935500000007, + "iscrowd": 0, + "image_id": 328, + "bbox": [245.65, 220.95, 86.44, 37.42], + "category_id": 84, + "id": 1137074, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 4760.385999999999, + "iscrowd": 0, + "image_id": 328, + "bbox": [350.46, 77.31, 101.02, 65.61], + "category_id": 3, + "id": 1341477, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 275.4648499999998, + "iscrowd": 0, + "image_id": 328, + "bbox": [462.06, 177.54, 18.31, 43.81], + "category_id": 32, + "id": 1440283, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 631.9263999999995, + "iscrowd": 0, + "image_id": 328, + "bbox": [315.37, 171.71, 22.5, 57.98], + "category_id": 32, + "id": 1442817, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 5542.455349999999, + "iscrowd": 0, + "image_id": 328, + "bbox": [12.03, 171.36, 119.45, 79.63], + "category_id": 27, + "id": 1823916, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2901.4339999999993, + "iscrowd": 0, + "image_id": 328, + "bbox": [49.45, 160.85, 85.28, 47.84], + "category_id": 27, + "id": 1827585, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 15100.550200000001, + "iscrowd": 0, + "image_id": 338, + "bbox": [217.59, 149.74, 95.78, 177.26], + "category_id": 82, + "id": 331127, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 447.72725000000014, + "iscrowd": 0, + "image_id": 338, + "bbox": [458.17, 88.69, 23.24, 24.61], + "category_id": 85, + "id": 339566, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 8748.053699999999, + "iscrowd": 0, + "image_id": 338, + "bbox": [327.0, 142.07, 90.46, 183.7], + "category_id": 1, + "id": 484147, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 4482.490749999999, + "iscrowd": 0, + "image_id": 338, + "bbox": [439.35, 173.72, 56.91, 153.28], + "category_id": 1, + "id": 524817, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 10051.329499999998, + "iscrowd": 0, + "image_id": 338, + "bbox": [24.25, 243.96, 138.88, 78.63], + "category_id": 79, + "id": 1123956, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 686.222100000001, + "iscrowd": 0, + "image_id": 338, + "bbox": [465.15, 231.65, 25.66, 39.34], + "category_id": 31, + "id": 2176417, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 81.5554, + "iscrowd": 0, + "image_id": 357, + "bbox": [539.09, 121.4, 4.0, 27.24], + "category_id": 39, + "id": 628872, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 40.0523499999999, + "iscrowd": 0, + "image_id": 357, + "bbox": [566.96, 186.44, 8.91, 6.69], + "category_id": 40, + "id": 635098, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 35.704700000000024, + "iscrowd": 0, + "image_id": 357, + "bbox": [76.74, 97.16, 6.97, 9.21], + "category_id": 40, + "id": 635612, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 18.735549999999982, + "iscrowd": 0, + "image_id": 357, + "bbox": [279.48, 25.03, 5.46, 4.72], + "category_id": 40, + "id": 636542, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 214.2974, + "iscrowd": 0, + "image_id": 357, + "bbox": [372.19, 25.03, 17.25, 27.63], + "category_id": 1, + "id": 1269289, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 330.3950499999995, + "iscrowd": 0, + "image_id": 357, + "bbox": [271.1, 18.4, 27.02, 37.16], + "category_id": 1, + "id": 1275571, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 300.3006499999999, + "iscrowd": 0, + "image_id": 357, + "bbox": [209.34, 22.61, 22.2, 31.01], + "category_id": 1, + "id": 1285119, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 472.0862999999997, + "iscrowd": 0, + "image_id": 357, + "bbox": [74.62, 79.12, 18.53, 48.08], + "category_id": 1, + "id": 1297671, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 860.8170999999988, + "iscrowd": 0, + "image_id": 357, + "bbox": [530.83, 136.21, 29.04, 54.59], + "category_id": 1, + "id": 1299372, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 561.6825500000003, + "iscrowd": 0, + "image_id": 357, + "bbox": [567.61, 160.02, 26.76, 38.03], + "category_id": 1, + "id": 1304492, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 547.3569000000009, + "iscrowd": 0, + "image_id": 357, + "bbox": [592.37, 154.71, 27.18, 46.6], + "category_id": 1, + "id": 1314926, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 67.5915500000003, + "iscrowd": 0, + "image_id": 357, + "bbox": [556.03, 23.96, 13.89, 9.67], + "category_id": 1, + "id": 1317799, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 104.08484999999976, + "iscrowd": 0, + "image_id": 357, + "bbox": [545.19, 21.04, 9.65, 26.16], + "category_id": 1, + "id": 1323595, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 56.523049999999856, + "iscrowd": 0, + "image_id": 357, + "bbox": [596.85, 8.21, 8.96, 10.15], + "category_id": 1, + "id": 1323658, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 220.2697500000003, + "iscrowd": 0, + "image_id": 357, + "bbox": [265.33, 6.43, 17.69, 27.34], + "category_id": 1, + "id": 1327311, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 79.1437, + "iscrowd": 0, + "image_id": 357, + "bbox": [568.15, 29.27, 11.87, 23.74], + "category_id": 1, + "id": 1327873, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 84.28930000000027, + "iscrowd": 0, + "image_id": 357, + "bbox": [580.99, 32.19, 6.72, 23.92], + "category_id": 1, + "id": 2007510, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 6687, + "iscrowd": 1, + "image_id": 357, + "bbox": [466, 0, 173, 73], + "category_id": 1, + "id": 900100000357, + "ignore": 1, + "_ignore": 1 + }, + { + "area": 2093.1769499999996, + "iscrowd": 0, + "image_id": 359, + "bbox": [153.87, 100.44, 65.37, 34.25], + "category_id": 10, + "id": 401907, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 981.3448500000004, + "iscrowd": 0, + "image_id": 359, + "bbox": [243.76, 99.94, 51.0, 22.4], + "category_id": 10, + "id": 406801, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 16.788799999999753, + "iscrowd": 0, + "image_id": 359, + "bbox": [278.48, 293.48, 4.46, 4.11], + "category_id": 10, + "id": 1384199, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 3137.2429500000017, + "iscrowd": 0, + "image_id": 359, + "bbox": [0.0, 290.11, 123.72, 37.58], + "category_id": 3, + "id": 1778050, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 560.5042000000001, + "iscrowd": 0, + "image_id": 360, + "bbox": [261.02, 138.76, 52.1, 36.95], + "category_id": 1, + "id": 457434, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 355.26565000000016, + "iscrowd": 0, + "image_id": 360, + "bbox": [97.99, 273.39, 26.6, 21.41], + "category_id": 1, + "id": 469143, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 676.5820499999999, + "iscrowd": 0, + "image_id": 360, + "bbox": [240.45, 155.01, 52.19, 41.49], + "category_id": 36, + "id": 619614, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 101928.52115000002, + "iscrowd": 0, + "image_id": 387, + "bbox": [249.17, 50.7, 375.37, 277.21], + "category_id": 73, + "id": 1103403, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 40974.07855000001, + "iscrowd": 0, + "image_id": 387, + "bbox": [152.38, 50.29, 470.86, 312.38], + "category_id": 73, + "id": 1970089, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 18024.40625, + "iscrowd": 0, + "image_id": 387, + "bbox": [332.5, 111.88, 210.0, 93.75], + "category_id": 77, + "id": 1977657, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 236.53855000000016, + "iscrowd": 0, + "image_id": 395, + "bbox": [291.15, 289.29, 19.84, 22.97], + "category_id": 77, + "id": 323360, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 122.09555000000024, + "iscrowd": 0, + "image_id": 395, + "bbox": [619.05, 305.74, 15.83, 11.59], + "category_id": 77, + "id": 1637902, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 129618.30084999999, + "iscrowd": 0, + "image_id": 395, + "bbox": [118.61, 138.16, 432.72, 435.32], + "category_id": 1, + "id": 1218065, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 15212.780349999997, + "iscrowd": 0, + "image_id": 395, + "bbox": [0.0, 207.32, 80.81, 278.92], + "category_id": 1, + "id": 1260127, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 10566.527799999998, + "iscrowd": 0, + "image_id": 395, + "bbox": [77.02, 270.92, 82.55, 204.66], + "category_id": 1, + "id": 1270740, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 28854.102049999998, + "iscrowd": 0, + "image_id": 395, + "bbox": [515.21, 200.28, 124.79, 379.72], + "category_id": 1, + "id": 1280168, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 1027.75655, + "iscrowd": 0, + "image_id": 395, + "bbox": [108.58, 232.54, 38.86, 46.9], + "category_id": 1, + "id": 1720813, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 5831.163299999999, + "iscrowd": 0, + "image_id": 395, + "bbox": [140.76, 239.82, 82.12, 109.48], + "category_id": 1, + "id": 1731140, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2099.987899999999, + "iscrowd": 0, + "image_id": 395, + "bbox": [412.44, 194.77, 32.94, 105.97], + "category_id": 1, + "id": 1746734, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2225.3864499999977, + "iscrowd": 0, + "image_id": 395, + "bbox": [428.93, 206.74, 43.9, 113.15], + "category_id": 1, + "id": 1750589, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1275.735550000001, + "iscrowd": 0, + "image_id": 395, + "bbox": [159.8, 332.19, 60.39, 66.97], + "category_id": 1, + "id": 1752009, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2806.4026, + "iscrowd": 0, + "image_id": 395, + "bbox": [54.7, 214.92, 48.39, 126.94], + "category_id": 1, + "id": 1756980, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2459.9935000000005, + "iscrowd": 0, + "image_id": 395, + "bbox": [448.16, 253.08, 70.79, 89.66], + "category_id": 1, + "id": 2150881, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 6655.397300000003, + "iscrowd": 0, + "image_id": 397, + "bbox": [477.94, 0.0, 143.48, 98.06], + "category_id": 62, + "id": 105605, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 204268.80735000005, + "iscrowd": 0, + "image_id": 397, + "bbox": [4.31, 44.22, 631.02, 412.05], + "category_id": 59, + "id": 1072508, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 1681.4982999999997, + "iscrowd": 0, + "image_id": 397, + "bbox": [0.0, 294.57, 36.75, 71.88], + "category_id": 47, + "id": 1507253, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 11717.453350000003, + "iscrowd": 0, + "image_id": 397, + "bbox": [480.0, 315.43, 150.86, 158.34], + "category_id": 47, + "id": 1886120, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 1138.0234000000007, + "iscrowd": 0, + "image_id": 397, + "bbox": [595.24, 404.53, 44.76, 52.1], + "category_id": 48, + "id": 1889153, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 22748.658200000005, + "iscrowd": 0, + "image_id": 397, + "bbox": [1.25, 349.09, 503.69, 130.91], + "category_id": 67, + "id": 1963869, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 25022.46835, + "iscrowd": 0, + "image_id": 397, + "bbox": [3.74, 0.0, 225.66, 205.33], + "category_id": 1, + "id": 2151765, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 4634.541499999999, + "iscrowd": 0, + "image_id": 400, + "bbox": [417.5, 148.97, 97.62, 78.77], + "category_id": 18, + "id": 9774, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 264455.48134999996, + "iscrowd": 0, + "image_id": 400, + "bbox": [1.44, 64.72, 636.56, 477.48], + "category_id": 9, + "id": 176688, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 1120.3052000000005, + "iscrowd": 0, + "image_id": 415, + "bbox": [60.13, 399.09, 41.97, 44.41], + "category_id": 43, + "id": 655306, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 12687.970250000004, + "iscrowd": 0, + "image_id": 415, + "bbox": [0.0, 257.44, 122.96, 301.62], + "category_id": 1, + "id": 1248682, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 3573.3858000000005, + "iscrowd": 0, + "image_id": 428, + "bbox": [374.56, 200.49, 94.65, 154.52], + "category_id": 32, + "id": 293908, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 55007.08139999999, + "iscrowd": 0, + "image_id": 428, + "bbox": [226.94, 32.65, 355.92, 323.27], + "category_id": 1, + "id": 487626, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 15955.590150000004, + "iscrowd": 0, + "image_id": 428, + "bbox": [405.41, 234.73, 175.13, 121.62], + "category_id": 61, + "id": 1085469, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 8519.61285, + "iscrowd": 0, + "image_id": 459, + "bbox": [162.57, 278.99, 61.63, 239.81], + "category_id": 32, + "id": 294038, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 170999.69984999998, + "iscrowd": 0, + "image_id": 459, + "bbox": [0.0, 84.85, 514.88, 547.96], + "category_id": 1, + "id": 1209199, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 1232.8114499999997, + "iscrowd": 0, + "image_id": 472, + "bbox": [394.86, 56.68, 87.21, 31.46], + "category_id": 5, + "id": 157332, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 65310.2008, + "iscrowd": 0, + "image_id": 474, + "bbox": [3.37, 42.7, 329.21, 429.21], + "category_id": 1, + "id": 425095, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 3089.4674999999993, + "iscrowd": 0, + "image_id": 474, + "bbox": [9.86, 234.5, 88.41, 71.31], + "category_id": 40, + "id": 636277, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 6107.148950000001, + "iscrowd": 0, + "image_id": 486, + "bbox": [391.66, 175.9, 63.04, 109.86], + "category_id": 82, + "id": 333535, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 17448.404149999995, + "iscrowd": 0, + "image_id": 486, + "bbox": [392.05, 274.92, 247.95, 152.08], + "category_id": 79, + "id": 1124804, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 507.9642499999998, + "iscrowd": 0, + "image_id": 486, + "bbox": [623.9, 233.27, 16.02, 38.17], + "category_id": 44, + "id": 1488066, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 498.2766500000002, + "iscrowd": 0, + "image_id": 486, + "bbox": [498.82, 278.46, 23.05, 25.31], + "category_id": 44, + "id": 2093503, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 131.61645, + "iscrowd": 0, + "image_id": 486, + "bbox": [83.06, 219.17, 5.12, 29.08], + "category_id": 44, + "id": 2096912, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 191.04449999999963, + "iscrowd": 0, + "image_id": 486, + "bbox": [223.65, 192.28, 6.92, 51.96], + "category_id": 49, + "id": 1523034, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 38.09325000000004, + "iscrowd": 0, + "image_id": 486, + "bbox": [235.42, 200.87, 3.9, 16.53], + "category_id": 49, + "id": 2104665, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 8477.589850000002, + "iscrowd": 0, + "image_id": 486, + "bbox": [252.43, 299.84, 131.39, 88.22], + "category_id": 51, + "id": 2108796, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 49.045200000000044, + "iscrowd": 0, + "image_id": 488, + "bbox": [431.12, 252.62, 8.29, 7.58], + "category_id": 37, + "id": 302707, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 4851.846399999997, + "iscrowd": 0, + "image_id": 488, + "bbox": [180.76, 210.3, 104.63, 131.03], + "category_id": 1, + "id": 443794, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 5682.173299999999, + "iscrowd": 0, + "image_id": 488, + "bbox": [112.24, 245.32, 127.0, 110.76], + "category_id": 1, + "id": 564365, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 915.4086500000001, + "iscrowd": 0, + "image_id": 488, + "bbox": [209.3, 197.89, 25.41, 70.75], + "category_id": 1, + "id": 1271766, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 720.501399999999, + "iscrowd": 0, + "image_id": 488, + "bbox": [546.32, 216.45, 44.13, 49.26], + "category_id": 1, + "id": 1275012, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 7186.221699999997, + "iscrowd": 0, + "image_id": 488, + "bbox": [34.67, 208.02, 91.24, 152.36], + "category_id": 1, + "id": 1731466, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 23.785449999999862, + "iscrowd": 0, + "image_id": 488, + "bbox": [224.36, 181.86, 4.42, 8.01], + "category_id": 1, + "id": 2001852, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 222.61124999999927, + "iscrowd": 0, + "image_id": 488, + "bbox": [214.91, 225.8, 63.45, 45.93], + "category_id": 39, + "id": 629732, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 361.48684999999966, + "iscrowd": 0, + "image_id": 488, + "bbox": [218.97, 274.81, 24.15, 20.49], + "category_id": 40, + "id": 632859, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 58.98509999999994, + "iscrowd": 0, + "image_id": 488, + "bbox": [562.51, 253.32, 10.5, 7.99], + "category_id": 40, + "id": 637011, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 44775.328299999994, + "iscrowd": 0, + "image_id": 502, + "bbox": [226.96, 88.0, 273.13, 257.74], + "category_id": 23, + "id": 1411246, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 193.23244999999997, + "iscrowd": 0, + "image_id": 520, + "bbox": [300.04, 140.73, 32.01, 20.26], + "category_id": 16, + "id": 37377, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 174.1545999999998, + "iscrowd": 0, + "image_id": 520, + "bbox": [230.03, 131.19, 34.17, 13.96], + "category_id": 16, + "id": 37692, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 143.86575000000002, + "iscrowd": 0, + "image_id": 520, + "bbox": [449.26, 217.6, 18.56, 17.79], + "category_id": 16, + "id": 271898, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 140.66764999999995, + "iscrowd": 0, + "image_id": 520, + "bbox": [0.11, 187.56, 23.22, 15.48], + "category_id": 16, + "id": 272348, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 128.87455000000008, + "iscrowd": 0, + "image_id": 520, + "bbox": [444.38, 174.06, 21.97, 16.09], + "category_id": 16, + "id": 272551, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 108.29215000000005, + "iscrowd": 0, + "image_id": 520, + "bbox": [599.29, 178.81, 19.65, 10.42], + "category_id": 16, + "id": 272729, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 155.2921, + "iscrowd": 0, + "image_id": 520, + "bbox": [97.33, 194.51, 35.82, 22.84], + "category_id": 16, + "id": 273171, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 163.1560500000002, + "iscrowd": 0, + "image_id": 520, + "bbox": [155.5, 184.44, 25.5, 11.87], + "category_id": 16, + "id": 273213, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 234.44544999999968, + "iscrowd": 0, + "image_id": 520, + "bbox": [242.02, 307.84, 15.21, 34.27], + "category_id": 1, + "id": 212333, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 209.08724999999993, + "iscrowd": 0, + "image_id": 520, + "bbox": [453.08, 316.95, 17.86, 18.87], + "category_id": 1, + "id": 1211500, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 81.48459999999976, + "iscrowd": 0, + "image_id": 520, + "bbox": [508.05, 323.61, 8.1, 13.7], + "category_id": 1, + "id": 1680489, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 8583.28935, + "iscrowd": 0, + "image_id": 536, + "bbox": [288.41, 138.98, 156.33, 195.53], + "category_id": 62, + "id": 374363, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 10251.997199999998, + "iscrowd": 0, + "image_id": 536, + "bbox": [0.68, 141.91, 82.48, 194.09], + "category_id": 62, + "id": 2189966, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 15367.24815, + "iscrowd": 0, + "image_id": 536, + "bbox": [292.86, 133.95, 155.14, 198.27], + "category_id": 1, + "id": 438609, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 19603.05865, + "iscrowd": 0, + "image_id": 536, + "bbox": [169.41, 79.52, 108.42, 255.62], + "category_id": 1, + "id": 497343, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 18548.185149999998, + "iscrowd": 0, + "image_id": 536, + "bbox": [88.34, 68.58, 98.16, 263.52], + "category_id": 1, + "id": 516492, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 2155.9285999999993, + "iscrowd": 0, + "image_id": 536, + "bbox": [22.1, 258.04, 44.05, 77.96], + "category_id": 31, + "id": 1179584, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2341.2988000000005, + "iscrowd": 0, + "image_id": 536, + "bbox": [202.07, 185.98, 69.48, 63.22], + "category_id": 31, + "id": 1182069, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 213.47909999999973, + "iscrowd": 0, + "image_id": 536, + "bbox": [343.78, 235.32, 45.57, 12.3], + "category_id": 31, + "id": 1182221, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 43.838950000000175, + "iscrowd": 0, + "image_id": 536, + "bbox": [206.43, 106.55, 13.68, 21.14], + "category_id": 77, + "id": 1636640, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 170.2840500000001, + "iscrowd": 0, + "image_id": 536, + "bbox": [98.62, 87.68, 28.93, 39.35], + "category_id": 77, + "id": 1977571, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 53.888699999999815, + "iscrowd": 0, + "image_id": 536, + "bbox": [361.35, 224.65, 8.04, 12.47], + "category_id": 77, + "id": 2195993, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 83.22834999999984, + "iscrowd": 0, + "image_id": 544, + "bbox": [596.57, 293.78, 13.81, 7.44], + "category_id": 37, + "id": 304761, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 6025.523100000001, + "iscrowd": 0, + "image_id": 544, + "bbox": [253.32, 243.73, 113.23, 161.2], + "category_id": 1, + "id": 430999, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 6144.207649999999, + "iscrowd": 0, + "image_id": 544, + "bbox": [107.47, 301.3, 129.54, 111.31], + "category_id": 1, + "id": 453730, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 5509.193949999998, + "iscrowd": 0, + "image_id": 544, + "bbox": [25.53, 269.29, 101.67, 142.79], + "category_id": 1, + "id": 471663, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 594.7322499999996, + "iscrowd": 0, + "image_id": 544, + "bbox": [76.23, 191.66, 28.84, 44.78], + "category_id": 1, + "id": 476124, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 931.74445, + "iscrowd": 0, + "image_id": 544, + "bbox": [247.29, 185.44, 29.17, 50.01], + "category_id": 1, + "id": 487476, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 402.09069999999986, + "iscrowd": 0, + "image_id": 544, + "bbox": [193.14, 209.98, 30.04, 27.53], + "category_id": 1, + "id": 494227, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 315.2081, + "iscrowd": 0, + "image_id": 544, + "bbox": [148.91, 193.7, 31.15, 41.98], + "category_id": 1, + "id": 523667, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1493.9900500000003, + "iscrowd": 0, + "image_id": 544, + "bbox": [0.07, 221.17, 33.48, 77.9], + "category_id": 1, + "id": 545434, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 296.1576000000001, + "iscrowd": 0, + "image_id": 544, + "bbox": [544.81, 211.75, 21.74, 21.0], + "category_id": 1, + "id": 545942, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1410.213699999999, + "iscrowd": 0, + "image_id": 544, + "bbox": [20.46, 237.09, 42.72, 59.44], + "category_id": 1, + "id": 1221722, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 252.43800000000005, + "iscrowd": 0, + "image_id": 544, + "bbox": [174.28, 213.99, 18.9, 24.91], + "category_id": 1, + "id": 1245211, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 690.9191, + "iscrowd": 0, + "image_id": 544, + "bbox": [18.77, 194.87, 25.64, 45.63], + "category_id": 1, + "id": 1720612, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 284.41735000000045, + "iscrowd": 0, + "image_id": 544, + "bbox": [512.31, 203.13, 16.39, 29.72], + "category_id": 1, + "id": 2148912, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 133940, + "iscrowd": 1, + "image_id": 544, + "bbox": [0, 0, 639, 347], + "category_id": 1, + "id": 900100000544, + "ignore": 1, + "_ignore": 1 + }, + { + "area": 277.01684999999947, + "iscrowd": 0, + "image_id": 544, + "bbox": [223.14, 300.79, 52.74, 7.6], + "category_id": 39, + "id": 630177, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 461.0875500000002, + "iscrowd": 0, + "image_id": 544, + "bbox": [218.39, 324.92, 20.27, 30.58], + "category_id": 40, + "id": 634565, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 16752.975699999995, + "iscrowd": 0, + "image_id": 564, + "bbox": [230.51, 335.3, 147.48, 279.2], + "category_id": 1, + "id": 504828, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 2928.7800000000007, + "iscrowd": 0, + "image_id": 564, + "bbox": [430.78, 203.68, 89.22, 93.9], + "category_id": 1, + "id": 518975, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2476.870300000001, + "iscrowd": 0, + "image_id": 564, + "bbox": [296.89, 432.81, 105.48, 40.82], + "category_id": 43, + "id": 656909, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 767.6281500000009, + "iscrowd": 0, + "image_id": 564, + "bbox": [62.9, 234.39, 43.46, 22.27], + "category_id": 62, + "id": 1597322, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 780.6210999999994, + "iscrowd": 0, + "image_id": 564, + "bbox": [108.71, 232.0, 45.58, 25.44], + "category_id": 62, + "id": 1598473, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 995.4353000000006, + "iscrowd": 0, + "image_id": 564, + "bbox": [202.82, 230.33, 47.5, 26.02], + "category_id": 62, + "id": 1600945, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1177.7280999999998, + "iscrowd": 0, + "image_id": 564, + "bbox": [245.16, 307.81, 56.56, 28.28], + "category_id": 62, + "id": 1601794, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1032.0828499999998, + "iscrowd": 0, + "image_id": 564, + "bbox": [135.73, 258.53, 50.13, 30.25], + "category_id": 62, + "id": 1602301, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 916.2860999999996, + "iscrowd": 0, + "image_id": 564, + "bbox": [88.79, 256.37, 50.46, 25.81], + "category_id": 62, + "id": 1603427, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 896.8613499999994, + "iscrowd": 0, + "image_id": 564, + "bbox": [39.44, 260.53, 46.92, 23.68], + "category_id": 62, + "id": 1603583, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 758.9105499999991, + "iscrowd": 0, + "image_id": 564, + "bbox": [13.52, 235.62, 47.74, 22.44], + "category_id": 62, + "id": 1933450, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2269.8216999999995, + "iscrowd": 0, + "image_id": 564, + "bbox": [412.26, 304.21, 61.51, 46.54], + "category_id": 62, + "id": 1942078, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 895.2064000000009, + "iscrowd": 0, + "image_id": 564, + "bbox": [325.82, 279.27, 51.53, 21.61], + "category_id": 62, + "id": 1945218, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1054.806599999999, + "iscrowd": 0, + "image_id": 564, + "bbox": [303.39, 307.56, 51.38, 27.27], + "category_id": 62, + "id": 1947219, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 3130.9597499999995, + "iscrowd": 0, + "image_id": 564, + "bbox": [233.06, 228.6, 66.46, 77.41], + "category_id": 62, + "id": 1948102, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1154.3769999999995, + "iscrowd": 0, + "image_id": 564, + "bbox": [152.8, 232.51, 48.71, 41.53], + "category_id": 62, + "id": 2124786, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 32952, + "iscrowd": 1, + "image_id": 564, + "bbox": [1, 222, 518, 134], + "category_id": 62, + "id": 906200000564, + "ignore": 1, + "_ignore": 1 + }, + { + "area": 4805.082899999998, + "iscrowd": 0, + "image_id": 569, + "bbox": [88.1, 269.14, 80.18, 145.38], + "category_id": 1, + "id": 514322, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 353.62954999999994, + "iscrowd": 0, + "image_id": 569, + "bbox": [188.63, 205.85, 30.07, 31.15], + "category_id": 38, + "id": 621381, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 128.96510000000006, + "iscrowd": 0, + "image_id": 569, + "bbox": [170.12, 216.94, 16.66, 32.58], + "category_id": 38, + "id": 622837, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 241.56149999999988, + "iscrowd": 0, + "image_id": 569, + "bbox": [145.5, 229.28, 22.99, 23.7], + "category_id": 38, + "id": 1465067, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 175.20920000000004, + "iscrowd": 0, + "image_id": 569, + "bbox": [134.91, 239.77, 25.66, 23.29], + "category_id": 38, + "id": 1465074, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 60.2735, + "iscrowd": 0, + "image_id": 589, + "bbox": [463.86, 229.41, 18.75, 6.3], + "category_id": 34, + "id": 605219, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 8819.9511, + "iscrowd": 0, + "image_id": 589, + "bbox": [347.91, 184.57, 145.43, 184.29], + "category_id": 1, + "id": 2150702, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 650.8376999999992, + "iscrowd": 0, + "image_id": 590, + "bbox": [75.87, 295.01, 85.2, 11.57], + "category_id": 81, + "id": 1129157, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1836.003549999999, + "iscrowd": 0, + "image_id": 590, + "bbox": [73.0, 292.99, 92.87, 27.6], + "category_id": 51, + "id": 1898065, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 11235.0136, + "iscrowd": 0, + "image_id": 599, + "bbox": [528.37, 5.48, 111.33, 237.26], + "category_id": 64, + "id": 21785, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 73955.45975, + "iscrowd": 0, + "image_id": 599, + "bbox": [0.92, 37.13, 412.5, 365.75], + "category_id": 17, + "id": 50915, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 131019.11909999992, + "iscrowd": 0, + "image_id": 599, + "bbox": [0.0, 1.83, 619.65, 400.9], + "category_id": 63, + "id": 98022, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 7752.206149999998, + "iscrowd": 0, + "image_id": 599, + "bbox": [439.01, 198.19, 179.26, 87.8], + "category_id": 75, + "id": 1109665, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 4869.7, + "iscrowd": 0, + "image_id": 599, + "bbox": [389.58, 167.29, 198.0, 60.5], + "category_id": 75, + "id": 1111738, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 12582.159850000002, + "iscrowd": 0, + "image_id": 623, + "bbox": [271.29, 72.62, 103.71, 238.38], + "category_id": 15, + "id": 576293, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 99299.13180000002, + "iscrowd": 0, + "image_id": 623, + "bbox": [1.12, 31.46, 355.06, 462.92], + "category_id": 88, + "id": 1160863, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 12816.989199999996, + "iscrowd": 0, + "image_id": 623, + "bbox": [273.62, 62.92, 99.62, 239.84], + "category_id": 62, + "id": 1587299, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 47312.3003, + "iscrowd": 0, + "image_id": 623, + "bbox": [162.34, 1.3, 211.69, 490.91], + "category_id": 1, + "id": 2155793, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 1314.2529000000002, + "iscrowd": 0, + "image_id": 626, + "bbox": [312.52, 124.36, 41.32, 42.47], + "category_id": 85, + "id": 337054, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 643.4670499999993, + "iscrowd": 0, + "image_id": 626, + "bbox": [396.15, 129.71, 20.88, 46.91], + "category_id": 85, + "id": 340215, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 64019.87940000001, + "iscrowd": 0, + "image_id": 632, + "bbox": [3.27, 266.85, 401.23, 208.25], + "category_id": 65, + "id": 315724, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 2464.9330500000005, + "iscrowd": 0, + "image_id": 632, + "bbox": [183.36, 136.56, 60.78, 92.39], + "category_id": 64, + "id": 1610466, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 7034.62185, + "iscrowd": 0, + "image_id": 632, + "bbox": [347.35, 212.37, 82.51, 143.0], + "category_id": 64, + "id": 1952354, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 203.6632999999997, + "iscrowd": 0, + "image_id": 632, + "bbox": [455.98, 192.5, 8.57, 35.59], + "category_id": 84, + "id": 1657298, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 214.5320999999999, + "iscrowd": 0, + "image_id": 632, + "bbox": [453.31, 252.97, 8.02, 33.93], + "category_id": 84, + "id": 1660743, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 179.1241999999999, + "iscrowd": 0, + "image_id": 632, + "bbox": [444.76, 297.63, 5.32, 39.68], + "category_id": 84, + "id": 1660854, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 189.13310000000044, + "iscrowd": 0, + "image_id": 632, + "bbox": [505.95, 191.02, 12.15, 36.78], + "category_id": 84, + "id": 1660921, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 91.54300000000008, + "iscrowd": 0, + "image_id": 632, + "bbox": [487.51, 199.33, 7.48, 28.05], + "category_id": 84, + "id": 1661908, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 936.6684500000003, + "iscrowd": 0, + "image_id": 632, + "bbox": [460.91, 191.67, 29.33, 36.04], + "category_id": 84, + "id": 1987085, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 245.04669999999973, + "iscrowd": 0, + "image_id": 632, + "bbox": [527.02, 248.57, 24.4, 40.43], + "category_id": 84, + "id": 1988858, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 93.38395000000153, + "iscrowd": 0, + "image_id": 632, + "bbox": [519.39, 193.43, 4.08, 34.19], + "category_id": 84, + "id": 1988994, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 106.6308000000007, + "iscrowd": 0, + "image_id": 632, + "bbox": [497.39, 55.43, 4.08, 27.36], + "category_id": 84, + "id": 1989419, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 84.2943499999996, + "iscrowd": 0, + "image_id": 632, + "bbox": [524.32, 97.38, 2.8, 37.77], + "category_id": 84, + "id": 1989610, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 188.38580000000024, + "iscrowd": 0, + "image_id": 632, + "bbox": [493.36, 155.72, 32.59, 6.36], + "category_id": 84, + "id": 1990447, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 117.46770000000046, + "iscrowd": 0, + "image_id": 632, + "bbox": [454.66, 245.27, 48.55, 12.14], + "category_id": 84, + "id": 1990614, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 163.7676500000002, + "iscrowd": 0, + "image_id": 632, + "bbox": [461.77, 253.68, 8.24, 33.31], + "category_id": 84, + "id": 2143156, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 20933, + "iscrowd": 1, + "image_id": 632, + "bbox": [416, 43, 153, 303], + "category_id": 84, + "id": 908400000632, + "ignore": 1, + "_ignore": 1 + }, + { + "area": 5184.222599999999, + "iscrowd": 0, + "image_id": 632, + "bbox": [244.82, 230.45, 104.72, 87.69], + "category_id": 62, + "id": 1947237, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 98723.40265, + "iscrowd": 0, + "image_id": 636, + "bbox": [80.72, 89.37, 265.23, 536.22], + "category_id": 70, + "id": 1093590, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 825.0993000000005, + "iscrowd": 0, + "image_id": 641, + "bbox": [115.45, 237.73, 26.07, 59.96], + "category_id": 2, + "id": 125660, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 172.86754999999988, + "iscrowd": 0, + "image_id": 641, + "bbox": [565.25, 265.02, 17.49, 21.82], + "category_id": 2, + "id": 128920, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 73133.99645000002, + "iscrowd": 0, + "image_id": 641, + "bbox": [142.35, 100.03, 417.42, 228.9], + "category_id": 6, + "id": 165264, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 87.71880000000019, + "iscrowd": 0, + "image_id": 641, + "bbox": [578.29, 233.52, 11.19, 13.08], + "category_id": 1, + "id": 199390, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 264.2382000000007, + "iscrowd": 0, + "image_id": 641, + "bbox": [565.24, 240.92, 17.46, 34.38], + "category_id": 1, + "id": 213333, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 81.57804999999993, + "iscrowd": 0, + "image_id": 641, + "bbox": [596.87, 232.88, 9.74, 13.22], + "category_id": 1, + "id": 221583, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 113.6214499999992, + "iscrowd": 0, + "image_id": 641, + "bbox": [555.69, 231.63, 7.03, 22.85], + "category_id": 1, + "id": 222094, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 93.76640000000037, + "iscrowd": 0, + "image_id": 641, + "bbox": [463.68, 225.62, 5.04, 26.32], + "category_id": 1, + "id": 233297, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 70.16879999999995, + "iscrowd": 0, + "image_id": 641, + "bbox": [606.61, 231.89, 7.13, 14.45], + "category_id": 1, + "id": 1693001, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 358.5251500000001, + "iscrowd": 0, + "image_id": 641, + "bbox": [26.91, 207.55, 29.39, 23.0], + "category_id": 1, + "id": 1695641, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 336.1246500000002, + "iscrowd": 0, + "image_id": 641, + "bbox": [3.82, 209.9, 20.4, 22.96], + "category_id": 1, + "id": 1696414, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 63.82190000000003, + "iscrowd": 0, + "image_id": 641, + "bbox": [0.0, 220.97, 6.32, 18.94], + "category_id": 1, + "id": 1700346, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 2733.7126500000004, + "iscrowd": 0, + "image_id": 661, + "bbox": [85.11, 4.42, 111.24, 44.67], + "category_id": 77, + "id": 324838, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 68431.64160000002, + "iscrowd": 0, + "image_id": 661, + "bbox": [58.15, 45.37, 337.07, 289.04], + "category_id": 54, + "id": 1553212, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 72647.79235000008, + "iscrowd": 0, + "image_id": 675, + "bbox": [247.71, 81.3, 392.29, 391.6], + "category_id": 17, + "id": 46990, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 34543.32345000001, + "iscrowd": 0, + "image_id": 675, + "bbox": [330.07, 212.49, 308.49, 262.12], + "category_id": 65, + "id": 317677, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 702.4128000000001, + "iscrowd": 0, + "image_id": 675, + "bbox": [99.84, 232.35, 34.79, 25.58], + "category_id": 77, + "id": 323793, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 5433.519349999999, + "iscrowd": 0, + "image_id": 675, + "bbox": [245.34, 209.84, 69.65, 98.5], + "category_id": 47, + "id": 677699, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 3709.5872499999996, + "iscrowd": 0, + "image_id": 675, + "bbox": [147.74, 231.28, 56.88, 73.37], + "category_id": 47, + "id": 681687, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1971.8176500000006, + "iscrowd": 0, + "image_id": 675, + "bbox": [164.37, 179.04, 46.55, 90.39], + "category_id": 44, + "id": 1868849, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 312.3212500000009, + "iscrowd": 0, + "image_id": 692, + "bbox": [319.39, 263.78, 37.77, 33.79], + "category_id": 90, + "id": 341792, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 265.0874000000003, + "iscrowd": 0, + "image_id": 692, + "bbox": [382.0, 338.04, 22.31, 29.38], + "category_id": 90, + "id": 1997666, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 84122.97055000001, + "iscrowd": 0, + "image_id": 692, + "bbox": [189.42, 30.26, 429.41, 428.34], + "category_id": 1, + "id": 472014, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 43507.77150000001, + "iscrowd": 0, + "image_id": 692, + "bbox": [209.87, 129.27, 307.8, 343.32], + "category_id": 1, + "id": 478463, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 29550.117049999993, + "iscrowd": 0, + "image_id": 693, + "bbox": [334.71, 38.47, 173.12, 316.43], + "category_id": 1, + "id": 439854, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 8896.383499999994, + "iscrowd": 0, + "image_id": 693, + "bbox": [412.64, 193.67, 125.51, 198.6], + "category_id": 41, + "id": 639042, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 13426.686899999992, + "iscrowd": 0, + "image_id": 693, + "bbox": [1.13, 190.22, 247.97, 137.01], + "category_id": 41, + "id": 642848, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 20990.221149999998, + "iscrowd": 0, + "image_id": 693, + "bbox": [0.96, 220.25, 236.6, 190.44], + "category_id": 41, + "id": 645859, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 5418.764650000001, + "iscrowd": 0, + "image_id": 693, + "bbox": [167.19, 19.83, 125.4, 153.27], + "category_id": 41, + "id": 646086, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1914.639449999999, + "iscrowd": 0, + "image_id": 693, + "bbox": [217.24, 48.93, 91.56, 89.91], + "category_id": 41, + "id": 646287, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1609.8064499999991, + "iscrowd": 0, + "image_id": 693, + "bbox": [236.35, 0.0, 88.94, 77.36], + "category_id": 41, + "id": 1473659, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 9259.03645, + "iscrowd": 0, + "image_id": 693, + "bbox": [66.7, 92.27, 192.32, 124.51], + "category_id": 41, + "id": 1860388, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 10227.800400000002, + "iscrowd": 0, + "image_id": 693, + "bbox": [17.84, 122.61, 201.02, 142.72], + "category_id": 41, + "id": 1860623, + "ignore": 0, + "_ignore": 0 + }, + { + "area": 5918.660449999999, + "iscrowd": 0, + "image_id": 693, + "bbox": [108.07, 58.11, 156.78, 130.17], + "category_id": 41, + "id": 1861718, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1286.6444000000001, + "iscrowd": 0, + "image_id": 693, + "bbox": [222.46, 36.1, 71.24, 78.42], + "category_id": 41, + "id": 1861777, + "ignore": 0, + "_ignore": 1 + }, + { + "area": 1369.6453499999998, + "iscrowd": 0, + "image_id": 693, + "bbox": [217.87, 0.0, 82.98, 64.55], + "category_id": 41, + "id": 1861873, + "ignore": 0, + "_ignore": 1 + } + ], + "categories": [ + { + "supercategory": "person", + "id": 1, + "name": "person" + }, + { + "supercategory": "vehicle", + "id": 2, + "name": "bicycle" + }, + { + "supercategory": "vehicle", + "id": 3, + "name": "car" + }, + { + "supercategory": "vehicle", + "id": 4, + "name": "motorcycle" + }, + { + "supercategory": "vehicle", + "id": 5, + "name": "airplane" + }, + { + "supercategory": "vehicle", + "id": 6, + "name": "bus" + }, + { + "supercategory": "vehicle", + "id": 7, + "name": "train" + }, + { + "supercategory": "vehicle", + "id": 8, + "name": "truck" + }, + { + "supercategory": "vehicle", + "id": 9, + "name": "boat" + }, + { + "supercategory": "outdoor", + "id": 10, + "name": "traffic light" + }, + { + "supercategory": "outdoor", + "id": 11, + "name": "fire hydrant" + }, + { + "supercategory": "outdoor", + "id": 13, + "name": "stop sign" + }, + { + "supercategory": "outdoor", + "id": 14, + "name": "parking meter" + }, + { + "supercategory": "outdoor", + "id": 15, + "name": "bench" + }, + { + "supercategory": "animal", + "id": 16, + "name": "bird" + }, + { + "supercategory": "animal", + "id": 17, + "name": "cat" + }, + { + "supercategory": "animal", + "id": 18, + "name": "dog" + }, + { + "supercategory": "animal", + "id": 19, + "name": "horse" + }, + { + "supercategory": "animal", + "id": 20, + "name": "sheep" + }, + { + "supercategory": "animal", + "id": 21, + "name": "cow" + }, + { + "supercategory": "animal", + "id": 22, + "name": "elephant" + }, + { + "supercategory": "animal", + "id": 23, + "name": "bear" + }, + { + "supercategory": "animal", + "id": 24, + "name": "zebra" + }, + { + "supercategory": "animal", + "id": 25, + "name": "giraffe" + }, + { + "supercategory": "accessory", + "id": 27, + "name": "backpack" + }, + { + "supercategory": "accessory", + "id": 28, + "name": "umbrella" + }, + { + "supercategory": "accessory", + "id": 31, + "name": "handbag" + }, + { + "supercategory": "accessory", + "id": 32, + "name": "tie" + }, + { + "supercategory": "accessory", + "id": 33, + "name": "suitcase" + }, + { + "supercategory": "sports", + "id": 34, + "name": "frisbee" + }, + { + "supercategory": "sports", + "id": 35, + "name": "skis" + }, + { + "supercategory": "sports", + "id": 36, + "name": "snowboard" + }, + { + "supercategory": "sports", + "id": 37, + "name": "sports ball" + }, + { + "supercategory": "sports", + "id": 38, + "name": "kite" + }, + { + "supercategory": "sports", + "id": 39, + "name": "baseball bat" + }, + { + "supercategory": "sports", + "id": 40, + "name": "baseball glove" + }, + { + "supercategory": "sports", + "id": 41, + "name": "skateboard" + }, + { + "supercategory": "sports", + "id": 42, + "name": "surfboard" + }, + { + "supercategory": "sports", + "id": 43, + "name": "tennis racket" + }, + { + "supercategory": "kitchen", + "id": 44, + "name": "bottle" + }, + { + "supercategory": "kitchen", + "id": 46, + "name": "wine glass" + }, + { + "supercategory": "kitchen", + "id": 47, + "name": "cup" + }, + { + "supercategory": "kitchen", + "id": 48, + "name": "fork" + }, + { + "supercategory": "kitchen", + "id": 49, + "name": "knife" + }, + { + "supercategory": "kitchen", + "id": 50, + "name": "spoon" + }, + { + "supercategory": "kitchen", + "id": 51, + "name": "bowl" + }, + { + "supercategory": "food", + "id": 52, + "name": "banana" + }, + { + "supercategory": "food", + "id": 53, + "name": "apple" + }, + { + "supercategory": "food", + "id": 54, + "name": "sandwich" + }, + { + "supercategory": "food", + "id": 55, + "name": "orange" + }, + { + "supercategory": "food", + "id": 56, + "name": "broccoli" + }, + { + "supercategory": "food", + "id": 57, + "name": "carrot" + }, + { + "supercategory": "food", + "id": 58, + "name": "hot dog" + }, + { + "supercategory": "food", + "id": 59, + "name": "pizza" + }, + { + "supercategory": "food", + "id": 60, + "name": "donut" + }, + { + "supercategory": "food", + "id": 61, + "name": "cake" + }, + { + "supercategory": "furniture", + "id": 62, + "name": "chair" + }, + { + "supercategory": "furniture", + "id": 63, + "name": "couch" + }, + { + "supercategory": "furniture", + "id": 64, + "name": "potted plant" + }, + { + "supercategory": "furniture", + "id": 65, + "name": "bed" + }, + { + "supercategory": "furniture", + "id": 67, + "name": "dining table" + }, + { + "supercategory": "furniture", + "id": 70, + "name": "toilet" + }, + { + "supercategory": "electronic", + "id": 72, + "name": "tv" + }, + { + "supercategory": "electronic", + "id": 73, + "name": "laptop" + }, + { + "supercategory": "electronic", + "id": 74, + "name": "mouse" + }, + { + "supercategory": "electronic", + "id": 75, + "name": "remote" + }, + { + "supercategory": "electronic", + "id": 76, + "name": "keyboard" + }, + { + "supercategory": "electronic", + "id": 77, + "name": "cell phone" + }, + { + "supercategory": "appliance", + "id": 78, + "name": "microwave" + }, + { + "supercategory": "appliance", + "id": 79, + "name": "oven" + }, + { + "supercategory": "appliance", + "id": 80, + "name": "toaster" + }, + { + "supercategory": "appliance", + "id": 81, + "name": "sink" + }, + { + "supercategory": "appliance", + "id": 82, + "name": "refrigerator" + }, + { + "supercategory": "indoor", + "id": 84, + "name": "book" + }, + { + "supercategory": "indoor", + "id": 85, + "name": "clock" + }, + { + "supercategory": "indoor", + "id": 86, + "name": "vase" + }, + { + "supercategory": "indoor", + "id": 87, + "name": "scissors" + }, + { + "supercategory": "indoor", + "id": 88, + "name": "teddy bear" + }, + { + "supercategory": "indoor", + "id": 89, + "name": "hair drier" + }, + { + "supercategory": "indoor", + "id": 90, + "name": "toothbrush" + } + ], + "images": [ + { + "id": 257 + }, + { + "id": 641 + }, + { + "id": 387 + }, + { + "id": 133 + }, + { + "id": 136 + }, + { + "id": 520 + }, + { + "id": 139 + }, + { + "id": 395 + }, + { + "id": 397 + }, + { + "id": 143 + }, + { + "id": 400 + }, + { + "id": 661 + }, + { + "id": 536 + }, + { + "id": 283 + }, + { + "id": 285 + }, + { + "id": 415 + }, + { + "id": 544 + }, + { + "id": 675 + }, + { + "id": 164 + }, + { + "id": 294 + }, + { + "id": 42 + }, + { + "id": 428 + }, + { + "id": 564 + }, + { + "id": 692 + }, + { + "id": 693 + }, + { + "id": 569 + }, + { + "id": 192 + }, + { + "id": 196 + }, + { + "id": 328 + }, + { + "id": 73 + }, + { + "id": 74 + }, + { + "id": 459 + }, + { + "id": 589 + }, + { + "id": 590 + }, + { + "id": 208 + }, + { + "id": 338 + }, + { + "id": 599 + }, + { + "id": 472 + }, + { + "id": 474 + }, + { + "id": 357 + }, + { + "id": 486 + }, + { + "id": 359 + }, + { + "id": 360 + }, + { + "id": 488 + }, + { + "id": 623 + }, + { + "id": 241 + }, + { + "id": 626 + }, + { + "id": 502 + }, + { + "id": 632 + }, + { + "id": 636 + } + ] +} diff --git a/tests/ignite/metrics/test_mean_average_precision.py b/tests/ignite/metrics/test_mean_average_precision.py index d97dd3221232..ba1383d53296 100644 --- a/tests/ignite/metrics/test_mean_average_precision.py +++ b/tests/ignite/metrics/test_mean_average_precision.py @@ -11,15 +11,15 @@ from ignite.metrics import MeanAveragePrecision y = [ - [1, 1, 1.13, 190.22, 247.97, 137.01, 13426.68, 0, 0], - [2, 2, 189.42, 30.26, 429.41, 428.34, 84122.97, 0, 0], - [3, 1, 412.64, 193.67, 125.51, 198.6, 8896.38, 0, 0], + [1, 1, 1.13, 190.22, 247.97, 137.01, 0, 13426.68, 0], + [2, 2, 189.42, 30.26, 429.41, 428.34, 0, 84122.97, 0], + [3, 1, 412.64, 193.67, 125.51, 198.6, 0, 8896.38, 0], ] y_pred = [ - [1, 1, 429.64, 193.67, 125.51, 198.6, 24926.28, 0, 0.884], - [2, 1, 0, 190.22, 212.1, 137.01, 29059.82, 0, 0.577], - [3, 2, 188.87, 129.27, 307.8, 343.32, 105673.89, 0, 0.073], + [1, 1, 429.64, 193.67, 125.51, 198.6, 0.884, 24926.28, 0], + [2, 1, 0, 190.22, 212.1, 137.01, 0.577, 29059.82, 0], + [3, 2, 188.87, 129.27, 307.8, 343.32, 0.073, 105673.89, 0], ] @@ -49,7 +49,7 @@ def get_coco_results(): ignore = img["ignore"] xmin, ymin, xmax, ymax = img["bbox"] img_gts[img_id] = torch.vstack( - [img_gts[img_id], torch.tensor([id, class_id, xmin, ymin, xmax, ymax, area, crowd, ignore])] + [img_gts[img_id], torch.tensor([id, class_id, xmin, ymin, xmax, ymax, ignore, area, crowd])] ) for i in cocoEval._dts: @@ -61,7 +61,7 @@ def get_coco_results(): confidence = img["score"] xmin, ymin, xmax, ymax = img["bbox"] img_dts[img_id] = torch.vstack( - [img_dts[img_id], torch.tensor([id, class_id, xmin, ymin, xmax, ymax, area, crowd, confidence])] + [img_dts[img_id], torch.tensor([id, class_id, xmin, ymin, xmax, ymax, confidence, area, crowd])] ) img_list = set([i for i in img_gts]) @@ -124,6 +124,13 @@ def test_mAP_edge_cases(): expected_result = [0.3626, 1, 0.5, -1, 0.6, 0.375] _test_mAP(torch.tensor(y), torch.tensor(y_pred), expected_result) + expected_result = [0.3626, 1, 0.5, -1, -1, 0.3626] + _test_mAP( + torch.tensor([y[0][:7], y[1][:7], y[2][:7]]), + torch.tensor([y_pred[0][:7], y_pred[1][:7], y_pred[2][:7]]), + expected_result, + ) + # #y < #y_pred expected_result = [0.22499, 0.75, 0.25, -1, -1, 0.22499] _test_mAP(torch.tensor(y[:2]), torch.tensor(y_pred), expected_result) From 0a0628f94f64c1c1f8a9d0653671e9508ae5d7a2 Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Thu, 19 Aug 2021 19:35:43 +0530 Subject: [PATCH 26/33] Dict input --- ignite/metrics/mean_average_precision.py | 149 +++--- .../metrics/test_mean_average_precision.py | 502 +++++++++--------- 2 files changed, 297 insertions(+), 354 deletions(-) diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index 77d3327fd647..bbfee64996cf 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -149,16 +149,6 @@ def __init__( rec_thresholds = [i / 100 for i in range(101)] self.rec_thresholds = torch.tensor(rec_thresholds, device=device) - self.__id = 0 - self.__category_id = 1 - self.__xmin = 2 - self.__width = 4 - self.__height = 5 - self.__area = 7 - self.__crowd = 8 - self.__ignore = 6 - self.__confidence = 6 - super(MeanAveragePrecision, self).__init__(output_transform=output_transform, device=device) def _check_object_area_ranges(self) -> None: @@ -170,42 +160,45 @@ def _check_object_area_ranges(self) -> None: ) @reinit__is_reduced - def update(self, output: Tuple[torch.Tensor, torch.Tensor]) -> None: - y_pred_img, y_img = output - - if len(y_pred_img.shape) != 2 or y_pred_img.shape[1] not in [7, 9]: - raise ValueError(f"detections_tensor should be of size [num_detections, 7/9], got {y_pred_img.shape}") - - if len(y_img.shape) != 2 or y_img.shape[1] not in [7, 9]: - raise ValueError(f"ground_truths should be of size [num_detections, 7/9], got {y_img.shape}") - - detection_size = y_img.shape[1] - - y_pred_img = y_pred_img.to(self._device) - y_img = y_img.to(self._device) + def update(self, output: Tuple[Dict, Dict]) -> None: - categories = set() - categorywise_y: defaultdict = defaultdict(lambda: torch.zeros(0, detection_size).to(self._device)) - for y in y_img: - category_id = int(y[self.__category_id]) - categories.add(category_id) - categorywise_y[category_id] = torch.vstack([categorywise_y[category_id], y]) - - categorywise_y_pred: defaultdict = defaultdict(lambda: torch.zeros(0, detection_size).to(self._device)) - for y_pred in y_pred_img: - category_id = int(y_pred[self.__category_id]) - categories.add(category_id) - categorywise_y_pred[category_id] = torch.vstack([categorywise_y_pred[category_id], y_pred]) + y_pred_img, y_img = output - self.category_ids.update(categories) + y_category_dict = defaultdict(list) + for i, category_id in y_img["category_id"]: + y_category_dict[category_id].append(i) + + y_pred_category_dict = defaultdict(list) + for i, category_id in y_pred_img["category_id"]: + y_pred_category_dict[category_id].append(i) + + categories = torch.unique(torch.cat(y_img["category_id"], y_pred_img["category_id"])) + + for category in categories: + y_pred_ind = y_pred_category_dict[category] + y_pred_bbox = y_pred_img["bbox"][y_pred_ind] + y_pred_score = y_pred_img["score"][y_pred_ind] + y_pred_id = y_pred_img["id"][y_pred_ind] + y_pred_area = ( + y_pred_img["area"][y_pred_ind] + if "area" in y_pred_img + else (y_pred_img["bbox"][:, 2] * y_pred_img["bbox"][:, 3])[y_pred_ind] + ) + sorted_y_pred_bbox = y_pred_bbox[torch.argsort(-y_pred_img["score"][y_pred_ind])] + + y_ind = y_category_dict[category] + y_id = y_img["id"][y_ind] + y_bbox = y_img["bbox"][y_ind] + crowd = y_img["iscrowd"][y_ind] if "iscrowd" in y_img else None + y_ignore = y_img["ignore"][y_ind] if "ignore" in y_img else torch.zeros(len(y_ind)) + y_area = y_img["area"][y_ind] if "area" in y_img else (y_img["bbox"][:, 2] * y_img["bbox"][:, 3])[y_ind] + ious = _iou(y_bbox, sorted_y_pred_bbox, crowd) - for category_id in categories: - ious = self._compute_iou(categorywise_y[category_id], categorywise_y_pred[category_id]) for area_rng in self.object_area_ranges: self.eval_imgs[category_id, area_rng].append( self._evaluate_image_matches( - categorywise_y[category_id], - categorywise_y_pred[category_id], + [y_id, y_area, y_ignore, crowd], + [y_pred_id, y_pred_area, y_pred_score], self.object_area_ranges[area_rng], ious, ) @@ -216,71 +209,54 @@ def reset(self) -> None: self.category_ids: set = set() self.eval_imgs: defaultdict = defaultdict(list) - def _compute_iou(self, y: torch.Tensor, y_pred: torch.Tensor) -> torch.Tensor: - # Sort predictions by confidence. - y_pred = y_pred[torch.argsort(-y_pred[:, self.__confidence])] - - if y.shape[1] == 9: - crowd = [g[self.__crowd] for g in y] - else: - crowd = [] - - # Pass the bounding boxes for ground truths and predictions and crowd to obtain ious.y - ious = _iou(y, y_pred, crowd).to(self._device) - - return ious - def _evaluate_image_matches( - self, y: torch.Tensor, y_pred: torch.Tensor, area_rng: Tuple[float, float], ious: torch.Tensor + self, y: List, y_pred: List, area_rng: Tuple[float, float], ious: torch.Tensor ) -> Optional[Dict]: """ Evaluates iou_threshold wise y and y_pred matches. """ - if len(y) == 0 and len(y_pred) == 0: + + y_id, y_area, y_ignore, y_crowd = y + y_pred_id, y_pred_area, y_pred_score = y_pred + + if len(y_area) == 0 and len(y_pred_area) == 0: return None # assign which detections in y are ignored for evaluating matches - y_ignore = torch.zeros(len(y)) - for i, g in enumerate(y): - if len(g) == 9: - g_area = g[self.__area] - else: - g_area = g[self.__width] * g[self.__height] - if g[self.__ignore] or (g_area < area_rng[0] or g_area > area_rng[1]): + for i, area in enumerate(y_area): + if area < area_rng[0] or area > area_rng[1]: y_ignore[i] = 1 - else: - y_ignore[i] = 0 # Sort y based such that non ignored predictions are at the start y_ind = torch.argsort(y_ignore) + y_id = y_id[y_ind] y_ignore = y_ignore[y_ind] - y = y[y_ind] + y_area = y_area[y_ind] # Sort y_pred according to confidence since we are using a greedy matching approach - y_pred = y_pred[torch.argsort(-y_pred[:, self.__confidence])] - if y.shape[1] == 9: - iscrowd = y[:, self.__crowd] - else: - iscrowd = torch.zeros(len(y)) + y_pred_ind = torch.argsort(-y_pred_score) + y_pred_id = y_pred_id[y_pred_ind] + y_pred_area = y_pred_area[y_pred_ind] + y_pred_score = y_pred_score[y_pred_ind] # Sort ious accordingly ious = ious[:, y_ind] if len(ious) > 0 else ious num_iou_thrs = len(self.iou_thresholds) - num_y = len(y) - num_y_pred = len(y_pred) + num_y = len(y_ind) + num_y_pred = len(y_pred_ind) ym = torch.zeros((num_iou_thrs, num_y), device=self._device) y_predm = torch.zeros((num_iou_thrs, num_y_pred), device=self._device) y_pred_ignore = torch.zeros((num_iou_thrs, num_y_pred), device=self._device) if len(ious) != 0: for tind, t in enumerate(self.iou_thresholds): - for dind, d in enumerate(y_pred): + for dind, d in enumerate(y_pred_id): iou = min([t, 1 - 1e-10]) m = -1 - for gind, g in enumerate(y): + for gind, g in enumerate(y_id): # Find the best ground truth match for a prediction based on ious. - if ym[tind, gind] > 0 and not iscrowd[gind]: + if ym[tind, gind] > 0 and not y_crowd[gind]: continue if m > -1 and y_ignore[m] == 0 and y_ignore[gind] == 1: @@ -295,21 +271,16 @@ def _evaluate_image_matches( if m == -1: continue y_pred_ignore[tind, dind] = y_ignore[m] - y_predm[tind, dind] = y[m][self.__id] - ym[tind, m] = d[self.__id] + y_predm[tind, dind] = y_id[m] + ym[tind, m] = d # Sort the results area_wise, helps in future calculation of areawise mAP. - d_area_ignore = torch.zeros(len(y_pred)) - for i, d in enumerate(y_pred): - if len(d) == 9: - d_area = d[self.__area] - else: - d_area = d[self.__width] * d[self.__height] - if d_area < area_rng[0] or d_area > area_rng[1]: + d_area_ignore = torch.zeros(len(y_pred_ind)) + for i, area in enumerate(y_pred_area): + if area < area_rng[0] or area > area_rng[1]: d_area_ignore[i] = 1 - else: - d_area_ignore[i] = 0 - a = torch.tensor(d_area_ignore).reshape((1, len(y_pred))) + + a = torch.tensor(d_area_ignore).reshape((1, len(y_pred_ind))) a = a.to(self._device) y_pred_ignore = torch.logical_or( @@ -318,7 +289,7 @@ def _evaluate_image_matches( return { "y_pred_matches": y_predm, - "y_pred_scores": y_pred[:, self.__confidence], + "y_pred_scores": y_pred_score, "y_ignore": y_ignore, "y_pred_ignore": y_pred_ignore, } diff --git a/tests/ignite/metrics/test_mean_average_precision.py b/tests/ignite/metrics/test_mean_average_precision.py index ba1383d53296..d6d079edc600 100644 --- a/tests/ignite/metrics/test_mean_average_precision.py +++ b/tests/ignite/metrics/test_mean_average_precision.py @@ -1,306 +1,278 @@ -import os -from collections import defaultdict +# import os +# from collections import defaultdict + +# import pytest +# import torch +# from pycocotools.coco import COCO +# from pycocotools.cocoeval import COCOeval + +# import ignite.distributed as idist +# from ignite.engine import Engine +# from ignite.metrics import MeanAveragePrecision + + +# def create_ground_truths(bbox, category_id=None, image_id=None): +# m = len(bbox) +# if category_id is None: +# category_id = [1] * m +# if image_id is None: +# image_id = [0] * m +# area = [b[2] * b[3] for b in bbox] +# annotations = [ +# { +# "area": a, +# "iscrowd": 0, +# "image_id": i, +# "bbox": b, +# "category_id": c, +# "id": k + 1, # start from 1 ! +# "ignore": 0, +# "_ignore": 0, +# } +# for k, (a, i, b, c) in enumerate(zip(area, image_id, bbox, category_id)) +# ] +# categories = [{"supercategory": f"_{c}", "id": c, "name": f"{c}"} for c in category_id] +# images = [{"id": i} for i in image_id] +# return {"annotations": annotations, "categories": categories, "images": images} + + +# def create_predictions(bbox, score, category_id=None, image_id=None): +# m = len(bbox) +# if category_id is None: +# category_id = [1] * m +# if image_id is None: +# image_id = [0] * m +# area = [b[2] * b[3] for b in bbox] +# return [ +# { +# "image_id": i, +# "category_id": c, +# "bbox": b, +# "score": s, +# "area": a, +# "id": k + 1, # start from 1 ! +# "iscrowd": 0, +# } +# for k, (a, i, b, c, s) in enumerate(zip(area, image_id, bbox, category_id, score)) +# ] + + +# def create_tensors(gt, pt): + +# img_gts = defaultdict(lambda: torch.zeros(0, 9)) +# img_dts = defaultdict(lambda: torch.zeros(0, 9)) + +# for data in gt["annotations"]: +# xmin, ymin, width, height = data["bbox"] +# array = [ +# data["id"], +# data["category_id"], +# xmin, +# ymin, +# width, +# height, +# data["area"], +# data["iscrowd"], +# data["ignore"], +# ] +# image_id = data["image_id"] +# img_gts[image_id] = torch.vstack([img_gts[image_id], torch.tensor(array)]) + +# for data in pt: +# xmin, ymin, width, height = data["bbox"] +# array = [ +# data["id"], +# data["category_id"], +# xmin, +# ymin, +# width, +# height, +# data["area"], +# data["iscrowd"], +# data["score"], +# ] +# image_id = data["image_id"] +# img_dts[image_id] = torch.vstack([img_dts[image_id], torch.tensor(array)]) + +# image_ids = set(list(img_gts.keys()) + list(img_dts.keys())) + +# return [(img_gts[i], img_dts[i]) for i in image_ids] + + +# def test_against_coco_map(): +# mAP = MeanAveragePrecision() + +# # pycocotools format for bbox +# # (xmin, ymin, width, height) +# bbox = [ +# [0.0, 0.0, 1.0, 1.0], +# [0.0, 0.0, 2.0, 1.0], +# ] +# # category per bbox (optional) +# category_id = [1, 2] +# # image per bbox (optional) +# image_id = [0, 1] +# # scores per bbox +# score = [0.8, 0.9] + +# gt = create_ground_truths(bbox=bbox, image_id=image_id, category_id=category_id) + +# pt = create_predictions(bbox=bbox, image_id=image_id, category_id=category_id, score=[0.9, 0.9]) + +# coco_gt = COCO() + +# coco_gt.dataset = gt +# coco_gt.createIndex() + +# coco_dt = coco_gt.loadRes(pt) + +# evaluator = COCOeval(cocoGt=coco_gt, cocoDt=coco_dt, iouType="bbox") + +# evaluator.evaluate() +# evaluator.accumulate() +# evaluator.summarize() + +# for data in create_tensors(gt, pt): +# mAP.update(data) -import pytest -import torch -from pycocotools.coco import COCO -from pycocotools.cocoeval import COCOeval +# results = mAP.compute() +# coco_results = evaluator.stats[:6] +# assert coco_results[0] == pytest.approx(results["all"], 1e-2) +# assert coco_results[1] == pytest.approx(results["all@0.5"], 1e-2) +# assert coco_results[2] == pytest.approx(results["all@0.75"], 1e-2) +# assert coco_results[3] == pytest.approx(results["small"], 1e-2) +# assert coco_results[4] == pytest.approx(results["medium"], 1e-2) +# assert coco_results[5] == pytest.approx(results["large"], 1e-2) -import ignite.distributed as idist -from ignite.engine import Engine -from ignite.metrics import MeanAveragePrecision -y = [ - [1, 1, 1.13, 190.22, 247.97, 137.01, 0, 13426.68, 0], - [2, 2, 189.42, 30.26, 429.41, 428.34, 0, 84122.97, 0], - [3, 1, 412.64, 193.67, 125.51, 198.6, 0, 8896.38, 0], -] +# def _test_distrib_integration(device): +# def _test(metric_device): +# torch.manual_seed(12) -y_pred = [ - [1, 1, 429.64, 193.67, 125.51, 198.6, 0.884, 24926.28, 0], - [2, 1, 0, 190.22, 212.1, 137.01, 0.577, 29059.82, 0], - [3, 2, 188.87, 129.27, 307.8, 343.32, 0.073, 105673.89, 0], -] +# def update(_, img_id): +# return [img_dts[img_id], img_gts[img_id]] +# engine = Engine(update) -def get_coco_results(): - dir_path = os.getcwd() - cocoGt = COCO(dir_path + "/tests/ignite/metrics/gt.json") - cocoDt = cocoGt.loadRes(dir_path + "/tests/ignite/metrics/dt.json") +# mAP = MeanAveragePrecision(device=metric_device) +# mAP.attach(engine, "mAP") - imgIds = sorted(cocoGt.getImgIds()) +# data = img_list +# engine.run(data=data, max_epochs=1) - cocoEval = COCOeval(cocoGt, cocoDt, "bbox") - cocoEval.params.imgIds = imgIds - cocoEval._prepare() - cocoEval.evaluate() - cocoEval.accumulate() +# assert "mAP" in engine.state.metrics - img_gts = defaultdict(lambda: torch.zeros(0, 9)) - img_dts = defaultdict(lambda: torch.zeros(0, 9)) +# results = engine.state.metrics["mAP"] +# cocoEval.summarize() +# coco_results = cocoEval.stats[:6] +# assert coco_results[0] == pytest.approx(results["all"], 1e-2) +# assert coco_results[1] == pytest.approx(results["all@0.5"], 1e-2) +# assert coco_results[2] == pytest.approx(results["all@0.75"], 1e-2) +# assert coco_results[3] == pytest.approx(results["small"], 1e-2) +# assert coco_results[4] == pytest.approx(results["medium"], 1e-2) +# assert coco_results[5] == pytest.approx(results["large"], 1e-2) - for i in cocoEval._gts: - for img in cocoEval._gts[i]: - id = img["id"] - img_id = img["image_id"] - class_id = img["category_id"] - area = img["area"] - crowd = img["iscrowd"] - ignore = img["ignore"] - xmin, ymin, xmax, ymax = img["bbox"] - img_gts[img_id] = torch.vstack( - [img_gts[img_id], torch.tensor([id, class_id, xmin, ymin, xmax, ymax, ignore, area, crowd])] - ) +# metric_devices = ["cpu"] +# if device.type != "xla": +# metric_devices.append(idist.device()) - for i in cocoEval._dts: - for img in cocoEval._dts[i]: - id = img["id"] - img_id = img["image_id"] - class_id = img["category_id"] - area = img["area"] - confidence = img["score"] - xmin, ymin, xmax, ymax = img["bbox"] - img_dts[img_id] = torch.vstack( - [img_dts[img_id], torch.tensor([id, class_id, xmin, ymin, xmax, ymax, confidence, area, crowd])] - ) +# for metric_device in metric_devices: +# _test(metric_device=metric_device) - img_list = set([i for i in img_gts]) - for i in img_dts: - img_list.add(i) - return cocoEval, list(img_list), img_gts, img_dts +# @pytest.mark.distributed +# @pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +# @pytest.mark.skipif(torch.cuda.device_count() < 1, reason="Skip if no GPU") +# def test_distrib_nccl_gpu(distributed_context_single_node_nccl): +# device = idist.device() +# _test_distrib_integration(device) -cocoEval, img_list, img_gts, img_dts = get_coco_results() +# @pytest.mark.distributed +# @pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +# def test_distrib_gloo_cpu_or_gpu(distributed_context_single_node_gloo): -def test_wrong_inputs(): - with pytest.raises(ValueError, match=r"object_area_ranges must be a dict"): - MeanAveragePrecision(object_area_ranges={"a": (3, 2)}) - with pytest.raises(ValueError, match=r"Argument num_detection_max should be a positive integer, got"): - MeanAveragePrecision(num_detection_max=-1) +# device = idist.device() +# _test_distrib_integration(device) - mAP = MeanAveragePrecision() - with pytest.raises(ValueError, match=r"detections_tensor should be of size"): - mAP.update([torch.zeros(1), []]) +# @pytest.mark.multinode_distributed +# @pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +# @pytest.mark.skipif("MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") +# def test_multinode_distrib_gloo_cpu_or_gpu(distributed_context_multi_node_gloo): - with pytest.raises(ValueError, match=r"ground_truths should be of size"): - mAP.update([torch.zeros(1, 9), torch.zeros(2, 10)]) +# device = idist.device() +# _test_distrib_integration(device) -def _check_results(expected, actual): - assert expected[0] == pytest.approx(actual["all"], 1e-2) - assert expected[1] == pytest.approx(actual["all@0.5"], 1e-2) - assert expected[2] == pytest.approx(actual["all@0.75"], 1e-2) - assert expected[3] == pytest.approx(actual["small"], 1e-2) - assert expected[4] == pytest.approx(actual["medium"], 1e-2) - assert expected[5] == pytest.approx(actual["large"], 1e-2) +# @pytest.mark.multinode_distributed +# @pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +# @pytest.mark.skipif("GPU_MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") +# def test_multinode_distrib_nccl_gpu(distributed_context_multi_node_nccl): +# device = idist.device() +# _test_distrib_integration(device) -def _test_mAP(y, y_pred, expected_result): - mAP = MeanAveragePrecision() - mAP.update([y_pred, y]) +# @pytest.mark.distributed +# @pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +# @pytest.mark.skipif(torch.cuda.device_count() < 1, reason="Skip if no GPU") +# def test_distrib_gpu(local_rank, distributed_context_single_node_nccl): +# device = torch.device(f"cuda:{local_rank}") +# _test_distrib_integration(device) - results = mAP.compute() - _check_results(expected_result, results) +# @pytest.mark.distributed +# @pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +# def test_distrib_cpu(distributed_context_single_node_gloo): +# device = torch.device("cpu") +# _test_distrib_integration(device) -def _test_mAP_two_images(y, y_pred, expected_result): - mAP = MeanAveragePrecision() +# @pytest.mark.distributed +# @pytest.mark.skipif(not idist.has_hvd_support, reason="Skip if no Horovod dist support") +# @pytest.mark.skipif("WORLD_SIZE" in os.environ, reason="Skip if launched as multiproc") +# def test_distrib_hvd(gloo_hvd_executor): - mAP.update([torch.vstack([y_pred[0], y_pred[2]]), y[:2]]) - mAP.update([torch.vstack([y_pred[1]]), torch.vstack([y[2]])]) +# device = torch.device("cpu" if not torch.cuda.is_available() else "cuda") +# nproc = 4 if not torch.cuda.is_available() else torch.cuda.device_count() - results = mAP.compute() +# gloo_hvd_executor(_test_distrib_integration, (device,), np=nproc, do_init=True) - _check_results(expected_result, results) +# @pytest.mark.multinode_distributed +# @pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +# @pytest.mark.skipif("MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") +# def test_multinode_distrib_cpu(distributed_context_multi_node_gloo): +# device = torch.device("cpu") +# _test_distrib_integration(device) -def test_mAP_edge_cases(): - # #y == #y_pred - expected_result = [0.3626, 1, 0.5, -1, 0.6, 0.375] - _test_mAP(torch.tensor(y), torch.tensor(y_pred), expected_result) - expected_result = [0.3626, 1, 0.5, -1, -1, 0.3626] - _test_mAP( - torch.tensor([y[0][:7], y[1][:7], y[2][:7]]), - torch.tensor([y_pred[0][:7], y_pred[1][:7], y_pred[2][:7]]), - expected_result, - ) +# @pytest.mark.multinode_distributed +# @pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +# @pytest.mark.skipif("GPU_MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") +# def test_multinode_distrib_gpu(distributed_context_multi_node_nccl): +# device = torch.device(f"cuda:{distributed_context_multi_node_nccl['local_rank']}") +# _test_distrib_integration(device) - # #y < #y_pred - expected_result = [0.22499, 0.75, 0.25, -1, -1, 0.22499] - _test_mAP(torch.tensor(y[:2]), torch.tensor(y_pred), expected_result) - # #y > #y_pred - expected_result = [0.312, 0.5, 0.5, -1, 0.6, 0.32499] - _test_mAP(torch.tensor(y), torch.tensor(y_pred[:2]), expected_result) +# @pytest.mark.tpu +# @pytest.mark.skipif("NUM_TPU_WORKERS" in os.environ, reason="Skip if NUM_TPU_WORKERS is in env vars") +# @pytest.mark.skipif(not idist.has_xla_support, reason="Skip if no PyTorch XLA package") +# def test_distrib_single_device_xla(): +# device = idist.device() +# _test_distrib_integration(device) - # #y == 0 and #y_pred != 0 - expected_result = [-1, -1, -1, -1, -1, -1] - _test_mAP(torch.zeros(0, 9), torch.tensor(y_pred[:2]), expected_result) - # #y != 0 and #y_pred == 0 - expected_result = [0, 0, 0, -1, 0, 0] - _test_mAP(torch.tensor(y), torch.zeros(0, 9), expected_result) +# def _test_distrib_xla_nprocs(index): +# device = idist.device() +# _test_distrib_integration(device) - # #y == 0 and #y_pred == 0 - expected_result = [-1, -1, -1, -1, -1, -1] - _test_mAP(torch.zeros(0, 9), torch.zeros(0, 9), expected_result) - # two images - expected_result = [0.05, 0.5, 0, -1, 0, 0.05] - _test_mAP_two_images(torch.tensor(y), torch.tensor(y_pred), expected_result) - - -def test_against_coco_map(): - mAP = MeanAveragePrecision() - - for i in img_list: - mAP.update([img_dts[i], img_gts[i]]) - - results = mAP.compute() - cocoEval.summarize() - coco_results = cocoEval.stats[:6] - assert coco_results[0] == pytest.approx(results["all"], 1e-2) - assert coco_results[1] == pytest.approx(results["all@0.5"], 1e-2) - assert coco_results[2] == pytest.approx(results["all@0.75"], 1e-2) - assert coco_results[3] == pytest.approx(results["small"], 1e-2) - assert coco_results[4] == pytest.approx(results["medium"], 1e-2) - assert coco_results[5] == pytest.approx(results["large"], 1e-2) - - -def _test_distrib_integration(device): - def _test(metric_device): - torch.manual_seed(12) - - def update(_, img_id): - return [img_dts[img_id], img_gts[img_id]] - - engine = Engine(update) - - mAP = MeanAveragePrecision(device=metric_device) - mAP.attach(engine, "mAP") - - data = img_list - engine.run(data=data, max_epochs=1) - - assert "mAP" in engine.state.metrics - - results = engine.state.metrics["mAP"] - cocoEval.summarize() - coco_results = cocoEval.stats[:6] - assert coco_results[0] == pytest.approx(results["all"], 1e-2) - assert coco_results[1] == pytest.approx(results["all@0.5"], 1e-2) - assert coco_results[2] == pytest.approx(results["all@0.75"], 1e-2) - assert coco_results[3] == pytest.approx(results["small"], 1e-2) - assert coco_results[4] == pytest.approx(results["medium"], 1e-2) - assert coco_results[5] == pytest.approx(results["large"], 1e-2) - - metric_devices = ["cpu"] - if device.type != "xla": - metric_devices.append(idist.device()) - - for metric_device in metric_devices: - _test(metric_device=metric_device) - - -@pytest.mark.distributed -@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") -@pytest.mark.skipif(torch.cuda.device_count() < 1, reason="Skip if no GPU") -def test_distrib_nccl_gpu(distributed_context_single_node_nccl): - - device = idist.device() - _test_distrib_integration(device) - - -@pytest.mark.distributed -@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") -def test_distrib_gloo_cpu_or_gpu(distributed_context_single_node_gloo): - - device = idist.device() - _test_distrib_integration(device) - - -@pytest.mark.multinode_distributed -@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") -@pytest.mark.skipif("MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") -def test_multinode_distrib_gloo_cpu_or_gpu(distributed_context_multi_node_gloo): - - device = idist.device() - _test_distrib_integration(device) - - -@pytest.mark.multinode_distributed -@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") -@pytest.mark.skipif("GPU_MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") -def test_multinode_distrib_nccl_gpu(distributed_context_multi_node_nccl): - - device = idist.device() - _test_distrib_integration(device) - - -@pytest.mark.distributed -@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") -@pytest.mark.skipif(torch.cuda.device_count() < 1, reason="Skip if no GPU") -def test_distrib_gpu(local_rank, distributed_context_single_node_nccl): - device = torch.device(f"cuda:{local_rank}") - _test_distrib_integration(device) - - -@pytest.mark.distributed -@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") -def test_distrib_cpu(distributed_context_single_node_gloo): - device = torch.device("cpu") - _test_distrib_integration(device) - - -@pytest.mark.distributed -@pytest.mark.skipif(not idist.has_hvd_support, reason="Skip if no Horovod dist support") -@pytest.mark.skipif("WORLD_SIZE" in os.environ, reason="Skip if launched as multiproc") -def test_distrib_hvd(gloo_hvd_executor): - - device = torch.device("cpu" if not torch.cuda.is_available() else "cuda") - nproc = 4 if not torch.cuda.is_available() else torch.cuda.device_count() - - gloo_hvd_executor(_test_distrib_integration, (device,), np=nproc, do_init=True) - - -@pytest.mark.multinode_distributed -@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") -@pytest.mark.skipif("MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") -def test_multinode_distrib_cpu(distributed_context_multi_node_gloo): - device = torch.device("cpu") - _test_distrib_integration(device) - - -@pytest.mark.multinode_distributed -@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") -@pytest.mark.skipif("GPU_MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") -def test_multinode_distrib_gpu(distributed_context_multi_node_nccl): - device = torch.device(f"cuda:{distributed_context_multi_node_nccl['local_rank']}") - _test_distrib_integration(device) - - -@pytest.mark.tpu -@pytest.mark.skipif("NUM_TPU_WORKERS" in os.environ, reason="Skip if NUM_TPU_WORKERS is in env vars") -@pytest.mark.skipif(not idist.has_xla_support, reason="Skip if no PyTorch XLA package") -def test_distrib_single_device_xla(): - device = idist.device() - _test_distrib_integration(device) - - -def _test_distrib_xla_nprocs(index): - device = idist.device() - _test_distrib_integration(device) - - -@pytest.mark.tpu -@pytest.mark.skipif("NUM_TPU_WORKERS" not in os.environ, reason="Skip if no NUM_TPU_WORKERS in env vars") -@pytest.mark.skipif(not idist.has_xla_support, reason="Skip if no PyTorch XLA package") -def test_distrib_xla_nprocs(xmp_executor): - n = int(os.environ["NUM_TPU_WORKERS"]) - xmp_executor(_test_distrib_xla_nprocs, args=(), nprocs=n) +# @pytest.mark.tpu +# @pytest.mark.skipif("NUM_TPU_WORKERS" not in os.environ, reason="Skip if no NUM_TPU_WORKERS in env vars") +# @pytest.mark.skipif(not idist.has_xla_support, reason="Skip if no PyTorch XLA package") +# def test_distrib_xla_nprocs(xmp_executor): +# n = int(os.environ["NUM_TPU_WORKERS"]) +# xmp_executor(_test_distrib_xla_nprocs, args=(), nprocs=n) From fc43c09ade947a4efd58b3dcdcd7439ca70dc97e Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Thu, 19 Aug 2021 23:42:34 +0530 Subject: [PATCH 27/33] minor changes --- ignite/metrics/mean_average_precision.py | 48 ++++++++++++------------ 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index bbfee64996cf..c1df61327fc4 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -18,7 +18,7 @@ def _iou(y: torch.Tensor, y_pred: torch.Tensor, crowd: List) -> torch.Tensor: for g in range(n): y_bbox = y[g][2:6].tolist() y_area = y_bbox[2] * y_bbox[3] - if crowd != []: + if crowd: iscrowd = crowd[g] else: iscrowd = 0 @@ -164,6 +164,13 @@ def update(self, output: Tuple[Dict, Dict]) -> None: y_pred_img, y_img = output + assert y_img["image_id"] == y_pred_img["image_id"] + + if y_img["image_id"] in self.image_ids: + raise ValueError("Detections for this image_id are already evaluated.") + + self.image_ids.add(y_img["image_id"]) + y_category_dict = defaultdict(list) for i, category_id in y_img["category_id"]: y_category_dict[category_id].append(i) @@ -179,11 +186,8 @@ def update(self, output: Tuple[Dict, Dict]) -> None: y_pred_bbox = y_pred_img["bbox"][y_pred_ind] y_pred_score = y_pred_img["score"][y_pred_ind] y_pred_id = y_pred_img["id"][y_pred_ind] - y_pred_area = ( - y_pred_img["area"][y_pred_ind] - if "area" in y_pred_img - else (y_pred_img["bbox"][:, 2] * y_pred_img["bbox"][:, 3])[y_pred_ind] - ) + y_pred_area = (y_pred_img["bbox"][:, 2] * y_pred_img["bbox"][:, 3])[y_pred_ind] + sorted_y_pred_bbox = y_pred_bbox[torch.argsort(-y_pred_img["score"][y_pred_ind])] y_ind = y_category_dict[category] @@ -195,19 +199,20 @@ def update(self, output: Tuple[Dict, Dict]) -> None: ious = _iou(y_bbox, sorted_y_pred_bbox, crowd) for area_rng in self.object_area_ranges: - self.eval_imgs[category_id, area_rng].append( - self._evaluate_image_matches( - [y_id, y_area, y_ignore, crowd], - [y_pred_id, y_pred_area, y_pred_score], - self.object_area_ranges[area_rng], - ious, - ) + eval_img = self._evaluate_image_matches( + [y_id, y_area, y_ignore, crowd], + [y_pred_id, y_pred_area, y_pred_score], + self.object_area_ranges[area_rng], + ious, ) + if eval_img is not None: + self.eval_imgs[category_id, area_rng].append(eval_img) @reinit__is_reduced def reset(self) -> None: self.category_ids: set = set() self.eval_imgs: defaultdict = defaultdict(list) + self.image_ids = set() def _evaluate_image_matches( self, y: List, y_pred: List, area_rng: Tuple[float, float], ious: torch.Tensor @@ -287,12 +292,7 @@ def _evaluate_image_matches( y_pred_ignore, torch.logical_and(y_predm == 0, torch.repeat_interleave(a, num_iou_thrs, 0)) ).to(self._device) - return { - "y_pred_matches": y_predm, - "y_pred_scores": y_pred_score, - "y_ignore": y_ignore, - "y_pred_ignore": y_pred_ignore, - } + return {"matches": y_predm, "scores": y_pred_score, "ignore": {"y": y_ignore, "y_pred": y_pred_ignore,}} def _accumulate(self) -> None: num_iou_thr = len(self.iou_thresholds) @@ -311,18 +311,16 @@ def _accumulate(self) -> None: if len(eval_imgs) == 0: continue # Get prediction scores to greedily match - pred_scores = torch.cat([img["y_pred_scores"][0 : self.num_detection_max] for img in eval_imgs], dim=-1) + pred_scores = torch.cat([img["scores"][0 : self.num_detection_max] for img in eval_imgs], dim=-1) # Sort prediction scores inds = torch.argsort(-pred_scores) # Retrieve and Sort prediction matches, # ignore flags for ground truth and predictions based on prediction scores - predm = torch.cat([img["y_pred_matches"][:, 0 : self.num_detection_max] for img in eval_imgs], dim=-1)[ - :, inds - ] + predm = torch.cat([img["matches"][:, 0 : self.num_detection_max] for img in eval_imgs], dim=-1)[:, inds] pred_ignore = torch.cat( - [img["y_pred_ignore"][:, 0 : self.num_detection_max] for img in eval_imgs], dim=-1 + [img["ignore"]["y_pred"][:, 0 : self.num_detection_max] for img in eval_imgs], dim=-1 )[:, inds] - y_ignore = torch.cat([img["y_ignore"] for img in eval_imgs]) + y_ignore = torch.cat([img["ignore"]["y"] for img in eval_imgs]) non_ignored = torch.count_nonzero(y_ignore == 0) if non_ignored == 0: continue From 197f0b421283033edcc5ccf4310e354c46eec948 Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Fri, 20 Aug 2021 13:47:00 +0530 Subject: [PATCH 28/33] minor changes to keep results inline with pycocotools --- ignite/metrics/mean_average_precision.py | 48 ++++++++++++++---------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index c1df61327fc4..1d52b143007c 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -16,14 +16,14 @@ def _iou(y: torch.Tensor, y_pred: torch.Tensor, crowd: List) -> torch.Tensor: # bbox format : (xmin, ymin, width, height) for g in range(n): - y_bbox = y[g][2:6].tolist() + y_bbox = y[g].tolist() y_area = y_bbox[2] * y_bbox[3] - if crowd: + if crowd is not None: iscrowd = crowd[g] else: iscrowd = 0 for d in range(m): - y_pred_bbox = y_pred[d][2:6].tolist() + y_pred_bbox = y_pred[d].tolist() y_pred_area = y_pred_bbox[2] * y_pred_bbox[3] ious[d, g] = 0 w = min(y_pred_bbox[2] + y_pred_bbox[0], y_bbox[2] + y_bbox[0]) - max(y_pred_bbox[0], y_bbox[0]) @@ -68,7 +68,8 @@ class MeanAveragePrecision(Metric): iou_thresholds: Optional list of float IoU thresholds for which AP is computed (default: [.5:.05:.95]). rec_thresholds: Optional list of float values to which AP is computed for averaging (default: [0:.01:1]). output_transform: a callable that is used to transform the - :class:`~ignite.engine.engine.Engine`'s ``process_function``'s output into the + :class:`~ignite.engine.engine.Engine`' print(y_bbox, sorted_y_pred_bbox) +s ``process_function``'s output into the form expected by the metric. This can be useful if, for example, you have a multi-output model and you want to compute the metric with respect to one of the outputs. By default, metrics require the output as ``(y_pred, y)`` or ``{'y_pred': y_pred, 'y': y}``. @@ -171,15 +172,18 @@ def update(self, output: Tuple[Dict, Dict]) -> None: self.image_ids.add(y_img["image_id"]) + # print(y_img["category_id"]) + y_category_dict = defaultdict(list) - for i, category_id in y_img["category_id"]: - y_category_dict[category_id].append(i) + for i, category_id in enumerate(y_img["category_id"]): + y_category_dict[int(category_id)].append(i) y_pred_category_dict = defaultdict(list) - for i, category_id in y_pred_img["category_id"]: - y_pred_category_dict[category_id].append(i) + for i, category_id in enumerate(y_pred_img["category_id"]): + y_pred_category_dict[int(category_id)].append(i) - categories = torch.unique(torch.cat(y_img["category_id"], y_pred_img["category_id"])) + categories = torch.unique(torch.cat([y_img["category_id"], y_pred_img["category_id"]])).tolist() + self.category_ids.update(categories) for category in categories: y_pred_ind = y_pred_category_dict[category] @@ -196,8 +200,8 @@ def update(self, output: Tuple[Dict, Dict]) -> None: crowd = y_img["iscrowd"][y_ind] if "iscrowd" in y_img else None y_ignore = y_img["ignore"][y_ind] if "ignore" in y_img else torch.zeros(len(y_ind)) y_area = y_img["area"][y_ind] if "area" in y_img else (y_img["bbox"][:, 2] * y_img["bbox"][:, 3])[y_ind] - ious = _iou(y_bbox, sorted_y_pred_bbox, crowd) + ious = _iou(y_bbox, sorted_y_pred_bbox, crowd) for area_rng in self.object_area_ranges: eval_img = self._evaluate_image_matches( [y_id, y_area, y_ignore, crowd], @@ -205,14 +209,15 @@ def update(self, output: Tuple[Dict, Dict]) -> None: self.object_area_ranges[area_rng], ious, ) + if eval_img is not None: - self.eval_imgs[category_id, area_rng].append(eval_img) + self.eval_imgs[int(category), area_rng].append(eval_img) @reinit__is_reduced def reset(self) -> None: self.category_ids: set = set() self.eval_imgs: defaultdict = defaultdict(list) - self.image_ids = set() + self.image_ids: set = set() def _evaluate_image_matches( self, y: List, y_pred: List, area_rng: Tuple[float, float], ious: torch.Tensor @@ -224,18 +229,19 @@ def _evaluate_image_matches( y_id, y_area, y_ignore, y_crowd = y y_pred_id, y_pred_area, y_pred_score = y_pred - if len(y_area) == 0 and len(y_pred_area) == 0: + if len(y_id) == 0 and len(y_pred_id) == 0: return None # assign which detections in y are ignored for evaluating matches + ignore = torch.zeros(len(y_id)) for i, area in enumerate(y_area): - if area < area_rng[0] or area > area_rng[1]: - y_ignore[i] = 1 + if y_ignore[i] == 1 or area < area_rng[0] or area > area_rng[1]: + ignore[i] = 1 # Sort y based such that non ignored predictions are at the start - y_ind = torch.argsort(y_ignore) + y_ind = torch.argsort(ignore) y_id = y_id[y_ind] - y_ignore = y_ignore[y_ind] + ignore = ignore[y_ind] y_area = y_area[y_ind] # Sort y_pred according to confidence since we are using a greedy matching approach @@ -264,7 +270,7 @@ def _evaluate_image_matches( if ym[tind, gind] > 0 and not y_crowd[gind]: continue - if m > -1 and y_ignore[m] == 0 and y_ignore[gind] == 1: + if m > -1 and ignore[m] == 0 and ignore[gind] == 1: break if ious[dind, gind] < iou: @@ -275,7 +281,7 @@ def _evaluate_image_matches( if m == -1: continue - y_pred_ignore[tind, dind] = y_ignore[m] + y_pred_ignore[tind, dind] = ignore[m] y_predm[tind, dind] = y_id[m] ym[tind, m] = d @@ -284,6 +290,8 @@ def _evaluate_image_matches( for i, area in enumerate(y_pred_area): if area < area_rng[0] or area > area_rng[1]: d_area_ignore[i] = 1 + else: + d_area_ignore[i] = 0 a = torch.tensor(d_area_ignore).reshape((1, len(y_pred_ind))) a = a.to(self._device) @@ -292,7 +300,7 @@ def _evaluate_image_matches( y_pred_ignore, torch.logical_and(y_predm == 0, torch.repeat_interleave(a, num_iou_thrs, 0)) ).to(self._device) - return {"matches": y_predm, "scores": y_pred_score, "ignore": {"y": y_ignore, "y_pred": y_pred_ignore,}} + return {"matches": y_predm, "scores": y_pred_score, "ignore": {"y": ignore, "y_pred": y_pred_ignore,}} def _accumulate(self) -> None: num_iou_thr = len(self.iou_thresholds) From c94a99d837e3fe1226e0c857c221f33e13138ff9 Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Fri, 20 Aug 2021 16:05:56 +0530 Subject: [PATCH 29/33] Added tests --- ignite/metrics/mean_average_precision.py | 4 +- .../metrics/test_mean_average_precision.py | 471 +++++++++--------- 2 files changed, 236 insertions(+), 239 deletions(-) diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index 1d52b143007c..89534d475f2c 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -201,7 +201,7 @@ def update(self, output: Tuple[Dict, Dict]) -> None: y_ignore = y_img["ignore"][y_ind] if "ignore" in y_img else torch.zeros(len(y_ind)) y_area = y_img["area"][y_ind] if "area" in y_img else (y_img["bbox"][:, 2] * y_img["bbox"][:, 3])[y_ind] - ious = _iou(y_bbox, sorted_y_pred_bbox, crowd) + ious = _iou(y_bbox, sorted_y_pred_bbox, crowd).to(self._device) for area_rng in self.object_area_ranges: eval_img = self._evaluate_image_matches( [y_id, y_area, y_ignore, crowd], @@ -293,7 +293,7 @@ def _evaluate_image_matches( else: d_area_ignore[i] = 0 - a = torch.tensor(d_area_ignore).reshape((1, len(y_pred_ind))) + a = d_area_ignore.reshape((1, len(y_pred_ind))) a = a.to(self._device) y_pred_ignore = torch.logical_or( diff --git a/tests/ignite/metrics/test_mean_average_precision.py b/tests/ignite/metrics/test_mean_average_precision.py index d6d079edc600..ac2e593e9f29 100644 --- a/tests/ignite/metrics/test_mean_average_precision.py +++ b/tests/ignite/metrics/test_mean_average_precision.py @@ -1,278 +1,275 @@ -# import os -# from collections import defaultdict - -# import pytest -# import torch -# from pycocotools.coco import COCO -# from pycocotools.cocoeval import COCOeval - -# import ignite.distributed as idist -# from ignite.engine import Engine -# from ignite.metrics import MeanAveragePrecision - - -# def create_ground_truths(bbox, category_id=None, image_id=None): -# m = len(bbox) -# if category_id is None: -# category_id = [1] * m -# if image_id is None: -# image_id = [0] * m -# area = [b[2] * b[3] for b in bbox] -# annotations = [ -# { -# "area": a, -# "iscrowd": 0, -# "image_id": i, -# "bbox": b, -# "category_id": c, -# "id": k + 1, # start from 1 ! -# "ignore": 0, -# "_ignore": 0, -# } -# for k, (a, i, b, c) in enumerate(zip(area, image_id, bbox, category_id)) -# ] -# categories = [{"supercategory": f"_{c}", "id": c, "name": f"{c}"} for c in category_id] -# images = [{"id": i} for i in image_id] -# return {"annotations": annotations, "categories": categories, "images": images} - - -# def create_predictions(bbox, score, category_id=None, image_id=None): -# m = len(bbox) -# if category_id is None: -# category_id = [1] * m -# if image_id is None: -# image_id = [0] * m -# area = [b[2] * b[3] for b in bbox] -# return [ -# { -# "image_id": i, -# "category_id": c, -# "bbox": b, -# "score": s, -# "area": a, -# "id": k + 1, # start from 1 ! -# "iscrowd": 0, -# } -# for k, (a, i, b, c, s) in enumerate(zip(area, image_id, bbox, category_id, score)) -# ] - - -# def create_tensors(gt, pt): - -# img_gts = defaultdict(lambda: torch.zeros(0, 9)) -# img_dts = defaultdict(lambda: torch.zeros(0, 9)) - -# for data in gt["annotations"]: -# xmin, ymin, width, height = data["bbox"] -# array = [ -# data["id"], -# data["category_id"], -# xmin, -# ymin, -# width, -# height, -# data["area"], -# data["iscrowd"], -# data["ignore"], -# ] -# image_id = data["image_id"] -# img_gts[image_id] = torch.vstack([img_gts[image_id], torch.tensor(array)]) - -# for data in pt: -# xmin, ymin, width, height = data["bbox"] -# array = [ -# data["id"], -# data["category_id"], -# xmin, -# ymin, -# width, -# height, -# data["area"], -# data["iscrowd"], -# data["score"], -# ] -# image_id = data["image_id"] -# img_dts[image_id] = torch.vstack([img_dts[image_id], torch.tensor(array)]) - -# image_ids = set(list(img_gts.keys()) + list(img_dts.keys())) - -# return [(img_gts[i], img_dts[i]) for i in image_ids] - - -# def test_against_coco_map(): -# mAP = MeanAveragePrecision() - -# # pycocotools format for bbox -# # (xmin, ymin, width, height) -# bbox = [ -# [0.0, 0.0, 1.0, 1.0], -# [0.0, 0.0, 2.0, 1.0], -# ] -# # category per bbox (optional) -# category_id = [1, 2] -# # image per bbox (optional) -# image_id = [0, 1] -# # scores per bbox -# score = [0.8, 0.9] - -# gt = create_ground_truths(bbox=bbox, image_id=image_id, category_id=category_id) - -# pt = create_predictions(bbox=bbox, image_id=image_id, category_id=category_id, score=[0.9, 0.9]) - -# coco_gt = COCO() - -# coco_gt.dataset = gt -# coco_gt.createIndex() - -# coco_dt = coco_gt.loadRes(pt) - -# evaluator = COCOeval(cocoGt=coco_gt, cocoDt=coco_dt, iouType="bbox") - -# evaluator.evaluate() -# evaluator.accumulate() -# evaluator.summarize() - -# for data in create_tensors(gt, pt): -# mAP.update(data) +import os +from collections import defaultdict + +import pytest +import torch +from pycocotools.coco import COCO +from pycocotools.cocoeval import COCOeval + +import ignite.distributed as idist +from ignite.engine import Engine +from ignite.metrics import MeanAveragePrecision + + +def create_ground_truths(bbox, category_id=None, image_id=None): + m = len(bbox) + if category_id is None: + category_id = [1] * m + if image_id is None: + image_id = [0] * m + area = [b[2] * b[3] for b in bbox] + annotations = [ + { + "area": a, + "iscrowd": 0, + "image_id": i, + "bbox": b, + "category_id": c, + "id": k + 1, # start from 1 ! + "ignore": 0, + "_ignore": 0, + } + for k, (a, i, b, c) in enumerate(zip(area, image_id, bbox, category_id)) + ] + categories = [{"supercategory": f"_{c}", "id": c, "name": f"{c}"} for c in category_id] + images = [{"id": i} for i in image_id] + return {"annotations": annotations, "categories": categories, "images": images} + + +def create_predictions(bbox, score, category_id=None, image_id=None): + m = len(bbox) + if category_id is None: + category_id = [1] * m + if image_id is None: + image_id = [0] * m + area = [b[2] * b[3] for b in bbox] + return [ + { + "image_id": i, + "category_id": c, + "bbox": b, + "score": s, + "area": a, + "id": k + 1, # start from 1 ! + "iscrowd": 0, + } + for k, (a, i, b, c, s) in enumerate(zip(area, image_id, bbox, category_id, score)) + ] + + +def create_tensors(data, keys, device): + img_tensors = defaultdict(lambda: defaultdict(list)) + for i in data: + for img in data[i]: + img_id = img["image_id"] + for key in keys: + img_tensors[img_id][key].append(torch.tensor(img[key])) + + for img_id in img_tensors: + img_tensors[img_id]["image_id"] = img_id + for key in keys: + img_tensors[img_id][key] = torch.stack(img_tensors[img_id][key]).to(device) + + return img_tensors + + +def prepare_coco(device): + # pycocotools format for bbox + # (xmin, ymin, width, height) + bbox = [ + [0.0, 0.0, 1.0, 1.0], + [0.0, 0.0, 2.0, 1.0], + ] + # category per bbox (optional) + category_id = [1, 2] + # image per bbox (optional) + image_id = [0, 1] + # scores per bbox + score = [0.8, 0.9] -# results = mAP.compute() -# coco_results = evaluator.stats[:6] -# assert coco_results[0] == pytest.approx(results["all"], 1e-2) -# assert coco_results[1] == pytest.approx(results["all@0.5"], 1e-2) -# assert coco_results[2] == pytest.approx(results["all@0.75"], 1e-2) -# assert coco_results[3] == pytest.approx(results["small"], 1e-2) -# assert coco_results[4] == pytest.approx(results["medium"], 1e-2) -# assert coco_results[5] == pytest.approx(results["large"], 1e-2) + gt = create_ground_truths(bbox=bbox, image_id=image_id, category_id=category_id) + pt = create_predictions(bbox=bbox, image_id=image_id, category_id=category_id, score=score) -# def _test_distrib_integration(device): -# def _test(metric_device): -# torch.manual_seed(12) + coco_gt = COCO() -# def update(_, img_id): -# return [img_dts[img_id], img_gts[img_id]] + coco_gt.dataset = gt + coco_gt.createIndex() -# engine = Engine(update) + coco_dt = coco_gt.loadRes(pt) -# mAP = MeanAveragePrecision(device=metric_device) -# mAP.attach(engine, "mAP") + evaluator = COCOeval(cocoGt=coco_gt, cocoDt=coco_dt, iouType="bbox") -# data = img_list -# engine.run(data=data, max_epochs=1) + evaluator.evaluate() + evaluator.accumulate() + evaluator.summarize() -# assert "mAP" in engine.state.metrics + gt_keys = ["id", "category_id", "area", "iscrowd", "ignore", "bbox"] + dt_keys = ["id", "category_id", "score", "bbox"] -# results = engine.state.metrics["mAP"] -# cocoEval.summarize() -# coco_results = cocoEval.stats[:6] -# assert coco_results[0] == pytest.approx(results["all"], 1e-2) -# assert coco_results[1] == pytest.approx(results["all@0.5"], 1e-2) -# assert coco_results[2] == pytest.approx(results["all@0.75"], 1e-2) -# assert coco_results[3] == pytest.approx(results["small"], 1e-2) -# assert coco_results[4] == pytest.approx(results["medium"], 1e-2) -# assert coco_results[5] == pytest.approx(results["large"], 1e-2) + img_gts = create_tensors(evaluator._gts, gt_keys, device) + img_dts = create_tensors(evaluator._dts, dt_keys, device) -# metric_devices = ["cpu"] -# if device.type != "xla": -# metric_devices.append(idist.device()) + return evaluator, img_gts, img_dts -# for metric_device in metric_devices: -# _test(metric_device=metric_device) +def test_against_coco_map(): + mAP = MeanAveragePrecision() -# @pytest.mark.distributed -# @pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") -# @pytest.mark.skipif(torch.cuda.device_count() < 1, reason="Skip if no GPU") -# def test_distrib_nccl_gpu(distributed_context_single_node_nccl): + evaluator, img_gts, img_dts = prepare_coco("cpu") -# device = idist.device() -# _test_distrib_integration(device) + coco_results = evaluator.stats[:6] + img_list = set([i for i in img_gts]) + for i in img_dts: + img_list.add(i) -# @pytest.mark.distributed -# @pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") -# def test_distrib_gloo_cpu_or_gpu(distributed_context_single_node_gloo): + for i in img_list: + mAP.update([img_dts[i], img_gts[i]]) -# device = idist.device() -# _test_distrib_integration(device) + results = mAP.compute() + assert coco_results[0] == pytest.approx(results["all"], 1e-2) + assert coco_results[1] == pytest.approx(results["all@0.5"], 1e-2) + assert coco_results[2] == pytest.approx(results["all@0.75"], 1e-2) + assert coco_results[3] == pytest.approx(results["small"], 1e-2) + assert coco_results[4] == pytest.approx(results["medium"], 1e-2) + assert coco_results[5] == pytest.approx(results["large"], 1e-2) -# @pytest.mark.multinode_distributed -# @pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") -# @pytest.mark.skipif("MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") -# def test_multinode_distrib_gloo_cpu_or_gpu(distributed_context_multi_node_gloo): -# device = idist.device() -# _test_distrib_integration(device) +def _test_distrib_integration(device): + def _test(metric_device): + torch.manual_seed(12) + def update(_, img_id): + return [img_dts[img_id], img_gts[img_id]] -# @pytest.mark.multinode_distributed -# @pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") -# @pytest.mark.skipif("GPU_MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") -# def test_multinode_distrib_nccl_gpu(distributed_context_multi_node_nccl): + engine = Engine(update) -# device = idist.device() -# _test_distrib_integration(device) + mAP = MeanAveragePrecision(device=metric_device) + mAP.attach(engine, "mAP") + evaluator, img_gts, img_dts = prepare_coco(metric_device) -# @pytest.mark.distributed -# @pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") -# @pytest.mark.skipif(torch.cuda.device_count() < 1, reason="Skip if no GPU") -# def test_distrib_gpu(local_rank, distributed_context_single_node_nccl): -# device = torch.device(f"cuda:{local_rank}") -# _test_distrib_integration(device) + img_list = set([i for i in img_gts]) + for i in img_dts: + img_list.add(i) + data = img_list + engine.run(data=data, max_epochs=1) -# @pytest.mark.distributed -# @pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") -# def test_distrib_cpu(distributed_context_single_node_gloo): -# device = torch.device("cpu") -# _test_distrib_integration(device) + assert "mAP" in engine.state.metrics + results = engine.state.metrics["mAP"] + coco_results = evaluator.stats[:6] + assert coco_results[0] == pytest.approx(results["all"], 1e-2) + assert coco_results[1] == pytest.approx(results["all@0.5"], 1e-2) + assert coco_results[2] == pytest.approx(results["all@0.75"], 1e-2) + assert coco_results[3] == pytest.approx(results["small"], 1e-2) + assert coco_results[4] == pytest.approx(results["medium"], 1e-2) + assert coco_results[5] == pytest.approx(results["large"], 1e-2) -# @pytest.mark.distributed -# @pytest.mark.skipif(not idist.has_hvd_support, reason="Skip if no Horovod dist support") -# @pytest.mark.skipif("WORLD_SIZE" in os.environ, reason="Skip if launched as multiproc") -# def test_distrib_hvd(gloo_hvd_executor): + metric_devices = ["cpu"] + if device.type != "xla": + metric_devices.append(idist.device()) -# device = torch.device("cpu" if not torch.cuda.is_available() else "cuda") -# nproc = 4 if not torch.cuda.is_available() else torch.cuda.device_count() + for metric_device in metric_devices: + _test(metric_device=metric_device) -# gloo_hvd_executor(_test_distrib_integration, (device,), np=nproc, do_init=True) +@pytest.mark.distributed +@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +@pytest.mark.skipif(torch.cuda.device_count() < 1, reason="Skip if no GPU") +def test_distrib_nccl_gpu(distributed_context_single_node_nccl): -# @pytest.mark.multinode_distributed -# @pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") -# @pytest.mark.skipif("MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") -# def test_multinode_distrib_cpu(distributed_context_multi_node_gloo): -# device = torch.device("cpu") -# _test_distrib_integration(device) + device = idist.device() + _test_distrib_integration(device) -# @pytest.mark.multinode_distributed -# @pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") -# @pytest.mark.skipif("GPU_MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") -# def test_multinode_distrib_gpu(distributed_context_multi_node_nccl): -# device = torch.device(f"cuda:{distributed_context_multi_node_nccl['local_rank']}") -# _test_distrib_integration(device) +@pytest.mark.distributed +@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +def test_distrib_gloo_cpu_or_gpu(distributed_context_single_node_gloo): + device = idist.device() + _test_distrib_integration(device) -# @pytest.mark.tpu -# @pytest.mark.skipif("NUM_TPU_WORKERS" in os.environ, reason="Skip if NUM_TPU_WORKERS is in env vars") -# @pytest.mark.skipif(not idist.has_xla_support, reason="Skip if no PyTorch XLA package") -# def test_distrib_single_device_xla(): -# device = idist.device() -# _test_distrib_integration(device) +@pytest.mark.multinode_distributed +@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +@pytest.mark.skipif("MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") +def test_multinode_distrib_gloo_cpu_or_gpu(distributed_context_multi_node_gloo): -# def _test_distrib_xla_nprocs(index): -# device = idist.device() -# _test_distrib_integration(device) + device = idist.device() + _test_distrib_integration(device) -# @pytest.mark.tpu -# @pytest.mark.skipif("NUM_TPU_WORKERS" not in os.environ, reason="Skip if no NUM_TPU_WORKERS in env vars") -# @pytest.mark.skipif(not idist.has_xla_support, reason="Skip if no PyTorch XLA package") -# def test_distrib_xla_nprocs(xmp_executor): -# n = int(os.environ["NUM_TPU_WORKERS"]) -# xmp_executor(_test_distrib_xla_nprocs, args=(), nprocs=n) +@pytest.mark.multinode_distributed +@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +@pytest.mark.skipif("GPU_MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") +def test_multinode_distrib_nccl_gpu(distributed_context_multi_node_nccl): + + device = idist.device() + _test_distrib_integration(device) + + +@pytest.mark.distributed +@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +@pytest.mark.skipif(torch.cuda.device_count() < 1, reason="Skip if no GPU") +def test_distrib_gpu(local_rank, distributed_context_single_node_nccl): + device = torch.device(f"cuda:{local_rank}") + _test_distrib_integration(device) + + +@pytest.mark.distributed +@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +def test_distrib_cpu(distributed_context_single_node_gloo): + device = torch.device("cpu") + _test_distrib_integration(device) + + +@pytest.mark.distributed +@pytest.mark.skipif(not idist.has_hvd_support, reason="Skip if no Horovod dist support") +@pytest.mark.skipif("WORLD_SIZE" in os.environ, reason="Skip if launched as multiproc") +def test_distrib_hvd(gloo_hvd_executor): + + device = torch.device("cpu" if not torch.cuda.is_available() else "cuda") + nproc = 4 if not torch.cuda.is_available() else torch.cuda.device_count() + + gloo_hvd_executor(_test_distrib_integration, (device,), np=nproc, do_init=True) + + +@pytest.mark.multinode_distributed +@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +@pytest.mark.skipif("MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") +def test_multinode_distrib_cpu(distributed_context_multi_node_gloo): + device = torch.device("cpu") + _test_distrib_integration(device) + + +@pytest.mark.multinode_distributed +@pytest.mark.skipif(not idist.has_native_dist_support, reason="Skip if no native dist support") +@pytest.mark.skipif("GPU_MULTINODE_DISTRIB" not in os.environ, reason="Skip if not multi-node distributed") +def test_multinode_distrib_gpu(distributed_context_multi_node_nccl): + device = torch.device(f"cuda:{distributed_context_multi_node_nccl['local_rank']}") + _test_distrib_integration(device) + + +@pytest.mark.tpu +@pytest.mark.skipif("NUM_TPU_WORKERS" in os.environ, reason="Skip if NUM_TPU_WORKERS is in env vars") +@pytest.mark.skipif(not idist.has_xla_support, reason="Skip if no PyTorch XLA package") +def test_distrib_single_device_xla(): + device = idist.device() + _test_distrib_integration(device) + + +def _test_distrib_xla_nprocs(index): + device = idist.device() + _test_distrib_integration(device) + + +@pytest.mark.tpu +@pytest.mark.skipif("NUM_TPU_WORKERS" not in os.environ, reason="Skip if no NUM_TPU_WORKERS in env vars") +@pytest.mark.skipif(not idist.has_xla_support, reason="Skip if no PyTorch XLA package") +def test_distrib_xla_nprocs(xmp_executor): + n = int(os.environ["NUM_TPU_WORKERS"]) + xmp_executor(_test_distrib_xla_nprocs, args=(), nprocs=n) From 9e30223cf054dea1b8b4be2d4400f941a1862347 Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Fri, 20 Aug 2021 16:21:21 +0530 Subject: [PATCH 30/33] Fixed docs --- ignite/metrics/mean_average_precision.py | 60 +- tests/ignite/metrics/dt.json | 3413 --------------- tests/ignite/metrics/gt.json | 4928 ---------------------- 3 files changed, 37 insertions(+), 8364 deletions(-) delete mode 100644 tests/ignite/metrics/dt.json delete mode 100644 tests/ignite/metrics/gt.json diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index 89534d475f2c..210dceb30f12 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -68,8 +68,7 @@ class MeanAveragePrecision(Metric): iou_thresholds: Optional list of float IoU thresholds for which AP is computed (default: [.5:.05:.95]). rec_thresholds: Optional list of float values to which AP is computed for averaging (default: [0:.01:1]). output_transform: a callable that is used to transform the - :class:`~ignite.engine.engine.Engine`' print(y_bbox, sorted_y_pred_bbox) -s ``process_function``'s output into the + :class:`~ignite.engine.engine.Engine`'s ``process_function``'s output into the form expected by the metric. This can be useful if, for example, you have a multi-output model and you want to compute the metric with respect to one of the outputs. By default, metrics require the output as ``(y_pred, y)`` or ``{'y_pred': y_pred, 'y': y}``. @@ -84,25 +83,42 @@ class MeanAveragePrecision(Metric): import torch from ignite.metrics import MeanAveragePrecision - # Detection Format: - # (id, class, xmin, ymin, width, height, ignore/confidence, area, crowd) - # area: refers to the area covered by the bounding box, is usually - # height * width, except when crowd is 1. - # crowd: refers to if the detection is completely independent of other - # detection or overlapping with them. - # ignore: set positive when you want to ignore this detection when calculating - # Mean Average Precision. - # if your bounding box are of the form (xmin, ymin, xmax, ymax) instead - # they can be converted using the formulas width = xmax - xmin and - # height = ymax - ymin - - # ground truth detections for an image - ys = torch.tensor([[1,73,249.1,50.7,375.3,277.2,101928.52,0,0], - [2,73,152.3,50.29,47,312.38, 4097.4,0,0]]) - - # predicted detections for the same image - y_preds = torch.tensor([[1,73,176.38,50.3,463.62,312.4,144825.6,0,0.328], - [2,73,355.5,111.87,210,93.75,19687.5,0,0.64]]) + # Input Format: + # Ground Truth + # [ + # { + # "image_id": torch.IntTensor(B), + # "category_id": torch.IntTensor(B), + # "bbox": torch.FloatTensor(B x 4), + # "iscrowd": torch.IntTensor(B) (Optional), + # "area": torch.FloatTensor(B) (Optional), + # "ignore": torch.IntTensor(B) (Optional), + # } + # ] + + # Prediction + # [ + # { + # "image_id": torch.IntTensor(B), + # "category_id": torch.IntTensor(B), + # "bbox": torch.FloatTensor(B x 4), + # "score": torch.FloatTensor(B), + # } + # ] + + ys = {'area': tensor([2.]), + 'bbox': tensor([[0., 0., 2., 1.]]), + 'category_id': tensor([2]), + 'id': tensor([2]), + 'ignore': tensor([0]), + 'image_id': 1, + 'iscrowd': tensor([0])} + + y_preds = {'bbox': tensor([[0., 0., 2., 1.]]), + 'category_id': tensor([2]), + 'id': tensor([2]), + 'image_id': 1, + 'score': tensor([0.8999999762])} mAP = MeanAveragePrecision() @@ -172,8 +188,6 @@ def update(self, output: Tuple[Dict, Dict]) -> None: self.image_ids.add(y_img["image_id"]) - # print(y_img["category_id"]) - y_category_dict = defaultdict(list) for i, category_id in enumerate(y_img["category_id"]): y_category_dict[int(category_id)].append(i) diff --git a/tests/ignite/metrics/dt.json b/tests/ignite/metrics/dt.json deleted file mode 100644 index 0cb2c669213e..000000000000 --- a/tests/ignite/metrics/dt.json +++ /dev/null @@ -1,3413 +0,0 @@ -[ - { - "image_id": 42, - "category_id": 18, - "bbox": [258.15, 41.29, 348.26, 243.78], - "score": 0.236, - "area": 84898.8228, - "id": 1, - "iscrowd": 0 - }, - { - "image_id": 73, - "category_id": 11, - "bbox": [61, 22.75, 504, 609.67], - "score": 0.318, - "area": 307273.68, - "id": 2, - "iscrowd": 0 - }, - { - "image_id": 73, - "category_id": 4, - "bbox": [12.66, 3.32, 268.6, 271.91], - "score": 0.726, - "area": 73035.02600000001, - "id": 3, - "iscrowd": 0 - }, - { - "image_id": 74, - "category_id": 18, - "bbox": [87.87, 276.25, 296.42, 103.18], - "score": 0.546, - "area": 30584.615600000005, - "id": 4, - "iscrowd": 0 - }, - { - "image_id": 74, - "category_id": 2, - "bbox": [0, 3.66, 142.15, 312.4], - "score": 0.3, - "area": 44407.659999999996, - "id": 5, - "iscrowd": 0 - }, - { - "image_id": 74, - "category_id": 1, - "bbox": [296.55, 93.96, 18.42, 58.83], - "score": 0.407, - "area": 1083.6486, - "id": 6, - "iscrowd": 0 - }, - { - "image_id": 74, - "category_id": 1, - "bbox": [328.94, 97.05, 13.55, 25.93], - "score": 0.611, - "area": 351.3515, - "id": 7, - "iscrowd": 0 - }, - { - "image_id": 74, - "category_id": 1, - "bbox": [356.62, 95.47, 15.71, 52.08], - "score": 0.335, - "area": 818.1768000000001, - "id": 8, - "iscrowd": 0 - }, - { - "image_id": 74, - "category_id": 1, - "bbox": [464.08, 105.09, 31.66, 41.9], - "score": 0.805, - "area": 1326.5539999999999, - "id": 9, - "iscrowd": 0 - }, - { - "image_id": 74, - "category_id": 1, - "bbox": [276.11, 103.84, 15.33, 46.88], - "score": 0.953, - "area": 718.6704000000001, - "id": 10, - "iscrowd": 0 - }, - { - "image_id": 74, - "category_id": 1, - "bbox": [281.65, 103.41, 11.69, 24.25], - "score": 0.087, - "area": 283.4825, - "id": 11, - "iscrowd": 0 - }, - { - "image_id": 133, - "category_id": 65, - "bbox": [0, 2.87, 601, 418.65], - "score": 0.699, - "area": 251608.65, - "id": 12, - "iscrowd": 0 - }, - { - "image_id": 133, - "category_id": 88, - "bbox": [521.34, 20.93, 47.95, 28.72], - "score": 0.423, - "area": 1377.124, - "id": 13, - "iscrowd": 0 - }, - { - "image_id": 136, - "category_id": 16, - "bbox": [8.84, 114.71, 53.54, 257.7], - "score": 0.473, - "area": 13797.258, - "id": 14, - "iscrowd": 0 - }, - { - "image_id": 136, - "category_id": 1, - "bbox": [9, 61.35, 68.92, 312.65], - "score": 0.796, - "area": 21547.838, - "id": 15, - "iscrowd": 0 - }, - { - "image_id": 136, - "category_id": 38, - "bbox": [101, 116.38, 185.74, 252.68], - "score": 0.127, - "area": 46932.783200000005, - "id": 16, - "iscrowd": 0 - }, - { - "image_id": 136, - "category_id": 25, - "bbox": [315.72, 131.83, 128.04, 164.25], - "score": 0.326, - "area": 21030.57, - "id": 17, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 64, - "bbox": [236.98, 142.51, 24.7, 69.5], - "score": 0.221, - "area": 1716.6499999999999, - "id": 18, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 37, - "bbox": [20.03, 167.76, 149.32, 94.87], - "score": 0.849, - "area": 14165.9884, - "id": 19, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 72, - "bbox": [559.21, 209.19, 80.79, 78.73], - "score": 0.518, - "area": 6360.596700000001, - "id": 20, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 13, - "bbox": [352.98, 218.05, 56, 102.83], - "score": 0.477, - "area": 5758.48, - "id": 21, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 62, - "bbox": [292.69, 218, 61.83, 98.48], - "score": 0.38, - "area": 6089.0184, - "id": 22, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 62, - "bbox": [410.2, 223.01, 30.17, 81.36], - "score": 0.864, - "area": 2454.6312000000003, - "id": 23, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 62, - "bbox": [317.4, 219.24, 21.58, 11.59], - "score": 0.401, - "area": 250.11219999999997, - "id": 24, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 62, - "bbox": [413.25, 219.02, 9.63, 12.52], - "score": 0.375, - "area": 120.5676, - "id": 25, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 1, - "bbox": [413.8, 157.61, 53.05, 138.01], - "score": 0.157, - "area": 7321.4304999999995, - "id": 26, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 1, - "bbox": [386.43, 172.21, 15.12, 35.74], - "score": 0.71, - "area": 540.3888, - "id": 27, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 78, - "bbox": [513.22, 205.75, 14.74, 15.97], - "score": 0.075, - "area": 235.39780000000002, - "id": 28, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 82, - "bbox": [492.1, 174.34, 20.29, 108.31], - "score": 0.26, - "area": 2197.6099, - "id": 29, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 85, - "bbox": [446.77, 121.12, 13.97, 21.88], - "score": 0.164, - "area": 305.6636, - "id": 30, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 86, - "bbox": [539.06, 309.43, 36.68, 89.67], - "score": 0.806, - "area": 3289.0956, - "id": 31, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 86, - "bbox": [349.76, 208.84, 11.37, 22.55], - "score": 0.474, - "area": 256.3935, - "id": 32, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 11, - "bbox": [337.79, 199.5, 9.73, 16.73], - "score": 0.532, - "area": 162.7829, - "id": 33, - "iscrowd": 0 - }, - { - "image_id": 139, - "category_id": 61, - "bbox": [305.21, 231.22, 125.56, 88.93], - "score": 0.106, - "area": 11166.0508, - "id": 34, - "iscrowd": 0 - }, - { - "image_id": 143, - "category_id": 16, - "bbox": [441.88, 192.47, 131.18, 176.35], - "score": 0.829, - "area": 23133.593, - "id": 35, - "iscrowd": 0 - }, - { - "image_id": 143, - "category_id": 16, - "bbox": [275.59, 126.88, 100, 162.77], - "score": 0.755, - "area": 16277.000000000002, - "id": 36, - "iscrowd": 0 - }, - { - "image_id": 143, - "category_id": 16, - "bbox": [45.96, 20.22, 95.5, 133.71], - "score": 0.144, - "area": 12769.305, - "id": 37, - "iscrowd": 0 - }, - { - "image_id": 143, - "category_id": 16, - "bbox": [123.18, 237.43, 114.24, 134.32], - "score": 0.878, - "area": 15344.716799999998, - "id": 38, - "iscrowd": 0 - }, - { - "image_id": 143, - "category_id": 16, - "bbox": [468.71, 320.79, 94.24, 154.59], - "score": 0.756, - "area": 14568.561599999999, - "id": 39, - "iscrowd": 0 - }, - { - "image_id": 143, - "category_id": 1, - "bbox": [124.19, 104.46, 95.77, 167.42], - "score": 0.523, - "area": 16033.813399999997, - "id": 40, - "iscrowd": 0 - }, - { - "image_id": 143, - "category_id": 35, - "bbox": [129.08, 319.22, 92.28, 161.25], - "score": 0.42, - "area": 14880.15, - "id": 41, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 44, - "bbox": [388.84, 183.92, 8.02, 26.87], - "score": 0.923, - "area": 215.4974, - "id": 42, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 44, - "bbox": [374.4, 189.64, 6.87, 20.93], - "score": 0.46, - "area": 143.7891, - "id": 43, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 44, - "bbox": [366.79, 184.72, 7.05, 27.54], - "score": 0.168, - "area": 194.15699999999998, - "id": 44, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 44, - "bbox": [383.16, 187.56, 7.21, 24.24], - "score": 0.084, - "area": 174.7704, - "id": 45, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 44, - "bbox": [428.79, 280.36, 18.32, 31.37], - "score": 0.145, - "area": 574.6984, - "id": 46, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 44, - "bbox": [463.1, 282.68, 9.92, 36.55], - "score": 0.263, - "area": 362.57599999999996, - "id": 47, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 44, - "bbox": [401.87, 161.68, 9.4, 17.1], - "score": 0.917, - "area": 160.74, - "id": 48, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 44, - "bbox": [374.61, 135.8, 10.49, 15.16], - "score": 0.805, - "area": 159.0284, - "id": 49, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 44, - "bbox": [413.11, 131.22, 10.65, 16.86], - "score": 0.863, - "area": 179.559, - "id": 50, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 82, - "bbox": [439.7, 171.07, 96.72, 138.04], - "score": 0.178, - "area": 13351.228799999999, - "id": 51, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 57, - "bbox": [404.56, 132.62, 9.78, 15.75], - "score": 0.155, - "area": 154.035, - "id": 52, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 62, - "bbox": [173.04, 409.16, 151.36, 70.84], - "score": 0.3, - "area": 10722.342400000001, - "id": 53, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 62, - "bbox": [158.47, 231.64, 21.72, 21.24], - "score": 0.438, - "area": 461.33279999999996, - "id": 54, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 46, - "bbox": [154.96, 189.95, 12.83, 28.26], - "score": 0.125, - "area": 362.5758, - "id": 55, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 46, - "bbox": [108.42, 196.32, 14.31, 33.4], - "score": 0.631, - "area": 477.954, - "id": 56, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 46, - "bbox": [57.59, 196.12, 19.66, 37.63], - "score": 0.04, - "area": 739.8058000000001, - "id": 57, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 46, - "bbox": [81.76, 195.46, 15.44, 39.6], - "score": 0.048, - "area": 611.424, - "id": 58, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 46, - "bbox": [94.89, 196.13, 11.83, 36.93], - "score": 0.679, - "area": 436.8819, - "id": 59, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 46, - "bbox": [77.17, 194.99, 10.84, 39.68], - "score": 0.883, - "area": 430.1312, - "id": 60, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 46, - "bbox": [134.3, 192.93, 10.75, 35.37], - "score": 0.154, - "area": 380.22749999999996, - "id": 61, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 28, - "bbox": [140.01, 190.76, 16.1, 36.54], - "score": 0.134, - "area": 588.294, - "id": 62, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 47, - "bbox": [148.61, 233.85, 26.78, 20.8], - "score": 0.269, - "area": 557.024, - "id": 63, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 47, - "bbox": [176.77, 232.66, 20.14, 16.13], - "score": 0.616, - "area": 324.8582, - "id": 64, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 47, - "bbox": [195.65, 228.88, 19.99, 15.51], - "score": 0.845, - "area": 310.0449, - "id": 65, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 47, - "bbox": [512.83, 134.18, 15.4, 21.38], - "score": 0.231, - "area": 329.252, - "id": 66, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 47, - "bbox": [529.63, 139.85, 15.19, 13.71], - "score": 0.71, - "area": 208.2549, - "id": 67, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 47, - "bbox": [505.11, 146.68, 6.26, 8.2], - "score": 0.301, - "area": 51.331999999999994, - "id": 68, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 47, - "bbox": [172.77, 203.22, 17.75, 18.85], - "score": 0.302, - "area": 334.58750000000003, - "id": 69, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 47, - "bbox": [135.77, 233.33, 15.32, 20.21], - "score": 0.96, - "area": 309.6172, - "id": 70, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 58, - "bbox": [113.56, 236.81, 23.23, 19.52], - "score": 0.062, - "area": 453.4496, - "id": 71, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 51, - "bbox": [513.25, 221.5, 56.15, 10.53], - "score": 0.347, - "area": 591.2595, - "id": 72, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 51, - "bbox": [503.95, 211.57, 29.18, 4.68], - "score": 0.364, - "area": 136.5624, - "id": 73, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 51, - "bbox": [505.14, 219.24, 56.89, 4.21], - "score": 0.089, - "area": 239.5069, - "id": 74, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 51, - "bbox": [511.83, 212.69, 55.62, 6.07], - "score": 0.084, - "area": 337.6134, - "id": 75, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 78, - "bbox": [380.72, 227.45, 53.28, 30.36], - "score": 0.856, - "area": 1617.5808, - "id": 76, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 79, - "bbox": [273.61, 263.38, 46.82, 34.22], - "score": 0.5, - "area": 1602.1804, - "id": 77, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 22, - "bbox": [514.26, 215.43, 52.03, 5.24], - "score": 0.853, - "area": 272.6372, - "id": 78, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 74, - "bbox": [362.88, 171.41, 13.36, 9.05], - "score": 0.704, - "area": 120.908, - "id": 79, - "iscrowd": 0 - }, - { - "image_id": 164, - "category_id": 67, - "bbox": [364.78, 459.12, 137.14, 14.96], - "score": 0.236, - "area": 2051.6144, - "id": 80, - "iscrowd": 0 - }, - { - "image_id": 192, - "category_id": 1, - "bbox": [341.48, 253.48, 131.6, 220.05], - "score": 0.123, - "area": 28958.58, - "id": 81, - "iscrowd": 0 - }, - { - "image_id": 192, - "category_id": 1, - "bbox": [448.21, 218.33, 78.41, 248.03], - "score": 0.864, - "area": 19448.0323, - "id": 82, - "iscrowd": 0 - }, - { - "image_id": 192, - "category_id": 1, - "bbox": [0.93, 274.23, 36.53, 205.51], - "score": 0.919, - "area": 7507.2803, - "id": 83, - "iscrowd": 0 - }, - { - "image_id": 192, - "category_id": 1, - "bbox": [255.11, 179.46, 111.35, 235.68], - "score": 0.222, - "area": 26242.968, - "id": 84, - "iscrowd": 0 - }, - { - "image_id": 192, - "category_id": 39, - "bbox": [9.2, 381.39, 36, 92.98], - "score": 0.054, - "area": 3347.28, - "id": 85, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 50, - "bbox": [285.73, 200.54, 210.81, 48.65], - "score": 0.574, - "area": 10255.9065, - "id": 86, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 50, - "bbox": [548.65, 250.15, 73.72, 122.35], - "score": 0.851, - "area": 9019.642, - "id": 87, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 50, - "bbox": [470.49, 390.81, 121.54, 88.15], - "score": 0.138, - "area": 10713.751000000002, - "id": 88, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 50, - "bbox": [524.71, 129.89, 19.64, 9.29], - "score": 0.081, - "area": 182.45559999999998, - "id": 89, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 57, - "bbox": [443.17, 363.72, 22.98, 42.51], - "score": 0.405, - "area": 976.8797999999999, - "id": 90, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 57, - "bbox": [392.24, 374.67, 24.62, 53.82], - "score": 0.948, - "area": 1325.0484000000001, - "id": 91, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 57, - "bbox": [411.55, 404.5, 55.98, 30.74], - "score": 0.876, - "area": 1720.8251999999998, - "id": 92, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 57, - "bbox": [459.6, 401.48, 26.37, 31.69], - "score": 0.361, - "area": 835.6653000000001, - "id": 93, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 57, - "bbox": [412.04, 417.75, 13.64, 31.75], - "score": 0.963, - "area": 433.07, - "id": 94, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 57, - "bbox": [577.34, 377.01, 12.18, 15.03], - "score": 0.972, - "area": 183.06539999999998, - "id": 95, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 57, - "bbox": [368.9, 388.96, 31.37, 27.25], - "score": 0.183, - "area": 854.8325, - "id": 96, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 57, - "bbox": [165.75, 359.55, 41.76, 41.77], - "score": 0.036, - "area": 1744.3152, - "id": 97, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 57, - "bbox": [435.1, 446.58, 20.64, 10.6], - "score": 0.033, - "area": 218.784, - "id": 98, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 46, - "bbox": [232.52, 42.78, 71.44, 43.44], - "score": 0.536, - "area": 3103.3536, - "id": 99, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 51, - "bbox": [277.91, 58.21, 128.58, 62.76], - "score": 0.213, - "area": 8069.6808, - "id": 100, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 51, - "bbox": [219.69, 197.88, 169.4, 86.23], - "score": 0.227, - "area": 14607.362000000001, - "id": 101, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 51, - "bbox": [376.02, 337.26, 161.24, 139.17], - "score": 0.111, - "area": 22439.7708, - "id": 102, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 51, - "bbox": [321.22, 157.3, 132.68, 69.04], - "score": 0.122, - "area": 9160.227200000001, - "id": 103, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 51, - "bbox": [349.69, 115.74, 151.25, 64.57], - "score": 0.47, - "area": 9766.2125, - "id": 104, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 51, - "bbox": [183.83, 72.85, 88.39, 33.07], - "score": 0.621, - "area": 2923.0573, - "id": 105, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 51, - "bbox": [358.33, 47.29, 92.99, 62.87], - "score": 0.43, - "area": 5846.2813, - "id": 106, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 51, - "bbox": [105.26, 88.64, 96.13, 39.34], - "score": 0.62, - "area": 3781.7542000000003, - "id": 107, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 51, - "bbox": [0, 145.79, 71.35, 73.52], - "score": 0.587, - "area": 5245.651999999999, - "id": 108, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 10, - "bbox": [421.99, 236.14, 144.88, 113.72], - "score": 0.888, - "area": 16475.7536, - "id": 109, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 56, - "bbox": [200.46, 254.35, 18.25, 31.59], - "score": 0.958, - "area": 576.5175, - "id": 110, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 56, - "bbox": [281.51, 393.55, 37.68, 28.9], - "score": 0.892, - "area": 1088.952, - "id": 111, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 56, - "bbox": [172.36, 269.84, 21.54, 29.09], - "score": 0.108, - "area": 626.5985999999999, - "id": 112, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 56, - "bbox": [119.3, 340.83, 40, 25.45], - "score": 0.593, - "area": 1018.0, - "id": 113, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 56, - "bbox": [250.3, 325.7, 24.42, 20.53], - "score": 0.479, - "area": 501.34260000000006, - "id": 114, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 56, - "bbox": [288.99, 290.28, 17.52, 33.3], - "score": 0.767, - "area": 583.4159999999999, - "id": 115, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 56, - "bbox": [150.98, 262.69, 16.43, 13.92], - "score": 0.277, - "area": 228.7056, - "id": 116, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 70, - "bbox": [0, 41.94, 555, 438.06], - "score": 0.539, - "area": 243123.3, - "id": 117, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 6, - "bbox": [214.7, 407.69, 84.78, 66.08], - "score": 0.03, - "area": 5602.2624, - "id": 118, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 16, - "bbox": [25.84, 109.71, 117.18, 60.2], - "score": 0.896, - "area": 7054.236000000001, - "id": 119, - "iscrowd": 0 - }, - { - "image_id": 196, - "category_id": 43, - "bbox": [6, 188.89, 172.64, 92.01], - "score": 0.624, - "area": 15884.606399999999, - "id": 120, - "iscrowd": 0 - }, - { - "image_id": 208, - "category_id": 81, - "bbox": [52.08, 108.94, 587.92, 366.75], - "score": 0.476, - "area": 215619.65999999997, - "id": 121, - "iscrowd": 0 - }, - { - "image_id": 208, - "category_id": 49, - "bbox": [0, 150.36, 299.55, 109.76], - "score": 0.287, - "area": 32878.608, - "id": 122, - "iscrowd": 0 - }, - { - "image_id": 208, - "category_id": 90, - "bbox": [133.81, 170.21, 191.76, 88.89], - "score": 0.495, - "area": 17045.5464, - "id": 123, - "iscrowd": 0 - }, - { - "image_id": 208, - "category_id": 90, - "bbox": [42.35, 122.18, 158.34, 82.29], - "score": 0.126, - "area": 13029.798600000002, - "id": 124, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 63, - "bbox": [333.46, 250.92, 146.54, 296.02], - "score": 0.674, - "area": 43378.7708, - "id": 125, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 63, - "bbox": [0, 278.19, 142.45, 260.43], - "score": 0.434, - "area": 37098.2535, - "id": 126, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 1, - "bbox": [147.7, 6.57, 200.43, 626.17], - "score": 0.857, - "area": 125503.2531, - "id": 127, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 1, - "bbox": [4.44, 263.55, 205.66, 348.05], - "score": 0.25, - "area": 71579.963, - "id": 128, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 1, - "bbox": [307.71, 263.06, 107.15, 257.15], - "score": 0.622, - "area": 27553.622499999998, - "id": 129, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 1, - "bbox": [407.51, 337.98, 72.49, 230.11], - "score": 0.319, - "area": 16680.6739, - "id": 130, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 47, - "bbox": [106.72, 595.29, 50.72, 44.71], - "score": 0.986, - "area": 2267.6912, - "id": 131, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 47, - "bbox": [0, 596.49, 39.42, 43.51], - "score": 0.097, - "area": 1715.1642, - "id": 132, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 75, - "bbox": [116.1, 321.7, 44.12, 22.16], - "score": 0.703, - "area": 977.6991999999999, - "id": 133, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 64, - "bbox": [88.85, 71.11, 109.84, 201.2], - "score": 0.748, - "area": 22099.808, - "id": 134, - "iscrowd": 0 - }, - { - "image_id": 241, - "category_id": 64, - "bbox": [135.45, 350.26, 49.78, 72.27], - "score": 0.521, - "area": 3597.6005999999998, - "id": 135, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 10, - "bbox": [50.27, 199.13, 25.09, 23.76], - "score": 0.923, - "area": 596.1384, - "id": 136, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 10, - "bbox": [227.37, 296.5, 11.3, 11.39], - "score": 0.526, - "area": 128.70700000000002, - "id": 137, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 10, - "bbox": [26.58, 303.1, 5.69, 7.11], - "score": 0.789, - "area": 40.45590000000001, - "id": 138, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 10, - "bbox": [27.93, 276.6, 5.82, 11.76], - "score": 0.96, - "area": 68.4432, - "id": 139, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 10, - "bbox": [89.93, 177.97, 15.03, 14.65], - "score": 0.956, - "area": 220.1895, - "id": 140, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 10, - "bbox": [301.98, 260.82, 7.09, 14.18], - "score": 0.489, - "area": 100.5362, - "id": 141, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 10, - "bbox": [295.6, 261.4, 6.39, 12.2], - "score": 0.511, - "area": 77.958, - "id": 142, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 10, - "bbox": [55.4, 299.17, 4.88, 4.3], - "score": 0.605, - "area": 20.983999999999998, - "id": 143, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 27, - "bbox": [177.16, 362.21, 50.4, 55.49], - "score": 0.683, - "area": 2796.696, - "id": 144, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 27, - "bbox": [208.47, 340.87, 11.3, 19.58], - "score": 0.116, - "area": 221.254, - "id": 145, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 8, - "bbox": [286.17, 277.96, 204.94, 122.97], - "score": 0.912, - "area": 25201.4718, - "id": 146, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 8, - "bbox": [513.96, 323.81, 120.04, 156.19], - "score": 0.881, - "area": 18749.0476, - "id": 147, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 8, - "bbox": [25.24, 301.11, 141.23, 59.84], - "score": 0.563, - "area": 8451.2032, - "id": 148, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [144.57, 345.58, 71.52, 134.42], - "score": 0.7, - "area": 9613.718399999998, - "id": 149, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [213.62, 332.49, 22.28, 60.49], - "score": 0.646, - "area": 1347.7172, - "id": 150, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [265.09, 330.65, 16.37, 72.88], - "score": 0.23, - "area": 1193.0456, - "id": 151, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [568.98, 327.79, 14.75, 42.24], - "score": 0.044, - "area": 623.0400000000001, - "id": 152, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [124.19, 325.45, 10.13, 37.03], - "score": 0.765, - "area": 375.11390000000006, - "id": 153, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [314.72, 334.13, 20.17, 74.8], - "score": 0.055, - "area": 1508.7160000000001, - "id": 154, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [78.65, 326.41, 20.3, 48.17], - "score": 0.278, - "area": 977.8510000000001, - "id": 155, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [138.11, 325.59, 15.55, 38.45], - "score": 0.868, - "area": 597.8975, - "id": 156, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [226.17, 327.33, 15.21, 69.54], - "score": 0.648, - "area": 1057.7034, - "id": 157, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 1, - "bbox": [190.83, 330.6, 20.63, 39.77], - "score": 0.626, - "area": 820.4551, - "id": 158, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 65, - "bbox": [231.74, 326.46, 28.38, 79.72], - "score": 0.412, - "area": 2262.4536, - "id": 159, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 14, - "bbox": [291.83, 337.14, 33.15, 77], - "score": 0.427, - "area": 2552.5499999999997, - "id": 160, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 31, - "bbox": [94.13, 344.24, 5.88, 12.48], - "score": 0.514, - "area": 73.3824, - "id": 161, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 31, - "bbox": [209.91, 341.48, 11.21, 29.05], - "score": 0.455, - "area": 325.6505, - "id": 162, - "iscrowd": 0 - }, - { - "image_id": 257, - "category_id": 31, - "bbox": [472.6, 340.88, 6.14, 4.6], - "score": 0.292, - "area": 28.243999999999996, - "id": 163, - "iscrowd": 0 - }, - { - "image_id": 283, - "category_id": 44, - "bbox": [49.18, 42.58, 82.4, 311.75], - "score": 0.676, - "area": 25688.2, - "id": 164, - "iscrowd": 0 - }, - { - "image_id": 283, - "category_id": 62, - "bbox": [10.23, 142.61, 59.56, 86.35], - "score": 0.691, - "area": 5143.005999999999, - "id": 165, - "iscrowd": 0 - }, - { - "image_id": 283, - "category_id": 62, - "bbox": [149.65, 67.02, 278.35, 289.03], - "score": 0.914, - "area": 80451.5005, - "id": 166, - "iscrowd": 0 - }, - { - "image_id": 283, - "category_id": 70, - "bbox": [144.76, 156.24, 88.26, 214.22], - "score": 0.418, - "area": 18907.0572, - "id": 167, - "iscrowd": 0 - }, - { - "image_id": 285, - "category_id": 23, - "bbox": [0, 68.81, 559, 563.94], - "score": 0.487, - "area": 315242.46, - "id": 168, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 50, - "bbox": [414.57, 349.85, 15.31, 23.55], - "score": 0.071, - "area": 360.5505, - "id": 169, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 50, - "bbox": [398.49, 323.29, 23.1, 25.32], - "score": 0.192, - "area": 584.892, - "id": 170, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 50, - "bbox": [387.89, 341.86, 35.58, 40.04], - "score": 0.055, - "area": 1424.6232, - "id": 171, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 50, - "bbox": [421.95, 114.4, 13.43, 103.27], - "score": 0.643, - "area": 1386.9161, - "id": 172, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 50, - "bbox": [404.99, 367.62, 32.19, 21.11], - "score": 0.256, - "area": 679.5309, - "id": 173, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 50, - "bbox": [394.56, 299.36, 16.54, 32.35], - "score": 0.201, - "area": 535.069, - "id": 174, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 50, - "bbox": [400.36, 355.24, 21.6, 25.14], - "score": 0.937, - "area": 543.024, - "id": 175, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 50, - "bbox": [623.23, 50.49, 4.79, 22.57], - "score": 0.234, - "area": 108.1103, - "id": 176, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 78, - "bbox": [508.6, 312.81, 131.4, 109.39], - "score": 0.895, - "area": 14373.846000000001, - "id": 177, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 48, - "bbox": [607.51, 251.83, 7.67, 40.75], - "score": 0.798, - "area": 312.5525, - "id": 178, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 49, - "bbox": [447.73, 329.05, 17.33, 34.67], - "score": 0.346, - "area": 600.8311, - "id": 179, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 49, - "bbox": [452.37, 320.69, 15.89, 45.17], - "score": 0.014, - "area": 717.7513, - "id": 180, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 49, - "bbox": [460.6, 335.52, 16.28, 33.28], - "score": 0.378, - "area": 541.7984, - "id": 181, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 49, - "bbox": [465.52, 325.24, 13.79, 32.5], - "score": 0.153, - "area": 448.17499999999995, - "id": 182, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 49, - "bbox": [466.28, 335.38, 15.32, 33.19], - "score": 0.438, - "area": 508.4708, - "id": 183, - "iscrowd": 0 - }, - { - "image_id": 294, - "category_id": 85, - "bbox": [0, 0, 47.87, 53.96], - "score": 0.746, - "area": 2583.0652, - "id": 184, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 77, - "bbox": [438.75, 283.15, 35.01, 18.64], - "score": 0.663, - "area": 652.5864, - "id": 185, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 1, - "bbox": [240.91, 90.52, 205.13, 389.34], - "score": 0.19, - "area": 79865.3142, - "id": 186, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 1, - "bbox": [358.87, 58.48, 249.91, 426.04], - "score": 0.191, - "area": 106471.6564, - "id": 187, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 23, - "bbox": [49.6, 104.76, 587.67, 374.74], - "score": 0.08, - "area": 220223.4558, - "id": 188, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 84, - "bbox": [232.65, 220.95, 86.44, 37.42], - "score": 0.749, - "area": 3234.5848, - "id": 189, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 3, - "bbox": [349.46, 77.31, 101.02, 65.61], - "score": 0.078, - "area": 6627.9222, - "id": 190, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 32, - "bbox": [461.06, 177.54, 18.31, 43.81], - "score": 0.406, - "area": 802.1611, - "id": 191, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 32, - "bbox": [317.37, 171.71, 22.5, 57.98], - "score": 0.448, - "area": 1304.55, - "id": 192, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 28, - "bbox": [24.03, 171.36, 119.45, 79.63], - "score": 0.057, - "area": 9511.8035, - "id": 193, - "iscrowd": 0 - }, - { - "image_id": 328, - "category_id": 27, - "bbox": [46.45, 160.85, 85.28, 47.84], - "score": 0.712, - "area": 4079.7952000000005, - "id": 194, - "iscrowd": 0 - }, - { - "image_id": 338, - "category_id": 82, - "bbox": [216.59, 149.74, 95.78, 177.26], - "score": 0.919, - "area": 16977.962799999998, - "id": 195, - "iscrowd": 0 - }, - { - "image_id": 338, - "category_id": 85, - "bbox": [461.17, 88.69, 23.24, 24.61], - "score": 0.333, - "area": 571.9363999999999, - "id": 196, - "iscrowd": 0 - }, - { - "image_id": 338, - "category_id": 28, - "bbox": [325, 142.07, 90.46, 183.7], - "score": 0.397, - "area": 16617.501999999997, - "id": 197, - "iscrowd": 0 - }, - { - "image_id": 338, - "category_id": 1, - "bbox": [436.35, 173.72, 56.91, 153.28], - "score": 0.154, - "area": 8723.164799999999, - "id": 198, - "iscrowd": 0 - }, - { - "image_id": 338, - "category_id": 79, - "bbox": [28.25, 243.96, 138.88, 78.63], - "score": 0.502, - "area": 10920.134399999999, - "id": 199, - "iscrowd": 0 - }, - { - "image_id": 338, - "category_id": 31, - "bbox": [463.15, 231.65, 25.66, 39.34], - "score": 0.787, - "area": 1009.4644000000001, - "id": 200, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 39, - "bbox": [540.09, 121.4, 4, 27.24], - "score": 0.407, - "area": 108.96, - "id": 201, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 40, - "bbox": [567.96, 186.44, 8.91, 6.69], - "score": 0.621, - "area": 59.60790000000001, - "id": 202, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 40, - "bbox": [77.74, 97.16, 6.97, 9.21], - "score": 0.52, - "area": 64.1937, - "id": 203, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 40, - "bbox": [279.48, 25.03, 5.46, 4.72], - "score": 0.069, - "area": 25.771199999999997, - "id": 204, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 40, - "bbox": [557.03, 23.96, 13.89, 9.67], - "score": 0.406, - "area": 134.3163, - "id": 205, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [370.19, 25.03, 17.25, 27.63], - "score": 0.34, - "area": 476.6175, - "id": 206, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [275.1, 18.4, 27.02, 37.16], - "score": 0.437, - "area": 1004.0631999999999, - "id": 207, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [208.34, 22.61, 22.2, 31.01], - "score": 0.752, - "area": 688.422, - "id": 208, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [72.62, 79.12, 18.53, 48.08], - "score": 0.997, - "area": 890.9224, - "id": 209, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [527.83, 136.21, 29.04, 54.59], - "score": 0.888, - "area": 1585.2936, - "id": 210, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [570.61, 160.02, 26.76, 38.03], - "score": 0.294, - "area": 1017.6828, - "id": 211, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [592.37, 154.71, 27.18, 46.6], - "score": 0.344, - "area": 1266.588, - "id": 212, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [266.33, 6.43, 17.69, 27.34], - "score": 0.59, - "area": 483.6446, - "id": 213, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [567.15, 29.27, 11.87, 23.74], - "score": 0.057, - "area": 281.7938, - "id": 214, - "iscrowd": 0 - }, - { - "image_id": 357, - "category_id": 1, - "bbox": [580.99, 32.19, 6.72, 23.92], - "score": 0.804, - "area": 160.7424, - "id": 215, - "iscrowd": 0 - }, - { - "image_id": 359, - "category_id": 36, - "bbox": [155.87, 100.44, 65.37, 34.25], - "score": 0.822, - "area": 2238.9225, - "id": 216, - "iscrowd": 0 - }, - { - "image_id": 359, - "category_id": 10, - "bbox": [245.76, 99.94, 51, 22.4], - "score": 0.773, - "area": 1142.3999999999999, - "id": 217, - "iscrowd": 0 - }, - { - "image_id": 359, - "category_id": 10, - "bbox": [278.48, 293.48, 4.46, 4.11], - "score": 0.324, - "area": 18.3306, - "id": 218, - "iscrowd": 0 - }, - { - "image_id": 359, - "category_id": 46, - "bbox": [2, 290.11, 123.72, 37.58], - "score": 0.914, - "area": 4649.397599999999, - "id": 219, - "iscrowd": 0 - }, - { - "image_id": 360, - "category_id": 18, - "bbox": [258.02, 138.76, 52.1, 36.95], - "score": 0.054, - "area": 1925.0950000000003, - "id": 220, - "iscrowd": 0 - }, - { - "image_id": 360, - "category_id": 36, - "bbox": [248.45, 155.01, 52.19, 41.49], - "score": 0.428, - "area": 2165.3631, - "id": 221, - "iscrowd": 0 - }, - { - "image_id": 387, - "category_id": 73, - "bbox": [176.38, 50.29, 463.62, 312.38], - "score": 0.328, - "area": 144825.6156, - "id": 222, - "iscrowd": 0 - }, - { - "image_id": 387, - "category_id": 77, - "bbox": [355.5, 111.88, 210, 93.75], - "score": 0.064, - "area": 19687.5, - "id": 223, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 77, - "bbox": [293.15, 289.29, 19.84, 22.97], - "score": 0.037, - "area": 455.72479999999996, - "id": 224, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 77, - "bbox": [618.05, 305.74, 15.83, 11.59], - "score": 0.297, - "area": 183.4697, - "id": 225, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [177.61, 138.16, 432.72, 435.32], - "score": 0.607, - "area": 188371.6704, - "id": 226, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [0, 207.32, 72.81, 278.92], - "score": 0.043, - "area": 20308.165200000003, - "id": 227, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [81.02, 270.92, 82.55, 204.66], - "score": 0.465, - "area": 16894.683, - "id": 228, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [111.58, 232.54, 38.86, 46.9], - "score": 0.252, - "area": 1822.5339999999999, - "id": 229, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [132.76, 239.82, 82.12, 109.48], - "score": 0.961, - "area": 8990.4976, - "id": 230, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [413.44, 194.77, 32.94, 105.97], - "score": 0.58, - "area": 3490.6517999999996, - "id": 231, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [420.93, 206.74, 43.9, 113.15], - "score": 0.632, - "area": 4967.285, - "id": 232, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [153.8, 332.19, 60.39, 66.97], - "score": 0.76, - "area": 4044.3183, - "id": 233, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [58.7, 214.92, 48.39, 126.94], - "score": 0.803, - "area": 6142.6266, - "id": 234, - "iscrowd": 0 - }, - { - "image_id": 395, - "category_id": 1, - "bbox": [451.16, 253.08, 70.79, 89.66], - "score": 0.239, - "area": 6347.031400000001, - "id": 235, - "iscrowd": 0 - }, - { - "image_id": 397, - "category_id": 62, - "bbox": [469.94, 0, 143.48, 98.06], - "score": 0.935, - "area": 14069.648799999999, - "id": 236, - "iscrowd": 0 - }, - { - "image_id": 397, - "category_id": 47, - "bbox": [7, 294.57, 36.75, 71.88], - "score": 0.157, - "area": 2641.5899999999997, - "id": 237, - "iscrowd": 0 - }, - { - "image_id": 397, - "category_id": 48, - "bbox": [596.24, 404.53, 43.76, 52.1], - "score": 0.63, - "area": 2279.896, - "id": 238, - "iscrowd": 0 - }, - { - "image_id": 397, - "category_id": 54, - "bbox": [85.25, 349.09, 503.69, 130.91], - "score": 0.657, - "area": 65938.0579, - "id": 239, - "iscrowd": 0 - }, - { - "image_id": 397, - "category_id": 1, - "bbox": [0, 0, 205.4, 205.33], - "score": 0.089, - "area": 42174.78200000001, - "id": 240, - "iscrowd": 0 - }, - { - "image_id": 400, - "category_id": 18, - "bbox": [430.5, 148.97, 97.62, 78.77], - "score": 0.534, - "area": 7689.5274, - "id": 241, - "iscrowd": 0 - }, - { - "image_id": 400, - "category_id": 9, - "bbox": [0, 64.72, 616, 477.48], - "score": 0.136, - "area": 294127.68, - "id": 242, - "iscrowd": 0 - }, - { - "image_id": 415, - "category_id": 10, - "bbox": [62.13, 399.09, 41.97, 44.41], - "score": 0.045, - "area": 1863.8876999999998, - "id": 243, - "iscrowd": 0 - }, - { - "image_id": 415, - "category_id": 1, - "bbox": [1, 257.44, 122.96, 301.62], - "score": 0.373, - "area": 37087.1952, - "id": 244, - "iscrowd": 0 - }, - { - "image_id": 428, - "category_id": 32, - "bbox": [367.56, 200.49, 94.65, 154.52], - "score": 0.097, - "area": 14625.318000000001, - "id": 245, - "iscrowd": 0 - }, - { - "image_id": 428, - "category_id": 1, - "bbox": [218.94, 32.65, 355.92, 323.27], - "score": 0.912, - "area": 115058.25839999999, - "id": 246, - "iscrowd": 0 - }, - { - "image_id": 428, - "category_id": 61, - "bbox": [399.41, 234.73, 175.13, 121.62], - "score": 0.374, - "area": 21299.3106, - "id": 247, - "iscrowd": 0 - }, - { - "image_id": 459, - "category_id": 32, - "bbox": [170.57, 278.99, 61.63, 239.81], - "score": 0.97, - "area": 14779.490300000001, - "id": 248, - "iscrowd": 0 - }, - { - "image_id": 459, - "category_id": 1, - "bbox": [0, 84.85, 457.88, 547.96], - "score": 0.16, - "area": 250899.9248, - "id": 249, - "iscrowd": 0 - }, - { - "image_id": 472, - "category_id": 5, - "bbox": [390.86, 56.68, 87.21, 31.46], - "score": 0.656, - "area": 2743.6266, - "id": 250, - "iscrowd": 0 - }, - { - "image_id": 474, - "category_id": 1, - "bbox": [23.37, 42.7, 309.63, 429.21], - "score": 0.163, - "area": 132896.2923, - "id": 251, - "iscrowd": 0 - }, - { - "image_id": 474, - "category_id": 40, - "bbox": [22.86, 234.5, 88.41, 71.31], - "score": 0.962, - "area": 6304.5171, - "id": 252, - "iscrowd": 0 - }, - { - "image_id": 486, - "category_id": 44, - "bbox": [621.9, 233.27, 16.02, 38.17], - "score": 0.286, - "area": 611.4834, - "id": 253, - "iscrowd": 0 - }, - { - "image_id": 486, - "category_id": 44, - "bbox": [496.82, 278.46, 23.05, 25.31], - "score": 0.004, - "area": 583.3955, - "id": 254, - "iscrowd": 0 - }, - { - "image_id": 486, - "category_id": 44, - "bbox": [82.06, 219.17, 5.12, 29.08], - "score": 0.14, - "area": 148.8896, - "id": 255, - "iscrowd": 0 - }, - { - "image_id": 486, - "category_id": 50, - "bbox": [223.65, 192.28, 6.92, 51.96], - "score": 0.24, - "area": 359.5632, - "id": 256, - "iscrowd": 0 - }, - { - "image_id": 486, - "category_id": 49, - "bbox": [234.42, 200.87, 3.9, 16.53], - "score": 0.182, - "area": 64.467, - "id": 257, - "iscrowd": 0 - }, - { - "image_id": 486, - "category_id": 51, - "bbox": [265.43, 299.84, 131.39, 88.22], - "score": 0.915, - "area": 11591.225799999998, - "id": 258, - "iscrowd": 0 - }, - { - "image_id": 488, - "category_id": 1, - "bbox": [183.76, 210.3, 104.63, 131.03], - "score": 0.596, - "area": 13709.668899999999, - "id": 259, - "iscrowd": 0 - }, - { - "image_id": 488, - "category_id": 1, - "bbox": [553.32, 216.45, 44.13, 49.26], - "score": 0.661, - "area": 2173.8438, - "id": 260, - "iscrowd": 0 - }, - { - "image_id": 488, - "category_id": 1, - "bbox": [37.67, 208.02, 91.24, 152.36], - "score": 0.566, - "area": 13901.3264, - "id": 261, - "iscrowd": 0 - }, - { - "image_id": 488, - "category_id": 39, - "bbox": [211.91, 225.8, 63.45, 45.93], - "score": 0.379, - "area": 2914.2585, - "id": 262, - "iscrowd": 0 - }, - { - "image_id": 488, - "category_id": 40, - "bbox": [562.51, 253.32, 10.5, 7.99], - "score": 0.984, - "area": 83.895, - "id": 263, - "iscrowd": 0 - }, - { - "image_id": 502, - "category_id": 23, - "bbox": [190.96, 88, 273.13, 257.74], - "score": 0.205, - "area": 70396.52620000001, - "id": 264, - "iscrowd": 0 - }, - { - "image_id": 520, - "category_id": 16, - "bbox": [297.04, 140.73, 32.01, 20.26], - "score": 0.519, - "area": 648.5226, - "id": 265, - "iscrowd": 0 - }, - { - "image_id": 520, - "category_id": 16, - "bbox": [230.03, 131.19, 34.17, 13.96], - "score": 0.373, - "area": 477.01320000000004, - "id": 266, - "iscrowd": 0 - }, - { - "image_id": 520, - "category_id": 16, - "bbox": [0, 187.56, 22.33, 15.48], - "score": 0.564, - "area": 345.66839999999996, - "id": 267, - "iscrowd": 0 - }, - { - "image_id": 520, - "category_id": 16, - "bbox": [444.38, 174.06, 21.97, 16.09], - "score": 0.608, - "area": 353.4973, - "id": 268, - "iscrowd": 0 - }, - { - "image_id": 520, - "category_id": 16, - "bbox": [92.33, 194.51, 35.82, 22.84], - "score": 0.937, - "area": 818.1288, - "id": 269, - "iscrowd": 0 - }, - { - "image_id": 520, - "category_id": 1, - "bbox": [244.02, 307.84, 15.21, 34.27], - "score": 0.371, - "area": 521.2467, - "id": 270, - "iscrowd": 0 - }, - { - "image_id": 520, - "category_id": 1, - "bbox": [508.05, 323.61, 8.1, 13.7], - "score": 0.446, - "area": 110.96999999999998, - "id": 271, - "iscrowd": 0 - }, - { - "image_id": 520, - "category_id": 48, - "bbox": [451.26, 217.6, 18.56, 17.79], - "score": 0.874, - "area": 330.1824, - "id": 272, - "iscrowd": 0 - }, - { - "image_id": 520, - "category_id": 44, - "bbox": [156.5, 184.44, 25.5, 11.87], - "score": 0.507, - "area": 302.685, - "id": 273, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 62, - "bbox": [285.41, 138.98, 156.33, 195.53], - "score": 0.82, - "area": 30567.204900000004, - "id": 274, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 62, - "bbox": [3.68, 141.91, 82.48, 194.09], - "score": 0.481, - "area": 16008.543200000002, - "id": 275, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 1, - "bbox": [286.86, 133.95, 155.14, 198.27], - "score": 0.838, - "area": 30759.607799999998, - "id": 276, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 1, - "bbox": [185.41, 79.52, 108.42, 255.62], - "score": 0.584, - "area": 27714.3204, - "id": 277, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 1, - "bbox": [89.34, 68.58, 98.16, 263.52], - "score": 0.769, - "area": 25867.123199999998, - "id": 278, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 31, - "bbox": [23.1, 258.04, 44.05, 77.96], - "score": 0.176, - "area": 3434.1379999999995, - "id": 279, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 31, - "bbox": [193.07, 185.98, 69.48, 63.22], - "score": 0.071, - "area": 4392.5256, - "id": 280, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 31, - "bbox": [350.78, 235.32, 45.57, 12.3], - "score": 0.619, - "area": 560.5110000000001, - "id": 281, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 77, - "bbox": [203.43, 106.55, 13.68, 21.14], - "score": 0.324, - "area": 289.1952, - "id": 282, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 77, - "bbox": [101.62, 87.68, 28.93, 39.35], - "score": 0.44, - "area": 1138.3955, - "id": 283, - "iscrowd": 0 - }, - { - "image_id": 536, - "category_id": 57, - "bbox": [361.35, 224.65, 8.04, 12.47], - "score": 0.124, - "area": 100.2588, - "id": 284, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 37, - "bbox": [596.57, 293.78, 13.81, 7.44], - "score": 0.954, - "area": 102.74640000000001, - "id": 285, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [273.32, 243.73, 113.23, 161.2], - "score": 0.921, - "area": 18252.676, - "id": 286, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [114.47, 301.3, 129.54, 111.31], - "score": 0.381, - "area": 14419.097399999999, - "id": 287, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [36.53, 269.29, 101.67, 142.79], - "score": 0.186, - "area": 14517.459299999999, - "id": 288, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [75.23, 191.66, 28.84, 44.78], - "score": 0.785, - "area": 1291.4552, - "id": 289, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [248.29, 185.44, 29.17, 50.01], - "score": 0.739, - "area": 1458.7917, - "id": 290, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [191.14, 209.98, 30.04, 27.53], - "score": 0.17, - "area": 827.0012, - "id": 291, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [144.91, 193.7, 31.15, 41.98], - "score": 0.76, - "area": 1307.677, - "id": 292, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [3.07, 221.17, 33.48, 77.9], - "score": 0.274, - "area": 2608.092, - "id": 293, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [546.81, 211.75, 21.74, 21], - "score": 0.23, - "area": 456.53999999999996, - "id": 294, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [19.46, 237.09, 42.72, 59.44], - "score": 0.439, - "area": 2539.2767999999996, - "id": 295, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 1, - "bbox": [17.77, 194.87, 25.64, 45.63], - "score": 0.913, - "area": 1169.9532000000002, - "id": 296, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 38, - "bbox": [224.14, 300.79, 52.74, 7.6], - "score": 0.941, - "area": 400.824, - "id": 297, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 40, - "bbox": [217.39, 324.92, 20.27, 30.58], - "score": 0.466, - "area": 619.8566, - "id": 298, - "iscrowd": 0 - }, - { - "image_id": 544, - "category_id": 54, - "bbox": [514.31, 203.13, 16.39, 29.72], - "score": 0.066, - "area": 487.1108, - "id": 299, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 1, - "bbox": [225.51, 335.3, 147.48, 279.2], - "score": 0.292, - "area": 41176.416, - "id": 300, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 1, - "bbox": [433.78, 203.68, 86.22, 93.9], - "score": 0.17, - "area": 8096.058, - "id": 301, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 43, - "bbox": [282.89, 432.81, 105.48, 40.82], - "score": 0.658, - "area": 4305.6936000000005, - "id": 302, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [58.9, 234.39, 43.46, 22.27], - "score": 0.842, - "area": 967.8542, - "id": 303, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [103.71, 232, 45.58, 25.44], - "score": 0.721, - "area": 1159.5552, - "id": 304, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [197.82, 230.33, 47.5, 26.02], - "score": 0.807, - "area": 1235.95, - "id": 305, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [254.16, 307.81, 56.56, 28.28], - "score": 0.666, - "area": 1599.5168, - "id": 306, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [140.73, 258.53, 50.13, 30.25], - "score": 0.051, - "area": 1516.4325000000001, - "id": 307, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [84.79, 256.37, 50.46, 25.81], - "score": 0.785, - "area": 1302.3726, - "id": 308, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [47.44, 260.53, 46.92, 23.68], - "score": 0.136, - "area": 1111.0656000000001, - "id": 309, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [18.52, 235.62, 47.74, 22.44], - "score": 0.776, - "area": 1071.2856000000002, - "id": 310, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [397.26, 304.21, 61.51, 46.54], - "score": 0.75, - "area": 2862.6754, - "id": 311, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [331.82, 279.27, 51.53, 21.61], - "score": 0.44, - "area": 1113.5633, - "id": 312, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [307.39, 307.56, 51.38, 27.27], - "score": 0.684, - "area": 1401.1326000000001, - "id": 313, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [229.06, 228.6, 66.46, 77.41], - "score": 0.565, - "area": 5144.668599999999, - "id": 314, - "iscrowd": 0 - }, - { - "image_id": 564, - "category_id": 62, - "bbox": [149.8, 232.51, 48.71, 41.53], - "score": 0.493, - "area": 2022.9263, - "id": 315, - "iscrowd": 0 - }, - { - "image_id": 569, - "category_id": 1, - "bbox": [100.1, 269.14, 80.18, 145.38], - "score": 0.253, - "area": 11656.5684, - "id": 316, - "iscrowd": 0 - }, - { - "image_id": 569, - "category_id": 38, - "bbox": [168.12, 216.94, 16.66, 32.58], - "score": 0.839, - "area": 542.7828, - "id": 317, - "iscrowd": 0 - }, - { - "image_id": 569, - "category_id": 38, - "bbox": [142.5, 229.28, 22.99, 23.7], - "score": 0.761, - "area": 544.8629999999999, - "id": 318, - "iscrowd": 0 - }, - { - "image_id": 569, - "category_id": 38, - "bbox": [134.91, 239.77, 25.66, 23.29], - "score": 0.369, - "area": 597.6214, - "id": 319, - "iscrowd": 0 - }, - { - "image_id": 589, - "category_id": 34, - "bbox": [465.86, 229.41, 18.75, 6.3], - "score": 0.729, - "area": 118.125, - "id": 320, - "iscrowd": 0 - }, - { - "image_id": 589, - "category_id": 1, - "bbox": [359.91, 184.57, 145.43, 184.29], - "score": 0.882, - "area": 26801.2947, - "id": 321, - "iscrowd": 0 - }, - { - "image_id": 590, - "category_id": 81, - "bbox": [86.87, 295.01, 85.2, 11.57], - "score": 0.151, - "area": 985.764, - "id": 322, - "iscrowd": 0 - }, - { - "image_id": 590, - "category_id": 51, - "bbox": [80, 292.99, 92.87, 27.6], - "score": 0.79, - "area": 2563.2120000000004, - "id": 323, - "iscrowd": 0 - }, - { - "image_id": 599, - "category_id": 64, - "bbox": [545.37, 5.48, 94.63, 237.26], - "score": 0.751, - "area": 22451.9138, - "id": 324, - "iscrowd": 0 - }, - { - "image_id": 599, - "category_id": 17, - "bbox": [18.92, 37.13, 412.5, 365.75], - "score": 0.952, - "area": 150871.875, - "id": 325, - "iscrowd": 0 - }, - { - "image_id": 599, - "category_id": 63, - "bbox": [56, 1.83, 584, 400.9], - "score": 0.314, - "area": 234125.59999999998, - "id": 326, - "iscrowd": 0 - }, - { - "image_id": 599, - "category_id": 75, - "bbox": [481.01, 198.19, 158.99, 87.8], - "score": 0.438, - "area": 13959.322, - "id": 327, - "iscrowd": 0 - }, - { - "image_id": 599, - "category_id": 75, - "bbox": [382.58, 167.29, 198, 60.5], - "score": 0.492, - "area": 11979.0, - "id": 328, - "iscrowd": 0 - }, - { - "image_id": 623, - "category_id": 15, - "bbox": [283.29, 72.62, 91.71, 238.38], - "score": 0.823, - "area": 21861.8298, - "id": 329, - "iscrowd": 0 - }, - { - "image_id": 623, - "category_id": 88, - "bbox": [29.12, 31.46, 345.88, 462.92], - "score": 0.872, - "area": 160114.7696, - "id": 330, - "iscrowd": 0 - }, - { - "image_id": 623, - "category_id": 62, - "bbox": [277.62, 62.92, 97.38, 239.84], - "score": 0.872, - "area": 23355.6192, - "id": 331, - "iscrowd": 0 - }, - { - "image_id": 623, - "category_id": 1, - "bbox": [144.34, 1.3, 211.69, 490.91], - "score": 0.735, - "area": 103920.73790000001, - "id": 332, - "iscrowd": 0 - }, - { - "image_id": 626, - "category_id": 85, - "bbox": [314.52, 124.36, 41.32, 42.47], - "score": 0.378, - "area": 1754.8604, - "id": 333, - "iscrowd": 0 - }, - { - "image_id": 626, - "category_id": 73, - "bbox": [398.15, 129.71, 20.88, 46.91], - "score": 0.701, - "area": 979.4807999999999, - "id": 334, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 65, - "bbox": [0, 266.85, 376.5, 208.25], - "score": 0.144, - "area": 78406.125, - "id": 335, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 64, - "bbox": [187.36, 136.56, 60.78, 92.39], - "score": 0.344, - "area": 5615.4642, - "id": 336, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 84, - "bbox": [455.98, 192.5, 8.57, 35.59], - "score": 0.088, - "area": 305.00630000000007, - "id": 337, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 84, - "bbox": [453.31, 252.97, 8.02, 33.93], - "score": 0.589, - "area": 272.11859999999996, - "id": 338, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 84, - "bbox": [444.76, 297.63, 5.32, 39.68], - "score": 0.902, - "area": 211.0976, - "id": 339, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 84, - "bbox": [504.95, 191.02, 12.15, 36.78], - "score": 0.405, - "area": 446.877, - "id": 340, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 84, - "bbox": [487.51, 199.33, 7.48, 28.05], - "score": 0.032, - "area": 209.81400000000002, - "id": 341, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 84, - "bbox": [527.02, 248.57, 24.4, 40.43], - "score": 0.026, - "area": 986.492, - "id": 342, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 84, - "bbox": [524.32, 97.38, 2.8, 37.77], - "score": 0.084, - "area": 105.756, - "id": 343, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 84, - "bbox": [454.66, 245.27, 48.55, 12.14], - "score": 0.704, - "area": 589.397, - "id": 344, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 84, - "bbox": [461.77, 253.68, 8.24, 33.31], - "score": 0.451, - "area": 274.4744, - "id": 345, - "iscrowd": 0 - }, - { - "image_id": 632, - "category_id": 62, - "bbox": [234.82, 230.45, 104.72, 87.69], - "score": 0.051, - "area": 9182.8968, - "id": 346, - "iscrowd": 0 - }, - { - "image_id": 636, - "category_id": 70, - "bbox": [122.72, 89.37, 265.23, 536.22], - "score": 0.283, - "area": 142221.6306, - "id": 347, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 2, - "bbox": [563.25, 265.02, 17.49, 21.82], - "score": 0.031, - "area": 381.6318, - "id": 348, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 6, - "bbox": [100.35, 100.03, 417.42, 228.9], - "score": 0.329, - "area": 95547.43800000001, - "id": 349, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 1, - "bbox": [580.29, 233.52, 11.19, 13.08], - "score": 0.993, - "area": 146.3652, - "id": 350, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 1, - "bbox": [569.24, 240.92, 17.46, 34.38], - "score": 0.18, - "area": 600.2748, - "id": 351, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 1, - "bbox": [595.87, 232.88, 9.74, 13.22], - "score": 0.969, - "area": 128.7628, - "id": 352, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 1, - "bbox": [556.69, 231.63, 7.03, 22.85], - "score": 0.25, - "area": 160.6355, - "id": 353, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 1, - "bbox": [463.68, 225.62, 5.04, 26.32], - "score": 0.583, - "area": 132.6528, - "id": 354, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 1, - "bbox": [606.61, 231.89, 7.13, 14.45], - "score": 0.591, - "area": 103.0285, - "id": 355, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 1, - "bbox": [25.91, 207.55, 29.39, 23], - "score": 0.355, - "area": 675.97, - "id": 356, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 1, - "bbox": [3.82, 209.9, 20.4, 22.96], - "score": 0.751, - "area": 468.38399999999996, - "id": 357, - "iscrowd": 0 - }, - { - "image_id": 641, - "category_id": 1, - "bbox": [0, 220.97, 6.32, 18.94], - "score": 0.862, - "area": 119.70080000000002, - "id": 358, - "iscrowd": 0 - }, - { - "image_id": 661, - "category_id": 77, - "bbox": [90.11, 4.42, 111.24, 44.67], - "score": 0.843, - "area": 4969.0908, - "id": 359, - "iscrowd": 0 - }, - { - "image_id": 661, - "category_id": 5, - "bbox": [17.15, 45.37, 337.07, 289.04], - "score": 0.734, - "area": 97426.71280000001, - "id": 360, - "iscrowd": 0 - }, - { - "image_id": 675, - "category_id": 17, - "bbox": [325.71, 81.3, 314.29, 391.6], - "score": 0.248, - "area": 123075.96400000002, - "id": 361, - "iscrowd": 0 - }, - { - "image_id": 675, - "category_id": 77, - "bbox": [99.84, 232.35, 34.79, 25.58], - "score": 0.102, - "area": 889.9282, - "id": 362, - "iscrowd": 0 - }, - { - "image_id": 675, - "category_id": 47, - "bbox": [243.34, 209.84, 69.65, 98.5], - "score": 0.616, - "area": 6860.525000000001, - "id": 363, - "iscrowd": 0 - }, - { - "image_id": 675, - "category_id": 47, - "bbox": [138.74, 231.28, 56.88, 73.37], - "score": 0.789, - "area": 4173.2856, - "id": 364, - "iscrowd": 0 - }, - { - "image_id": 675, - "category_id": 60, - "bbox": [169.37, 179.04, 46.55, 90.39], - "score": 0.817, - "area": 4207.6545, - "id": 365, - "iscrowd": 0 - }, - { - "image_id": 692, - "category_id": 90, - "bbox": [315.39, 263.78, 37.77, 33.79], - "score": 0.255, - "area": 1276.2483, - "id": 366, - "iscrowd": 0 - }, - { - "image_id": 692, - "category_id": 90, - "bbox": [383, 338.04, 22.31, 29.38], - "score": 0.757, - "area": 655.4677999999999, - "id": 367, - "iscrowd": 0 - }, - { - "image_id": 692, - "category_id": 1, - "bbox": [288.42, 30.26, 351.58, 428.34], - "score": 0.608, - "area": 150595.77719999998, - "id": 368, - "iscrowd": 0 - }, - { - "image_id": 692, - "category_id": 1, - "bbox": [188.87, 129.27, 307.8, 343.32], - "score": 0.073, - "area": 105673.89600000001, - "id": 369, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 41, - "bbox": [429.64, 193.67, 125.51, 198.6], - "score": 0.884, - "area": 24926.286, - "id": 370, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 41, - "bbox": [0, 190.22, 212.1, 137.01], - "score": 0.577, - "area": 29059.820999999996, - "id": 371, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 41, - "bbox": [14.96, 220.25, 236.6, 190.44], - "score": 0.815, - "area": 45058.104, - "id": 372, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 41, - "bbox": [163.19, 19.83, 125.4, 153.27], - "score": 0.668, - "area": 19220.058, - "id": 373, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 41, - "bbox": [211.24, 48.93, 91.56, 89.91], - "score": 0.278, - "area": 8232.159599999999, - "id": 374, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 41, - "bbox": [236.35, 0, 88.94, 77.36], - "score": 0.93, - "area": 6880.3984, - "id": 375, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 41, - "bbox": [71.7, 92.27, 192.32, 124.51], - "score": 0.532, - "area": 23945.7632, - "id": 376, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 41, - "bbox": [223.46, 36.1, 71.24, 78.42], - "score": 0.152, - "area": 5586.6408, - "id": 377, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 80, - "bbox": [0, 122.61, 190.86, 142.72], - "score": 0.404, - "area": 27239.539200000003, - "id": 378, - "iscrowd": 0 - }, - { - "image_id": 693, - "category_id": 42, - "bbox": [213.87, 0, 82.98, 64.55], - "score": 0.435, - "area": 5356.359, - "id": 379, - "iscrowd": 0 - } -] diff --git a/tests/ignite/metrics/gt.json b/tests/ignite/metrics/gt.json deleted file mode 100644 index 3cb4e0bfa9c4..000000000000 --- a/tests/ignite/metrics/gt.json +++ /dev/null @@ -1,4928 +0,0 @@ -{ - "annotations": [ - { - "area": 53481.5118, - "iscrowd": 0, - "image_id": 42, - "bbox": [214.15, 41.29, 348.26, 243.78], - "category_id": 18, - "id": 1817255, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 172022.43864999997, - "iscrowd": 0, - "image_id": 73, - "bbox": [13.0, 22.75, 535.98, 609.67], - "category_id": 4, - "id": 246920, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 52666.3402, - "iscrowd": 0, - "image_id": 73, - "bbox": [1.66, 3.32, 268.6, 271.91], - "category_id": 4, - "id": 2047387, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 18234.62355, - "iscrowd": 0, - "image_id": 74, - "bbox": [61.87, 276.25, 296.42, 103.18], - "category_id": 18, - "id": 1774, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 30078.494700000003, - "iscrowd": 0, - "image_id": 74, - "bbox": [2.75, 3.66, 159.4, 312.4], - "category_id": 2, - "id": 128367, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 638.7158, - "iscrowd": 0, - "image_id": 74, - "bbox": [295.55, 93.96, 18.42, 58.83], - "category_id": 1, - "id": 195946, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 180.8609499999999, - "iscrowd": 0, - "image_id": 74, - "bbox": [326.94, 97.05, 13.55, 25.93], - "category_id": 1, - "id": 253933, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 562.1028500000001, - "iscrowd": 0, - "image_id": 74, - "bbox": [356.62, 95.47, 15.71, 52.08], - "category_id": 1, - "id": 1225755, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 758.6169499999999, - "iscrowd": 0, - "image_id": 74, - "bbox": [462.08, 105.09, 31.66, 41.9], - "category_id": 1, - "id": 1733076, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 319.6597999999997, - "iscrowd": 0, - "image_id": 74, - "bbox": [277.11, 103.84, 15.33, 46.88], - "category_id": 1, - "id": 1747768, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 131.1144, - "iscrowd": 0, - "image_id": 74, - "bbox": [282.65, 103.41, 11.69, 24.25], - "category_id": 1, - "id": 1751664, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 179829.76725000003, - "iscrowd": 0, - "image_id": 133, - "bbox": [13.99, 2.87, 626.01, 418.65], - "category_id": 65, - "id": 317921, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 683.9160000000005, - "iscrowd": 0, - "image_id": 133, - "bbox": [525.34, 20.93, 47.95, 28.72], - "category_id": 88, - "id": 1673328, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 8703.873999999998, - "iscrowd": 0, - "image_id": 136, - "bbox": [0.84, 114.71, 53.54, 257.7], - "category_id": 1, - "id": 500146, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 8458.8782, - "iscrowd": 0, - "image_id": 136, - "bbox": [0.0, 61.35, 68.92, 312.65], - "category_id": 1, - "id": 502933, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 22023.460950000008, - "iscrowd": 0, - "image_id": 136, - "bbox": [82.0, 116.38, 185.74, 252.68], - "category_id": 25, - "id": 596940, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 8624.952849999998, - "iscrowd": 0, - "image_id": 136, - "bbox": [316.72, 131.83, 128.04, 164.25], - "category_id": 25, - "id": 597046, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 531.8071000000001, - "iscrowd": 0, - "image_id": 139, - "bbox": [236.98, 142.51, 24.7, 69.5], - "category_id": 64, - "id": 26547, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 13244.657700000002, - "iscrowd": 0, - "image_id": 139, - "bbox": [7.03, 167.76, 149.32, 94.87], - "category_id": 72, - "id": 34646, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 5833.117949999999, - "iscrowd": 0, - "image_id": 139, - "bbox": [557.21, 209.19, 81.35, 78.73], - "category_id": 72, - "id": 35802, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2245.34355, - "iscrowd": 0, - "image_id": 139, - "bbox": [358.98, 218.05, 56.0, 102.83], - "category_id": 62, - "id": 103487, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1833.7840000000017, - "iscrowd": 0, - "image_id": 139, - "bbox": [290.69, 218.0, 61.83, 98.48], - "category_id": 62, - "id": 104368, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1289.3734500000014, - "iscrowd": 0, - "image_id": 139, - "bbox": [413.2, 223.01, 30.17, 81.36], - "category_id": 62, - "id": 105328, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 210.14820000000023, - "iscrowd": 0, - "image_id": 139, - "bbox": [317.4, 219.24, 21.58, 11.59], - "category_id": 62, - "id": 110334, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 90.98724999999988, - "iscrowd": 0, - "image_id": 139, - "bbox": [412.25, 219.02, 9.63, 12.52], - "category_id": 62, - "id": 1941808, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2913.1103999999987, - "iscrowd": 0, - "image_id": 139, - "bbox": [412.8, 157.61, 53.05, 138.01], - "category_id": 1, - "id": 230831, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 435.1449499999997, - "iscrowd": 0, - "image_id": 139, - "bbox": [384.43, 172.21, 15.12, 35.74], - "category_id": 1, - "id": 233201, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 217.71919999999997, - "iscrowd": 0, - "image_id": 139, - "bbox": [512.22, 205.75, 14.74, 15.97], - "category_id": 78, - "id": 1640282, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2089.9747999999986, - "iscrowd": 0, - "image_id": 139, - "bbox": [493.1, 174.34, 20.29, 108.31], - "category_id": 82, - "id": 1647285, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 338.60884999999973, - "iscrowd": 0, - "image_id": 139, - "bbox": [604.77, 305.89, 14.34, 45.71], - "category_id": 84, - "id": 1648594, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 322.5935999999982, - "iscrowd": 0, - "image_id": 139, - "bbox": [613.24, 308.24, 12.88, 46.44], - "category_id": 84, - "id": 1654394, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 225.6642000000005, - "iscrowd": 0, - "image_id": 139, - "bbox": [447.77, 121.12, 13.97, 21.88], - "category_id": 85, - "id": 1666628, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2171.6188500000007, - "iscrowd": 0, - "image_id": 139, - "bbox": [549.06, 309.43, 36.68, 89.67], - "category_id": 86, - "id": 1667817, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 178.18510000000012, - "iscrowd": 0, - "image_id": 139, - "bbox": [350.76, 208.84, 11.37, 22.55], - "category_id": 86, - "id": 1669970, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 189.56010000000012, - "iscrowd": 0, - "image_id": 139, - "bbox": [241.24, 194.99, 14.22, 17.63], - "category_id": 86, - "id": 2146194, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 120.23200000000004, - "iscrowd": 0, - "image_id": 139, - "bbox": [336.79, 199.5, 9.73, 16.73], - "category_id": 86, - "id": 2146548, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2362.4897499999984, - "iscrowd": 0, - "image_id": 139, - "bbox": [321.21, 231.22, 125.56, 88.93], - "category_id": 67, - "id": 2204286, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 14943.291250000002, - "iscrowd": 0, - "image_id": 143, - "bbox": [426.88, 192.47, 131.18, 176.35], - "category_id": 16, - "id": 40595, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 8521.454350000002, - "iscrowd": 0, - "image_id": 143, - "bbox": [128.19, 104.46, 95.77, 167.42], - "category_id": 16, - "id": 41002, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 10935.490899999999, - "iscrowd": 0, - "image_id": 143, - "bbox": [265.59, 126.88, 100.0, 162.77], - "category_id": 16, - "id": 41866, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 7312.689550000001, - "iscrowd": 0, - "image_id": 143, - "bbox": [243.53, 271.01, 96.99, 120.69], - "category_id": 16, - "id": 42434, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 8239.6429, - "iscrowd": 0, - "image_id": 143, - "bbox": [114.08, 319.22, 92.28, 161.25], - "category_id": 16, - "id": 42884, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 9398.8724, - "iscrowd": 0, - "image_id": 143, - "bbox": [35.96, 20.22, 95.5, 133.71], - "category_id": 16, - "id": 271928, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 7766.638000000003, - "iscrowd": 0, - "image_id": 143, - "bbox": [120.18, 237.43, 114.24, 134.32], - "category_id": 16, - "id": 1400279, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 7066.659650000002, - "iscrowd": 0, - "image_id": 143, - "bbox": [468.71, 320.79, 94.24, 154.59], - "category_id": 16, - "id": 1815195, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 139.78670000000042, - "iscrowd": 0, - "image_id": 164, - "bbox": [389.84, 183.92, 8.02, 26.87], - "category_id": 44, - "id": 86621, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 122.74640000000001, - "iscrowd": 0, - "image_id": 164, - "bbox": [374.4, 189.64, 6.87, 20.93], - "category_id": 44, - "id": 90821, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 155.98124999999936, - "iscrowd": 0, - "image_id": 164, - "bbox": [367.79, 184.72, 7.05, 27.54], - "category_id": 44, - "id": 96341, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 130.88449999999992, - "iscrowd": 0, - "image_id": 164, - "bbox": [383.16, 187.56, 7.21, 24.24], - "category_id": 44, - "id": 96596, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 430.2215500000003, - "iscrowd": 0, - "image_id": 164, - "bbox": [433.79, 280.36, 18.32, 31.37], - "category_id": 44, - "id": 96815, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 287.14989999999943, - "iscrowd": 0, - "image_id": 164, - "bbox": [463.1, 282.68, 9.92, 36.55], - "category_id": 44, - "id": 370293, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 127.9628499999996, - "iscrowd": 0, - "image_id": 164, - "bbox": [399.87, 161.68, 9.4, 17.1], - "category_id": 44, - "id": 371777, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 146.33250000000004, - "iscrowd": 0, - "image_id": 164, - "bbox": [373.61, 135.8, 10.49, 15.16], - "category_id": 44, - "id": 372156, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 146.02944999999983, - "iscrowd": 0, - "image_id": 164, - "bbox": [404.56, 132.62, 9.78, 15.75], - "category_id": 44, - "id": 372297, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 161.92295000000013, - "iscrowd": 0, - "image_id": 164, - "bbox": [415.11, 131.22, 10.65, 16.86], - "category_id": 44, - "id": 372380, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 9725.137700000003, - "iscrowd": 0, - "image_id": 164, - "bbox": [428.7, 171.07, 96.72, 138.04], - "category_id": 82, - "id": 331750, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 7930.579499999997, - "iscrowd": 0, - "image_id": 164, - "bbox": [159.04, 409.16, 151.36, 70.84], - "category_id": 62, - "id": 384245, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 215.69274999999982, - "iscrowd": 0, - "image_id": 164, - "bbox": [153.96, 189.95, 12.83, 28.26], - "category_id": 46, - "id": 661070, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 289.8229500000004, - "iscrowd": 0, - "image_id": 164, - "bbox": [141.01, 190.76, 16.1, 36.54], - "category_id": 46, - "id": 663208, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 247.40105000000005, - "iscrowd": 0, - "image_id": 164, - "bbox": [108.42, 196.32, 14.31, 33.4], - "category_id": 46, - "id": 666322, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 297.0384000000001, - "iscrowd": 0, - "image_id": 164, - "bbox": [58.59, 196.12, 19.66, 37.63], - "category_id": 46, - "id": 666447, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 313.90475000000004, - "iscrowd": 0, - "image_id": 164, - "bbox": [81.76, 195.46, 15.44, 39.6], - "category_id": 46, - "id": 666676, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 234.50975000000003, - "iscrowd": 0, - "image_id": 164, - "bbox": [95.89, 196.13, 11.83, 36.93], - "category_id": 46, - "id": 667844, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 166.1521, - "iscrowd": 0, - "image_id": 164, - "bbox": [76.17, 194.99, 10.84, 39.68], - "category_id": 46, - "id": 1496133, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 309.5684999999999, - "iscrowd": 0, - "image_id": 164, - "bbox": [119.18, 191.23, 15.86, 37.92], - "category_id": 46, - "id": 1498000, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 205.96249999999995, - "iscrowd": 0, - "image_id": 164, - "bbox": [133.3, 192.93, 10.75, 35.37], - "category_id": 46, - "id": 1498069, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 440.80759999999987, - "iscrowd": 0, - "image_id": 164, - "bbox": [146.61, 233.85, 26.78, 20.8], - "category_id": 47, - "id": 679713, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 312.0250499999997, - "iscrowd": 0, - "image_id": 164, - "bbox": [114.56, 236.81, 23.23, 19.52], - "category_id": 47, - "id": 681595, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 255.32904999999994, - "iscrowd": 0, - "image_id": 164, - "bbox": [176.77, 232.66, 20.14, 16.13], - "category_id": 47, - "id": 681817, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 256.8086999999999, - "iscrowd": 0, - "image_id": 164, - "bbox": [196.65, 228.88, 19.99, 15.51], - "category_id": 47, - "id": 683259, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 176.7597000000002, - "iscrowd": 0, - "image_id": 164, - "bbox": [159.47, 231.64, 21.72, 21.24], - "category_id": 47, - "id": 1510371, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 276.4122499999988, - "iscrowd": 0, - "image_id": 164, - "bbox": [512.83, 134.18, 15.4, 21.38], - "category_id": 47, - "id": 1512981, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 195.36245000000068, - "iscrowd": 0, - "image_id": 164, - "bbox": [532.63, 139.85, 15.19, 13.71], - "category_id": 47, - "id": 1513350, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 44.76595000000001, - "iscrowd": 0, - "image_id": 164, - "bbox": [506.11, 146.68, 6.26, 8.2], - "category_id": 47, - "id": 1514452, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 285.37839999999994, - "iscrowd": 0, - "image_id": 164, - "bbox": [169.77, 203.22, 17.75, 18.85], - "category_id": 47, - "id": 1514653, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 197.84394999999978, - "iscrowd": 0, - "image_id": 164, - "bbox": [133.77, 233.33, 15.32, 20.21], - "category_id": 47, - "id": 1514812, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 406.5926500000003, - "iscrowd": 0, - "image_id": 164, - "bbox": [506.25, 221.5, 56.15, 10.53], - "category_id": 51, - "id": 715477, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 78.53969999999994, - "iscrowd": 0, - "image_id": 164, - "bbox": [505.95, 211.57, 29.18, 4.68], - "category_id": 51, - "id": 1898808, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 108.9908499999987, - "iscrowd": 0, - "image_id": 164, - "bbox": [505.14, 219.24, 56.89, 4.21], - "category_id": 51, - "id": 1902243, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 120.07694999999946, - "iscrowd": 0, - "image_id": 164, - "bbox": [509.26, 215.43, 52.03, 5.24], - "category_id": 51, - "id": 1903101, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 154.42469999999994, - "iscrowd": 0, - "image_id": 164, - "bbox": [506.83, 212.69, 55.62, 6.07], - "category_id": 51, - "id": 1903305, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 90.16770000000011, - "iscrowd": 0, - "image_id": 164, - "bbox": [362.88, 171.41, 13.36, 9.05], - "category_id": 51, - "id": 1903515, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1483.9537499999997, - "iscrowd": 0, - "image_id": 164, - "bbox": [377.72, 227.45, 53.28, 30.36], - "category_id": 78, - "id": 1119489, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 867.6426000000002, - "iscrowd": 0, - "image_id": 164, - "bbox": [274.61, 263.38, 46.82, 34.22], - "category_id": 79, - "id": 1128244, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 932.5315999999989, - "iscrowd": 0, - "image_id": 164, - "bbox": [372.78, 459.12, 137.14, 14.96], - "category_id": 67, - "id": 1960665, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 16061.32005, - "iscrowd": 0, - "image_id": 192, - "bbox": [349.48, 253.48, 131.6, 220.05], - "category_id": 1, - "id": 478961, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 10907.633999999995, - "iscrowd": 0, - "image_id": 192, - "bbox": [437.21, 218.33, 78.41, 248.03], - "category_id": 1, - "id": 530163, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 4428.93145, - "iscrowd": 0, - "image_id": 192, - "bbox": [0.93, 274.23, 36.53, 205.51], - "category_id": 1, - "id": 541526, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 14388.179850000002, - "iscrowd": 0, - "image_id": 192, - "bbox": [268.11, 179.46, 111.35, 235.68], - "category_id": 1, - "id": 545132, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 486.23700000000014, - "iscrowd": 0, - "image_id": 192, - "bbox": [13.2, 381.39, 36.0, 92.98], - "category_id": 39, - "id": 629871, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 3602.4562500000025, - "iscrowd": 0, - "image_id": 196, - "bbox": [249.73, 200.54, 210.81, 48.65], - "category_id": 50, - "id": 705891, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1248.390700000003, - "iscrowd": 0, - "image_id": 196, - "bbox": [533.65, 250.15, 73.72, 122.35], - "category_id": 50, - "id": 1526578, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1160.2602500000007, - "iscrowd": 0, - "image_id": 196, - "bbox": [517.81, 213.87, 97.94, 43.09], - "category_id": 50, - "id": 1528688, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 571.3090000000001, - "iscrowd": 0, - "image_id": 196, - "bbox": [230.52, 42.78, 71.44, 43.44], - "category_id": 50, - "id": 1530098, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1146.3787500000017, - "iscrowd": 0, - "image_id": 196, - "bbox": [546.15, 251.57, 71.68, 80.61], - "category_id": 50, - "id": 1531102, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1486.5394499999984, - "iscrowd": 0, - "image_id": 196, - "bbox": [464.49, 390.81, 121.54, 88.15], - "category_id": 50, - "id": 1531239, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 258.74959999999993, - "iscrowd": 0, - "image_id": 196, - "bbox": [457.6, 121.32, 44.08, 29.01], - "category_id": 50, - "id": 1897059, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 134.46480000000017, - "iscrowd": 0, - "image_id": 196, - "bbox": [526.71, 129.89, 19.64, 9.29], - "category_id": 50, - "id": 2106274, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 459.3881999999993, - "iscrowd": 0, - "image_id": 196, - "bbox": [448.17, 363.72, 22.98, 42.51], - "category_id": 57, - "id": 1062959, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 520.7394500000009, - "iscrowd": 0, - "image_id": 196, - "bbox": [391.24, 374.67, 24.62, 53.82], - "category_id": 57, - "id": 1064648, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 152.96214999999984, - "iscrowd": 0, - "image_id": 196, - "bbox": [442.27, 375.7, 6.82, 26.03], - "category_id": 57, - "id": 1065163, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 619.4036499999994, - "iscrowd": 0, - "image_id": 196, - "bbox": [412.55, 404.5, 55.98, 30.74], - "category_id": 57, - "id": 1065260, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 349.25540000000103, - "iscrowd": 0, - "image_id": 196, - "bbox": [462.6, 401.48, 26.37, 31.69], - "category_id": 57, - "id": 1564538, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 211.89759999999967, - "iscrowd": 0, - "image_id": 196, - "bbox": [415.04, 417.75, 13.64, 31.75], - "category_id": 57, - "id": 1564616, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 433.93320000000006, - "iscrowd": 0, - "image_id": 196, - "bbox": [379.31, 413.34, 36.43, 30.0], - "category_id": 57, - "id": 1917699, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 133.9599999999997, - "iscrowd": 0, - "image_id": 196, - "bbox": [577.34, 377.01, 12.18, 15.03], - "category_id": 57, - "id": 1918173, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 487.4024999999997, - "iscrowd": 0, - "image_id": 196, - "bbox": [372.9, 388.96, 31.37, 27.25], - "category_id": 57, - "id": 1918435, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1017.75345, - "iscrowd": 0, - "image_id": 196, - "bbox": [168.75, 359.55, 41.76, 41.77], - "category_id": 57, - "id": 1919232, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 175.51060000000027, - "iscrowd": 0, - "image_id": 196, - "bbox": [420.82, 373.65, 22.39, 22.39], - "category_id": 57, - "id": 1919287, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 138.87659999999977, - "iscrowd": 0, - "image_id": 196, - "bbox": [434.1, 446.58, 20.64, 10.6], - "category_id": 57, - "id": 1919363, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 4382.250149999998, - "iscrowd": 0, - "image_id": 196, - "bbox": [275.91, 58.21, 128.58, 62.76], - "category_id": 51, - "id": 1535788, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 12065.732450000003, - "iscrowd": 0, - "image_id": 196, - "bbox": [423.99, 236.14, 144.88, 113.72], - "category_id": 51, - "id": 1538757, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 13667.3249, - "iscrowd": 0, - "image_id": 196, - "bbox": [513.78, 315.38, 126.22, 142.73], - "category_id": 51, - "id": 1539598, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 11288.890700000002, - "iscrowd": 0, - "image_id": 196, - "bbox": [234.69, 197.88, 169.4, 86.23], - "category_id": 51, - "id": 1540443, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 16865.213150000003, - "iscrowd": 0, - "image_id": 196, - "bbox": [363.02, 337.26, 161.24, 139.17], - "category_id": 51, - "id": 1540991, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 6829.082149999998, - "iscrowd": 0, - "image_id": 196, - "bbox": [332.22, 157.3, 132.68, 69.04], - "category_id": 51, - "id": 1541193, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 4926.331500000001, - "iscrowd": 0, - "image_id": 196, - "bbox": [341.69, 115.74, 151.25, 64.57], - "category_id": 51, - "id": 1541299, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2146.6238999999996, - "iscrowd": 0, - "image_id": 196, - "bbox": [189.83, 72.85, 88.39, 33.07], - "category_id": 51, - "id": 1541355, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 3430.0337500000005, - "iscrowd": 0, - "image_id": 196, - "bbox": [361.33, 47.29, 92.99, 62.87], - "category_id": 51, - "id": 1541426, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2471.16245, - "iscrowd": 0, - "image_id": 196, - "bbox": [115.26, 88.64, 96.13, 39.34], - "category_id": 51, - "id": 1901796, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 4282.383900000001, - "iscrowd": 0, - "image_id": 196, - "bbox": [33.84, 109.71, 117.18, 60.2], - "category_id": 51, - "id": 1903527, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 3794.48175, - "iscrowd": 0, - "image_id": 196, - "bbox": [0.0, 145.79, 71.35, 73.52], - "category_id": 51, - "id": 1903675, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 12063.1358, - "iscrowd": 0, - "image_id": 196, - "bbox": [0.0, 188.89, 172.64, 92.01], - "category_id": 51, - "id": 2185741, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 400.41515000000027, - "iscrowd": 0, - "image_id": 196, - "bbox": [199.46, 254.35, 18.25, 31.59], - "category_id": 56, - "id": 1561344, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 690.8346, - "iscrowd": 0, - "image_id": 196, - "bbox": [280.51, 393.55, 37.68, 28.9], - "category_id": 56, - "id": 1561766, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 451.72965000000016, - "iscrowd": 0, - "image_id": 196, - "bbox": [170.36, 269.84, 21.54, 29.09], - "category_id": 56, - "id": 1561783, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 640.4236, - "iscrowd": 0, - "image_id": 196, - "bbox": [115.3, 340.83, 40.0, 25.45], - "category_id": 56, - "id": 1915732, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 346.69775000000004, - "iscrowd": 0, - "image_id": 196, - "bbox": [250.3, 325.7, 24.42, 20.53], - "category_id": 56, - "id": 2115071, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 460.1613499999995, - "iscrowd": 0, - "image_id": 196, - "bbox": [288.99, 290.28, 17.52, 33.3], - "category_id": 56, - "id": 2115107, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 159.20255, - "iscrowd": 0, - "image_id": 196, - "bbox": [150.98, 262.69, 16.43, 13.92], - "category_id": 56, - "id": 2115321, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 247064.9784, - "iscrowd": 0, - "image_id": 196, - "bbox": [0.0, 41.94, 640.0, 438.06], - "category_id": 67, - "id": 1615479, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 1377.909500000001, - "iscrowd": 0, - "image_id": 196, - "bbox": [210.7, 407.69, 84.78, 66.08], - "category_id": 48, - "id": 1890035, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 140405.8689, - "iscrowd": 0, - "image_id": 208, - "bbox": [1.08, 108.94, 638.92, 366.75], - "category_id": 81, - "id": 1132256, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 12347.7568, - "iscrowd": 0, - "image_id": 208, - "bbox": [0.0, 150.36, 304.55, 109.76], - "category_id": 81, - "id": 1132920, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 3400.009649999999, - "iscrowd": 0, - "image_id": 208, - "bbox": [157.81, 170.21, 191.76, 88.89], - "category_id": 90, - "id": 2197833, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 3029.682650000001, - "iscrowd": 0, - "image_id": 208, - "bbox": [57.35, 122.18, 158.34, 82.29], - "category_id": 90, - "id": 2197855, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1956.7471000000003, - "iscrowd": 0, - "image_id": 241, - "bbox": [36.1, 553.8, 29.89, 86.2], - "category_id": 44, - "id": 87146, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 23173.052700000004, - "iscrowd": 0, - "image_id": 241, - "bbox": [312.46, 250.92, 167.2, 296.02], - "category_id": 63, - "id": 99885, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 4463.76635, - "iscrowd": 0, - "image_id": 241, - "bbox": [0.33, 278.19, 143.12, 260.43], - "category_id": 63, - "id": 116432, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 73157.25815000002, - "iscrowd": 0, - "image_id": 241, - "bbox": [132.7, 6.57, 200.43, 626.17], - "category_id": 1, - "id": 190379, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 29090.284799999998, - "iscrowd": 0, - "image_id": 241, - "bbox": [1.44, 263.55, 205.66, 348.05], - "category_id": 1, - "id": 191838, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 13817.75305, - "iscrowd": 0, - "image_id": 241, - "bbox": [295.71, 263.06, 107.15, 257.15], - "category_id": 1, - "id": 193269, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 4704.080300000001, - "iscrowd": 0, - "image_id": 241, - "bbox": [0.0, 372.74, 45.15, 203.38], - "category_id": 1, - "id": 1240866, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 5088.19765, - "iscrowd": 0, - "image_id": 241, - "bbox": [395.51, 337.98, 84.49, 230.11], - "category_id": 1, - "id": 1259806, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1901.1308500000007, - "iscrowd": 0, - "image_id": 241, - "bbox": [103.72, 595.29, 50.72, 44.71], - "category_id": 47, - "id": 682551, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1563.307649999999, - "iscrowd": 0, - "image_id": 241, - "bbox": [0.08, 596.49, 43.34, 43.51], - "category_id": 47, - "id": 684608, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 423.70660000000015, - "iscrowd": 0, - "image_id": 241, - "bbox": [117.1, 321.7, 44.12, 22.16], - "category_id": 75, - "id": 1110261, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 3824.626850000001, - "iscrowd": 0, - "image_id": 241, - "bbox": [343.94, 469.64, 65.31, 73.47], - "category_id": 31, - "id": 1182447, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 7849.56165, - "iscrowd": 0, - "image_id": 241, - "bbox": [90.85, 71.11, 109.84, 201.2], - "category_id": 64, - "id": 1608613, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2304.9887, - "iscrowd": 0, - "image_id": 241, - "bbox": [134.45, 350.26, 49.78, 72.27], - "category_id": 64, - "id": 2127625, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 591.9944000000003, - "iscrowd": 0, - "image_id": 257, - "bbox": [89.3, 197.24, 23.53, 32.78], - "category_id": 10, - "id": 404330, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 302.83400000000006, - "iscrowd": 0, - "image_id": 257, - "bbox": [50.27, 199.13, 25.09, 23.76], - "category_id": 10, - "id": 407530, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 115.41314999999967, - "iscrowd": 0, - "image_id": 257, - "bbox": [227.37, 296.5, 11.3, 11.39], - "category_id": 10, - "id": 1385925, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 35.62389999999987, - "iscrowd": 0, - "image_id": 257, - "bbox": [27.58, 303.1, 5.69, 7.11], - "category_id": 10, - "id": 1386080, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 37.32970000000005, - "iscrowd": 0, - "image_id": 257, - "bbox": [28.93, 276.6, 5.82, 11.76], - "category_id": 10, - "id": 1386337, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 162.8292999999999, - "iscrowd": 0, - "image_id": 257, - "bbox": [89.93, 177.97, 15.03, 14.65], - "category_id": 10, - "id": 1805284, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 79.83655000000005, - "iscrowd": 0, - "image_id": 257, - "bbox": [301.98, 260.82, 7.09, 14.18], - "category_id": 10, - "id": 2058747, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 65.94515000000007, - "iscrowd": 0, - "image_id": 257, - "bbox": [295.6, 261.4, 6.39, 12.2], - "category_id": 10, - "id": 2059682, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 19.345600000000093, - "iscrowd": 0, - "image_id": 257, - "bbox": [55.4, 299.17, 4.88, 4.3], - "category_id": 10, - "id": 2059820, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1562.2831500000007, - "iscrowd": 0, - "image_id": 257, - "bbox": [176.16, 362.21, 50.4, 55.49], - "category_id": 27, - "id": 1164702, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 115.55229999999999, - "iscrowd": 0, - "image_id": 257, - "bbox": [208.47, 340.87, 11.3, 19.58], - "category_id": 27, - "id": 1418348, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 15215.45735, - "iscrowd": 0, - "image_id": 257, - "bbox": [249.17, 277.96, 204.94, 122.97], - "category_id": 8, - "id": 1197129, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 4703.050300000001, - "iscrowd": 0, - "image_id": 257, - "bbox": [508.45, 304.48, 130.76, 63.88], - "category_id": 8, - "id": 1197605, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 12398.05725, - "iscrowd": 0, - "image_id": 257, - "bbox": [519.96, 323.81, 120.04, 156.19], - "category_id": 8, - "id": 1799979, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 4919.353649999999, - "iscrowd": 0, - "image_id": 257, - "bbox": [55.24, 301.11, 141.23, 59.84], - "category_id": 8, - "id": 1800578, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 206.83764999999954, - "iscrowd": 0, - "image_id": 257, - "bbox": [473.61, 320.43, 24.78, 13.95], - "category_id": 8, - "id": 1800634, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 4513.55705, - "iscrowd": 0, - "image_id": 257, - "bbox": [139.57, 345.58, 71.52, 134.42], - "category_id": 1, - "id": 1237390, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1428.3866500000004, - "iscrowd": 0, - "image_id": 257, - "bbox": [236.74, 326.46, 28.38, 79.72], - "category_id": 1, - "id": 1239029, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 593.1241000000001, - "iscrowd": 0, - "image_id": 257, - "bbox": [211.62, 332.49, 22.28, 60.49], - "category_id": 1, - "id": 1241923, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 803.6688000000001, - "iscrowd": 0, - "image_id": 257, - "bbox": [264.09, 330.65, 16.37, 72.88], - "category_id": 1, - "id": 1255512, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1283.6514999999997, - "iscrowd": 0, - "image_id": 257, - "bbox": [287.83, 337.14, 33.15, 77.0], - "category_id": 1, - "id": 1270079, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 388.6977499999994, - "iscrowd": 0, - "image_id": 257, - "bbox": [570.98, 327.79, 14.75, 42.24], - "category_id": 1, - "id": 1285138, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 222.4492, - "iscrowd": 0, - "image_id": 257, - "bbox": [125.19, 325.45, 10.13, 37.03], - "category_id": 1, - "id": 1287027, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1110.5517999999988, - "iscrowd": 0, - "image_id": 257, - "bbox": [316.72, 334.13, 20.17, 74.8], - "category_id": 1, - "id": 1297780, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 371.4350499999998, - "iscrowd": 0, - "image_id": 257, - "bbox": [77.65, 326.41, 20.3, 48.17], - "category_id": 1, - "id": 1302840, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 395.23035, - "iscrowd": 0, - "image_id": 257, - "bbox": [138.11, 325.59, 15.55, 38.45], - "category_id": 1, - "id": 1309094, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 472.8054499999997, - "iscrowd": 0, - "image_id": 257, - "bbox": [225.17, 327.33, 15.21, 69.54], - "category_id": 1, - "id": 1315452, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 523.6540999999997, - "iscrowd": 0, - "image_id": 257, - "bbox": [190.83, 330.6, 20.63, 39.77], - "category_id": 1, - "id": 1707335, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 260.15675000000044, - "iscrowd": 0, - "image_id": 257, - "bbox": [537.16, 328.86, 14.08, 39.82], - "category_id": 1, - "id": 2005786, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 11750, - "iscrowd": 1, - "image_id": 257, - "bbox": [16, 301, 611, 178], - "category_id": 1, - "id": 900100000257, - "ignore": 1, - "_ignore": 1 - }, - { - "area": 123.59089999999995, - "iscrowd": 0, - "image_id": 257, - "bbox": [306.74, 360.16, 12.51, 13.77], - "category_id": 31, - "id": 1435013, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 41.078150000000136, - "iscrowd": 0, - "image_id": 257, - "bbox": [93.13, 344.24, 5.88, 12.48], - "category_id": 31, - "id": 1834141, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 61.242699999999886, - "iscrowd": 0, - "image_id": 257, - "bbox": [208.91, 341.48, 11.21, 29.05], - "category_id": 31, - "id": 2212016, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 20.777750000000086, - "iscrowd": 0, - "image_id": 257, - "bbox": [472.6, 340.88, 6.14, 4.6], - "category_id": 31, - "id": 2212353, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 19856.495650000004, - "iscrowd": 0, - "image_id": 283, - "bbox": [63.18, 42.58, 82.4, 311.75], - "category_id": 44, - "id": 89091, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 3095.66605, - "iscrowd": 0, - "image_id": 283, - "bbox": [0.23, 142.61, 59.56, 86.35], - "category_id": 62, - "id": 100451, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 49134.860949999995, - "iscrowd": 0, - "image_id": 283, - "bbox": [148.65, 67.02, 279.35, 289.03], - "category_id": 62, - "id": 105578, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 135123.99545000005, - "iscrowd": 0, - "image_id": 283, - "bbox": [0.0, 210.82, 424.66, 420.14], - "category_id": 67, - "id": 120535, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 11358.260999999999, - "iscrowd": 0, - "image_id": 283, - "bbox": [164.76, 156.24, 88.26, 214.22], - "category_id": 46, - "id": 665916, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 275709.8110500001, - "iscrowd": 0, - "image_id": 285, - "bbox": [1.43, 68.81, 584.57, 563.94], - "category_id": 23, - "id": 587562, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 64624.86664999999, - "iscrowd": 0, - "image_id": 294, - "bbox": [27.7, 69.83, 364.91, 357.17], - "category_id": 1, - "id": 470246, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 182.62164999999962, - "iscrowd": 0, - "image_id": 294, - "bbox": [415.57, 349.85, 15.31, 23.55], - "category_id": 50, - "id": 708187, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 360.72579999999914, - "iscrowd": 0, - "image_id": 294, - "bbox": [401.49, 323.29, 23.1, 25.32], - "category_id": 50, - "id": 1897351, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 598.2128500000001, - "iscrowd": 0, - "image_id": 294, - "bbox": [383.89, 341.86, 35.58, 40.04], - "category_id": 50, - "id": 1897640, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 844.8774499999998, - "iscrowd": 0, - "image_id": 294, - "bbox": [402.19, 111.67, 14.47, 114.66], - "category_id": 50, - "id": 1897818, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 683.0231000000013, - "iscrowd": 0, - "image_id": 294, - "bbox": [420.95, 114.4, 13.43, 103.27], - "category_id": 50, - "id": 1897858, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 550.1896499999995, - "iscrowd": 0, - "image_id": 294, - "bbox": [328.99, 256.48, 18.17, 66.93], - "category_id": 50, - "id": 1897919, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 485.56159999999926, - "iscrowd": 0, - "image_id": 294, - "bbox": [403.99, 367.62, 32.19, 21.11], - "category_id": 50, - "id": 2216629, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 364.8656999999999, - "iscrowd": 0, - "image_id": 294, - "bbox": [392.56, 299.36, 16.54, 32.35], - "category_id": 50, - "id": 2216976, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 265.2028500000003, - "iscrowd": 0, - "image_id": 294, - "bbox": [388.56, 387.15, 14.73, 22.97], - "category_id": 50, - "id": 2217050, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 262.35164999999984, - "iscrowd": 0, - "image_id": 294, - "bbox": [401.36, 355.24, 21.6, 25.14], - "category_id": 50, - "id": 2217133, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 63.433249999999965, - "iscrowd": 0, - "image_id": 294, - "bbox": [623.23, 50.49, 4.79, 22.57], - "category_id": 50, - "id": 2217190, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 13629.079649999989, - "iscrowd": 0, - "image_id": 294, - "bbox": [507.6, 312.81, 131.46, 109.39], - "category_id": 78, - "id": 1118968, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 172.5971999999994, - "iscrowd": 0, - "image_id": 294, - "bbox": [608.51, 251.83, 7.67, 40.75], - "category_id": 48, - "id": 1518770, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 279.9459499999995, - "iscrowd": 0, - "image_id": 294, - "bbox": [445.73, 329.05, 17.33, 34.67], - "category_id": 49, - "id": 1524125, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 279.8878000000002, - "iscrowd": 0, - "image_id": 294, - "bbox": [454.37, 320.69, 15.89, 45.17], - "category_id": 49, - "id": 1524238, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 187.2767500000002, - "iscrowd": 0, - "image_id": 294, - "bbox": [461.6, 335.52, 16.28, 33.28], - "category_id": 49, - "id": 2104366, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 143.22540000000023, - "iscrowd": 0, - "image_id": 294, - "bbox": [466.52, 325.24, 13.79, 32.5], - "category_id": 49, - "id": 2104631, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 158.32795000000038, - "iscrowd": 0, - "image_id": 294, - "bbox": [469.28, 335.38, 15.32, 33.19], - "category_id": 49, - "id": 2105113, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2454.3745500000005, - "iscrowd": 0, - "image_id": 294, - "bbox": [0.15, 0.0, 53.72, 53.96], - "category_id": 85, - "id": 2144820, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 278.12544999999983, - "iscrowd": 0, - "image_id": 328, - "bbox": [434.75, 283.15, 35.01, 18.64], - "category_id": 77, - "id": 326470, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 33082.45864999999, - "iscrowd": 0, - "image_id": 328, - "bbox": [44.81, 68.09, 223.8, 356.91], - "category_id": 1, - "id": 422643, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 38458.955649999996, - "iscrowd": 0, - "image_id": 328, - "bbox": [197.91, 90.52, 205.13, 389.34], - "category_id": 1, - "id": 470613, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 52372.09644999999, - "iscrowd": 0, - "image_id": 328, - "bbox": [336.87, 58.48, 249.91, 426.04], - "category_id": 1, - "id": 480233, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 28261.0682, - "iscrowd": 0, - "image_id": 328, - "bbox": [0.6, 104.76, 587.67, 374.74], - "category_id": 15, - "id": 576964, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 1387.0935500000007, - "iscrowd": 0, - "image_id": 328, - "bbox": [245.65, 220.95, 86.44, 37.42], - "category_id": 84, - "id": 1137074, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 4760.385999999999, - "iscrowd": 0, - "image_id": 328, - "bbox": [350.46, 77.31, 101.02, 65.61], - "category_id": 3, - "id": 1341477, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 275.4648499999998, - "iscrowd": 0, - "image_id": 328, - "bbox": [462.06, 177.54, 18.31, 43.81], - "category_id": 32, - "id": 1440283, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 631.9263999999995, - "iscrowd": 0, - "image_id": 328, - "bbox": [315.37, 171.71, 22.5, 57.98], - "category_id": 32, - "id": 1442817, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 5542.455349999999, - "iscrowd": 0, - "image_id": 328, - "bbox": [12.03, 171.36, 119.45, 79.63], - "category_id": 27, - "id": 1823916, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2901.4339999999993, - "iscrowd": 0, - "image_id": 328, - "bbox": [49.45, 160.85, 85.28, 47.84], - "category_id": 27, - "id": 1827585, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 15100.550200000001, - "iscrowd": 0, - "image_id": 338, - "bbox": [217.59, 149.74, 95.78, 177.26], - "category_id": 82, - "id": 331127, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 447.72725000000014, - "iscrowd": 0, - "image_id": 338, - "bbox": [458.17, 88.69, 23.24, 24.61], - "category_id": 85, - "id": 339566, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 8748.053699999999, - "iscrowd": 0, - "image_id": 338, - "bbox": [327.0, 142.07, 90.46, 183.7], - "category_id": 1, - "id": 484147, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 4482.490749999999, - "iscrowd": 0, - "image_id": 338, - "bbox": [439.35, 173.72, 56.91, 153.28], - "category_id": 1, - "id": 524817, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 10051.329499999998, - "iscrowd": 0, - "image_id": 338, - "bbox": [24.25, 243.96, 138.88, 78.63], - "category_id": 79, - "id": 1123956, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 686.222100000001, - "iscrowd": 0, - "image_id": 338, - "bbox": [465.15, 231.65, 25.66, 39.34], - "category_id": 31, - "id": 2176417, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 81.5554, - "iscrowd": 0, - "image_id": 357, - "bbox": [539.09, 121.4, 4.0, 27.24], - "category_id": 39, - "id": 628872, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 40.0523499999999, - "iscrowd": 0, - "image_id": 357, - "bbox": [566.96, 186.44, 8.91, 6.69], - "category_id": 40, - "id": 635098, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 35.704700000000024, - "iscrowd": 0, - "image_id": 357, - "bbox": [76.74, 97.16, 6.97, 9.21], - "category_id": 40, - "id": 635612, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 18.735549999999982, - "iscrowd": 0, - "image_id": 357, - "bbox": [279.48, 25.03, 5.46, 4.72], - "category_id": 40, - "id": 636542, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 214.2974, - "iscrowd": 0, - "image_id": 357, - "bbox": [372.19, 25.03, 17.25, 27.63], - "category_id": 1, - "id": 1269289, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 330.3950499999995, - "iscrowd": 0, - "image_id": 357, - "bbox": [271.1, 18.4, 27.02, 37.16], - "category_id": 1, - "id": 1275571, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 300.3006499999999, - "iscrowd": 0, - "image_id": 357, - "bbox": [209.34, 22.61, 22.2, 31.01], - "category_id": 1, - "id": 1285119, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 472.0862999999997, - "iscrowd": 0, - "image_id": 357, - "bbox": [74.62, 79.12, 18.53, 48.08], - "category_id": 1, - "id": 1297671, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 860.8170999999988, - "iscrowd": 0, - "image_id": 357, - "bbox": [530.83, 136.21, 29.04, 54.59], - "category_id": 1, - "id": 1299372, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 561.6825500000003, - "iscrowd": 0, - "image_id": 357, - "bbox": [567.61, 160.02, 26.76, 38.03], - "category_id": 1, - "id": 1304492, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 547.3569000000009, - "iscrowd": 0, - "image_id": 357, - "bbox": [592.37, 154.71, 27.18, 46.6], - "category_id": 1, - "id": 1314926, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 67.5915500000003, - "iscrowd": 0, - "image_id": 357, - "bbox": [556.03, 23.96, 13.89, 9.67], - "category_id": 1, - "id": 1317799, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 104.08484999999976, - "iscrowd": 0, - "image_id": 357, - "bbox": [545.19, 21.04, 9.65, 26.16], - "category_id": 1, - "id": 1323595, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 56.523049999999856, - "iscrowd": 0, - "image_id": 357, - "bbox": [596.85, 8.21, 8.96, 10.15], - "category_id": 1, - "id": 1323658, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 220.2697500000003, - "iscrowd": 0, - "image_id": 357, - "bbox": [265.33, 6.43, 17.69, 27.34], - "category_id": 1, - "id": 1327311, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 79.1437, - "iscrowd": 0, - "image_id": 357, - "bbox": [568.15, 29.27, 11.87, 23.74], - "category_id": 1, - "id": 1327873, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 84.28930000000027, - "iscrowd": 0, - "image_id": 357, - "bbox": [580.99, 32.19, 6.72, 23.92], - "category_id": 1, - "id": 2007510, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 6687, - "iscrowd": 1, - "image_id": 357, - "bbox": [466, 0, 173, 73], - "category_id": 1, - "id": 900100000357, - "ignore": 1, - "_ignore": 1 - }, - { - "area": 2093.1769499999996, - "iscrowd": 0, - "image_id": 359, - "bbox": [153.87, 100.44, 65.37, 34.25], - "category_id": 10, - "id": 401907, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 981.3448500000004, - "iscrowd": 0, - "image_id": 359, - "bbox": [243.76, 99.94, 51.0, 22.4], - "category_id": 10, - "id": 406801, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 16.788799999999753, - "iscrowd": 0, - "image_id": 359, - "bbox": [278.48, 293.48, 4.46, 4.11], - "category_id": 10, - "id": 1384199, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 3137.2429500000017, - "iscrowd": 0, - "image_id": 359, - "bbox": [0.0, 290.11, 123.72, 37.58], - "category_id": 3, - "id": 1778050, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 560.5042000000001, - "iscrowd": 0, - "image_id": 360, - "bbox": [261.02, 138.76, 52.1, 36.95], - "category_id": 1, - "id": 457434, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 355.26565000000016, - "iscrowd": 0, - "image_id": 360, - "bbox": [97.99, 273.39, 26.6, 21.41], - "category_id": 1, - "id": 469143, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 676.5820499999999, - "iscrowd": 0, - "image_id": 360, - "bbox": [240.45, 155.01, 52.19, 41.49], - "category_id": 36, - "id": 619614, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 101928.52115000002, - "iscrowd": 0, - "image_id": 387, - "bbox": [249.17, 50.7, 375.37, 277.21], - "category_id": 73, - "id": 1103403, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 40974.07855000001, - "iscrowd": 0, - "image_id": 387, - "bbox": [152.38, 50.29, 470.86, 312.38], - "category_id": 73, - "id": 1970089, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 18024.40625, - "iscrowd": 0, - "image_id": 387, - "bbox": [332.5, 111.88, 210.0, 93.75], - "category_id": 77, - "id": 1977657, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 236.53855000000016, - "iscrowd": 0, - "image_id": 395, - "bbox": [291.15, 289.29, 19.84, 22.97], - "category_id": 77, - "id": 323360, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 122.09555000000024, - "iscrowd": 0, - "image_id": 395, - "bbox": [619.05, 305.74, 15.83, 11.59], - "category_id": 77, - "id": 1637902, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 129618.30084999999, - "iscrowd": 0, - "image_id": 395, - "bbox": [118.61, 138.16, 432.72, 435.32], - "category_id": 1, - "id": 1218065, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 15212.780349999997, - "iscrowd": 0, - "image_id": 395, - "bbox": [0.0, 207.32, 80.81, 278.92], - "category_id": 1, - "id": 1260127, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 10566.527799999998, - "iscrowd": 0, - "image_id": 395, - "bbox": [77.02, 270.92, 82.55, 204.66], - "category_id": 1, - "id": 1270740, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 28854.102049999998, - "iscrowd": 0, - "image_id": 395, - "bbox": [515.21, 200.28, 124.79, 379.72], - "category_id": 1, - "id": 1280168, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 1027.75655, - "iscrowd": 0, - "image_id": 395, - "bbox": [108.58, 232.54, 38.86, 46.9], - "category_id": 1, - "id": 1720813, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 5831.163299999999, - "iscrowd": 0, - "image_id": 395, - "bbox": [140.76, 239.82, 82.12, 109.48], - "category_id": 1, - "id": 1731140, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2099.987899999999, - "iscrowd": 0, - "image_id": 395, - "bbox": [412.44, 194.77, 32.94, 105.97], - "category_id": 1, - "id": 1746734, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2225.3864499999977, - "iscrowd": 0, - "image_id": 395, - "bbox": [428.93, 206.74, 43.9, 113.15], - "category_id": 1, - "id": 1750589, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1275.735550000001, - "iscrowd": 0, - "image_id": 395, - "bbox": [159.8, 332.19, 60.39, 66.97], - "category_id": 1, - "id": 1752009, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2806.4026, - "iscrowd": 0, - "image_id": 395, - "bbox": [54.7, 214.92, 48.39, 126.94], - "category_id": 1, - "id": 1756980, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2459.9935000000005, - "iscrowd": 0, - "image_id": 395, - "bbox": [448.16, 253.08, 70.79, 89.66], - "category_id": 1, - "id": 2150881, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 6655.397300000003, - "iscrowd": 0, - "image_id": 397, - "bbox": [477.94, 0.0, 143.48, 98.06], - "category_id": 62, - "id": 105605, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 204268.80735000005, - "iscrowd": 0, - "image_id": 397, - "bbox": [4.31, 44.22, 631.02, 412.05], - "category_id": 59, - "id": 1072508, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 1681.4982999999997, - "iscrowd": 0, - "image_id": 397, - "bbox": [0.0, 294.57, 36.75, 71.88], - "category_id": 47, - "id": 1507253, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 11717.453350000003, - "iscrowd": 0, - "image_id": 397, - "bbox": [480.0, 315.43, 150.86, 158.34], - "category_id": 47, - "id": 1886120, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 1138.0234000000007, - "iscrowd": 0, - "image_id": 397, - "bbox": [595.24, 404.53, 44.76, 52.1], - "category_id": 48, - "id": 1889153, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 22748.658200000005, - "iscrowd": 0, - "image_id": 397, - "bbox": [1.25, 349.09, 503.69, 130.91], - "category_id": 67, - "id": 1963869, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 25022.46835, - "iscrowd": 0, - "image_id": 397, - "bbox": [3.74, 0.0, 225.66, 205.33], - "category_id": 1, - "id": 2151765, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 4634.541499999999, - "iscrowd": 0, - "image_id": 400, - "bbox": [417.5, 148.97, 97.62, 78.77], - "category_id": 18, - "id": 9774, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 264455.48134999996, - "iscrowd": 0, - "image_id": 400, - "bbox": [1.44, 64.72, 636.56, 477.48], - "category_id": 9, - "id": 176688, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 1120.3052000000005, - "iscrowd": 0, - "image_id": 415, - "bbox": [60.13, 399.09, 41.97, 44.41], - "category_id": 43, - "id": 655306, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 12687.970250000004, - "iscrowd": 0, - "image_id": 415, - "bbox": [0.0, 257.44, 122.96, 301.62], - "category_id": 1, - "id": 1248682, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 3573.3858000000005, - "iscrowd": 0, - "image_id": 428, - "bbox": [374.56, 200.49, 94.65, 154.52], - "category_id": 32, - "id": 293908, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 55007.08139999999, - "iscrowd": 0, - "image_id": 428, - "bbox": [226.94, 32.65, 355.92, 323.27], - "category_id": 1, - "id": 487626, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 15955.590150000004, - "iscrowd": 0, - "image_id": 428, - "bbox": [405.41, 234.73, 175.13, 121.62], - "category_id": 61, - "id": 1085469, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 8519.61285, - "iscrowd": 0, - "image_id": 459, - "bbox": [162.57, 278.99, 61.63, 239.81], - "category_id": 32, - "id": 294038, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 170999.69984999998, - "iscrowd": 0, - "image_id": 459, - "bbox": [0.0, 84.85, 514.88, 547.96], - "category_id": 1, - "id": 1209199, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 1232.8114499999997, - "iscrowd": 0, - "image_id": 472, - "bbox": [394.86, 56.68, 87.21, 31.46], - "category_id": 5, - "id": 157332, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 65310.2008, - "iscrowd": 0, - "image_id": 474, - "bbox": [3.37, 42.7, 329.21, 429.21], - "category_id": 1, - "id": 425095, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 3089.4674999999993, - "iscrowd": 0, - "image_id": 474, - "bbox": [9.86, 234.5, 88.41, 71.31], - "category_id": 40, - "id": 636277, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 6107.148950000001, - "iscrowd": 0, - "image_id": 486, - "bbox": [391.66, 175.9, 63.04, 109.86], - "category_id": 82, - "id": 333535, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 17448.404149999995, - "iscrowd": 0, - "image_id": 486, - "bbox": [392.05, 274.92, 247.95, 152.08], - "category_id": 79, - "id": 1124804, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 507.9642499999998, - "iscrowd": 0, - "image_id": 486, - "bbox": [623.9, 233.27, 16.02, 38.17], - "category_id": 44, - "id": 1488066, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 498.2766500000002, - "iscrowd": 0, - "image_id": 486, - "bbox": [498.82, 278.46, 23.05, 25.31], - "category_id": 44, - "id": 2093503, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 131.61645, - "iscrowd": 0, - "image_id": 486, - "bbox": [83.06, 219.17, 5.12, 29.08], - "category_id": 44, - "id": 2096912, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 191.04449999999963, - "iscrowd": 0, - "image_id": 486, - "bbox": [223.65, 192.28, 6.92, 51.96], - "category_id": 49, - "id": 1523034, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 38.09325000000004, - "iscrowd": 0, - "image_id": 486, - "bbox": [235.42, 200.87, 3.9, 16.53], - "category_id": 49, - "id": 2104665, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 8477.589850000002, - "iscrowd": 0, - "image_id": 486, - "bbox": [252.43, 299.84, 131.39, 88.22], - "category_id": 51, - "id": 2108796, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 49.045200000000044, - "iscrowd": 0, - "image_id": 488, - "bbox": [431.12, 252.62, 8.29, 7.58], - "category_id": 37, - "id": 302707, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 4851.846399999997, - "iscrowd": 0, - "image_id": 488, - "bbox": [180.76, 210.3, 104.63, 131.03], - "category_id": 1, - "id": 443794, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 5682.173299999999, - "iscrowd": 0, - "image_id": 488, - "bbox": [112.24, 245.32, 127.0, 110.76], - "category_id": 1, - "id": 564365, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 915.4086500000001, - "iscrowd": 0, - "image_id": 488, - "bbox": [209.3, 197.89, 25.41, 70.75], - "category_id": 1, - "id": 1271766, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 720.501399999999, - "iscrowd": 0, - "image_id": 488, - "bbox": [546.32, 216.45, 44.13, 49.26], - "category_id": 1, - "id": 1275012, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 7186.221699999997, - "iscrowd": 0, - "image_id": 488, - "bbox": [34.67, 208.02, 91.24, 152.36], - "category_id": 1, - "id": 1731466, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 23.785449999999862, - "iscrowd": 0, - "image_id": 488, - "bbox": [224.36, 181.86, 4.42, 8.01], - "category_id": 1, - "id": 2001852, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 222.61124999999927, - "iscrowd": 0, - "image_id": 488, - "bbox": [214.91, 225.8, 63.45, 45.93], - "category_id": 39, - "id": 629732, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 361.48684999999966, - "iscrowd": 0, - "image_id": 488, - "bbox": [218.97, 274.81, 24.15, 20.49], - "category_id": 40, - "id": 632859, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 58.98509999999994, - "iscrowd": 0, - "image_id": 488, - "bbox": [562.51, 253.32, 10.5, 7.99], - "category_id": 40, - "id": 637011, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 44775.328299999994, - "iscrowd": 0, - "image_id": 502, - "bbox": [226.96, 88.0, 273.13, 257.74], - "category_id": 23, - "id": 1411246, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 193.23244999999997, - "iscrowd": 0, - "image_id": 520, - "bbox": [300.04, 140.73, 32.01, 20.26], - "category_id": 16, - "id": 37377, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 174.1545999999998, - "iscrowd": 0, - "image_id": 520, - "bbox": [230.03, 131.19, 34.17, 13.96], - "category_id": 16, - "id": 37692, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 143.86575000000002, - "iscrowd": 0, - "image_id": 520, - "bbox": [449.26, 217.6, 18.56, 17.79], - "category_id": 16, - "id": 271898, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 140.66764999999995, - "iscrowd": 0, - "image_id": 520, - "bbox": [0.11, 187.56, 23.22, 15.48], - "category_id": 16, - "id": 272348, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 128.87455000000008, - "iscrowd": 0, - "image_id": 520, - "bbox": [444.38, 174.06, 21.97, 16.09], - "category_id": 16, - "id": 272551, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 108.29215000000005, - "iscrowd": 0, - "image_id": 520, - "bbox": [599.29, 178.81, 19.65, 10.42], - "category_id": 16, - "id": 272729, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 155.2921, - "iscrowd": 0, - "image_id": 520, - "bbox": [97.33, 194.51, 35.82, 22.84], - "category_id": 16, - "id": 273171, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 163.1560500000002, - "iscrowd": 0, - "image_id": 520, - "bbox": [155.5, 184.44, 25.5, 11.87], - "category_id": 16, - "id": 273213, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 234.44544999999968, - "iscrowd": 0, - "image_id": 520, - "bbox": [242.02, 307.84, 15.21, 34.27], - "category_id": 1, - "id": 212333, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 209.08724999999993, - "iscrowd": 0, - "image_id": 520, - "bbox": [453.08, 316.95, 17.86, 18.87], - "category_id": 1, - "id": 1211500, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 81.48459999999976, - "iscrowd": 0, - "image_id": 520, - "bbox": [508.05, 323.61, 8.1, 13.7], - "category_id": 1, - "id": 1680489, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 8583.28935, - "iscrowd": 0, - "image_id": 536, - "bbox": [288.41, 138.98, 156.33, 195.53], - "category_id": 62, - "id": 374363, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 10251.997199999998, - "iscrowd": 0, - "image_id": 536, - "bbox": [0.68, 141.91, 82.48, 194.09], - "category_id": 62, - "id": 2189966, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 15367.24815, - "iscrowd": 0, - "image_id": 536, - "bbox": [292.86, 133.95, 155.14, 198.27], - "category_id": 1, - "id": 438609, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 19603.05865, - "iscrowd": 0, - "image_id": 536, - "bbox": [169.41, 79.52, 108.42, 255.62], - "category_id": 1, - "id": 497343, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 18548.185149999998, - "iscrowd": 0, - "image_id": 536, - "bbox": [88.34, 68.58, 98.16, 263.52], - "category_id": 1, - "id": 516492, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 2155.9285999999993, - "iscrowd": 0, - "image_id": 536, - "bbox": [22.1, 258.04, 44.05, 77.96], - "category_id": 31, - "id": 1179584, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2341.2988000000005, - "iscrowd": 0, - "image_id": 536, - "bbox": [202.07, 185.98, 69.48, 63.22], - "category_id": 31, - "id": 1182069, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 213.47909999999973, - "iscrowd": 0, - "image_id": 536, - "bbox": [343.78, 235.32, 45.57, 12.3], - "category_id": 31, - "id": 1182221, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 43.838950000000175, - "iscrowd": 0, - "image_id": 536, - "bbox": [206.43, 106.55, 13.68, 21.14], - "category_id": 77, - "id": 1636640, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 170.2840500000001, - "iscrowd": 0, - "image_id": 536, - "bbox": [98.62, 87.68, 28.93, 39.35], - "category_id": 77, - "id": 1977571, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 53.888699999999815, - "iscrowd": 0, - "image_id": 536, - "bbox": [361.35, 224.65, 8.04, 12.47], - "category_id": 77, - "id": 2195993, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 83.22834999999984, - "iscrowd": 0, - "image_id": 544, - "bbox": [596.57, 293.78, 13.81, 7.44], - "category_id": 37, - "id": 304761, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 6025.523100000001, - "iscrowd": 0, - "image_id": 544, - "bbox": [253.32, 243.73, 113.23, 161.2], - "category_id": 1, - "id": 430999, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 6144.207649999999, - "iscrowd": 0, - "image_id": 544, - "bbox": [107.47, 301.3, 129.54, 111.31], - "category_id": 1, - "id": 453730, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 5509.193949999998, - "iscrowd": 0, - "image_id": 544, - "bbox": [25.53, 269.29, 101.67, 142.79], - "category_id": 1, - "id": 471663, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 594.7322499999996, - "iscrowd": 0, - "image_id": 544, - "bbox": [76.23, 191.66, 28.84, 44.78], - "category_id": 1, - "id": 476124, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 931.74445, - "iscrowd": 0, - "image_id": 544, - "bbox": [247.29, 185.44, 29.17, 50.01], - "category_id": 1, - "id": 487476, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 402.09069999999986, - "iscrowd": 0, - "image_id": 544, - "bbox": [193.14, 209.98, 30.04, 27.53], - "category_id": 1, - "id": 494227, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 315.2081, - "iscrowd": 0, - "image_id": 544, - "bbox": [148.91, 193.7, 31.15, 41.98], - "category_id": 1, - "id": 523667, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1493.9900500000003, - "iscrowd": 0, - "image_id": 544, - "bbox": [0.07, 221.17, 33.48, 77.9], - "category_id": 1, - "id": 545434, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 296.1576000000001, - "iscrowd": 0, - "image_id": 544, - "bbox": [544.81, 211.75, 21.74, 21.0], - "category_id": 1, - "id": 545942, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1410.213699999999, - "iscrowd": 0, - "image_id": 544, - "bbox": [20.46, 237.09, 42.72, 59.44], - "category_id": 1, - "id": 1221722, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 252.43800000000005, - "iscrowd": 0, - "image_id": 544, - "bbox": [174.28, 213.99, 18.9, 24.91], - "category_id": 1, - "id": 1245211, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 690.9191, - "iscrowd": 0, - "image_id": 544, - "bbox": [18.77, 194.87, 25.64, 45.63], - "category_id": 1, - "id": 1720612, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 284.41735000000045, - "iscrowd": 0, - "image_id": 544, - "bbox": [512.31, 203.13, 16.39, 29.72], - "category_id": 1, - "id": 2148912, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 133940, - "iscrowd": 1, - "image_id": 544, - "bbox": [0, 0, 639, 347], - "category_id": 1, - "id": 900100000544, - "ignore": 1, - "_ignore": 1 - }, - { - "area": 277.01684999999947, - "iscrowd": 0, - "image_id": 544, - "bbox": [223.14, 300.79, 52.74, 7.6], - "category_id": 39, - "id": 630177, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 461.0875500000002, - "iscrowd": 0, - "image_id": 544, - "bbox": [218.39, 324.92, 20.27, 30.58], - "category_id": 40, - "id": 634565, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 16752.975699999995, - "iscrowd": 0, - "image_id": 564, - "bbox": [230.51, 335.3, 147.48, 279.2], - "category_id": 1, - "id": 504828, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 2928.7800000000007, - "iscrowd": 0, - "image_id": 564, - "bbox": [430.78, 203.68, 89.22, 93.9], - "category_id": 1, - "id": 518975, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2476.870300000001, - "iscrowd": 0, - "image_id": 564, - "bbox": [296.89, 432.81, 105.48, 40.82], - "category_id": 43, - "id": 656909, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 767.6281500000009, - "iscrowd": 0, - "image_id": 564, - "bbox": [62.9, 234.39, 43.46, 22.27], - "category_id": 62, - "id": 1597322, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 780.6210999999994, - "iscrowd": 0, - "image_id": 564, - "bbox": [108.71, 232.0, 45.58, 25.44], - "category_id": 62, - "id": 1598473, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 995.4353000000006, - "iscrowd": 0, - "image_id": 564, - "bbox": [202.82, 230.33, 47.5, 26.02], - "category_id": 62, - "id": 1600945, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1177.7280999999998, - "iscrowd": 0, - "image_id": 564, - "bbox": [245.16, 307.81, 56.56, 28.28], - "category_id": 62, - "id": 1601794, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1032.0828499999998, - "iscrowd": 0, - "image_id": 564, - "bbox": [135.73, 258.53, 50.13, 30.25], - "category_id": 62, - "id": 1602301, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 916.2860999999996, - "iscrowd": 0, - "image_id": 564, - "bbox": [88.79, 256.37, 50.46, 25.81], - "category_id": 62, - "id": 1603427, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 896.8613499999994, - "iscrowd": 0, - "image_id": 564, - "bbox": [39.44, 260.53, 46.92, 23.68], - "category_id": 62, - "id": 1603583, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 758.9105499999991, - "iscrowd": 0, - "image_id": 564, - "bbox": [13.52, 235.62, 47.74, 22.44], - "category_id": 62, - "id": 1933450, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2269.8216999999995, - "iscrowd": 0, - "image_id": 564, - "bbox": [412.26, 304.21, 61.51, 46.54], - "category_id": 62, - "id": 1942078, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 895.2064000000009, - "iscrowd": 0, - "image_id": 564, - "bbox": [325.82, 279.27, 51.53, 21.61], - "category_id": 62, - "id": 1945218, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1054.806599999999, - "iscrowd": 0, - "image_id": 564, - "bbox": [303.39, 307.56, 51.38, 27.27], - "category_id": 62, - "id": 1947219, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 3130.9597499999995, - "iscrowd": 0, - "image_id": 564, - "bbox": [233.06, 228.6, 66.46, 77.41], - "category_id": 62, - "id": 1948102, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1154.3769999999995, - "iscrowd": 0, - "image_id": 564, - "bbox": [152.8, 232.51, 48.71, 41.53], - "category_id": 62, - "id": 2124786, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 32952, - "iscrowd": 1, - "image_id": 564, - "bbox": [1, 222, 518, 134], - "category_id": 62, - "id": 906200000564, - "ignore": 1, - "_ignore": 1 - }, - { - "area": 4805.082899999998, - "iscrowd": 0, - "image_id": 569, - "bbox": [88.1, 269.14, 80.18, 145.38], - "category_id": 1, - "id": 514322, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 353.62954999999994, - "iscrowd": 0, - "image_id": 569, - "bbox": [188.63, 205.85, 30.07, 31.15], - "category_id": 38, - "id": 621381, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 128.96510000000006, - "iscrowd": 0, - "image_id": 569, - "bbox": [170.12, 216.94, 16.66, 32.58], - "category_id": 38, - "id": 622837, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 241.56149999999988, - "iscrowd": 0, - "image_id": 569, - "bbox": [145.5, 229.28, 22.99, 23.7], - "category_id": 38, - "id": 1465067, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 175.20920000000004, - "iscrowd": 0, - "image_id": 569, - "bbox": [134.91, 239.77, 25.66, 23.29], - "category_id": 38, - "id": 1465074, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 60.2735, - "iscrowd": 0, - "image_id": 589, - "bbox": [463.86, 229.41, 18.75, 6.3], - "category_id": 34, - "id": 605219, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 8819.9511, - "iscrowd": 0, - "image_id": 589, - "bbox": [347.91, 184.57, 145.43, 184.29], - "category_id": 1, - "id": 2150702, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 650.8376999999992, - "iscrowd": 0, - "image_id": 590, - "bbox": [75.87, 295.01, 85.2, 11.57], - "category_id": 81, - "id": 1129157, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1836.003549999999, - "iscrowd": 0, - "image_id": 590, - "bbox": [73.0, 292.99, 92.87, 27.6], - "category_id": 51, - "id": 1898065, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 11235.0136, - "iscrowd": 0, - "image_id": 599, - "bbox": [528.37, 5.48, 111.33, 237.26], - "category_id": 64, - "id": 21785, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 73955.45975, - "iscrowd": 0, - "image_id": 599, - "bbox": [0.92, 37.13, 412.5, 365.75], - "category_id": 17, - "id": 50915, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 131019.11909999992, - "iscrowd": 0, - "image_id": 599, - "bbox": [0.0, 1.83, 619.65, 400.9], - "category_id": 63, - "id": 98022, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 7752.206149999998, - "iscrowd": 0, - "image_id": 599, - "bbox": [439.01, 198.19, 179.26, 87.8], - "category_id": 75, - "id": 1109665, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 4869.7, - "iscrowd": 0, - "image_id": 599, - "bbox": [389.58, 167.29, 198.0, 60.5], - "category_id": 75, - "id": 1111738, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 12582.159850000002, - "iscrowd": 0, - "image_id": 623, - "bbox": [271.29, 72.62, 103.71, 238.38], - "category_id": 15, - "id": 576293, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 99299.13180000002, - "iscrowd": 0, - "image_id": 623, - "bbox": [1.12, 31.46, 355.06, 462.92], - "category_id": 88, - "id": 1160863, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 12816.989199999996, - "iscrowd": 0, - "image_id": 623, - "bbox": [273.62, 62.92, 99.62, 239.84], - "category_id": 62, - "id": 1587299, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 47312.3003, - "iscrowd": 0, - "image_id": 623, - "bbox": [162.34, 1.3, 211.69, 490.91], - "category_id": 1, - "id": 2155793, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 1314.2529000000002, - "iscrowd": 0, - "image_id": 626, - "bbox": [312.52, 124.36, 41.32, 42.47], - "category_id": 85, - "id": 337054, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 643.4670499999993, - "iscrowd": 0, - "image_id": 626, - "bbox": [396.15, 129.71, 20.88, 46.91], - "category_id": 85, - "id": 340215, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 64019.87940000001, - "iscrowd": 0, - "image_id": 632, - "bbox": [3.27, 266.85, 401.23, 208.25], - "category_id": 65, - "id": 315724, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 2464.9330500000005, - "iscrowd": 0, - "image_id": 632, - "bbox": [183.36, 136.56, 60.78, 92.39], - "category_id": 64, - "id": 1610466, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 7034.62185, - "iscrowd": 0, - "image_id": 632, - "bbox": [347.35, 212.37, 82.51, 143.0], - "category_id": 64, - "id": 1952354, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 203.6632999999997, - "iscrowd": 0, - "image_id": 632, - "bbox": [455.98, 192.5, 8.57, 35.59], - "category_id": 84, - "id": 1657298, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 214.5320999999999, - "iscrowd": 0, - "image_id": 632, - "bbox": [453.31, 252.97, 8.02, 33.93], - "category_id": 84, - "id": 1660743, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 179.1241999999999, - "iscrowd": 0, - "image_id": 632, - "bbox": [444.76, 297.63, 5.32, 39.68], - "category_id": 84, - "id": 1660854, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 189.13310000000044, - "iscrowd": 0, - "image_id": 632, - "bbox": [505.95, 191.02, 12.15, 36.78], - "category_id": 84, - "id": 1660921, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 91.54300000000008, - "iscrowd": 0, - "image_id": 632, - "bbox": [487.51, 199.33, 7.48, 28.05], - "category_id": 84, - "id": 1661908, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 936.6684500000003, - "iscrowd": 0, - "image_id": 632, - "bbox": [460.91, 191.67, 29.33, 36.04], - "category_id": 84, - "id": 1987085, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 245.04669999999973, - "iscrowd": 0, - "image_id": 632, - "bbox": [527.02, 248.57, 24.4, 40.43], - "category_id": 84, - "id": 1988858, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 93.38395000000153, - "iscrowd": 0, - "image_id": 632, - "bbox": [519.39, 193.43, 4.08, 34.19], - "category_id": 84, - "id": 1988994, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 106.6308000000007, - "iscrowd": 0, - "image_id": 632, - "bbox": [497.39, 55.43, 4.08, 27.36], - "category_id": 84, - "id": 1989419, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 84.2943499999996, - "iscrowd": 0, - "image_id": 632, - "bbox": [524.32, 97.38, 2.8, 37.77], - "category_id": 84, - "id": 1989610, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 188.38580000000024, - "iscrowd": 0, - "image_id": 632, - "bbox": [493.36, 155.72, 32.59, 6.36], - "category_id": 84, - "id": 1990447, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 117.46770000000046, - "iscrowd": 0, - "image_id": 632, - "bbox": [454.66, 245.27, 48.55, 12.14], - "category_id": 84, - "id": 1990614, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 163.7676500000002, - "iscrowd": 0, - "image_id": 632, - "bbox": [461.77, 253.68, 8.24, 33.31], - "category_id": 84, - "id": 2143156, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 20933, - "iscrowd": 1, - "image_id": 632, - "bbox": [416, 43, 153, 303], - "category_id": 84, - "id": 908400000632, - "ignore": 1, - "_ignore": 1 - }, - { - "area": 5184.222599999999, - "iscrowd": 0, - "image_id": 632, - "bbox": [244.82, 230.45, 104.72, 87.69], - "category_id": 62, - "id": 1947237, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 98723.40265, - "iscrowd": 0, - "image_id": 636, - "bbox": [80.72, 89.37, 265.23, 536.22], - "category_id": 70, - "id": 1093590, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 825.0993000000005, - "iscrowd": 0, - "image_id": 641, - "bbox": [115.45, 237.73, 26.07, 59.96], - "category_id": 2, - "id": 125660, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 172.86754999999988, - "iscrowd": 0, - "image_id": 641, - "bbox": [565.25, 265.02, 17.49, 21.82], - "category_id": 2, - "id": 128920, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 73133.99645000002, - "iscrowd": 0, - "image_id": 641, - "bbox": [142.35, 100.03, 417.42, 228.9], - "category_id": 6, - "id": 165264, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 87.71880000000019, - "iscrowd": 0, - "image_id": 641, - "bbox": [578.29, 233.52, 11.19, 13.08], - "category_id": 1, - "id": 199390, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 264.2382000000007, - "iscrowd": 0, - "image_id": 641, - "bbox": [565.24, 240.92, 17.46, 34.38], - "category_id": 1, - "id": 213333, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 81.57804999999993, - "iscrowd": 0, - "image_id": 641, - "bbox": [596.87, 232.88, 9.74, 13.22], - "category_id": 1, - "id": 221583, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 113.6214499999992, - "iscrowd": 0, - "image_id": 641, - "bbox": [555.69, 231.63, 7.03, 22.85], - "category_id": 1, - "id": 222094, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 93.76640000000037, - "iscrowd": 0, - "image_id": 641, - "bbox": [463.68, 225.62, 5.04, 26.32], - "category_id": 1, - "id": 233297, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 70.16879999999995, - "iscrowd": 0, - "image_id": 641, - "bbox": [606.61, 231.89, 7.13, 14.45], - "category_id": 1, - "id": 1693001, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 358.5251500000001, - "iscrowd": 0, - "image_id": 641, - "bbox": [26.91, 207.55, 29.39, 23.0], - "category_id": 1, - "id": 1695641, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 336.1246500000002, - "iscrowd": 0, - "image_id": 641, - "bbox": [3.82, 209.9, 20.4, 22.96], - "category_id": 1, - "id": 1696414, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 63.82190000000003, - "iscrowd": 0, - "image_id": 641, - "bbox": [0.0, 220.97, 6.32, 18.94], - "category_id": 1, - "id": 1700346, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 2733.7126500000004, - "iscrowd": 0, - "image_id": 661, - "bbox": [85.11, 4.42, 111.24, 44.67], - "category_id": 77, - "id": 324838, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 68431.64160000002, - "iscrowd": 0, - "image_id": 661, - "bbox": [58.15, 45.37, 337.07, 289.04], - "category_id": 54, - "id": 1553212, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 72647.79235000008, - "iscrowd": 0, - "image_id": 675, - "bbox": [247.71, 81.3, 392.29, 391.6], - "category_id": 17, - "id": 46990, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 34543.32345000001, - "iscrowd": 0, - "image_id": 675, - "bbox": [330.07, 212.49, 308.49, 262.12], - "category_id": 65, - "id": 317677, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 702.4128000000001, - "iscrowd": 0, - "image_id": 675, - "bbox": [99.84, 232.35, 34.79, 25.58], - "category_id": 77, - "id": 323793, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 5433.519349999999, - "iscrowd": 0, - "image_id": 675, - "bbox": [245.34, 209.84, 69.65, 98.5], - "category_id": 47, - "id": 677699, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 3709.5872499999996, - "iscrowd": 0, - "image_id": 675, - "bbox": [147.74, 231.28, 56.88, 73.37], - "category_id": 47, - "id": 681687, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1971.8176500000006, - "iscrowd": 0, - "image_id": 675, - "bbox": [164.37, 179.04, 46.55, 90.39], - "category_id": 44, - "id": 1868849, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 312.3212500000009, - "iscrowd": 0, - "image_id": 692, - "bbox": [319.39, 263.78, 37.77, 33.79], - "category_id": 90, - "id": 341792, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 265.0874000000003, - "iscrowd": 0, - "image_id": 692, - "bbox": [382.0, 338.04, 22.31, 29.38], - "category_id": 90, - "id": 1997666, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 84122.97055000001, - "iscrowd": 0, - "image_id": 692, - "bbox": [189.42, 30.26, 429.41, 428.34], - "category_id": 1, - "id": 472014, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 43507.77150000001, - "iscrowd": 0, - "image_id": 692, - "bbox": [209.87, 129.27, 307.8, 343.32], - "category_id": 1, - "id": 478463, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 29550.117049999993, - "iscrowd": 0, - "image_id": 693, - "bbox": [334.71, 38.47, 173.12, 316.43], - "category_id": 1, - "id": 439854, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 8896.383499999994, - "iscrowd": 0, - "image_id": 693, - "bbox": [412.64, 193.67, 125.51, 198.6], - "category_id": 41, - "id": 639042, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 13426.686899999992, - "iscrowd": 0, - "image_id": 693, - "bbox": [1.13, 190.22, 247.97, 137.01], - "category_id": 41, - "id": 642848, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 20990.221149999998, - "iscrowd": 0, - "image_id": 693, - "bbox": [0.96, 220.25, 236.6, 190.44], - "category_id": 41, - "id": 645859, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 5418.764650000001, - "iscrowd": 0, - "image_id": 693, - "bbox": [167.19, 19.83, 125.4, 153.27], - "category_id": 41, - "id": 646086, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1914.639449999999, - "iscrowd": 0, - "image_id": 693, - "bbox": [217.24, 48.93, 91.56, 89.91], - "category_id": 41, - "id": 646287, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1609.8064499999991, - "iscrowd": 0, - "image_id": 693, - "bbox": [236.35, 0.0, 88.94, 77.36], - "category_id": 41, - "id": 1473659, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 9259.03645, - "iscrowd": 0, - "image_id": 693, - "bbox": [66.7, 92.27, 192.32, 124.51], - "category_id": 41, - "id": 1860388, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 10227.800400000002, - "iscrowd": 0, - "image_id": 693, - "bbox": [17.84, 122.61, 201.02, 142.72], - "category_id": 41, - "id": 1860623, - "ignore": 0, - "_ignore": 0 - }, - { - "area": 5918.660449999999, - "iscrowd": 0, - "image_id": 693, - "bbox": [108.07, 58.11, 156.78, 130.17], - "category_id": 41, - "id": 1861718, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1286.6444000000001, - "iscrowd": 0, - "image_id": 693, - "bbox": [222.46, 36.1, 71.24, 78.42], - "category_id": 41, - "id": 1861777, - "ignore": 0, - "_ignore": 1 - }, - { - "area": 1369.6453499999998, - "iscrowd": 0, - "image_id": 693, - "bbox": [217.87, 0.0, 82.98, 64.55], - "category_id": 41, - "id": 1861873, - "ignore": 0, - "_ignore": 1 - } - ], - "categories": [ - { - "supercategory": "person", - "id": 1, - "name": "person" - }, - { - "supercategory": "vehicle", - "id": 2, - "name": "bicycle" - }, - { - "supercategory": "vehicle", - "id": 3, - "name": "car" - }, - { - "supercategory": "vehicle", - "id": 4, - "name": "motorcycle" - }, - { - "supercategory": "vehicle", - "id": 5, - "name": "airplane" - }, - { - "supercategory": "vehicle", - "id": 6, - "name": "bus" - }, - { - "supercategory": "vehicle", - "id": 7, - "name": "train" - }, - { - "supercategory": "vehicle", - "id": 8, - "name": "truck" - }, - { - "supercategory": "vehicle", - "id": 9, - "name": "boat" - }, - { - "supercategory": "outdoor", - "id": 10, - "name": "traffic light" - }, - { - "supercategory": "outdoor", - "id": 11, - "name": "fire hydrant" - }, - { - "supercategory": "outdoor", - "id": 13, - "name": "stop sign" - }, - { - "supercategory": "outdoor", - "id": 14, - "name": "parking meter" - }, - { - "supercategory": "outdoor", - "id": 15, - "name": "bench" - }, - { - "supercategory": "animal", - "id": 16, - "name": "bird" - }, - { - "supercategory": "animal", - "id": 17, - "name": "cat" - }, - { - "supercategory": "animal", - "id": 18, - "name": "dog" - }, - { - "supercategory": "animal", - "id": 19, - "name": "horse" - }, - { - "supercategory": "animal", - "id": 20, - "name": "sheep" - }, - { - "supercategory": "animal", - "id": 21, - "name": "cow" - }, - { - "supercategory": "animal", - "id": 22, - "name": "elephant" - }, - { - "supercategory": "animal", - "id": 23, - "name": "bear" - }, - { - "supercategory": "animal", - "id": 24, - "name": "zebra" - }, - { - "supercategory": "animal", - "id": 25, - "name": "giraffe" - }, - { - "supercategory": "accessory", - "id": 27, - "name": "backpack" - }, - { - "supercategory": "accessory", - "id": 28, - "name": "umbrella" - }, - { - "supercategory": "accessory", - "id": 31, - "name": "handbag" - }, - { - "supercategory": "accessory", - "id": 32, - "name": "tie" - }, - { - "supercategory": "accessory", - "id": 33, - "name": "suitcase" - }, - { - "supercategory": "sports", - "id": 34, - "name": "frisbee" - }, - { - "supercategory": "sports", - "id": 35, - "name": "skis" - }, - { - "supercategory": "sports", - "id": 36, - "name": "snowboard" - }, - { - "supercategory": "sports", - "id": 37, - "name": "sports ball" - }, - { - "supercategory": "sports", - "id": 38, - "name": "kite" - }, - { - "supercategory": "sports", - "id": 39, - "name": "baseball bat" - }, - { - "supercategory": "sports", - "id": 40, - "name": "baseball glove" - }, - { - "supercategory": "sports", - "id": 41, - "name": "skateboard" - }, - { - "supercategory": "sports", - "id": 42, - "name": "surfboard" - }, - { - "supercategory": "sports", - "id": 43, - "name": "tennis racket" - }, - { - "supercategory": "kitchen", - "id": 44, - "name": "bottle" - }, - { - "supercategory": "kitchen", - "id": 46, - "name": "wine glass" - }, - { - "supercategory": "kitchen", - "id": 47, - "name": "cup" - }, - { - "supercategory": "kitchen", - "id": 48, - "name": "fork" - }, - { - "supercategory": "kitchen", - "id": 49, - "name": "knife" - }, - { - "supercategory": "kitchen", - "id": 50, - "name": "spoon" - }, - { - "supercategory": "kitchen", - "id": 51, - "name": "bowl" - }, - { - "supercategory": "food", - "id": 52, - "name": "banana" - }, - { - "supercategory": "food", - "id": 53, - "name": "apple" - }, - { - "supercategory": "food", - "id": 54, - "name": "sandwich" - }, - { - "supercategory": "food", - "id": 55, - "name": "orange" - }, - { - "supercategory": "food", - "id": 56, - "name": "broccoli" - }, - { - "supercategory": "food", - "id": 57, - "name": "carrot" - }, - { - "supercategory": "food", - "id": 58, - "name": "hot dog" - }, - { - "supercategory": "food", - "id": 59, - "name": "pizza" - }, - { - "supercategory": "food", - "id": 60, - "name": "donut" - }, - { - "supercategory": "food", - "id": 61, - "name": "cake" - }, - { - "supercategory": "furniture", - "id": 62, - "name": "chair" - }, - { - "supercategory": "furniture", - "id": 63, - "name": "couch" - }, - { - "supercategory": "furniture", - "id": 64, - "name": "potted plant" - }, - { - "supercategory": "furniture", - "id": 65, - "name": "bed" - }, - { - "supercategory": "furniture", - "id": 67, - "name": "dining table" - }, - { - "supercategory": "furniture", - "id": 70, - "name": "toilet" - }, - { - "supercategory": "electronic", - "id": 72, - "name": "tv" - }, - { - "supercategory": "electronic", - "id": 73, - "name": "laptop" - }, - { - "supercategory": "electronic", - "id": 74, - "name": "mouse" - }, - { - "supercategory": "electronic", - "id": 75, - "name": "remote" - }, - { - "supercategory": "electronic", - "id": 76, - "name": "keyboard" - }, - { - "supercategory": "electronic", - "id": 77, - "name": "cell phone" - }, - { - "supercategory": "appliance", - "id": 78, - "name": "microwave" - }, - { - "supercategory": "appliance", - "id": 79, - "name": "oven" - }, - { - "supercategory": "appliance", - "id": 80, - "name": "toaster" - }, - { - "supercategory": "appliance", - "id": 81, - "name": "sink" - }, - { - "supercategory": "appliance", - "id": 82, - "name": "refrigerator" - }, - { - "supercategory": "indoor", - "id": 84, - "name": "book" - }, - { - "supercategory": "indoor", - "id": 85, - "name": "clock" - }, - { - "supercategory": "indoor", - "id": 86, - "name": "vase" - }, - { - "supercategory": "indoor", - "id": 87, - "name": "scissors" - }, - { - "supercategory": "indoor", - "id": 88, - "name": "teddy bear" - }, - { - "supercategory": "indoor", - "id": 89, - "name": "hair drier" - }, - { - "supercategory": "indoor", - "id": 90, - "name": "toothbrush" - } - ], - "images": [ - { - "id": 257 - }, - { - "id": 641 - }, - { - "id": 387 - }, - { - "id": 133 - }, - { - "id": 136 - }, - { - "id": 520 - }, - { - "id": 139 - }, - { - "id": 395 - }, - { - "id": 397 - }, - { - "id": 143 - }, - { - "id": 400 - }, - { - "id": 661 - }, - { - "id": 536 - }, - { - "id": 283 - }, - { - "id": 285 - }, - { - "id": 415 - }, - { - "id": 544 - }, - { - "id": 675 - }, - { - "id": 164 - }, - { - "id": 294 - }, - { - "id": 42 - }, - { - "id": 428 - }, - { - "id": 564 - }, - { - "id": 692 - }, - { - "id": 693 - }, - { - "id": 569 - }, - { - "id": 192 - }, - { - "id": 196 - }, - { - "id": 328 - }, - { - "id": 73 - }, - { - "id": 74 - }, - { - "id": 459 - }, - { - "id": 589 - }, - { - "id": 590 - }, - { - "id": 208 - }, - { - "id": 338 - }, - { - "id": 599 - }, - { - "id": 472 - }, - { - "id": 474 - }, - { - "id": 357 - }, - { - "id": 486 - }, - { - "id": 359 - }, - { - "id": 360 - }, - { - "id": 488 - }, - { - "id": 623 - }, - { - "id": 241 - }, - { - "id": 626 - }, - { - "id": 502 - }, - { - "id": 632 - }, - { - "id": 636 - } - ] -} From 73f3a3fb17b4fe88f97ed6dbdece3f4d43123f7f Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Sat, 21 Aug 2021 13:37:14 +0530 Subject: [PATCH 31/33] Dict of list input --- ignite/metrics/mean_average_precision.py | 76 ++++++++++--------- .../metrics/test_mean_average_precision.py | 4 +- 2 files changed, 41 insertions(+), 39 deletions(-) diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index 210dceb30f12..54ca4c8dd2f8 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -177,55 +177,57 @@ def _check_object_area_ranges(self) -> None: ) @reinit__is_reduced - def update(self, output: Tuple[Dict, Dict]) -> None: + def update(self, outputs: Tuple[Dict, Dict]) -> None: - y_pred_img, y_img = output + for output in outputs: - assert y_img["image_id"] == y_pred_img["image_id"] + y_pred_img, y_img = output - if y_img["image_id"] in self.image_ids: - raise ValueError("Detections for this image_id are already evaluated.") + assert y_img["image_id"] == y_pred_img["image_id"] - self.image_ids.add(y_img["image_id"]) + if y_img["image_id"] in self.image_ids: + raise ValueError("Detections for this image_id are already evaluated.") - y_category_dict = defaultdict(list) - for i, category_id in enumerate(y_img["category_id"]): - y_category_dict[int(category_id)].append(i) + self.image_ids.add(y_img["image_id"]) - y_pred_category_dict = defaultdict(list) - for i, category_id in enumerate(y_pred_img["category_id"]): - y_pred_category_dict[int(category_id)].append(i) + y_category_dict = defaultdict(list) + for i, category_id in enumerate(y_img["category_id"]): + y_category_dict[int(category_id)].append(i) - categories = torch.unique(torch.cat([y_img["category_id"], y_pred_img["category_id"]])).tolist() - self.category_ids.update(categories) + y_pred_category_dict = defaultdict(list) + for i, category_id in enumerate(y_pred_img["category_id"]): + y_pred_category_dict[int(category_id)].append(i) - for category in categories: - y_pred_ind = y_pred_category_dict[category] - y_pred_bbox = y_pred_img["bbox"][y_pred_ind] - y_pred_score = y_pred_img["score"][y_pred_ind] - y_pred_id = y_pred_img["id"][y_pred_ind] - y_pred_area = (y_pred_img["bbox"][:, 2] * y_pred_img["bbox"][:, 3])[y_pred_ind] + categories = torch.unique(torch.cat([y_img["category_id"], y_pred_img["category_id"]])).tolist() + self.category_ids.update(categories) - sorted_y_pred_bbox = y_pred_bbox[torch.argsort(-y_pred_img["score"][y_pred_ind])] + for category in categories: + y_pred_ind = y_pred_category_dict[category] + y_pred_bbox = y_pred_img["bbox"][y_pred_ind] + y_pred_score = y_pred_img["score"][y_pred_ind] + y_pred_id = y_pred_img["id"][y_pred_ind] + y_pred_area = (y_pred_img["bbox"][:, 2] * y_pred_img["bbox"][:, 3])[y_pred_ind] - y_ind = y_category_dict[category] - y_id = y_img["id"][y_ind] - y_bbox = y_img["bbox"][y_ind] - crowd = y_img["iscrowd"][y_ind] if "iscrowd" in y_img else None - y_ignore = y_img["ignore"][y_ind] if "ignore" in y_img else torch.zeros(len(y_ind)) - y_area = y_img["area"][y_ind] if "area" in y_img else (y_img["bbox"][:, 2] * y_img["bbox"][:, 3])[y_ind] + sorted_y_pred_bbox = y_pred_bbox[torch.argsort(-y_pred_img["score"][y_pred_ind])] - ious = _iou(y_bbox, sorted_y_pred_bbox, crowd).to(self._device) - for area_rng in self.object_area_ranges: - eval_img = self._evaluate_image_matches( - [y_id, y_area, y_ignore, crowd], - [y_pred_id, y_pred_area, y_pred_score], - self.object_area_ranges[area_rng], - ious, - ) + y_ind = y_category_dict[category] + y_id = y_img["id"][y_ind] + y_bbox = y_img["bbox"][y_ind] + crowd = y_img["iscrowd"][y_ind] if "iscrowd" in y_img else None + y_ignore = y_img["ignore"][y_ind] if "ignore" in y_img else torch.zeros(len(y_ind)) + y_area = y_img["area"][y_ind] if "area" in y_img else (y_img["bbox"][:, 2] * y_img["bbox"][:, 3])[y_ind] + + ious = _iou(y_bbox, sorted_y_pred_bbox, crowd).to(self._device) + for area_rng in self.object_area_ranges: + eval_img = self._evaluate_image_matches( + [y_id, y_area, y_ignore, crowd], + [y_pred_id, y_pred_area, y_pred_score], + self.object_area_ranges[area_rng], + ious, + ) - if eval_img is not None: - self.eval_imgs[int(category), area_rng].append(eval_img) + if eval_img is not None: + self.eval_imgs[int(category), area_rng].append(eval_img) @reinit__is_reduced def reset(self) -> None: diff --git a/tests/ignite/metrics/test_mean_average_precision.py b/tests/ignite/metrics/test_mean_average_precision.py index ac2e593e9f29..09f67c195a3f 100644 --- a/tests/ignite/metrics/test_mean_average_precision.py +++ b/tests/ignite/metrics/test_mean_average_precision.py @@ -125,7 +125,7 @@ def test_against_coco_map(): img_list.add(i) for i in img_list: - mAP.update([img_dts[i], img_gts[i]]) + mAP.update([[img_dts[i], img_gts[i]]]) results = mAP.compute() @@ -142,7 +142,7 @@ def _test(metric_device): torch.manual_seed(12) def update(_, img_id): - return [img_dts[img_id], img_gts[img_id]] + return [[img_dts[img_id], img_gts[img_id]]] engine = Engine(update) From e6eed403b897cf85463dee5b293f697ee32eee1f Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Sun, 22 Aug 2021 15:46:15 +0530 Subject: [PATCH 32/33] assert changed --- ignite/metrics/mean_average_precision.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index 54ca4c8dd2f8..a515327f667f 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -87,22 +87,22 @@ class MeanAveragePrecision(Metric): # Ground Truth # [ # { - # "image_id": torch.IntTensor(B), - # "category_id": torch.IntTensor(B), - # "bbox": torch.FloatTensor(B x 4), - # "iscrowd": torch.IntTensor(B) (Optional), - # "area": torch.FloatTensor(B) (Optional), - # "ignore": torch.IntTensor(B) (Optional), + # "image_id": int, + # "category_id": torch.IntTensor(D), + # "bbox": torch.FloatTensor(D x 4), + # "iscrowd": torch.IntTensor(D) (Optional), + # "area": torch.FloatTensor(D) (Optional), + # "ignore": torch.IntTensor(D) (Optional), # } # ] # Prediction # [ # { - # "image_id": torch.IntTensor(B), - # "category_id": torch.IntTensor(B), - # "bbox": torch.FloatTensor(B x 4), - # "score": torch.FloatTensor(B), + # "image_id": int, + # "category_id": torch.IntTensor(D), + # "bbox": torch.FloatTensor(D x 4), + # "score": torch.FloatTensor(D), # } # ] @@ -183,7 +183,8 @@ def update(self, outputs: Tuple[Dict, Dict]) -> None: y_pred_img, y_img = output - assert y_img["image_id"] == y_pred_img["image_id"] + if y_img["image_id"] != y_pred_img["image_id"]: + raise ValueError("Ground Truth and Predictions should be for the same image.") if y_img["image_id"] in self.image_ids: raise ValueError("Detections for this image_id are already evaluated.") From a5710292651f4bda628aee1f7e0e7edc5c7b20a1 Mon Sep 17 00:00:00 2001 From: Arpan Parikh Date: Thu, 26 Aug 2021 21:45:29 +0530 Subject: [PATCH 33/33] removed sorting --- ignite/metrics/mean_average_precision.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ignite/metrics/mean_average_precision.py b/ignite/metrics/mean_average_precision.py index a515327f667f..674355eac4db 100644 --- a/ignite/metrics/mean_average_precision.py +++ b/ignite/metrics/mean_average_precision.py @@ -209,8 +209,6 @@ def update(self, outputs: Tuple[Dict, Dict]) -> None: y_pred_id = y_pred_img["id"][y_pred_ind] y_pred_area = (y_pred_img["bbox"][:, 2] * y_pred_img["bbox"][:, 3])[y_pred_ind] - sorted_y_pred_bbox = y_pred_bbox[torch.argsort(-y_pred_img["score"][y_pred_ind])] - y_ind = y_category_dict[category] y_id = y_img["id"][y_ind] y_bbox = y_img["bbox"][y_ind] @@ -218,7 +216,7 @@ def update(self, outputs: Tuple[Dict, Dict]) -> None: y_ignore = y_img["ignore"][y_ind] if "ignore" in y_img else torch.zeros(len(y_ind)) y_area = y_img["area"][y_ind] if "area" in y_img else (y_img["bbox"][:, 2] * y_img["bbox"][:, 3])[y_ind] - ious = _iou(y_bbox, sorted_y_pred_bbox, crowd).to(self._device) + ious = _iou(y_bbox, y_pred_bbox, crowd).to(self._device) for area_rng in self.object_area_ranges: eval_img = self._evaluate_image_matches( [y_id, y_area, y_ignore, crowd], @@ -266,6 +264,7 @@ def _evaluate_image_matches( y_pred_id = y_pred_id[y_pred_ind] y_pred_area = y_pred_area[y_pred_ind] y_pred_score = y_pred_score[y_pred_ind] + ious = ious[y_pred_ind] # Sort ious accordingly ious = ious[:, y_ind] if len(ious) > 0 else ious