sarlinpe commited on
Commit
213aff4
·
1 Parent(s): 8c81aa4

Fix in KITTI sequential

Browse files
README.md CHANGED
@@ -113,16 +113,16 @@ python -m maploc.evaluation.mapillary [...] --output_dir ./viz_MGL/ --num 100
113
  To run the evaluation in sequential mode:
114
 
115
  ```bash
116
- python -m maploc.evaluation.mapillary --experiment OrienterNet_MGL --sequential
117
  ```
118
  The results should be close to the following:
119
  ```
120
  Recall xy_seq_error: [29.73, 73.25, 91.17] at (1, 3, 5) m/°
121
  Recall yaw_seq_error: [46.55, 88.3, 96.45] at (1, 3, 5) m/°
122
  ```
123
- The sequential evaluation uses 10 frames by default. To increase this number:
124
  ```bash
125
- python -m maploc.evaluation.mapillary [...] --sequential chunking.max_length=20
126
  ```
127
 
128
 
@@ -142,7 +142,7 @@ python -m maploc.data.kitti.prepare
142
  2. Run the evaluation with the model trained on MGL:
143
 
144
  ```bash
145
- python -m maploc.evaluation.kitti --experiment OrienterNet_MGL
146
  ```
147
 
148
  You should expect the following results:
@@ -155,9 +155,18 @@ Recall yaw_max_error: [29.22, 68.2, 84.49] at (1, 3, 5) m/°
155
  You can similarly export some visual examples:
156
 
157
  ```bash
158
- python -m maploc.evaluation.kitti [...] --output_dir ./viz_KITTI/ --num 100
 
 
 
 
 
 
 
 
 
 
159
  ```
160
- To run in sequential mode, similarly add the `--sequential` flag.
161
 
162
  </details>
163
 
 
113
  To run the evaluation in sequential mode:
114
 
115
  ```bash
116
+ python -m maploc.evaluation.mapillary --experiment OrienterNet_MGL --sequential model.num_rotations=256
117
  ```
118
  The results should be close to the following:
119
  ```
120
  Recall xy_seq_error: [29.73, 73.25, 91.17] at (1, 3, 5) m/°
121
  Recall yaw_seq_error: [46.55, 88.3, 96.45] at (1, 3, 5) m/°
122
  ```
123
+ The sequential evaluation uses 10 frames by default. To increase this number, add:
124
  ```bash
125
+ python -m maploc.evaluation.mapillary [...] chunking.max_length=20
126
  ```
127
 
128
 
 
142
  2. Run the evaluation with the model trained on MGL:
143
 
144
  ```bash
145
+ python -m maploc.evaluation.kitti --experiment OrienterNet_MGL model.num_rotations=256
146
  ```
147
 
148
  You should expect the following results:
 
155
  You can similarly export some visual examples:
156
 
157
  ```bash
158
+ python -m maploc.evaluation.kitti [...] --output_dir ./viz_KITTI/ --num 100
159
+ ```
160
+
161
+ To run in sequential mode:
162
+ ```bash
163
+ python -m maploc.evaluation.kitti --experiment OrienterNet_MGL --sequential model.num_rotations=256
164
+ ```
165
+ with results:
166
+ ```
167
+ Recall directional_seq_error: [[81.94, 97.35, 98.67], [52.57, 95.6, 97.35]] at (1, 3, 5) m/°
168
+ Recall yaw_seq_error: [82.7, 98.63, 99.06] at (1, 3, 5) m/°
169
  ```
 
170
 
171
  </details>
172
 
maploc/data/sequential.py CHANGED
@@ -15,7 +15,9 @@ def chunk_sequence(
15
  max_inter_dist=None,
16
  max_total_dist=None,
17
  ):
18
- sort_array = data.get("capture_time", data.get("index", names or indices))
 
 
19
  indices = sorted(indices, key=lambda i: sort_array[i].tolist())
20
  centers = torch.stack([data["t_c2w"][i][:2] for i in indices]).numpy()
21
  dists = np.linalg.norm(np.diff(centers, axis=0), axis=-1)
 
15
  max_inter_dist=None,
16
  max_total_dist=None,
17
  ):
18
+ sort_array = data.get("capture_time", data.get("index"))
19
+ if sort_array is None:
20
+ sort_array = indices if names is None else names
21
  indices = sorted(indices, key=lambda i: sort_array[i].tolist())
22
  centers = torch.stack([data["t_c2w"][i][:2] for i in indices]).numpy()
23
  dists = np.linalg.norm(np.diff(centers, axis=0), axis=-1)
maploc/evaluation/run.py CHANGED
@@ -109,7 +109,7 @@ def evaluate_sequential(
109
  progress: bool = True,
110
  num_rotations: int = 512,
111
  mask_index: Optional[Tuple[int]] = None,
112
- has_gps: bool = True,
113
  ):
114
  chunk_keys = list(chunk2idx)
115
  if shuffle:
 
109
  progress: bool = True,
110
  num_rotations: int = 512,
111
  mask_index: Optional[Tuple[int]] = None,
112
+ has_gps: bool = False,
113
  ):
114
  chunk_keys = list(chunk2idx)
115
  if shuffle: