Spaces:
Sleeping
Sleeping
Victoria Oberascher
commited on
Commit
·
7da121b
1
Parent(s):
5d7bacb
update readme
Browse files
README.md
CHANGED
|
@@ -3,7 +3,7 @@ title: horizon-metrics
|
|
| 3 |
tags:
|
| 4 |
- evaluate
|
| 5 |
- metric
|
| 6 |
-
description: "
|
| 7 |
sdk: gradio
|
| 8 |
sdk_version: 3.19.1
|
| 9 |
app_file: app.py
|
|
@@ -25,7 +25,7 @@ To get started with horizon-metrics, make sure you have the necessary dependenci
|
|
| 25 |
|
| 26 |
### Installation
|
| 27 |
|
| 28 |
-
```
|
| 29 |
pip install evaluate git+https://github.com/SEA-AI/seametrics@develop
|
| 30 |
```
|
| 31 |
|
|
@@ -52,23 +52,25 @@ prediction_points = [[[0.0, 0.5428930956049597], [1.0, 0.4642497615378973]],
|
|
| 52 |
##### Load data from fiftyone
|
| 53 |
|
| 54 |
```python
|
| 55 |
-
|
|
|
|
| 56 |
dataset_name = "SENTRY_VIDEOS_DATASET_QA"
|
| 57 |
sequence_view = fo.load_dataset(dataset_name).match(F("sequence") == sequence)
|
| 58 |
sequence_view = sequence_view.select_group_slices("thermal_wide")
|
| 59 |
|
|
|
|
| 60 |
polylines_gt = sequence_view.values("frames.ground_truth_pl")
|
| 61 |
ground_truth_points = [
|
| 62 |
-
line["polylines"][0]["points"][0]
|
| 63 |
-
|
| 64 |
]
|
| 65 |
|
|
|
|
| 66 |
polylines_pred = sequence_view.values(
|
| 67 |
-
"frames.ahoy-IR-b2-whales__XAVIER-AGX-
|
| 68 |
prediction_points = [
|
| 69 |
-
line["polylines"][0]["points"][0]
|
| 70 |
-
|
| 71 |
-
]
|
| 72 |
```
|
| 73 |
|
| 74 |
##### Calculate horizon metrics
|
|
@@ -76,38 +78,45 @@ prediction_points = [
|
|
| 76 |
```python
|
| 77 |
import evaluate
|
| 78 |
|
| 79 |
-
module = evaluate.load("SEA-AI/horizon-metrics")
|
| 80 |
-
module.add(predictions=
|
| 81 |
module.compute()
|
|
|
|
| 82 |
```
|
| 83 |
|
| 84 |
This is output the evalutaion metrics for your horizon prediciton model:
|
| 85 |
|
| 86 |
-
```
|
| 87 |
-
{
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
|
|
|
|
|
|
| 97 |
```
|
| 98 |
|
| 99 |
### Output Values
|
| 100 |
|
| 101 |
SEA-AI/horizon-metrics provides the following performance metrics for horizon prediction:
|
| 102 |
|
| 103 |
-
- **average_slope_error**: Measures the average difference in slope between the predicted and ground truth horizon.
|
| 104 |
-
- **average_midpoint_error**:
|
| 105 |
-
- **
|
| 106 |
-
- **
|
| 107 |
-
- **
|
| 108 |
-
- **
|
|
|
|
|
|
|
|
|
|
| 109 |
- **num_slope_error_jumps**: Calculates the differences between errors in successive frames for the slope. It then counts the number of jumps in these errors by comparing the absolute differences to a specified threshold.
|
| 110 |
- **num_midpoint_error_jumps**: Calculates the differences between errors in successive frames for the midpoint. It then counts the number of jumps in these errors by comparing the absolute differences to a specified threshold.
|
|
|
|
| 111 |
|
| 112 |
## Further References
|
| 113 |
|
|
|
|
| 3 |
tags:
|
| 4 |
- evaluate
|
| 5 |
- metric
|
| 6 |
+
description: "This huggingface metric calculates horizon evaluation metrics using `seametrics.horizon.HorizonMetrics`."
|
| 7 |
sdk: gradio
|
| 8 |
sdk_version: 3.19.1
|
| 9 |
app_file: app.py
|
|
|
|
| 25 |
|
| 26 |
### Installation
|
| 27 |
|
| 28 |
+
```sh
|
| 29 |
pip install evaluate git+https://github.com/SEA-AI/seametrics@develop
|
| 30 |
```
|
| 31 |
|
|
|
|
| 52 |
##### Load data from fiftyone
|
| 53 |
|
| 54 |
```python
|
| 55 |
+
# Load data from fiftyone
|
| 56 |
+
sequence = "Sentry_2022_11_PROACT_CELADON_7.5M_MOB_2022_11_25_12_29_48"
|
| 57 |
dataset_name = "SENTRY_VIDEOS_DATASET_QA"
|
| 58 |
sequence_view = fo.load_dataset(dataset_name).match(F("sequence") == sequence)
|
| 59 |
sequence_view = sequence_view.select_group_slices("thermal_wide")
|
| 60 |
|
| 61 |
+
# Get the ground truth points
|
| 62 |
polylines_gt = sequence_view.values("frames.ground_truth_pl")
|
| 63 |
ground_truth_points = [
|
| 64 |
+
line["polylines"][0]["points"][0] if line is not None else None
|
| 65 |
+
for line in polylines_gt[0]
|
| 66 |
]
|
| 67 |
|
| 68 |
+
# Get the predicted points
|
| 69 |
polylines_pred = sequence_view.values(
|
| 70 |
+
"frames.ahoy-IR-b2-whales__XAVIER-AGX-JP46_pl_TnFoV")
|
| 71 |
prediction_points = [
|
| 72 |
+
line["polylines"][0]["points"][0] if line is not None else None
|
| 73 |
+
for line in polylines_pred[0]
|
|
|
|
| 74 |
```
|
| 75 |
|
| 76 |
##### Calculate horizon metrics
|
|
|
|
| 78 |
```python
|
| 79 |
import evaluate
|
| 80 |
|
| 81 |
+
module = evaluate.load("SEA-AI/horizon-metrics", roll_threshold=0.5, pitch_threshold=0.1, vertical_fov_degrees=25.6, height=512)
|
| 82 |
+
module.add(predictions=prediction_points, references=ground_truth_points)
|
| 83 |
module.compute()
|
| 84 |
+
|
| 85 |
```
|
| 86 |
|
| 87 |
This is output the evalutaion metrics for your horizon prediciton model:
|
| 88 |
|
| 89 |
+
```console
|
| 90 |
+
{'average_slope_error': 0.39394822776758726,
|
| 91 |
+
'average_midpoint_error': 0.0935801366906932,
|
| 92 |
+
'average_midpoint_error_px': 1.871602733813864,
|
| 93 |
+
'stddev_slope_error': 0.3809031270343266,
|
| 94 |
+
'stddev_midpoint_error': 0.23003871087476538,
|
| 95 |
+
'stddev_midpoint_error_px': 4.6007742174953075,
|
| 96 |
+
'max_slope_error': 3.5549008029526132,
|
| 97 |
+
'max_midpoint_error': 2.515424321301225,
|
| 98 |
+
'max_midpoint_error_px': 50.3084864260245,
|
| 99 |
+
'num_slope_error_jumps': 173,
|
| 100 |
+
'num_midpoint_error_jumps': 205,
|
| 101 |
+
'detection_rate': 0.2606486908948808}
|
| 102 |
```
|
| 103 |
|
| 104 |
### Output Values
|
| 105 |
|
| 106 |
SEA-AI/horizon-metrics provides the following performance metrics for horizon prediction:
|
| 107 |
|
| 108 |
+
- **average_slope_error**: Measures the average difference in slope between the predicted and ground truth horizon in degree.
|
| 109 |
+
- **average_midpoint_error**: Represents the average difference in midpoint position between the predicted and ground truth horizon.
|
| 110 |
+
- **average_midpoint_error_px**: Represents the average difference in midpoint position between the predicted and ground truth horizon, measured in pixels.
|
| 111 |
+
- **stddev_slope_error**: Indicates the variability of errors in slope between the predicted and ground truth horizon in degree.
|
| 112 |
+
- **stddev_midpoint_error**: Quantifies the variability of errors in midpoint position between the predicted and ground truth horizon in degree.
|
| 113 |
+
- **stddev_midpoint_error_px**: Quantifies the variability of errors in midpoint position between the predicted and ground truth horizon, measured in pixels.
|
| 114 |
+
- **max_slope_error**: Represents the maximum difference in slope between the predicted and ground truth horizon in degree.
|
| 115 |
+
- **max_midpoint_error**: Indicates the maximum difference in midpoint position between the predicted and ground truth horizon in degree.
|
| 116 |
+
- **max_midpoint_error_px**: Indicates the maximum difference in midpoint position between the predicted and ground truth horizon, measured in pixels.
|
| 117 |
- **num_slope_error_jumps**: Calculates the differences between errors in successive frames for the slope. It then counts the number of jumps in these errors by comparing the absolute differences to a specified threshold.
|
| 118 |
- **num_midpoint_error_jumps**: Calculates the differences between errors in successive frames for the midpoint. It then counts the number of jumps in these errors by comparing the absolute differences to a specified threshold.
|
| 119 |
+
- **detection_rate**: Measures the proportion of frames in which the horizon is successfully detected out of the total number of frames.
|
| 120 |
|
| 121 |
## Further References
|
| 122 |
|