Skip to content

Commit 26079a7

Browse files
KSeangTankokseangvividfMasatoSaeki
authored
feat(AWML): support AWML using perception_eval (#204)
* first commit * feat: add serialization and pickling to perception frame result (#205) * Add serialization and deserialization to PerceptionFrameResult and its related dataclasses * style(pre-commit): autofix * Add serialization and deserialization to PerceptionFrameResult and its related dataclasses * Add serialization and deserialization to PerceptionFrameResult and its related dataclasses * Add serialization and deserialization to PerceptionFrameResult and its related dataclasses * Add serialization and deserialization to PerceptionFrameResult and its related dataclasses * Fix TransformDict * Fix TransformDict bug * Fix TransformDict bug * Fix target_label serialization * Fix SensingFrameResult import error * Update perception_eval/perception_eval/visualization/sensing_visualizer.py --------- Co-authored-by: kokseang <[email protected]> Co-authored-by: Yi-Hsiang Fang (Vivid) <[email protected]> * style(pre-commit): autofix * feat: add bev center distance (#206) * feat: add bev center distance Signed-off-by: vividf <[email protected]> * chore: clean code Signed-off-by: vividf <[email protected]> --------- Signed-off-by: vividf <[email protected]> * feat(AP): rewrite objects matching algo and ap calculation (#212) * feat: rewrite matching algorithm and ap calculation for calculate nuscene ap Signed-off-by: vividf <[email protected]> * chore: fix description Signed-off-by: vividf <[email protected]> * chore: raise value error if metrics config not provided Signed-off-by: vividf <[email protected]> * chore: add todo Signed-off-by: vividf <[email protected]> * chore: fix spelling error Signed-off-by: vividf <[email protected]> * chore: fix perception frame Signed-off-by: vividf <[email protected]> * chore: clean code Signed-off-by: vividf <[email protected]> * chore: constant recall 101 Signed-off-by: vividf <[email protected]> * replace str to matchingmode Signed-off-by: vividf <[email protected]> * replace more str to matchingmode Signed-off-by: vividf <[email protected]> * chore: seperate object result and object result matching Signed-off-by: vividf <[email protected]> * chore: remove unused function and remove list from function name Signed-off-by: vividf <[email protected]> * chore: remove default metric config Signed-off-by: vividf <[email protected]> * chore: better explanation for resolve label Signed-off-by: vividf <[email protected]> * chore: add TODO for suffix list Signed-off-by: vividf <[email protected]> * chore: utilize NamedTuple for clearity Signed-off-by: vividf <[email protected]> * chore: add TODO for optimizeing the matching process Signed-off-by: vividf <[email protected]> * chore: fix mathcing for iou distance Signed-off-by: vividf <[email protected]> * chore: add TODO: remove list Signed-off-by: vividf <[email protected]> * chore: clean code Signed-off-by: vividf <[email protected]> * chore: add TODO for perception frame class Signed-off-by: vividf <[email protected]> * chore: rename threshold list Signed-off-by: vividf <[email protected]> * chore: refactor matching to new fucntion Signed-off-by: vividf <[email protected]> * chore: refactor matching config map Signed-off-by: vividf <[email protected]> * chore: seperate nuscene object results Signed-off-by: vividf <[email protected]> * chore: divid nuscene results with new function Signed-off-by: vividf <[email protected]> * chore: add TODO and some comments Signed-off-by: vividf <[email protected]> * chore: move number of recall in ap class Signed-off-by: vividf <[email protected]> * chore: fix spell error Signed-off-by: vividf <[email protected]> * chore: add description for MatchingConfig Signed-off-by: vividf <[email protected]> * chore: add TODO for oop Signed-off-by: vividf <[email protected]> * chore: clean code Signed-off-by: vividf <[email protected]> * chore: add comment Signed-off-by: vividf <[email protected]> * chore: utilize default dict Signed-off-by: vividf <[email protected]> * chore: add TODO for resolve label Signed-off-by: vividf <[email protected]> * chore: rename fucntions and variables Signed-off-by: vividf <[email protected]> * chore: refactor evaluation detection function Signed-off-by: vividf <[email protected]> * chore: fix division zero Signed-off-by: vividf <[email protected]> * chore: add TODO for evaluate_detection Signed-off-by: vividf <[email protected]> * fix: fix return type Signed-off-by: vividf <[email protected]> * chore: remove unused variables Signed-off-by: vividf <[email protected]> --------- Signed-off-by: vividf <[email protected]> * fix(TestAP, TestMAP): update unit test for AP and MAP (#214) * chore: fix two tests Signed-off-by: vividf <[email protected]> * chore: fix bev center distance and center distance test Signed-off-by: vividf <[email protected]> * chore: fix iou 2d and 3d Signed-off-by: vividf <[email protected]> * chore: fix plance distance Signed-off-by: vividf <[email protected]> * chore: clean code Signed-off-by: vividf <[email protected]> * chore: update comment Signed-off-by: vividf <[email protected]> * chore: remove filter objects Signed-off-by: vividf <[email protected]> * refactor: test map Signed-off-by: vividf <[email protected]> * chore: clean code Signed-off-by: vividf <[email protected]> * chore: add more explanation Signed-off-by: vividf <[email protected]> --------- Signed-off-by: vividf <[email protected]> * refactor(mAP, nuscene_object_results): refactor mAP and nuscene object results (#215) * refactor: refactor nuscene object results and mean average precision Signed-off-by: vividf <[email protected]> * chore: update unit tests Signed-off-by: vividf <[email protected]> * chore: remove typing if it already exist in parameters Signed-off-by: vividf <[email protected]> * chore: flatten the mulitpie frames result before evaluate detection Signed-off-by: vividf <[email protected]> * chore: refactor get nuscene obejct function to class Signed-off-by: vividf <[email protected]> * chore: clean code Signed-off-by: vividf <[email protected]> * chore: structure get nuscene objects Signed-off-by: vividf <[email protected]> * chore: revert divid object since this may be delete or have big change in the future Signed-off-by: vividf <[email protected]> * chore: fix matrix Signed-off-by: vividf <[email protected]> * chore: clean code Signed-off-by: vividf <[email protected]> * chore: move to function Signed-off-by: vividf <[email protected]> * chore: add description Signed-off-by: vividf <[email protected]> * chore: fix description Signed-off-by: vividf <[email protected]> * chore: make mean function one line Signed-off-by: vividf <[email protected]> * chore: fix spell error Signed-off-by: vividf <[email protected]> * chore: utilize defaultdict(list) Signed-off-by: vividf <[email protected]> * chore: move to for loop to another function Signed-off-by: vividf <[email protected]> * chore: solve over complicated lines Signed-off-by: vividf <[email protected]> * chore: clean code with continue Signed-off-by: vividf <[email protected]> * chore: detail explanation for best match Signed-off-by: vividf <[email protected]> --------- Signed-off-by: vividf <[email protected]> * chore: clean code Signed-off-by: vividf <[email protected]> * style(pre-commit): autofix * chore: allow unknow and any for object matching Signed-off-by: vividf <[email protected]> * chore: filter nuscene object results Signed-off-by: vividf <[email protected]> * chore: add future todo Signed-off-by: vividf <[email protected]> * chore: revert to frame results Signed-off-by: vividf <[email protected]> * chore: move functool to header Signed-off-by: vividf <[email protected]> * chore: return [] for nuscene object results and move function to utils Signed-off-by: vividf <[email protected]> * chore: remove import in evaluation init Signed-off-by: vividf <[email protected]> * chore: add requirement for using allow unknown Signed-off-by: vividf <[email protected]> * chore: fix spell error Signed-off-by: vividf <[email protected]> * chore: add work in cspell Signed-off-by: vividf <[email protected]> * chore: add work in cspell Signed-off-by: vividf <[email protected]> * chore: fix naming Signed-off-by: vividf <[email protected]> * chore: refactor code Signed-off-by: vividf <[email protected]> * chore: add todo Signed-off-by: vividf <[email protected]> * chore: add none Signed-off-by: vividf <[email protected]> * chore: serialization for relative timestamps Signed-off-by: vividf <[email protected]> * chore: remove duplicated classification evaluation Signed-off-by: vividf <[email protected]> * chore: use frame.nuscene result directly Signed-off-by: vividf <[email protected]> * chore: remove typing Signed-off-by: vividf <[email protected]> * chore: check unknown Signed-off-by: vividf <[email protected]> * chore: delete wrapper Signed-off-by: vividf <[email protected]> * chore: list comprehension Signed-off-by: vividf <[email protected]> * chore: refactor match function Signed-off-by: vividf <[email protected]> * style(pre-commit): autofix * chore: fix matching method module with missing transformation Signed-off-by: vividf <[email protected]> * chore: fix error Signed-off-by: vividf <[email protected]> * feat(mAP, PassFailEvaluation): pass fail evaluation for nuscene object results and show NaN if both gt and pred number are zero (#233) * feat: pass fail evaluation for nuscene Signed-off-by: vividf <[email protected]> * chore: remove debug Signed-off-by: vividf <[email protected]> * chore: clean code Signed-off-by: vividf <[email protected]> * chore: groundtruth number is zero then set AP to NaN Signed-off-by: vividf <[email protected]> * chore: fix ap Signed-off-by: vividf <[email protected]> * chore: fix plance distance ap Signed-off-by: vividf <[email protected]> * chore: fix ap, map, matching Signed-off-by: vividf <[email protected]> * chore: clean code Signed-off-by: vividf <[email protected]> --------- Signed-off-by: vividf <[email protected]> * chore: fixing test Signed-off-by: vividf <[email protected]> * chore: fix test Signed-off-by: vividf <[email protected]> * chore: fix test Signed-off-by: vividf <[email protected]> * chore: fix more test Signed-off-by: vividf <[email protected]> * chore: fix more test Signed-off-by: vividf <[email protected]> * chore: fix readme and test Signed-off-by: vividf <[email protected]> * chore: set allow unknown to false Signed-off-by: vividf <[email protected]> * chore: pass fail nuscene modification Signed-off-by: vividf <[email protected]> * chore: unify pass fail result in same name Signed-off-by: vividf <[email protected]> * fix object results is none Signed-off-by: vividf <[email protected]> * chore: fix test Signed-off-by: vividf <[email protected]> * chore: add comment Signed-off-by: vividf <[email protected]> * chore: remove print Signed-off-by: vividf <[email protected]> * chore: raise value error if element is missed Signed-off-by: vividf <[email protected]> * feat(perception): add pass_fail_result for pickle (#235) * add pass fail result for pickle Signed-off-by: MasatoSaeki <[email protected]> * use get() method to extract dict contents Co-authored-by: Yi-Hsiang Fang (Vivid) <[email protected]> --------- Signed-off-by: MasatoSaeki <[email protected]> Co-authored-by: Yi-Hsiang Fang (Vivid) <[email protected]> --------- Signed-off-by: vividf <[email protected]> Signed-off-by: MasatoSaeki <[email protected]> Co-authored-by: kokseang <[email protected]> Co-authored-by: Yi-Hsiang Fang (Vivid) <[email protected]> Co-authored-by: vividf <[email protected]> Co-authored-by: Masato Saeki <[email protected]> Co-authored-by: MasatoSaeki <[email protected]>
1 parent 86bd389 commit 26079a7

File tree

78 files changed

+4246
-3424
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+4246
-3424
lines changed

.cspell.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"categoryarray",
2424
"categoryorder",
2525
"CENTERDISTANCE",
26+
"CENTERDISTANCEBEV",
2627
"cmake",
2728
"cmap",
2829
"colcon",
@@ -47,8 +48,10 @@
4748
"fourcc",
4849
"framealpha",
4950
"gridspec",
51+
"Groundtruth",
5052
"HOTA",
5153
"imshow",
54+
"interp",
5255
"IOUBEV",
5356
"isin",
5457
"keepdims",
@@ -84,11 +87,13 @@
8487
"nuimages",
8588
"numpy",
8689
"nusc",
90+
"nuscene",
8791
"NuScenes",
8892
"pcolormesh",
8993
"PLANEDISTANCE",
9094
"plotly",
9195
"pointcloud",
96+
"prec",
9297
"pullable",
9398
"pushable",
9499
"pydocstyle",

docs/en/perception/data_structure.md

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,16 @@ For the details, see [perception_eval/evaluation/result/perception_frame_result.
6767
'unix_time': 1624164470849887},
6868
'frame_name': '0',
6969
'metrics_score': {'detection_config': {'center_distance_thresholds': ' --- length of element 2 ---,',
70+
'center_distance_bev_thresholds': ' --- length of element 2 ---,',
7071
'iou_3d_thresholds': [' --- length of element 4 ---,'],
7172
'iou_2d_thresholds': [' --- length of element 4 ---,'],
7273
'plane_distance_thresholds': ' --- length of element 2 ---,',
7374
'target_labels': ' --- length of element 4 ---,'},
74-
'maps': ' --- length of element 6 ---,',
75+
'mean_ap_values': ' --- length of element 6 ---,',
7576
'prediction_config': None,
7677
'prediction_scores': [],
7778
'tracking_config': {'center_distance_thresholds': ' --- length of element 2 ---,',
79+
'center_distance_bev_thresholds': ' --- length of element 2 ---,',
7880
'iou_3d_thresholds': [' --- length of element 4 ---,'],
7981
'iou_2d_thresholds': [' --- length of element 4 ---,'],
8082
'plane_distance_thresholds': ' --- length of element 2 ---,',
@@ -121,7 +123,7 @@ Call `<func> get_object_results(...)` function to generate a set of matching pai
121123
For the details,see [perception_eval/evaluation/result/object_result.py](../../../perception_eval/perception_eval/evaluation/result/object_result.py)
122124

123125
```python
124-
from perception_eval.evaluation.result.object_results import get_object_results
126+
from perception_eval.evaluation.result.object_result_matching import get_object_results
125127
126128
# REQUIRED:
127129
# estimated_objects: List[ObjectType]
@@ -139,15 +141,16 @@ object_results: List[DynamicObjectWithPerceptionResult] = get_object_results(est
139141

140142
- Attributes
141143

142-
| Attributes | type | Description |
143-
| :-------------------- | :----------------------: | :------------------------------------------------------------- |
144-
| `estimated_object` | `ObjectType` | Estimation |
145-
| `ground_truth_object` | `Optional[ObjectType]` | GT object |
146-
| `is_label_correct` | `bool` | Whether the labels which estimation and GT object has are same |
147-
| `center_distance` | `CenterDistanceMatching` | Distance of center between two objects |
148-
| `plane_distance` | `PlaneDistanceMatching` | Distance of the nearest plane between two objects |
149-
| `iou_2d` | `IOU2DMatching` | IOU score in 2-dimensions |
150-
| `iou_3d` | `IOU3dMatching` | IOU score in 3-dimensions |
144+
| Attributes | type | Description |
145+
| :-------------------- | :-------------------------: | :------------------------------------------------------------- |
146+
| `estimated_object` | `ObjectType` | Estimation |
147+
| `ground_truth_object` | `Optional[ObjectType]` | GT object |
148+
| `is_label_correct` | `bool` | Whether the labels which estimation and GT object has are same |
149+
| `center_distance` | `CenterDistanceMatching` | Distance of center between two objects |
150+
| `center_distance_bev` | `CenterDistanceBEVMatching` | BEV distance of center between two 3D objects |
151+
| `plane_distance` | `PlaneDistanceMatching` | Distance of the nearest plane between two objects |
152+
| `iou_2d` | `IOU2DMatching` | IOU score in 2-dimensions |
153+
| `iou_3d` | `IOU3dMatching` | IOU score in 3-dimensions |
151154

152155
- Methods
153156

docs/en/perception/design.md

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,12 +85,13 @@
8585

8686
- For `classification2d`, there is no need to specify the following parameters.
8787

88-
| Arguments | type | Mandatory | Description |
89-
| :--------------------------- | :-----------: | :-------: | :------------------------------------- |
90-
| `center_distance_thresholds` | `List[float]` | Yes | Thresholds of center distance |
91-
| `plane_distance_thresholds` | `List[float]` | Yes | Thresholds of plane distance (Only 3D) |
92-
| `iou_2d_thresholds` | `List[float]` | Yes | Thresholds of IoU in 2D |
93-
| `iou_3d_thresholds` | `List[float]` | Yes | Thresholds of IoU in 3D (Only 3D) |
88+
| Arguments | type | Mandatory | Description |
89+
| :------------------------------- | :-----------: | :-------: | :------------------------------------- |
90+
| `center_distance_thresholds` | `List[float]` | Yes | Thresholds of center distance |
91+
| `center_distance_bev_thresholds` | `List[float]` | Yes | Thresholds of center distance in BEV |
92+
| `plane_distance_thresholds` | `List[float]` | Yes | Thresholds of plane distance (Only 3D) |
93+
| `iou_2d_thresholds` | `List[float]` | Yes | Thresholds of IoU in 2D |
94+
| `iou_3d_thresholds` | `List[float]` | Yes | Thresholds of IoU in 3D (Only 3D) |
9495

9596
- **Error cases in setting parameters**
9697

@@ -108,6 +109,7 @@
108109
"merge_similar_labels": False,
109110
"allow_matching_unknown": True,
110111
"center_distance_thresholds": [[1.0, 1.0, 1.0, 1.0]],
112+
"center_distance_bev_thresholds": [[1.0, 1.0, 1.0, 1.0]],
111113
"plane_distance_thresholds": [2.0, 3.0],
112114
"iou_2d_thresholds": [0.5],
113115
"iou_3d_thresholds": [0.5],
@@ -138,6 +140,7 @@
138140
"merge_similar_labels": False,
139141
"allow_matching_unknown": True,
140142
"center_distance_thresholds": [[1.0, 1.0, 1.0, 1.0]],
143+
"center_distance_bev_thresholds": [[1.0, 1.0, 1.0, 1.0]],
141144
"plane_distance_thresholds": [2.0, 3.0],
142145
"iou_2d_thresholds": [0.5],
143146
"iou_3d_thresholds": [0.5],
@@ -165,6 +168,7 @@
165168
"merge_similar_labels": False,
166169
"allow_matching_unknown": True,
167170
"center_distance_thresholds": [[1.0, 1.0, 1.0, 1.0]],
171+
"center_distance_bev_thresholds": [[1.0, 1.0, 1.0, 1.0]],
168172
"plane_distance_thresholds": [2.0, 3.0],
169173
"iou_2d_thresholds": [0.5],
170174
"iou_3d_thresholds": [0.5],
@@ -190,6 +194,7 @@
190194
"merge_similar_labels": False,
191195
"allow_matching_unknown": True,
192196
"center_distance_thresholds": [[1.0, 1.0, 1.0, 1.0]],
197+
"center_distance_bev_thresholds": [[1.0, 1.0, 1.0, 1.0]],
193198
"plane_distance_thresholds": [2.0, 3.0],
194199
"iou_2d_thresholds": [0.5],
195200
"iou_3d_thresholds": [0.5],
@@ -217,6 +222,7 @@
217222
"merge_similar_labels": False,
218223
"allow_matching_unknown": True,
219224
"center_distance_thresholds": [[1.0, 1.0, 1.0, 1.0]],
225+
"center_distance_bev_thresholds": [[1.0, 1.0, 1.0, 1.0]],
220226
"plane_distance_thresholds": [2.0, 3.0],
221227
"iou_2d_thresholds": [0.5],
222228
"iou_3d_thresholds": [0.5],
@@ -235,7 +241,7 @@
235241
### `<class> CriticalObjectFilterConfig(...)`
236242

237243
- An interface to determine target objects dynamically
238-
- Specify in every frame, not in initialization of `PerceptionEvaluationManger`
244+
- Specify in every frame, not in initialization of `PerceptionEvaluationManager`
239245
- See [perception_eval/evaluation/result/perception_frame_config](../../../perception_eval/perception_eval/evaluation/result/perception_frame_config.py)
240246

241247
| Arguments | type | Mandatory | Description |

docs/en/perception/metrics.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,13 @@
3636
```yaml
3737
[2022-08-09 18:56:45,237] [INFO] [perception_lsim.py:214 <module>] Detection Metrics example (final_metric_score):
3838
{'detection_config': {'center_distance_thresholds': [[1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0]],
39+
'center_distance_bev_thresholds': [[1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0]],
3940
'iou_3d_thresholds': [[0.5, 0.5, 0.5, 0.5]],
4041
'iou_bev_thresholds': [[0.5, 0.5, 0.5, 0.5]],
4142
'plane_distance_thresholds': [[2.0, 2.0, 2.0, 2.0], [3.0, 3.0, 3.0, 3.0]],
4243
'target_labels': ['AutowareLabel.CAR', 'AutowareLabel.BICYCLE', 'AutowareLabel.PEDESTRIAN',
4344
'AutowareLabel.MOTORBIKE']},
44-
'maps': ' --- length of element 6 ---,',
45+
'mean_ap_values': ' --- length of element 6 ---,',
4546
'num_ground_truth_dict': {<AutowareLabel.PEDESTRIAN: 'pedestrian'>: 7657,
4647
<AutowareLabel.MOTORBIKE: 'motorbike'>: 335,
4748
<AutowareLabel.BICYCLE: 'bicycle'>: 1319,
@@ -53,12 +54,13 @@
5354

5455
[2022-08-09 18:57:53,888] [INFO] [perception_lsim.py:270 <module>] Tracking Metrics example (tracking_final_metric_score):
5556
{'detection_config': {'center_distance_thresholds': [[1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0]],
57+
'center_distance_bev_thresholds': [[1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0]],
5658
'iou_3d_thresholds': [[0.5, 0.5, 0.5, 0.5]],
5759
'iou_bev_thresholds': [[0.5, 0.5, 0.5, 0.5]],
5860
'plane_distance_thresholds': [[2.0, 2.0, 2.0, 2.0], [3.0, 3.0, 3.0, 3.0]],
5961
'target_labels': ['AutowareLabel.CAR', 'AutowareLabel.BICYCLE', 'AutowareLabel.PEDESTRIAN',
6062
'AutowareLabel.MOTORBIKE']},
61-
'maps': ' --- length of element 6 ---,',
63+
'mean_ap_values': ' --- length of element 6 ---,',
6264
'num_ground_truth_dict': {<AutowareLabel.PEDESTRIAN: 'pedestrian'>: 7657,
6365
<AutowareLabel.MOTORBIKE: 'motorbike'>: 335,
6466
<AutowareLabel.BICYCLE: 'bicycle'>: 1319,
@@ -101,7 +103,7 @@
101103
<img src="../../fig/perception/pr-curve_interpolate.jpeg" width=480 >
102104

103105
```yaml
104-
[2022-08-09 18:56:45,238] [INFO] [perception_lsim.py:220 <module>] mAP result example (final_metric_score.maps[0].aps[0]):
106+
[2022-08-09 18:56:45,238] [INFO] [perception_lsim.py:220 <module>] mAP result example (final_metric_score.mean_ap_values[0].aps[0]):
105107
{'aphs': [{'ap': 0.0,
106108
'fp_list': ' --- length of element 3768 ---,',
107109
'matching_average': 2.3086792761230375,

docs/en/sensing/design.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
About coordinate system, see [docs/perception/design.md](../perception/design.md)
66

7-
### `<class> SensingEvaluationManger(...)`
7+
### `<class> SensingEvaluationManager(...)`
88

99
- A class to execute sensing evaluation.
1010
- This is constructed by `SensingEvaluationConfig`
@@ -43,4 +43,4 @@ evaluation_config_dict: [Dict[str, Any]] = {
4343

4444
#### Execute evaluation
4545

46-
- Evaluate in every frame : `SensingEvaluationManger()::add_frame_result()`
46+
- Evaluate in every frame : `SensingEvaluationManager()::add_frame_result()`

docs/ja/contribution.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
│   ├── t4dataset
4747
│   │   ├── annotation
4848
│   │   ├── data
49-
│   │   ├── maps
49+
│   │   ├── mean_ap_values
5050
│   │   ├── ros2bag
5151
│   │   ├── scenario.yaml
5252
│   │   └── status.json

docs/ja/perception/data_structure.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@
8484
'iou_2d_thresholds': [' --- length of element 4 ---,'],
8585
'plane_distance_thresholds': ' --- length of element 2 ---,',
8686
'target_labels': ' --- length of element 4 ---,'},
87-
'maps': ' --- length of element 6 ---,',
87+
'mean_ap_values': ' --- length of element 6 ---,',
8888
'prediction_config': None,
8989
'prediction_scores': [],
9090
'tracking_config': {'center_distance_thresholds': ' --- length of element 2 ---,',
@@ -132,7 +132,7 @@
132132
推定オブジェクトの集合`List[ObjectType]`と GT オブジェクトの集合`List[ObjectType]`からマッチングペアの集合`List[DynamicObjectWithPerceptionResult]`を得るには,`get_object_results()`関数を使う.
133133

134134
```python
135-
from perception_eval.evaluation.result.object_results import get_object_results
135+
from perception_eval.evaluation.result.object_result_matching import get_object_results
136136
137137
# REQUIRED:
138138
# estimated_objects: List[ObjectType]
@@ -150,15 +150,16 @@ object_results: List[DynamicObjectWithPerceptionResult] = get_object_results(est
150150

151151
- Attributes
152152

153-
| Attributes | type | Description |
154-
| :-------------------- | :----------------------: | :--------------------------------------------------------------- |
155-
| `estimated_object` | `ObjectType` | 推定オブジェクト |
156-
| `ground_truth_object` | `Optional[ObjectType]` | GT オブジェクト |
157-
| `is_label_correct` | `bool` | 推定オブジェクトと GT オブジェクトのラベルが同一かどうかのフラグ |
158-
| `center_distance` | `CenterDistanceMatching` | 中心間距離 |
159-
| `plane_distance` | `PlaneDistanceMatching` | 面距離 |
160-
| `iou_2d` | `IOU2dMatching` | 2D の IOU (3D オブジェクトの場合は BEV) |
161-
| `iou_3d` | `IOU3dMatching` | 3D の IOU |
153+
| Attributes | type | Description |
154+
| :-------------------- | :-------------------------: | :--------------------------------------------------------------- |
155+
| `estimated_object` | `ObjectType` | 推定オブジェクト |
156+
| `ground_truth_object` | `Optional[ObjectType]` | GT オブジェクト |
157+
| `is_label_correct` | `bool` | 推定オブジェクトと GT オブジェクトのラベルが同一かどうかのフラグ |
158+
| `center_distance` | `CenterDistanceMatching` | 中心間距離 |
159+
| `center_distance_bev` | `CenterDistanceBEVMatching` | 中心の BEV 距離 |
160+
| `plane_distance` | `PlaneDistanceMatching` | 面距離 |
161+
| `iou_2d` | `IOU2dMatching` | 2D の IOU (3D オブジェクトの場合は BEV) |
162+
| `iou_3d` | `IOU3dMatching` | 3D の IOU |
162163

163164
- Methods
164165

0 commit comments

Comments
 (0)