While I am working on a project, a question comes to my mind; how can we estimate reliable angular motion from a monocular camera, just for a typical indoor environment within a few seconds? So to speak, can we estimate the camera's angular velocity and angular acceleration only by exploiting a sequence of images?
Just from my intuition, a possible solution might be composed of two stages.
- First, carry out monocular visual odometry. By doing so, we can obtain a rotational trajectory along which the camera has traversed. (So to speak, a set of the camera's traversed rotation would be outcomes at this step.)
- Next, derive angular motion by interpolating or differentiating along the constructed rotational trajectory. Even though it may not be so accurate as desired, it will be sufficient enough if I can get a merely reasonable angular motion from the estimated rotational spline curve. (For example, the estimated angular velocity should have a cosine similarity of 0.8 w.r.t. its ground-truth value, and 1/10 of error in Euler distance.)
I think there exist two challenges to this approach. (1) The second step is based on the assumption that the monocular visual odometry's outcome is quite successful to construct a decent rotational spline curve. I believe the acceptable range of drift error might be an order of magnitude smaller than the traversed angle, but I have no clue whether this is viable with any existing monocular visual odometry. (2) Though estimating the camera's rotational trajectory is attainable, it may be a hazardous idea to estimate angular motion from the trajectory, either by simple numerical method or way more sophisticated mathematics. Someone who has tried some similar kinds of stuff, such as integration or differentiation with discrete data, may sympathize with what I am saying.
Is it possible to derive angular motion by exclusively using a single camera, without any other aiding sensors such as IMU? Does my approach seem reasonable to do it? Also, I would be happy if anyone knows the materials or resources that may be a sort of help for me. Thanks!