0

In an university project, we are currently working on an iOS-App, that has to compute the velocity of an vehicle using the information provided by the camera of an iOS-device. The front camera of it should "look" on the street.

We want to solve the task by using optical flow. We already implemented the computation of the optical flow computation on the iOS-device using the OpenCV-Library. So now we have some (reliable) optical flow vectors and want to estimate the current velocity.

Does anyone know, where we can find a simple formula for that estimation?

We can make several assumptions, if necessary (vehicle is moving just forwards without an angle speed, road is flat, focal length and hight over ground is known, we can provide calibration data using GPS means).

There are some papers about the estimation of the velocity in the internet, like this one: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.117.6207&rep=rep1&type=pdf

But we can't find out, how to match the formulas

Vx = (V * x * y) / (h*f)

Vy = (V * y^2) / (h*f)

to the information, that are provided by our optical flow vectors (dx and dy) except for the obvious values of h and f.

Any help would be appreciated!

Cfr
  • 5,092
  • 1
  • 33
  • 50
Taurus
  • 9
  • 4
  • this is pretty complicated task and usually called "visual odometry" or SLAM in computer vision/robotics. In case you need decent ego-motion estimation check out libraries like monoslam and PTAM. – Cfr Mar 09 '15 at 14:39
  • Also apps that control vehicles are not permitted on the appstore ;) – Cfr Mar 09 '15 at 14:44
  • if the camera is static during the measurement, calibrate the scene (e.g. know where the planar ground/street plane is and its scale). Then from optical flow, try to find where a point is projected to the ground plane. then measure distances between flow points = distance and time between two frames. distance/time = velocity. – Micka Mar 09 '15 at 15:35
  • ah ok you want to compute the velocity of your own vehicle? just calibrate the scene (camera static within the vehicle) and measure the flow points on the ground (in metres). distance/time = velocity. – Micka Mar 09 '15 at 15:37
  • In case ground is flat and no obstacles, that will work. But you cannot simple move forward on most vehicles without rails or advanced control system. – Cfr Mar 10 '15 at 10:51
  • Thank you very much for your answers for the nonce, especially the hint with visual odometry! Too bad, that there is no simple formula with height and focal length. We will try simple solutions with calibration and/or SLAM. – Taurus Mar 10 '15 at 19:51

0 Answers0