| 414 | return body_bbox, head_bbox |
| 415 | |
| 416 | def load_det_boxes(self, dict_input, key_name, key_box, key_score=None, key_tag=None): |
| 417 | assert key_name in dict_input |
| 418 | if len(dict_input[key_name]) < 1: |
| 419 | return np.empty([0, 5]) |
| 420 | else: |
| 421 | assert key_box in dict_input[key_name][0] |
| 422 | if key_score: |
| 423 | assert key_score in dict_input[key_name][0] |
| 424 | if key_tag: |
| 425 | assert key_tag in dict_input[key_name][0] |
| 426 | if key_score: |
| 427 | if key_tag: |
| 428 | bboxes = np.vstack( |
| 429 | [ |
| 430 | np.hstack( |
| 431 | (rb[key_box], rb[key_score], rb[key_tag]) |
| 432 | ) for rb in dict_input[key_name] |
| 433 | ] |
| 434 | ) |
| 435 | else: |
| 436 | bboxes = np.array([(*rb[key_box], rb[key_score]) for rb in dict_input[key_name]]) |
| 437 | else: |
| 438 | if key_tag: |
| 439 | bboxes = np.vstack( |
| 440 | [np.hstack((rb[key_box], rb[key_tag])) for rb in dict_input[key_name]] |
| 441 | ) |
| 442 | else: |
| 443 | bboxes = np.vstack([rb[key_box] for rb in dict_input[key_name]]) |
| 444 | bboxes[:, 2:4] += bboxes[:, :2] |
| 445 | return bboxes |
| 446 | |
| 447 | def compare_voc(self, thres): |
| 448 | """ |