|
a |
|
b/src/evaluation/README.md |
|
|
1 |
# Error Evaluation |
|
|
2 |
|
|
|
3 |
### 2D Ground-Truth Data: |
|
|
4 |
- Prepare the ground-truth pixel coordinates in a file `subject_2D_gt.xlsx`. |
|
|
5 |
- Data should include subject name, three targets' pixel coordinates in both cameras. |
|
|
6 |
- Data should be formatted as follows, for example: |
|
|
7 |
|
|
|
8 |
| Name | target1_cam1 | target1_cam2 | target2_cam1 | target2_cam2 |target4_cam1 | target4_cam2 | |
|
|
9 |
| :----:| :----: | :----: | :----: | :----: | :----: | :----: | |
|
|
10 |
| John Doe | (100, 100) | (100, 100) | (200, 200) | (200, 200) | (400, 400) | (400, 400) | |
|
|
11 |
|
|
|
12 |
### Compute Ground-Truth Pose: |
|
|
13 |
- `compute_gt_position.py`: compute three sets of 3D ground-truth position with three methods: |
|
|
14 |
1. Method 1: Use camera 1's data only. |
|
|
15 |
2. Method 2: Use camera 2's data only. |
|
|
16 |
3. Method 3: Use both cameras' data. |
|
|
17 |
- `compute_gt_position_diff.py`: compute the euclidean distance between each pair of corresponding 3D ground-truth positions computed by the above three methods. |
|
|
18 |
- `compute_gt_normal.py`: compute the ground-truth normal vectors based on the 3D ground-truth positions. |
|
|
19 |
|
|
|
20 |
### Compute Error: |
|
|
21 |
- `compute_target_normal.py`: compute the predicted target normal vector, based on the predicted target positions. |
|
|
22 |
- `compute_position_error.py`: compute 3D position error, by the euclidean distance between the predicted position and the ground-truth position. |
|
|
23 |
- `compute_normal_error.py`: compute 3D orientation error, by the angle difference between the predicted normal vector and the ground-truth normal vector. |
|
|
24 |
|
|
|
25 |
### K-fold Evaluation: |
|
|
26 |
- `k_fold_success_rate.py`: Compute success rate mean & std for all thresholds with K-fold validation. |
|
|
27 |
- `k_fold_validation.py`: K-fold cross validation for the ratio model |