未验证 提交 3d45bee1 编写于 作者: C Chang Xu 提交者: GitHub

Fix keypoint metric (#6222)

上级 29a5c2fa
...@@ -16,6 +16,7 @@ import os ...@@ -16,6 +16,7 @@ import os
import json import json
from collections import defaultdict, OrderedDict from collections import defaultdict, OrderedDict
import numpy as np import numpy as np
import paddle
from pycocotools.coco import COCO from pycocotools.coco import COCO
from pycocotools.cocoeval import COCOeval from pycocotools.cocoeval import COCOeval
from ..modeling.keypoint_utils import oks_nms from ..modeling.keypoint_utils import oks_nms
...@@ -70,15 +71,23 @@ class KeyPointTopDownCOCOEval(object): ...@@ -70,15 +71,23 @@ class KeyPointTopDownCOCOEval(object):
self.results['all_preds'][self.idx:self.idx + num_images, :, 0: self.results['all_preds'][self.idx:self.idx + num_images, :, 0:
3] = kpts[:, :, 0:3] 3] = kpts[:, :, 0:3]
self.results['all_boxes'][self.idx:self.idx + num_images, 0:2] = inputs[ self.results['all_boxes'][self.idx:self.idx + num_images, 0:2] = inputs[
'center'].numpy()[:, 0:2] 'center'].numpy()[:, 0:2] if isinstance(
inputs['center'], paddle.Tensor) else inputs['center'][:, 0:2]
self.results['all_boxes'][self.idx:self.idx + num_images, 2:4] = inputs[ self.results['all_boxes'][self.idx:self.idx + num_images, 2:4] = inputs[
'scale'].numpy()[:, 0:2] 'scale'].numpy()[:, 0:2] if isinstance(
inputs['scale'], paddle.Tensor) else inputs['scale'][:, 0:2]
self.results['all_boxes'][self.idx:self.idx + num_images, 4] = np.prod( self.results['all_boxes'][self.idx:self.idx + num_images, 4] = np.prod(
inputs['scale'].numpy() * 200, 1) inputs['scale'].numpy() * 200,
self.results['all_boxes'][self.idx:self.idx + num_images, 1) if isinstance(inputs['scale'], paddle.Tensor) else np.prod(
5] = np.squeeze(inputs['score'].numpy()) inputs['scale'] * 200, 1)
self.results['all_boxes'][
self.idx:self.idx + num_images,
5] = np.squeeze(inputs['score'].numpy()) if isinstance(
inputs['score'], paddle.Tensor) else np.squeeze(inputs['score'])
if isinstance(inputs['im_id'], paddle.Tensor):
self.results['image_path'].extend(inputs['im_id'].numpy()) self.results['image_path'].extend(inputs['im_id'].numpy())
else:
self.results['image_path'].extend(inputs['im_id'])
self.idx += num_images self.idx += num_images
def _write_coco_keypoint_results(self, keypoints): def _write_coco_keypoint_results(self, keypoints):
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册