Read: exploiting verticle lines in vision based navigation for mobile robot platforms
Jin's ICASSP paper in 07.
States clearly the model behind the AAAI work and this new problem we are facing now.
An even ealier work "Robust ground plane detection with normalized homography in monocular sequences from a robot platform" in ICIP 06 deals with the same problem but with manually labelled lines.
The algorithm includes modelling the imaging system with R1C1 and R2C2 as the two views respectively. Camera matrices P1 = KR1[I|-C1] K is calibration matrix, which does not change during navigation.
Normalize the image coordinates with a reverse Homography transform H = (KRi)^(-1). Assume Ci = 0, x~(x,y,z)^(T), so the target is to find this R1.
After reading it yesterday, I think I get the basic idea and half of the ideas, there are several steps that we needs to fulfill quickly:
0. robust correspondence, (especially verticle lines)
1. compute vanishing point candidates, compare and vote according to
E(~Rv) = Sum(E(li|~Rv) = Sum(E(li' = ~Rvli) = Sum|Theta(li')|
2. Compute the Rv = RxRz:
[ cos(thetaz) sin(thetaz) 0] so that [xv] [ 0 ]
Rx = | -sin(thetaz) cos(thetaz) 0| Rz |yv| = | yv'|
[ 0 0 1] [zv] [ zv' ]
[1 0 0 ]
Rz = |0 cos(thetax) sin(thetax)| so that [ 0 ] [ 0 ]
[0 -sin(thetax) cos(thetax)] Rx |yv'| = | yv''|
[zv'] [ 0' ]
This is how you get Rx and Rz, it's tiring to input matrix in this mode, I'll tihnk of some better way next time.
** And it came out in a mess. Don't do this again to waste your time for nothing.
One thing that I'm sure I'm NOT clear: Groudn plane detection with orienteation estimation, where does the
H = KR2(I+Delta*Cn^T/d)R1^(-1)K^(-1)
come from?