I’ve not read the work you mention, but the question about IPM is as follows:

IPM is essentially a method which transforms an input image into another image by using a 3×3 homography. This is only accurate in the context of roads, if the road is actually flat (a plane), and the exact translation and rotation between the image plane (the virtual plane defined by the pinhole camera) and the road plane is computed.

By default, the problem can’t be solved with a hard-coded solution, because the road is never perfectly flat, and the vehicle itself has dynamics (e.g. suspension, vibration, inertia) which makes a fixed homography don’t map well at all times.

The solution is either to (a) compute the vanishing point or other image-based features (e.g. point correspondences) at every frame to dynamically update the homography, or (b) don’t update an IPM, and assume your reconstruction is incorrect at all times, and you need to model this error and incorporate that into your model (e.g. your parabola computing model).

I’ve tried both alternatives several times, and now I am more satisfied with the second one, basically because I skip some processing steps and the overall solution is faster.

Good luck!

Marcos

]]>I am trying to implement IPM (and the project) described in the paper:

Danescu R, Itu R, Petrovai A. Generic dynamic environment perception using smart mobile devices. Sensors. 2016 Oct 17;16(10):1721.

My understanding is that there are two alternatives to hard coding 4 correspondance points manually:

1) Vanishing point method

2) Camera calibration

Can we rely on vanishing point method if the camera position and orientation does not change throughout the application? Is camera calibration more reliable, though more difficult?

]]>Thanks for writing. I normally can’t devote too much time to the blog, I have very few spare time. If you have comments or doubts, please continue using the forum, I came to the blog from time to time and answer specific questions, so everybody can read them and also maybe participate.

Regards,

Marcos ]]>

Kalman filter in this context can be used to smooth noisy signals, under the assumption the noise is Gaussian. Somehow, the noise is modeled as two different variables: on the one hand, the measurement noise, which is what amount of noise you do expect on your measurements (e.g. at pixel level); on the other hand, the system noise, this is, how confident you are that your system behaves linearly.

The insights of Kalman go beyond that simplicity into the realm of probability and Bayesian networks. For a full understanding on how to tune it, you could devote some of your time studying it from a maths point of view.

For tracking lanes modeled as parabolic curves, I won’t track the coefficients separately because they reflect linear and quadratic magnitudes, and that is difficult to model. I would suggest to track intersection points: the point where your parabola intersects the bottom line of the image, and another point at some row below the horizon. To avoid perspective problems, tracking these points in a bird’s-eye view simplifies the selection of the noise parameters.

Good luck!

Marcos