(validation_files, sensor='mmwave_middle', imu_length=0)
| 235 | |
| 236 | |
| 237 | def validation_stack(validation_files, sensor='mmwave_middle', imu_length=0): |
| 238 | x_sensor_val_1, x_sensor_val_2, x_imu_val_t, y_val_t = [], [], [], [] |
| 239 | for validation_file in validation_files: |
| 240 | print('---> Loading validation file: {}'.format(validation_file.split('/')[-1])) |
| 241 | if imu_length: |
| 242 | n_chunk_val, tmp_x_sensor_val_t, tmp_x_imu_val_t, tmp_y_val_t = load_data_multi(validation_file, sensor) # y (1, 2142, 6) |
| 243 | else: |
| 244 | n_chunk_val, tmp_x_sensor_val_t, tmp_y_val_t = load_data_single_sensor(validation_file, sensor) |
| 245 | |
| 246 | tmp_y_val_t = tmp_y_val_t[0] |
| 247 | tmp_y_val_t = np.expand_dims(tmp_y_val_t, axis=1) |
| 248 | |
| 249 | len_val_i = tmp_y_val_t.shape[0] # the length of gt is always less than the length of data |
| 250 | # Prepare rgb validation data for t-0 and t-1 |
| 251 | tmp_x_sensor_val_1 = [] |
| 252 | for img_idx in range(0, (len_val_i)): |
| 253 | temp_x = tmp_x_sensor_val_t[0][img_idx] |
| 254 | tmp_x_sensor_val_1.append(temp_x) |
| 255 | |
| 256 | tmp_x_sensor_val_1 = np.array(tmp_x_sensor_val_1) |
| 257 | # x_rgb_val_1 = np.expand_dims(x_rgb_val_1, axis=1) |
| 258 | |
| 259 | tmp_x_sensor_val_2 = [] |
| 260 | for img_idx in range(1, (len_val_i+1)): |
| 261 | temp_x = tmp_x_sensor_val_t[0][img_idx] |
| 262 | tmp_x_sensor_val_2.append(temp_x) |
| 263 | |
| 264 | tmp_x_sensor_val_2 = np.array(tmp_x_sensor_val_2) |
| 265 | |
| 266 | # for flownet |
| 267 | if any(x in sensor for x in ['mmwave', 'depth']): |
| 268 | tmp_x_sensor_val_1 = np.repeat(tmp_x_sensor_val_1, 3, axis=-1) |
| 269 | tmp_x_sensor_val_2 = np.repeat(tmp_x_sensor_val_2, 3, axis=-1) |
| 270 | |
| 271 | # progressive stack file by file |
| 272 | y_val_t = np.vstack((y_val_t, tmp_y_val_t)) if np.array(y_val_t).size else tmp_y_val_t |
| 273 | x_sensor_val_1 = np.vstack((x_sensor_val_1, tmp_x_sensor_val_1)) if np.array(x_sensor_val_1).size else tmp_x_sensor_val_1 |
| 274 | x_sensor_val_2 = np.vstack((x_sensor_val_2, tmp_x_sensor_val_2)) if np.array(x_sensor_val_2).size else tmp_x_sensor_val_2 |
| 275 | |
| 276 | if imu_length: |
| 277 | # for imu |
| 278 | tmp_x_imu_val_t = tmp_x_imu_val_t[0] |
| 279 | tmp_x_imu_val_t = tmp_x_imu_val_t[:, 0:imu_length, :] |
| 280 | tmp_x_imu_val_t = np.array(tmp_x_imu_val_t) |
| 281 | |
| 282 | # add data |
| 283 | x_imu_val_t = np.vstack((x_imu_val_t, tmp_x_imu_val_t)) \ |
| 284 | if np.array(x_imu_val_t).size else tmp_x_imu_val_t |
| 285 | |
| 286 | if imu_length: |
| 287 | return x_sensor_val_1, x_sensor_val_2, x_imu_val_t, y_val_t |
| 288 | else: |
| 289 | return x_sensor_val_1, x_sensor_val_2, y_val_t |
| 290 | |
| 291 | |
| 292 | def validation_stack_triple(validation_files, sensor_a='mmwave_middle', sensor_b='rgb', imu_length=0): |
no test coverage detected