MCPcopy Create free account
hub / github.com/ChristopherLu/milliEgo / validation_stack

Function validation_stack

utility/data_loader.py:237–289  ·  view source on GitHub ↗
(validation_files, sensor='mmwave_middle', imu_length=0)

Source from the content-addressed store, hash-verified

235
236
237def 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
292def validation_stack_triple(validation_files, sensor_a='mmwave_middle', sensor_b='rgb', imu_length=0):

Callers 1

mainFunction · 0.90

Calls 2

load_data_multiFunction · 0.85
load_data_single_sensorFunction · 0.85

Tested by

no test coverage detected