Spaces:
Build error
Build error
Update README.md
Browse files
README.md
CHANGED
|
@@ -36,11 +36,52 @@ To get started with PanopticQuality, make sure you have the necessary dependenci
|
|
| 36 |
Added data ...
|
| 37 |
Start computing ...
|
| 38 |
Finished!
|
| 39 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
```
|
| 41 |
|
| 42 |
## Metric Settings
|
| 43 |
-
The metric takes
|
| 44 |
|
| 45 |
* `label2id: Dict[str, int]`: this dictionary is used to map string labels to an integer representation.
|
| 46 |
if not provided a default setting will be used:
|
|
@@ -69,8 +110,24 @@ The metric takes two optional input parameters: __label2id__ and __stuff__.
|
|
| 69 |
`
|
| 70 |
["WATER", "SKY", "LAND", "CONSTRUCTION", "ICE", "OWN_BOAT"]`
|
| 71 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 72 |
## Output Values
|
| 73 |
-
A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 74 |
|
| 75 |
## Further References
|
| 76 |
|
|
|
|
| 36 |
Added data ...
|
| 37 |
Start computing ...
|
| 38 |
Finished!
|
| 39 |
+
{'scores': {'MOTORBOAT': [0.18632257426639526,
|
| 40 |
+
0.698709617058436,
|
| 41 |
+
0.2666666805744171],
|
| 42 |
+
'FAR_AWAY_OBJECT': [0.0, 0.0, 0.0],
|
| 43 |
+
'SAILING_BOAT_WITH_CLOSED_SAILS': [0.0, 0.0, 0.0],
|
| 44 |
+
'SHIP': [0.3621737026917471, 0.684105846616957, 0.529411792755127],
|
| 45 |
+
'WATERCRAFT': [0.0, 0.0, 0.0],
|
| 46 |
+
'SPHERICAL_BUOY': [0.0, 0.0, 0.0],
|
| 47 |
+
'FLOTSAM': [0.0, 0.0, 0.0],
|
| 48 |
+
'SAILING_BOAT_WITH_OPEN_SAILS': [0.0, 0.0, 0.0],
|
| 49 |
+
'CONTAINER': [0.0, 0.0, 0.0],
|
| 50 |
+
'PILLAR_BUOY': [0.0, 0.0, 0.0],
|
| 51 |
+
'AERIAL_ANIMAL': [0.0, 0.0, 0.0],
|
| 52 |
+
'HUMAN_IN_WATER': [0.0, 0.0, 0.0],
|
| 53 |
+
'WOODEN_LOG': [0.0, 0.0, 0.0],
|
| 54 |
+
'MARITIME_ANIMAL': [0.0, 0.0, 0.0],
|
| 55 |
+
'WATER': [0.9397601008415222, 0.9397601008415222, 1.0],
|
| 56 |
+
'SKY': [0.9674496332804362, 0.9674496332804362, 1.0],
|
| 57 |
+
'LAND': [0.30757412078761204, 0.8304501533508301, 0.37037035822868347],
|
| 58 |
+
'CONSTRUCTION': [0.0, 0.0, 0.0],
|
| 59 |
+
'OWN_BOAT': [0.0, 0.0, 0.0],
|
| 60 |
+
'ALL': [0.14543579641409013, 0.21686712374464112, 0.16665520166095935]},
|
| 61 |
+
'numbers': {'MOTORBOAT': [6, 15, 18, 4.1922577023506165],
|
| 62 |
+
'FAR_AWAY_OBJECT': [0, 8, 9, 0.0],
|
| 63 |
+
'SAILING_BOAT_WITH_CLOSED_SAILS': [0, 2, 0, 0.0],
|
| 64 |
+
'SHIP': [9, 1, 15, 6.156952619552612],
|
| 65 |
+
'WATERCRAFT': [0, 9, 12, 0.0],
|
| 66 |
+
'SPHERICAL_BUOY': [0, 4, 22, 0.0],
|
| 67 |
+
'FLOTSAM': [0, 0, 1, 0.0],
|
| 68 |
+
'SAILING_BOAT_WITH_OPEN_SAILS': [0, 6, 0, 0.0],
|
| 69 |
+
'CONTAINER': [0, 0, 0, 0.0],
|
| 70 |
+
'PILLAR_BUOY': [0, 0, 9, 0.0],
|
| 71 |
+
'AERIAL_ANIMAL': [0, 0, 0, 0.0],
|
| 72 |
+
'HUMAN_IN_WATER': [0, 0, 0, 0.0],
|
| 73 |
+
'WOODEN_LOG': [0, 0, 0, 0.0],
|
| 74 |
+
'MARITIME_ANIMAL': [0, 0, 0, 0.0],
|
| 75 |
+
'WATER': [15, 0, 0, 14.096401512622833],
|
| 76 |
+
'SKY': [15, 0, 0, 14.511744499206543],
|
| 77 |
+
'LAND': [5, 9, 8, 4.15225076675415],
|
| 78 |
+
'CONSTRUCTION': [0, 0, 0, 0.0],
|
| 79 |
+
'OWN_BOAT': [0, 0, 8, 0.0],
|
| 80 |
+
'ALL': [50, 54, 102, 43.109607100486755]}}
|
| 81 |
```
|
| 82 |
|
| 83 |
## Metric Settings
|
| 84 |
+
The metric takes four optional input parameters: __label2id__, __stuff__, __per_class__ and __split_sq_rq__.
|
| 85 |
|
| 86 |
* `label2id: Dict[str, int]`: this dictionary is used to map string labels to an integer representation.
|
| 87 |
if not provided a default setting will be used:
|
|
|
|
| 110 |
`
|
| 111 |
["WATER", "SKY", "LAND", "CONSTRUCTION", "ICE", "OWN_BOAT"]`
|
| 112 |
|
| 113 |
+
* `per_class: bool = True`: By default, the results are split up per class.
|
| 114 |
+
Setting this to False will aggregate the results:
|
| 115 |
+
- average the "scores"
|
| 116 |
+
- sum up the "numbers"
|
| 117 |
+
* `split_sq_rq: bool = True`: By default, the PQ-score is returned in three parts: the PQ score itself, and split into the segmentation quality (SQ) and recognition quality (RQ) part.
|
| 118 |
+
Setting this to False will aggregate return the PQ score only (PQ=RQ*SQ).
|
| 119 |
+
|
| 120 |
## Output Values
|
| 121 |
+
A dictionary containing the following keys:
|
| 122 |
+
* __scores__: This is a dictionary, that contains a key for each label, if `per_class == True`. Otherwise it only contains the key __all__.
|
| 123 |
+
For each key, it contains a list that holds the scores in the following order: PQ, SQ and RQ. If `split_sq_rq == False`, the list consists of PQ only.
|
| 124 |
+
* __numbers__: This is a dictionary, that contains a key for each label, if `per_class == True`. Otherwise it only contains the key __all__.
|
| 125 |
+
For each key, it contains a list that consists of four elements: TP, FP, FN and IOU:
|
| 126 |
+
- __TP__: number of true positive predictions
|
| 127 |
+
- __FP__: number of false positive predictions
|
| 128 |
+
- __FN__: number of false negative predictions
|
| 129 |
+
- __IOU__: sum of IOU of all TP predictions with ground truth
|
| 130 |
+
With all these values, it is possible to calculate the final scores.
|
| 131 |
|
| 132 |
## Further References
|
| 133 |
|