A method comprising: receiving data from an inertial measurement unit, IMU, of a device (100, 200, 300) for a sliding time window; receiving images from a camera (208, 210, 212, 310, 312, 314) of the device (100, 200, 300) for the sliding time window; determining an IMU estimation of motion of the device (100, 200, 300) based on the data from the IMU, wherein the estimation of motion of the device (100, 200, 300) is in terms of changes in at least one of acceleration, velocity, position, or any combination of the acceleration, the velocity, the position; determining a camera estimation of motion of the device (100, 200, 300) based on feature tracking in the images; determining, from the camera estimation of motion, a first indicator of the device (100, 200, 300) being approximately stationary, and, from the IMU estimation of motion, a second indicator of the device (100, 200, 300) being in movement; and in response to the first indicator of the device (100, 200, 300) being approximately stationary and the second indicator of the device (100, 200, 300) being in movement, determining one or more of a position or a velocity of the device (100, 200, 300) for the sliding time window using data from one or more sensors of the device (100, 200, 300) other than the IMU; and determining an overall estimation of motion of the device (100, 200, 300) for the sliding time window as supported by the data from the IMU and the one or more of the position or the velocity of the device (100, 200, 300); wherein the data from the IMU is verified using the one or more of a position or a velocity of the device (100, 200, 300). receiving data from an inertial measurement unit, IMU, of a device (100, 200, 300) for a sliding time window; receiving images from a camera (208, 210, 212, 310, 312, 314) of the device (100, 200, 300) for the sliding time window; determining an IMU estimation of motion of the device (100, 200, 300) based on the data from the IMU, wherein the estimation of motion of the device (100, 200, 300) is in terms of changes in at least one of acceleration, velocity, position, or any combination of the acceleration, the velocity, the position; determining a camera estimation of motion of the device (100, 200, 300) based on feature tracking in the images; determining, from the camera estimation of motion, a first indicator of the device (100, 200, 300) being approximately stationary, and, from the IMU estimation of motion, a second indicator of the device (100, 200, 300) being in movement; and in response to the first indicator of the device (100, 200, 300) being approximately stationary and the second indicator of the device (100, 200, 300) being in movement, determining one or more of a position or a velocity of the device (100, 200, 300) for the sliding time window using data from one or more sensors of the device (100, 200, 300) other than the IMU; and determining an overall estimation of motion of the device (100, 200, 300) for the sliding time window as supported by the data from the IMU and the one or more of the position or the velocity of the device (100, 200, 300); wherein the data from the IMU is verified using the one or more of a position or a velocity of the device (100, 200, 300).